




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MFS+KeepAlived分布式文件系統(tǒng)部署手冊(cè)目錄一、應(yīng)用部署情況3二、角色說(shuō)明41.拓?fù)浜?jiǎn)單工作原理42.服務(wù)器功能描述4三、原理概述51.MFS元數(shù)據(jù)備份52.MFS Master的恢復(fù)53.利用keepalived實(shí)現(xiàn)自動(dòng)恢復(fù)與Master切換5四、部署說(shuō)明61.Master Server 安裝62.Backup server (metalogger) 安裝73.存儲(chǔ)塊服務(wù)器 Chunk servers 安裝74.客戶端安裝85.在主從機(jī)器上安裝keepalived 96.keepalived 主服務(wù)器配置 107.keepalived 從服務(wù)器配置128.啟動(dòng)順序149.關(guān)閉順序1
2、5五、MFS常用操作16 一、 應(yīng)用部署情況序號(hào)主機(jī)名應(yīng)用部署IP地址VIP1NBJK-ZX-MFSMASTER MFS(Master),keepalived(Master)41772NBJK-ZX-MFSBACKUPMFS(MFSBACKUP),keepalived(BACKUP)443NBJK-ZX-CHUNK1MFS(chuckserver)754NBJK-ZX-CHUNK2MFS(chuckserver)765NBJK-ZX-CHUNK3MFS(chucks
3、erver)746Clientmfsclient1二、 角色說(shuō)明1. 拓?fù)浜?jiǎn)單工作原理mfservermastet 管理控制是MFS分布式文件系統(tǒng)核心,負(fù)責(zé)處理client與chunkserver之間的聯(lián)系;Chunkserver提供存儲(chǔ)數(shù)據(jù)的空間,通常是分區(qū),磁盤,RAID等設(shè)備。2. 服務(wù)器功能描述(1) 管理服務(wù)器(master):負(fù)責(zé)各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器(chunkserver)的管理,文件讀寫調(diào)度,文件空間回收以及恢復(fù),多點(diǎn)拷貝;(2) 元數(shù)據(jù)日志服務(wù)器(metalogger):負(fù)責(zé)備份master服務(wù)器的變化日志文件,文件類型為ch
4、angelog_ml.*.mfs,以便master出故障時(shí)接替其工作;(3) 數(shù)據(jù)存儲(chǔ)服務(wù)器(chunkserver):在存儲(chǔ)文件時(shí),首先把文件分成塊,然后將這些塊在數(shù)據(jù)存儲(chǔ)服務(wù)器之間互相復(fù)制,同時(shí),數(shù)據(jù)存儲(chǔ)服務(wù)器還負(fù)責(zé)連接管理服務(wù)器,聽(tīng)從管理服務(wù)器調(diào)度,并為客戶提供數(shù)據(jù)傳輸;(4) 客戶機(jī)(client):掛載目錄,掛載點(diǎn)是master服務(wù)器的VIP。三、 原理概述1. MFS元數(shù)據(jù)備份通常元數(shù)據(jù)有兩部分的數(shù)據(jù):主要元數(shù)據(jù)文件metadata.mfs,當(dāng)mfsmaster 運(yùn)行的時(shí)候會(huì)被命名為metadata.mfs.back元數(shù)據(jù)改變?nèi)罩綾hangelog.*.mfs,存儲(chǔ)了過(guò)去的N 小時(shí)
5、的文件改變(N 的數(shù)值是由BACK_LOGS參數(shù)設(shè)置的,參數(shù)的設(shè)置在mfschunkserver.cfg 配置文件中)。主要的元數(shù)據(jù)文件需要定期備份,備份的頻率取決于取決于多少小時(shí)changelogs 儲(chǔ)存。元數(shù)據(jù)changelogs 實(shí)時(shí)的自動(dòng)復(fù)制。2. MFS Master的恢復(fù)一旦mfsmaster 崩潰(例如因?yàn)橹鳈C(jī)或電源失敗),需要最后一個(gè)元數(shù)據(jù)日志changelog 并入主要的metadata 中。這個(gè)操作時(shí)通過(guò) mfsmetarestore 工具做的,最簡(jiǎn)單的方法是:mfsmetarestore -a如果master 數(shù)據(jù)被存儲(chǔ)在MooseFS 編譯指定地點(diǎn)外的路徑,則要利用-d
6、 參數(shù)指定使用,如: mfsmetarestore -a -d /opt/mfsmaster也可以利用非自動(dòng)化恢復(fù)模式mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs3. 利用keepalived實(shí)現(xiàn)自動(dòng)恢復(fù)與Master切換1. mfsmaster可以由mfsmetalogger產(chǎn)生的日志文件 changelog_ml.*.mfs和metadata.mfs.back,由命令mfsmetarestore恢復(fù)2. mfsbackup定時(shí)從mfsmaster 獲取 metadata.mfs.back 文件用
7、于master恢復(fù)3. keepalived MASTER run檢測(cè)到 mfsmaster 故障的時(shí)候,停止 keepalived 4. keepalived BACKUP狀態(tài)從backup轉(zhuǎn)到 master 并觸發(fā)notify_master事件執(zhí)行恢復(fù)并啟動(dòng)mfsmaster腳本四、 部署說(shuō)明 1. Master Server 安裝(41)(1)Master Server 安裝# groupadd mfs# useradd -g mfs mfs -s /sbin/nologin# wget # tar -xvf moosefs-2.
8、0.88-1.tar.gz# cd moosefs-2.0.88# ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs -disable-mfschunkserver -disable-mfsmount# make# make install(2)Master Server 配置切換目錄# cd /usr/local/mfs/etc/mfs復(fù)制樣例文件,以得到 master 所需的配置文件# cp mfsmaster.cfg.dist mfsmaster.cfg# cp mfsmet
9、alogger.cfg.dist mfsmetalogger.cfg # cp mfsexports.cfg.dist mfsexports.cfg# cp mfstopology.cfg.dist mfstopology.cfgMfsmaster.cfg配置文件包含主控服務(wù)器 master 相關(guān)的設(shè)置mfsexports.cfg指定哪些客戶端主機(jī)可以遠(yuǎn)程掛接 MooseFS 文件系統(tǒng),以及授予掛接客戶端什么樣的訪問(wèn)權(quán)限。所有配置文件的值都是被注釋掉的,他們是默認(rèn)生效的,如果要修改去掉注釋修改即可。二進(jìn)制文件 metadata 和文本文件 changelog 將被保存在目錄/var/lib/m
10、fs,這是因?yàn)榘惭b過(guò)程的 configure 步驟使用了選項(xiàng) -localstatedir=/var/lib 。首次安裝 master 時(shí),會(huì)自動(dòng)生成一個(gè)名為 metadata.mfs.empty 的元數(shù)據(jù)文件 metadata,該文件是空的。MooseFS master 運(yùn)必須有文件 metadata.mfs,這個(gè)文件是從 metadata.mfs.empty 改名而來(lái):# cd /usr/local/mfs/var/mfs/# cp metadata.mfs.empty metadata.mfs修改/etc/hosts 文件,以綁定主機(jī)名 mfsmaster 與 ip 地址 192.168
11、.100.177:77 mfsmaster 2. Backup server (metalogger) 安裝(44)用來(lái)安裝 metalogger 的主機(jī),在性能上應(yīng)該比 master 強(qiáng)大(至少有更多的內(nèi)存)。一旦主控服務(wù)器 master 失效, 只要導(dǎo)入 changelogs 到元數(shù)據(jù)文件,備份服務(wù)器 metalogger 將能接替發(fā)生故障的 master,行使管理服務(wù)器的職能(更多細(xì)節(jié)請(qǐng)參看 /minihowtos.html#redundant-master)。# groupadd mfs# u
12、seradd -g mfs mfs -s /sbin/nologin# wget # tar -xvf moosefs-2.0.88-1.tar.gz# cd moosefs-2.0.88# ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs -disable-mfschunkserver -disable-mfsmount# make# make install產(chǎn)生配置文件# cd /usr/local/mfs/etc/mfs# cp mfsmetalogger.cfg.dist
13、mfsmetalogger.cfg 另外也需要產(chǎn)生主服務(wù)器的配置文件,以便metalogger切換為masterserver時(shí)能正常運(yùn)行# cp mfsmaster.cfg.dist mfsmaster.cfg# cp mfsexports.cfg.dist mfsexports.cfg# cp mfstopology.cfg.dist mfstopology.cfg相應(yīng)地修改mfsexports.cfg,配置客戶端掛載權(quán)限。修改/etc/hosts 文件,增加下面的行:77 mfsmaster 3. 存儲(chǔ)塊服務(wù)器 Chunk servers 安裝(192.168.1
14、00.174/175/176)# groupadd mfs# useradd -g mfs mfs -s /sbin/nologin# wget # tar -xvf moosefs-2.0.88-1.tar.gz# cd moosefs-2.0.88# ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs -disable-mfsmaster# make# make install準(zhǔn)備 chunk server 服務(wù)所需的配置文件:# cd /usr/local/mfs/etc/mf
15、s# cp mfschunkserver.cfg.dist mfschunkserver.cfg# cp mfshdd.cfg.dist mfshdd.cfg在mfshdd.cfg中,給出了用于客戶端掛接MooseFS 分布式文件系統(tǒng)根分區(qū)所使用的共享空間位置。建議在chunk server上劃分單獨(dú)的空間給 MooseFS 使用,這樣做的好處是便于管理剩余空間。設(shè)置/data目錄為共享點(diǎn), 在 mfshdd.cfg 加入下面的文本行:/data設(shè)置目錄用戶組:#chown -R mfs: mfs /data類似地,修改/etc/hosts 文件,增加下面的行:77
16、mfsmaster 4. 客戶端安裝 (1)(1) fuse安裝與配置lsmod|grep fuse 可以查看系統(tǒng)是否加載的fuse模塊,如無(wú),需要安裝。下載fuse# tar -xvf fuse-2.9.5.tar.gz# cd fuse-2.9.5# ./configure -prefix=/usr/local/fuse# make# make install# export PKG_CONFIG_PATH=/usr/local/fuse/lib/pkgconfig:$PKG_CONFIG_PATH設(shè)置fuse啟動(dòng)時(shí)自動(dòng)裝載,在/etc/rc.local文件的后面
17、增加如下一行:modprobe fuse(2) mfs client安裝與配置# groupadd mfs# useradd -g mfs mfs -s /sbin/nologin# wget # tar -xvf moosefs-2.0.88-1.tar.gz# cd moosefs-2.0.88# ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs -disable-mfsmaster -disable-mfschunkserver# make# make instal
18、l類似地,修改/etc/hosts 文件,增加下面的行:77 mfsmaster 5. 在主從機(jī)器上安裝keepalived (41/144)#yum -y install openssl-devel#yum -y install popt-devel#wget /software/keepalived-1.2.20.tar.gz #tar zxf keepalived-1.2.19.tar.gz #cd keepalived-1.2.19#./configure -prefix=/usr/lo
19、cal/keepalived #make #make install#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived#chmod +x /etc/init.d/keepalived #修改/etc/init.d/keepalived, 尋找大約15行左右的. /etc/sysconfig/keepalived, 修改為:. /usr/local/keepalived/etc/sysconfig/keepalived 即指向正確的文件位置 #同時(shí)在上述行下添加以下內(nèi)容(將keepavlied主程
20、序所在路徑導(dǎo)入到環(huán)境變量PATH中): PATH="$PATH:/usr/local/keepalived/sbin" export PATH #3. 修改/usr/local/keepalived/etc/sysconfig/keepalived文件,設(shè)置正確的服務(wù)啟動(dòng)參數(shù)KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalived.conf" 6. keepalived 主服務(wù)器配置 (41)配置說(shuō)明:KEEPALIVED MASTER 每
21、1秒檢測(cè)一次 mfsmaster狀態(tài)KEEPAVLIED BACKUP 不檢測(cè)MFS狀態(tài) 只等待KEEPALIVED事件觸發(fā)恢復(fù)(1) keepalived配置文件 # vi /usr/local/keepalived/etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs notification_email acassenfirewall.loc failoverfirewall.loc sysadminfirewall.loc notification_email_from Alexandr
22、e.Cassenfirewall.loc smtp_server smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr vrrp_strictvrrp_script check_run script "/usr/local/mfs/check_master.sh" interval 2vrrp_instance VI_1 state keepalived MASTER interface bond0 virtual_router_id 60 priority 100 ad
23、vert_int 1 authentication auth_type PASS auth_pass 1111 track_script check_run virtual_ipaddress 77 參數(shù)說(shuō)明:全局配置global_defs 故障報(bào)警郵件虛擬路由標(biāo)識(shí)virtual_router_id。這個(gè)標(biāo)識(shí)是一個(gè)數(shù)字,并且同一個(gè)vrrp實(shí)例使用唯一的標(biāo)識(shí)。即同一個(gè)vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同時(shí)在整個(gè)vrrp內(nèi)是唯一的。 驗(yàn)證authentication。包含驗(yàn)證類型和驗(yàn)證密碼。類型主要有PASS、
24、AH兩種,通常使用的類型為PASS,據(jù)說(shuō)AH使用時(shí)有問(wèn)題。驗(yàn)證密碼為明文,同一vrrp實(shí)例MASTER與BACKUP 使用相同的密碼才能正常通信。 優(yōu)先級(jí)priority。這是一個(gè)數(shù)字,數(shù)值愈大,優(yōu)先級(jí)越高。在同一個(gè)vrrp_instance里,MASTER 的優(yōu)先級(jí)高于BACKUP。若MASTER的priority值為100,那么BACKUP的priority只能是90或更小的數(shù)值。同步通知間隔advert_int。MASTER與BACKUP負(fù)載均衡器之間同步檢查的時(shí)間間隔,單位為秒。虛擬ip地址virtual_ipaddress。可以有多個(gè)地址,每個(gè)地址占一行,不需要指定子網(wǎng)掩碼。注意:這
25、個(gè)ip必須與我們?cè)趌vs客戶端設(shè)定的vip相一致?。?)主服務(wù)器檢測(cè)腳本 vim /usr/local/mfs/check_master.sh#!/bin/bashfunction startmfscgi() check_cgi=ps -ef -no-header|grep mfscgiserv|grep -v grep RETVAL=$? if $RETVAL -ne 0 ;then /usr/local/mfs/sbin/mfscgiserv &> /dev/null ficheck_master=ps -ef -no-header|grep mfsmaster|grep -
26、v grepRETVAL=$?if $RETVAL -ne 0 ;then /usr/local/mfs/sbin/mfsmaster start &> /dev/null RETVAL=$? if $RETVAL -ne 0 ;then killall keepalived &> /dev/null PRCID=ps -ef | grep /usr/local/mfs/sbin/mfscgiserv | awk 'print $2' if "$PRCID" != "" ;then kill -9 $PRCID
27、 &> /dev/null fi else startmfscgi fielse startmfscgi echo "mfsmaster is ok"fi#chmod 755 /usr/local/mfs/check_master.sh7. keepalived 從服務(wù)器配置 (44)(1) keepalived配置文件# vi /usr/local/keepalived/etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs noti
28、fication_email acassenfirewall.loc failoverfirewall.loc sysadminfirewall.loc notification_email_from Alexandre.Cassenfirewall.loc smtp_server smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr vrrp_strictvrrp_instance VI_1 state keepalived BACKUP interface bond0 virtual_r
29、outer_id 60 priority 50 advert_int 1 authentication auth_type PASS auth_pass 1111 virtual_ipaddress 77 notify_master /usr/local/mfs/switch_to_mfsmaster.sh notify_backup /usr/local/mfs/switch_to_mfsmetalogger.sh(2)從服務(wù)器切換到主服務(wù)器腳本 # vi /usr/local/mfs/switch_to_mfsmaster.sh#!/bin/bashecho &q
30、uot;="/usr/local/mfs/sbin/mfsmaster start -asleep 60/usr/local/mfs/sbin/mfsmaster stop/usr/local/mfs/sbin/mfsmaster start/usr/local/mfs/sbin/mfscgiservecho "-change master-"#chmod 755 /usr/local/mfs/switch_to_mfsmaster.sh備注: -a : automatically restore metadata from change logs從更改日志中自動(dòng)
31、恢復(fù)元數(shù)據(jù)(3)從服務(wù)器切換回從服務(wù)器(metalogger)腳本# vi /usr/local/mfs/switch_to_mfsmetalogger.sh #!/bin/bashecho "*"/usr/local/mfs/sbin/mfsmaster stopPRCID=ps -ef | grep /usr/local/mfs/sbin/mfscgiserv | awk 'print $2'if "$PRCID" != "" ;then kill -9 $PRCIDfiecho "-change to
32、logger-"# chmod 755 /usr/local/mfs/switch_to_mfsmetalogger.sh 8. 啟動(dòng)順序(1) 啟動(dòng)mfsmaster (41)啟動(dòng)mfs:#/usr/local/mfs/sbin/mfsmaster start為了監(jiān)控 MooseFS 當(dāng)前運(yùn)行狀態(tài),可以運(yùn)行 CGI 監(jiān)控服務(wù),這樣就可以用瀏覽器查看整個(gè)MooseFS 的運(yùn)行情況:# /usr/local/mfs/sbin/mfscgiserv在瀏覽器地址欄輸入 41:9425 即可查看 master 的運(yùn)行情況,外網(wǎng):
33、 75:9444(2) 啟動(dòng)主從keepalived (41/144)#service keepalived restart可使用ip addr 或ip a 命令驗(yàn)證虛地址是否正確。(3) 啟動(dòng)mfsmetalogger (44)# /usr/local/mfs/sbin/mfsmetalogger start(4) 啟動(dòng)mfschunckserver (75/176/174)#/usr/local/mfs/sbin/mfschunkserver start(5) 客戶端掛載假定客戶
34、端的掛接點(diǎn)是/data,我們將以下面的指令來(lái)使用 MooseFS 分布式共享文件系統(tǒng):1. 創(chuàng)建掛接點(diǎn)# mkdir -p /data12. 開(kāi)始掛接操作# /usr/local/mfs/bin/mfsmount /data -H mfsmaster執(zhí)行命令# df -h | grep mfs 檢查分區(qū)情況,可能的輸出如下:mfs#mfsmaster:9421 58T 909M 58T 1% /data13. 設(shè)置副本數(shù):# /usr/local/mfs/bin/mfssetgoal -r 2 /data1/mp4# /usr/local/mfs/bin/mfssetgoal -r 1 /da
35、ta1/hlsrootNBJK-ZX-51 data1# /usr/local/mfs/bin/mfssetgoal -r 2 /data1/mp4/data1/mp4: inodes with goal changed: 1 inodes with goal not changed: 0 inodes with permission denied: 0rootNBJK-ZX-51 data1# /usr/local/mfs/bin/mfssetgoal -r 1 /data1/hls/data1/hls: inodes with goal changed: 0 inodes with goa
36、l not changed: 1 inodes with permission denied: 04. 設(shè)置垃圾箱保留期/usr/local/mfs/bin/mfssettrashtime 3600 /data9. 關(guān)閉順序(1) 客戶端卸載 (1)#umount /data1(2) 關(guān)閉mfschunckserver (75/176/174)#/usr/local/mfs/sbin/mfschunkserver stop(3) 關(guān)閉mfsmetalogger (44)# /usr/local/mfs/sbin/mfsmetalogger stop(4) 關(guān)閉 從主keepalived (44/141)#service keepalived stop(5) 關(guān)閉mfsmaster (41) #/usr/local/mfs/sbin/mfsmaste
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB31/T 999.4-2016網(wǎng)上政務(wù)大廳接入技術(shù)規(guī)范第4部分:?jiǎn)尾块T事項(xiàng)信息共享數(shù)據(jù)交換格式
- DB31/T 968.1-2016全過(guò)程信用管理要求第1部分:數(shù)據(jù)清單編制指南
- DB31/T 599-2012非承重蒸壓灰砂多孔磚技術(shù)要求
- DB31/T 462-2020醫(yī)用X射線診斷機(jī)房衛(wèi)生防護(hù)與檢測(cè)評(píng)價(jià)規(guī)范
- DB31/T 1240.1-2020公共數(shù)據(jù)共享交換工作規(guī)范第1部分:平臺(tái)建設(shè)和運(yùn)行管理要求
- DB31/T 1146.2-2019智能電網(wǎng)儲(chǔ)能系統(tǒng)性能測(cè)試技術(shù)規(guī)范第2部分:風(fēng)電出力平滑應(yīng)用
- DB31 581-2012礦渣粉單位產(chǎn)品能源消耗限額
- 橡膠制品行業(yè)的品牌形象與企業(yè)文化考核試卷
- 美容儀器在皮膚治療技術(shù)的研究動(dòng)態(tài)與市場(chǎng)應(yīng)用考核試卷
- 2025年《高級(jí)養(yǎng)老護(hù)理員》考試練習(xí)題庫(kù)含答案
- 委托尋找房源協(xié)議書
- 法洛四聯(lián)癥的護(hù)理課件
- 2025年佛山市三水海江建設(shè)投資有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025屆高考語(yǔ)文寫作押題作文10篇
- 跨國(guó)醫(yī)療體檢代理合作協(xié)議
- 2024年廣東省乳源瑤族自治縣事業(yè)單位公開(kāi)招聘高層次緊缺人才24名筆試題帶答案
- 中國(guó)成人呼吸系統(tǒng)疾病家庭氧療指南(2024年)解讀
- HY/T 0460.5-2024海岸帶生態(tài)系統(tǒng)現(xiàn)狀調(diào)查與評(píng)估技術(shù)導(dǎo)則第5部分:珊瑚礁
- 大同市勞動(dòng)和社會(huì)保障局勞動(dòng)合同書模板
- 2025年山東光明電力服務(wù)公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論