OCFS2在Linux下配置文檔

來源:互聯網
上載者:User

1、  簡介

OCFS2是下一代的ORACLE叢集檔案系統,它已經被設計成為一種為通用的檔案系統。OCFS2能使運行在叢集中所有節點並發的通過標準檔案系統介面來訪問儲存備。

2、 下載

OCFS2的發行版包括了2個安裝包,一個稱為核心模組,另一個叫工具包。

核心模組連結下載:

http://oss.oracle.com/projects/ocfs2/files/

工具包連結下載:

http://oss.oracle.com/projects/ocfs2-tools/files/

首先要下載相應的軟體包,對於核心模組,下載時要考慮它的發行號,適用的平台,作業系統核心版本以及核心的類型(比如SMP,HUGEMEM,PSMP等),對於工具包,只要符合發行版本和平台就可以了。

工具包又分為兩部分,ocfs2-tools命令列工具,ocfs2console圖形工具,使用者可以選擇不安裝這部分,但它的確可以令操作簡單化。

3、安裝(每個節點都安裝)

以Linux2.6.18-128.7AXS3 伺服器安裝為例:

作業系統:Linux

作業系統版本:2.6.18-128.7AXS3 x86_64

OCFS2核心模組安裝包:

ocfs2console-1.4.1-1AXS3.x86_64.rpm

OCFS2工具安裝包:

ocfs2-tools-1.4.1-1AXS3.x86_64.rpm

切換root使用者進行安裝:

rpm -ivh ocfs2console-1.4.1-1AXS3.x86_64.rpm

rpm –ivh ocfs2-tools-1.4.1-1AXS3.x86_64.rpm

安裝後,若執行/etc/init.d/ocfs2出現:

 Usage: /etc/init.d/ocfs2 {start|stop|status|reload|force-reload|restart|try-restart}

執行/etc/init.d/o2cb出現

 Usage: /etc/init.d/o2cb {start|stop|restart|force-reload|enable|disable|configure|load|unload|online|offline|force-offline|status}

說明OCFS2核心模組和工具包安裝成功。

4、 OCFS2設定檔(每個節點都配置)

OCFS2有一個設定檔,路徑為/etc/ocfs2/cluster.conf。在這個設定檔中,你需要指定叢集中所有的節點資訊,並且所有的節點上都應該保留相同的一份。你可以動態增加新節點到叢集,或者改變一些節點的IP,名字,但這需要重起OCFS2以便使更改生效。

以兩台Linux2.6.18-128.7AXS3伺服器配置為例,保證兩台機器相互ping通:

伺服器主機名稱:h104、h105

伺服器IP地址:192.168.4.104、192.168.4.105

為設定檔cluster.cof內容:

node:

ip_port = 7777
ip_address = 192.168.4.104
number = 0
name = h104
cluster = ocfs2

node:
ip_port = 7777
ip_address = 192.168.4.105
number = 1
name = h105
cluster = ocfs2

cluster:
node_count = 2
name = ocfs2

該設定檔分別放在兩台伺服器/etc/ocfs2目錄中,配置完成。

5、  O2CB介紹

OCFS2有自己的叢集服務結構,叫做O2CB,它包括:

NM:節點管理器,它對cluster.conf檔案中所有節點進行的監控。

HB:心跳服務(Heart beat service),他在節點離開或加入rac時提示up和down的訊息。

TCP:控制節點間的通訊。

DLM:分布式鎖管理器,它持續跟蹤所有的鎖,鎖的所有者及狀態。

CONFIGFS:使用者設定檔系統驅動空間,掛節點是/config

DLMFS:使用者空間和核心空間DLM的介面。

所有這些cluster服務都已經被打包在o2cb系統服務當中,所有的操作,比如format,mount等,都需要cluster可用。在使用format等命令前,要先啟動這些服務。

6、 OCFS2叢集服務啟動(每個節點都執行)

通過以下命令啟動所有服務:

 /etc/init.d/o2cb load

通過以下命令使cluster ocfs2 啟動:

/etc/init.d/o2cb online ocfs2

通過以下命令停止cluster ocfs2:

/etc/init.d/o2cb offline ocfs2

通過以下命令停止所有服務:

 /etc/init.d/o2cb unload

