OCFS2在Linux下配置文档
1、 ?簡介
OCFS2是下一代的ORACLE集群文件系統(tǒng),它已經(jīng)被設(shè)計成為一種為通用的文件系統(tǒng)。OCFS2能使運(yùn)行在集群中所有節(jié)點(diǎn)并發(fā)的通過標(biāo)準(zhǔn)文件系統(tǒng)接口來訪問存儲備。
2、?下載
OCFS2的發(fā)行版包括了2個安裝包,一個稱為核心模塊,另一個叫工具包。
核心模塊鏈接下載:
http://oss.oracle.com/projects/ocfs2/files/
工具包鏈接下載:
http://oss.oracle.com/projects/ocfs2-tools/files/
首先要下載相應(yīng)的軟件包,對于核心模塊,下載時要考慮它的發(fā)行號,適用的平臺,操作系統(tǒng)內(nèi)核版本以及內(nèi)核的類型(比如SMP,HUGEMEM,PSMP等),對于工具包,只要符合發(fā)行版本和平臺就可以了。
工具包又分為兩部分,ocfs2-tools命令行工具,ocfs2console圖形工具,用戶可以選擇不安裝這部分,但它的確可以令操作簡單化。
3、安裝(每個節(jié)點(diǎn)都安裝)
以Linux2.6.18-128.7AXS3 服務(wù)器安裝為例:
操作系統(tǒng):Linux
操作系統(tǒng)版本: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用戶進(jìn)行安裝:
rpm -ivh ocfs2console-1.4.1-1AXS3.x86_64.rpm
rpm –ivh ocfs2-tools-1.4.1-1AXS3.x86_64.rpm
安裝后,若執(zhí)行/etc/init.d/ocfs2出現(xiàn):
?Usage: /etc/init.d/ocfs2 {start|stop|status|reload|force-reload|restart|try-restart}
執(zhí)行/etc/init.d/o2cb出現(xiàn)
?Usage: /etc/init.d/o2cb {start|stop|restart|force-reload|enable|disable|configure|load|unload|online|offline|force-offline|status}
說明OCFS2核心模塊和工具包安裝成功。
4、?OCFS2配置文件(每個節(jié)點(diǎn)都配置)
OCFS2有一個配置文件,路徑為/etc/ocfs2/cluster.conf。在這個配置文件中,你需要指定集群中所有的節(jié)點(diǎn)信息,并且所有的節(jié)點(diǎn)上都應(yīng)該保留相同的一份。你可以動態(tài)的增加新節(jié)點(diǎn)到集群,或者改變一些節(jié)點(diǎn)的IP,名字,但這需要重起OCFS2以便使更改生效。
以兩臺Linux2.6.18-128.7AXS3服務(wù)器配置為例,保證兩臺機(jī)器相互ping通:
服務(wù)器主機(jī)名:h104、h105
服務(wù)器IP地址:192.168.4.104、192.168.4.105
下圖為配置文件cluster.cof內(nèi)容:
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
該配置文件分別放在兩臺服務(wù)器/etc/ocfs2目錄中,配置完成。
5、 ?O2CB介紹
OCFS2有自己的集群服務(wù)結(jié)構(gòu),叫做O2CB,它包括:
NM:節(jié)點(diǎn)管理器,它對cluster.conf文件中所有節(jié)點(diǎn)進(jìn)行的監(jiān)控。
HB:心跳服務(wù)(Heart beat service),他在節(jié)點(diǎn)離開或加入rac時提示up和down的消息。
TCP:控制節(jié)點(diǎn)間的通訊。
DLM:分布式鎖管理器,它持續(xù)跟蹤所有的鎖,鎖的所有者及狀態(tài)。
CONFIGFS:用戶配置文件系統(tǒng)驅(qū)動空間,掛節(jié)點(diǎn)是/config
DLMFS:用戶空間和內(nèi)核空間DLM的接口。
所有這些cluster服務(wù)都已經(jīng)被打包在o2cb系統(tǒng)服務(wù)當(dāng)中,所有的操作,比如format,mount等,都需要cluster可用。在使用format等命令前,要先啟動這些服務(wù)。
6、?OCFS2集群服務(wù)啟動(每個節(jié)點(diǎn)都執(zhí)行)
通過以下命令啟動所有服務(wù):
?/etc/init.d/o2cb load
通過以下命令使cluster ocfs2?啟動:
/etc/init.d/o2cb online ocfs2
通過以下命令停止cluster ocfs2:
/etc/init.d/o2cb offline ocfs2
通過以下命令停止所有服務(wù):
?/etc/init.d/o2cb unload
通過以下命令檢查所有服務(wù)的狀態(tài):
?/etc/init.d/o2cb status?
7、?格式化
首先采用parted工具對共享磁盤進(jìn)行分區(qū),分出一個KingbaseSD區(qū)供OCFS2集群使用。詳細(xì)分區(qū)命令如下:
選擇要分區(qū)的硬盤,此處為/dev/sdb:
[root@h105 ~]# parted /dev/sdb
創(chuàng)建一個分區(qū)表:
(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
執(zhí)行mkpart命令,分別輸入分區(qū)名稱,文件系統(tǒng)和分區(qū)的起止位置:
(parted) mkpart???????????????????????????????????????????????????
分區(qū)名稱?? []? KingbaseSD ????????????????????????????????????????
文件系統(tǒng)類型?? [ext2]? ext3???????????????????????????????????????
起始點(diǎn)?500G???????????????????????????????????????????????????????
結(jié)束點(diǎn)?1000G??? ???????????????????????????????????????????????????
分完區(qū)后退出:
(parted) q
最后查看下分完區(qū)后的結(jié)果:
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??????? 標(biāo)志
?1????? 17.4kB? 500GB? 500GB?????????????? KingbaseSD??? ???
如果O2CB CLUSTER沒有啟動,首先啟動它。格式化操作依賴于這些服務(wù)。同時它需要你確保所有的節(jié)點(diǎn)上都沒有掛載需要格式化的設(shè)備。
為要格式化的設(shè)備輸入一個標(biāo)簽,為了便于管理,我們建議你輸入一個標(biāo)簽,你仍然可以在格式化之后修改它。
為設(shè)備選擇一個集群單元大小(cluster??size),它支持從4k到1M。如果這個設(shè)備用來存儲數(shù)據(jù)文件或者大的文件,比較合適的大小是128K。
選擇一個塊單元大小(block size),它支持從512字節(jié)到4k,由于OCFS2在格式化的時候并不分配一個靜態(tài)的inode?區(qū)域,所以4k是我們強(qiáng)烈推薦的大小,它幾乎適合所有的磁盤大小,換句話說,即時這些磁盤支持512字節(jié),但我們?nèi)匀徊唤ㄗh使用小的單元。
一旦格式化完畢,集群單元和塊單元都不可以再改變。
輸入一個節(jié)點(diǎn)槽位(node slots),這個數(shù)值決定了允許多少節(jié)點(diǎn)同時掛載這個設(shè)備。這個數(shù)值隨后可以修改,但只能增加,不能減小。
例如要格式化一個3k塊大小,32k集群單元大小,包括4個節(jié)點(diǎn)的設(shè)備,在命令行下,可以通過mkfs.ocfs2工具按如下操作完成(在一個節(jié)點(diǎn)執(zhí)行格式化即可):
# mkfs.ocfs2 -b 4K -C 32K -N 4 -L KingbaseSD /dev/sdb1
可以通過man?獲得mkfs.ocfs2的幫助信息。
8、 掛載
把共享磁盤掛載到所有節(jié)點(diǎn)上,首先在每個節(jié)點(diǎn)上創(chuàng)建一個共同的目錄名,例如在h104和h105創(chuàng)建/home/kingbasesd_DATA目錄名:
h104:mkdir –p /home/kingbasesd_DATA
h105: mkdir –p /home/kingbasesd_DATA
創(chuàng)建完目錄后,通過以下命令把共享磁盤掛載到本地,以h104、h105為例:
h104:mount -t ocfs2 /dev/sdb1 /home/kingbasesd_DATA/
h105:mount -t ocfs2 /dev/sdb1 /home/kingbasesd_DATA/
注意:在OCFS2文件集群系統(tǒng)退出時,每個節(jié)點(diǎn)要卸載已掛載的共享磁盤,以防對共享磁盤損壞,通過以下命令卸載:
umount /dev/sdb1
9、掛載本地的共享磁盤配置
為了使每個節(jié)點(diǎn)對掛載到本地的共享磁盤都有讀寫權(quán)限,需要創(chuàng)建專門的用戶對共享磁盤訪問,并且每個節(jié)點(diǎn)創(chuàng)建的用戶ID必須一致。以h104,、h105為例進(jìn)行配置:
首先在h104、h105上創(chuàng)建用戶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
最后在其中一個節(jié)點(diǎn)上修改/home/kingbasesd_DATA用戶屬組:
chown -R node104:node104 /home/kingbasesd_DATA/
10、?測試
在h104上/home/kingbasesd_DATA 目錄上創(chuàng)建一個test文件,在h105上/home/kingbasesd_DATA目錄上可以看到,在h105上/home/kingbasesd_DATA上刪除test文件,在h104上看不到test文件。
轉(zhuǎn)載于:https://www.cnblogs.com/zhangpengme/archive/2011/12/29/2306362.html
總結(jié)
以上是生活随笔為你收集整理的OCFS2在Linux下配置文档的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CvBlobDetector 新目标检测
- 下一篇: 12 月份 10 个新鲜的 jQuery