MFS keepalived分布式文件系統安裝配置_第1頁
MFS keepalived分布式文件系統安裝配置_第2頁
MFS keepalived分布式文件系統安裝配置_第3頁
MFS keepalived分布式文件系統安裝配置_第4頁
MFS keepalived分布式文件系統安裝配置_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MFS+KeepAlived分布式文件系統部署手冊目錄一、應用部署情況3二、角色說明41.拓撲簡單工作原理42.服務器功能描述4三、原理概述51.MFS元數據備份52.MFS Master的恢復53.利用keepalived實現自動恢復與Master切換5四、部署說明61.Master Server 安裝62.Backup server (metalogger) 安裝73.存儲塊服務器 Chunk servers 安裝74.客戶端安裝85.在主從機器上安裝keepalived 96.keepalived 主服務器配置 107.keepalived 從服務器配置128.啟動順序149.關閉順序1

2、5五、MFS常用操作16 一、 應用部署情況序號主機名應用部署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二、 角色說明1. 拓撲簡單工作原理mfservermastet 管理控制是MFS分布式文件系統核心,負責處理client與chunkserver之間的聯系;Chunkserver提供存儲數據的空間,通常是分區,磁盤,RAID等設備。2. 服務器功能描述(1) 管理服務器(master):負責各個數據存儲服務器(chunkserver)的管理,文件讀寫調度,文件空間回收以及恢復,多點拷貝;(2) 元數據日志服務器(metalogger):負責備份master服務器的變化日志文件,文件類型為ch

4、angelog_ml.*.mfs,以便master出故障時接替其工作;(3) 數據存儲服務器(chunkserver):在存儲文件時,首先把文件分成塊,然后將這些塊在數據存儲服務器之間互相復制,同時,數據存儲服務器還負責連接管理服務器,聽從管理服務器調度,并為客戶提供數據傳輸;(4) 客戶機(client):掛載目錄,掛載點是master服務器的VIP。三、 原理概述1. MFS元數據備份通常元數據有兩部分的數據:主要元數據文件metadata.mfs,當mfsmaster 運行的時候會被命名為metadata.mfs.back元數據改變日志changelog.*.mfs,存儲了過去的N 小時