通過以下命令檢查所有服務的狀態:

 /etc/init.d/o2cb status 

7、 格式化

首先採用parted工具對共用磁碟進行分區,分出一個KingbaseSD區供OCFS2叢集使用。詳細分區命令如下:

選擇要分區的硬碟,此處為/dev/sdb:

[root@h105 ~]# parted /dev/sdb

建立一個分區表:

(parted) mklabel
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes

New disk label type? [gpt]? Gpt

執行mkpart命令,分別輸入分區名稱,檔案系統和分區的起止位置:

(parted) mkpart                                                   

分區名稱?  []? KingbaseSD                                         

檔案系統類型?  [ext2]? ext3                                       

起始點?500G                                                       

結束點?1000G                                                       

分完區後退出:

(parted) q

最後查看下分完區後的結果:

parted -l

Model: LSI INF-01-00 (scsi)

Disk /dev/sdb: 6743GB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Number  Start   End    Size   File system  Name        標誌

 1      17.4kB  500GB  500GB               KingbaseSD       

如果O2CB CLUSTER沒有啟動,首先啟動它。格式化操作依賴於這些服務。同時它需要你確保所有的節點上都沒有掛載需要格式化的裝置。

為要格式化的裝置輸入一個標籤,為了便於管理,我們建議你輸入一個標籤,你仍然可以在格式化之後修改它。

為裝置選擇一個叢集單元大小(cluster  size),它支援從4k到1M。如果這個裝置用來儲存資料檔案或者大的檔案,比較合適的大小是128K。

選擇一個塊單元大小(block size),它支援從512位元組到4k,由於OCFS2在格式化的時候並不分配一個靜態inode 地區,所以4k是我們強烈推薦的大小,它幾乎適合所有的磁碟大小,換句話說,即時這些磁碟支援512位元組,但我們仍然不建議使用小的單元。

一旦格式化完畢,叢集單元和塊單元都不可以再改變。

輸入一個節點槽位(node slots),這個數值決定了允許多少節點同時掛載這個裝置。這個數值隨後可以修改,但只能增加,不能減小。

例如要格式化一個3k塊大小,32k叢集單元大小,包括4個節點的裝置,在命令列下,可以通過mkfs.ocfs2工具按如下操作完成(在一個節點執行格式化即可):

# mkfs.ocfs2 -b 4K -C 32K -N 4 -L KingbaseSD /dev/sdb1

可以通過man 獲得mkfs.ocfs2的協助資訊。

8、 掛載

把共用磁碟掛載到所有節點上,首先在每個節點上建立一個共同的目錄名,例如在h104和h105建立/home/kingbasesd_DATA目錄名:

h104:mkdir –p /home/kingbasesd_DATA

h105: mkdir –p /home/kingbasesd_DATA

建立完目錄後,通過以下命令把共用磁碟掛載到本地,以h104、h105為例:

h104:mount -t ocfs2 /dev/sdb1 /home/kingbasesd_DATA/

h105:mount -t ocfs2 /dev/sdb1 /home/kingbasesd_DATA/

注意:在OCFS2檔案叢集系統退出時,每個節點要卸載已掛載的共用磁碟,以防對共用磁碟損壞,通過以下命令卸載:

umount /dev/sdb1

9、掛載本地的共用磁碟配置

為了使每個節點對掛載到本地的共用磁碟都有讀寫權限,需要建立專門的使用者對共用磁碟訪問,並且每個節點建立的使用者ID必須一致。以h104,、h105為例進行配置:

首先在h104、h105上建立使用者node104、node105:

useradd node104

useradd node105

為node104、node105分配密碼:

passwd node104

passwd node105

接著修改node104和node105的使用者ID和使用者組ID都為808:

在h105上:

usermod -d 808 node105

groupmod -g 808 node105

在h104上:

usermod -d 808 node104

groupmod -g 808 node104

最後在其中一個節點上修改/home/kingbasesd_DATA使用者屬組:

chown -R node104:node104 /home/kingbasesd_DATA/

10、 測試

在h104上/home/kingbasesd_DATA 目錄上建立一個test檔案,在h105上/home/kingbasesd_DATA目錄上可以看到,在h105上/home/kingbasesd_DATA上刪除test檔案,在h104上看不到test檔案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.