5、的文件改變(N 的數值是由BACK_LOGS參數設置的,參數的設置在mfschunkserver.cfg 配置文件中)。主要的元數據文件需要定期備份,備份的頻率取決于取決于多少小時changelogs 儲存。元數據changelogs 實時的自動復制。2. MFS Master的恢復一旦mfsmaster 崩潰(例如因為主機或電源失?。?,需要最后一個元數據日志changelog 并入主要的metadata 中。這個操作時通過 mfsmetarestore 工具做的,最簡單的方法是:mfsmetarestore -a如果master 數據被存儲在MooseFS 編譯指定地點外的路徑,則要利用-d

6、 參數指定使用,如: mfsmetarestore -a -d /opt/mfsmaster也可以利用非自動化恢復模式mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs3. 利用keepalived實現自動恢復與Master切換1. mfsmaster可以由mfsmetalogger產生的日志文件 changelog_ml.*.mfs和metadata.mfs.back,由命令mfsmetarestore恢復2. mfsbackup定時從mfsmaster 獲取 metadata.mfs.back 文件用

7、于master恢復3. keepalived MASTER run檢測到 mfsmaster 故障的時候,停止 keepalived  4. keepalived BACKUP狀態從backup轉到 master 并觸發notify_master事件執行恢復并啟動mfsmaster腳本四、 部署說明 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復制樣例文件,以得到 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配置文件包含主控服務器 master 相關的設置mfsexports.cfg指定哪些客戶端主機可以遠程掛接 MooseFS 文件系統,以及授予掛接客戶端什么樣的訪問權限。所有配置文件的值都是被注釋掉的,他們是默認生效的,如果要修改去掉注釋修改即可。二進制文件 metadata 和文本文件 changelog 將被保存在目錄/var/lib/m

10、fs,這是因為安裝過程的 configure 步驟使用了選項 -localstatedir=/var/lib 。首次安裝 master 時,會自動生成一個名為 metadata.mfs.empty 的元數據文件 metadata,該文件是空的。MooseFS master 運必須有文件 metadata.mfs,這個文件是從 metadata.mfs.empty 改名而來:# cd /usr/local/mfs/var/mfs/# cp metadata.mfs.empty metadata.mfs修改/etc/hosts 文件,以綁定主機名 mfsmaster 與 ip 地址 192.168

11、.100.177:77 mfsmaster 2. Backup server (metalogger) 安裝(44)用來安裝 metalogger 的主機,在性能上應該比 master 強大(至少有更多的內存)。一旦主控服務器 master 失效, 只要導入 changelogs 到元數據文件,備份服務器 metalogger 將能接替發生故障的 master,行使管理服務器的職能(更多細節請參看 /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產生配置文件# cd /usr/local/mfs/etc/mfs# cp mfsmetalogger.cfg.dist

13、mfsmetalogger.cfg 另外也需要產生主服務器的配置文件,以便metalogger切換為masterserver時能正常運行# cp mfsmaster.cfg.dist mfsmaster.cfg# cp mfsexports.cfg.dist mfsexports.cfg# cp mfstopology.cfg.dist mfstopology.cfg相應地修改mfsexports.cfg,配置客戶端掛載權限。修改/etc/hosts 文件,增加下面的行:77 mfsmaster 3. 存儲塊服務器 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準備 chunk server 服務所需的配置文件:# cd /usr/local/mfs/etc/mf

15、s# cp mfschunkserver.cfg.dist mfschunkserver.cfg# cp mfshdd.cfg.dist mfshdd.cfg在mfshdd.cfg中,給出了用于客戶端掛接MooseFS 分布式文件系統根分區所使用的共享空間位置。建議在chunk server上劃分單獨的空間給 MooseFS 使用,這樣做的好處是便于管理剩余空間。設置/data目錄為共享點, 在 mfshdd.cfg 加入下面的文本行:/data設置目錄用戶組:#chown -R mfs: mfs /data類似地,修改/etc/hosts 文件,增加下面的行:77

16、mfsmaster 4. 客戶端安裝 (1)(1) fuse安裝與配置lsmod|grep fuse 可以查看系統是否加載的fuse模塊,如無,需要安裝。下載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設置fuse啟動時自動裝載,在/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. 在主從機器上安裝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 即指向正確的文件位置 #同時在上述行下添加以下內容(將keepavlied主程

20、序所在路徑導入到環境變量PATH中): PATH="$PATH:/usr/local/keepalived/sbin" export PATH #3. 修改/usr/local/keepalived/etc/sysconfig/keepalived文件,設置正確的服務啟動參數KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalived.conf" 6. keepalived 主服務器配置 (41)配置說明:KEEPALIVED MASTER 每

21、1秒檢測一次 mfsmaster狀態KEEPAVLIED BACKUP 不檢測MFS狀態 只等待KEEPALIVED事件觸發恢復(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 參數說明:全局配置global_defs 故障報警郵件虛擬路由標識virtual_router_id。這個標識是一個數字,并且同一個vrrp實例使用唯一的標識。即同一個vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同時在整個vrrp內是唯一的。 驗證authentication。包含驗證類型和驗證密碼。類型主要有PASS、

24、AH兩種,通常使用的類型為PASS,據說AH使用時有問題。驗證密碼為明文,同一vrrp實例MASTER與BACKUP 使用相同的密碼才能正常通信。 優先級priority。這是一個數字,數值愈大,優先級越高。在同一個vrrp_instance里,MASTER 的優先級高于BACKUP。若MASTER的priority值為100,那么BACKUP的priority只能是90或更小的數值。同步通知間隔advert_int。MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位為秒。虛擬ip地址virtual_ipaddress??梢杂卸鄠€地址,每個地址占一行,不需要指定子網掩碼。注意:這

25、個ip必須與我們在lvs客戶端設定的vip相一致!(2)主服務器檢測腳本 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 從服務器配置 (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)從服務器切換到主服務器腳本 # 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從更改日志中自動

31、恢復元數據(3)從服務器切換回從服務器(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. 啟動順序(1) 啟動mfsmaster (41)啟動mfs:#/usr/local/mfs/sbin/mfsmaster start為了監控 MooseFS 當前運行狀態,可以運行 CGI 監控服務,這樣就可以用瀏覽器查看整個MooseFS 的運行情況:# /usr/local/mfs/sbin/mfscgiserv在瀏覽器地址欄輸入 41:9425 即可查看 master 的運行情況,外網:

33、 75:9444(2) 啟動主從keepalived (41/144)#service keepalived restart可使用ip addr 或ip a 命令驗證虛地址是否正確。(3) 啟動mfsmetalogger (44)# /usr/local/mfs/sbin/mfsmetalogger start(4) 啟動mfschunckserver (75/176/174)#/usr/local/mfs/sbin/mfschunkserver start(5) 客戶端掛載假定客戶

34、端的掛接點是/data,我們將以下面的指令來使用 MooseFS 分布式共享文件系統:1. 創建掛接點# mkdir -p /data12. 開始掛接操作# /usr/local/mfs/bin/mfsmount /data -H mfsmaster執行命令# df -h | grep mfs 檢查分區情況,可能的輸出如下:mfs#mfsmaster:9421 58T 909M 58T 1% /data13. 設置副本數:# /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. 設置垃圾箱保留期/usr/local/mfs/bin/mfssettrashtime 3600 /data9. 關閉順序(1) 客戶端卸載 (1)#umount /data1(2) 關閉mfschunckserver (75/176/174)#/usr/local/mfs/sbin/mfschunkserver stop(3) 關閉mfsmetalogger (44)# /usr/local/mfs/sbin/mfsmetalogger stop(4) 關閉 從主keepalived (44/141)#service keepalived stop(5) 關閉mfsmaster (41) #/usr/local/mfs/sbin/mfsmaste

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論