自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CentOS如何安裝MooseFS技術(shù)實(shí)戰(zhàn)

運(yùn)維 系統(tǒng)運(yùn)維
MooseFS(Moose File System,mfs)是一種分布式文件系統(tǒng),它將數(shù)據(jù)分布在網(wǎng)絡(luò)中的不同服務(wù)器上,支持FUSE,客戶端可以作為一個(gè) 普通的Unix 文件系統(tǒng)使用MooseFS。

MooseFS(Moose File System,mfs)是一種分布式文件系統(tǒng),它將數(shù)據(jù)分布在網(wǎng)絡(luò)中的不同服務(wù)器上,支持FUSE,客戶端可以作為一個(gè) 普通的Unix 文件系統(tǒng)使用MooseFS。

  MooseFS中共有四種角色:主控服務(wù)器master server、元數(shù)據(jù)日志服務(wù)器metalogger server、存儲(chǔ)塊服務(wù)器chunkserver、客戶端client。

  主控服務(wù)器負(fù)責(zé)各個(gè)存儲(chǔ)塊服務(wù)器的管理、文件讀寫(xiě)調(diào)度、文件空間回收以及恢復(fù)、多節(jié)點(diǎn)拷貝。

  元數(shù)據(jù)日志服務(wù)器負(fù)責(zé)備份主控服務(wù)器的元數(shù)據(jù)、變化日志文件,文件類(lèi)型為changelog_ml.*.mfs,以便在主控服務(wù)器出問(wèn)題的時(shí)候可以恢復(fù)。

  存儲(chǔ)塊服務(wù)器負(fù)責(zé)提供存儲(chǔ)空間,并為客戶提供數(shù)據(jù)傳輸。

  客戶端則通過(guò)fuse掛接主控服務(wù)器上所管理的存儲(chǔ)塊服務(wù)器,可以像操作本地文件一樣操作MooseFS中的文件。

  Keepalived是一款服務(wù)器監(jiān)控軟件,可以監(jiān)控服務(wù)器運(yùn)行狀態(tài),當(dāng)服務(wù)器死機(jī)或出現(xiàn)故障時(shí),可以自動(dòng)將服務(wù)切換到后備服務(wù)器上。

一、配置思路

  1、自1.6.5之后,MooseFS提供了metalogger服務(wù),默認(rèn)每24小時(shí)自動(dòng)獲得主控服務(wù)器的所有元數(shù)據(jù)和更改日志,可以作為備份主控

  2、使用keepalived,監(jiān)控主控服務(wù)器運(yùn)行情況,當(dāng)主控服務(wù)器宕掉之后,自動(dòng)啟動(dòng)備份主控服務(wù)器,接替主控服務(wù)器

  3、主控服務(wù)器與備份主控使用相同的虛擬IP提供對(duì)外服務(wù)

  4、客戶端通過(guò)fuse,直接訪問(wèn)虛擬IP提供的在存儲(chǔ)塊服務(wù)器共享的資源

  二、服務(wù)器信息

  10.1.1.105 主控服務(wù)器

  10.1.1.104 存儲(chǔ)塊服務(wù)器、元數(shù)據(jù)日志服務(wù)器,作為備份主控

  10.1.1.103 對(duì)外的提供服務(wù)的虛擬IP

  10.1.1.116 存儲(chǔ)塊服務(wù)器

  10.1.1.111 客戶端

#p#

三、安裝配置MooseFS

  對(duì)于主控服務(wù)器、元數(shù)據(jù)日志服務(wù)器、存儲(chǔ)塊服務(wù)器、客戶端,MooseFS提供相同的安裝文件,只是根據(jù)配置參數(shù)的不同,安裝不同的程序

  常用的配置參數(shù)有disable-mfsmaster、disable-mfschunkserver、disable-mfsmount、disable-mfscgiserv,以及對(duì)應(yīng)的enable選項(xiàng),分別表示停用、啟用相應(yīng)的安裝。所有選項(xiàng)默認(rèn)是啟用的。在安裝的時(shí)候,安裝程序會(huì)自動(dòng)檢測(cè)是否安裝了fuse開(kāi)發(fā)包,如果檢測(cè)到,就會(huì)編譯支持mfsmount(fuse 2.7.2以上版本)選項(xiàng)。

  另外還有with-default-user、with-default-group,用于指定MooseFS所對(duì)應(yīng)的用戶、組

  1、在http://www.moosefs.org/download.html下載軟件mfs-1.6.24.tar.gz

  2、主控、存儲(chǔ)塊服務(wù)器、元數(shù)據(jù)日志服務(wù)器安裝

  主控、存儲(chǔ)塊服務(wù)器、元數(shù)據(jù)日志服務(wù)器可以使用相同的配置安裝,只需要指定安裝目錄、用戶、組,其他的都使用默認(rèn)配置

  創(chuàng)建用戶、組

  [root@localhost ~]# groupadd mfs

  [root@localhost ~]# useradd -g mfs mfs

  解壓、安裝

  [root@localhost ~]# tar xvf mfs-1.6.24.tar.gz

  [root@localhost ~]# cd mfs-1.6.24

  [root@localhost mfs-1.6.24]# ./configure --prefix=/Data/apps/mfs --with-default-user=mfs --with-default-group=mfs

  [root@localhost mfs-1.6.24]# make && make install

  主控服務(wù)器是MooseFS的核心,應(yīng)當(dāng)安裝在具有高穩(wěn)定性、高配置的服務(wù)器上。最關(guān)鍵的是內(nèi)存要足夠大,MooseFS對(duì)內(nèi)存的要求與存放的文件個(gè)數(shù)有關(guān)。按照官方的數(shù)據(jù),存儲(chǔ)塊服務(wù)器上的1百萬(wàn)文件,主控服務(wù)器需要300M內(nèi)存存放相關(guān)的信息。硬盤(pán)也要大,受存儲(chǔ)塊服務(wù)器上文件、塊的個(gè)數(shù)(影響元數(shù)據(jù)文件大小)、文件變更數(shù)(影響changelog)的影響;2500萬(wàn)文件、50小時(shí)的變更日志需要20G空間。對(duì)CPU也有較高的要求,受MooseFS中文件的操作頻率影響。

  在這里,10.1.1.104作為元數(shù)據(jù)日志服務(wù)器的同時(shí),也是備份主控服務(wù)器,使用了跟主控服務(wù)器相同的配置。

  存儲(chǔ)塊服務(wù)器應(yīng)當(dāng)提供1G以上的可用空間,才可以寫(xiě)入文件,實(shí)際生產(chǎn)環(huán)境中,至少應(yīng)提供幾個(gè)G的可用空間。

  3、客戶端安裝

  客戶端需要安裝fuse及fuse開(kāi)發(fā)包,可以使用yum來(lái)安裝

  [root@localhost ~]# yum -y install fuse*

  創(chuàng)建用戶、組

  [root@localhost ~]# groupadd mfs

  [root@localhost ~]# useradd -g mfs mfs

  解壓、安裝

  [root@localhost ~]# tar xvf mfs-1.6.24.tar.gz

  [root@localhost ~]# cd mfs-1.6.24

  [root@localhost mfs-1.6.24]# ./configure --prefix=/Data/apps/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount

  [root@localhost mfs-1.6.24]# make && make install

  4、配置

  主控服務(wù)器、存儲(chǔ)塊服務(wù)器、元數(shù)據(jù)日志服務(wù)器分別使用不同的配置文件。配置文件默認(rèn)存放目錄是安裝目錄下的etc目錄,即${prefix}/etc,其中${prefix}即上面指定的/Data/apps/mfs。

  主控服務(wù)器使用的配置文件是mfsmaster.cfg,可以參照${prefix}/etc下的mfsmaster.cfg.dist創(chuàng)建,其中注釋掉的信息是當(dāng)前的默認(rèn)值,使用這些默認(rèn)值就可以正常運(yùn)行。

  另外,主控服務(wù)器也用到了mfsexports.cfg文件,指定了哪些客戶端機(jī)器可以遠(yuǎn)程掛載MooseFS文件系統(tǒng)、具有什么權(quán)限。在文件里,添加這一行

  10.1.1.0/24 / rw,alldirs,maproot=0

  表明10.1.1.0~10.1.1.255網(wǎng)段的機(jī)器都可以掛載MooseFS文件系統(tǒng),具有讀寫(xiě)、掛載任意指定的子目錄權(quán)限、自動(dòng)映射為root用戶。

  IP地址有幾種表現(xiàn)形式:所有ip,單個(gè)ip,IP網(wǎng)絡(luò)地址/位數(shù)掩碼,IP網(wǎng)絡(luò)地址/子網(wǎng)掩碼,ip段范圍。

  權(quán)限部分中:ro 只讀模式共享,rw 讀寫(xiě)方式共享;alldirs 許掛載任何指定的子目錄;maproot 映射為root或者其他的用戶;password 指定客戶端密碼。

  在默認(rèn)數(shù)據(jù)目錄${prefix}/var/mfs下,安裝時(shí)會(huì)產(chǎn)生一個(gè)空的元數(shù)據(jù)文件metadata.mfs.empty,根據(jù)這個(gè)文件復(fù)制出初始的元數(shù)據(jù)文件metadata.mfs:

  [root@localhost ~]# cp metadata.mfs.empty metadata.mfs

  然后就可以啟動(dòng)master服務(wù)了

  [root@localhost ~]# /Data/apps/mfs/sbin/mfsmaster start

  master服務(wù)運(yùn)行后,會(huì)在數(shù)據(jù)目錄${prefix}/var/mfs下產(chǎn)生元數(shù)據(jù)備份文件metadata.mfs.back、日志文件changelog.*.mfs、sessions.mfs文件等,默認(rèn)保留前50小時(shí)的日志,即mfsexports.cfg中BACK_LOGS的設(shè)置的值。

  master服務(wù)每小時(shí)會(huì)把changelog.*.mfs文件合并到元數(shù)據(jù)文件中。

  元數(shù)據(jù)日志服務(wù)器中使用的配置文件是mfsmetalogger.cfg,可以參照${prefix}/etc下的mfsmetalogger.cfg.dist創(chuàng)建,其中注釋掉的信息是當(dāng)前的默認(rèn)值。要注意的是,其中的MASTER_HOST\MASTER_PORT指定了主控服務(wù)器的位置、端口,需要修改為正確的。默認(rèn)MASTER_HOST是mfsmaster。先修改/etc/hosts文件,增加一行

  10.1.1.103 mfsmaster

  啟動(dòng)metalogger服務(wù)

  [root@localhost ~]# /Data/apps/mfs/sbin/mfsmetalogger start

  啟動(dòng)后,可以看到默認(rèn)數(shù)據(jù)目錄${prefix}/var/mfs下會(huì)復(fù)制主控服務(wù)器的元數(shù)據(jù)備份文件metadata_ml.mfs.back、日志文件changelog_ml_back.*.mfs、sessions_ml.mfs文件

  另外,可以把mfsmetalogger.cfg文件中的META_DOWNLOAD_FREQ設(shè)置成1,即每小時(shí)復(fù)制一次metadata.mfs.back文件,減少恢復(fù)的延遲時(shí)間。

  存儲(chǔ)塊服務(wù)器中使用的配置文件是mfschunkserver.cfg,可以參照${prefix}/etc下的mfschunkserver.cfg.dist創(chuàng)建,其中注釋掉的信息是當(dāng)前的默認(rèn)值。要注意的是,其中的MASTER_HOST\MASTER_PORT指定了主控服務(wù)器的位置、端口,需要修改為正確的。默認(rèn)MASTER_HOST是mfsmaster,先修改/etc/hosts文件,增加一行

  10.1.1.103 mfsmaster

  創(chuàng)建一個(gè)用于存放數(shù)據(jù)的目錄,并授予權(quán)限

  [root@localhost ~]# mkdir /testshared

  [root@localhost ~]# chown -R mfs:mfs /testshared

  另外,mfschunkserver.cfg中指定了共享硬盤(pán)使用的配置文件mfshdd.cfg,同樣可以參照${prefix}/etc下的mfshdd.cfg.dist創(chuàng)建。在里面添加剛才配置的目錄

  /testshared

  存儲(chǔ)塊服務(wù)器中共享的硬盤(pán)應(yīng)當(dāng)只供mfs使用,以便mfs能正確的管理它的自由空間。

  這樣就可以啟動(dòng)存儲(chǔ)塊服務(wù)器了。

  [root@localhost ~]# /Data/apps/mfs/sbin/mfschunkserver start

  客戶端

  修改/etc/hosts文件,增加一行

  10.1.1.103 mfsmaster

  創(chuàng)建一個(gè)作為掛載點(diǎn)的目錄,使用mfsmount命令掛載,就可以當(dāng)作本地文件夾一樣操作MooseFS的目錄了

  [root@localhost ~]# /Data/apps/mfs/bin/mfsmount /Data/webapps/img.muzhiwan.com/mfs -H mfsmaster

  其中,-H參數(shù)掛載整個(gè)mfs目錄

  -P 指定實(shí)際使用的端口

  -S 指定掛載的子目錄

#p#

四、安裝配置keepalived

  通過(guò)keepalived,監(jiān)控主控服務(wù)器,當(dāng)主控服務(wù)器10.1.1.105上的mfsmaster服務(wù)出現(xiàn)問(wèn)題時(shí),自動(dòng)切換到元數(shù)據(jù)日志服務(wù)器10.1.1.104。

  到http://www.keepalived.org/download.html 下載最新的keepalived。

  解壓、安裝

 
  1. [root@localhost ~]# tar xvf keepalived-1.2.2.tar.gz  
  2. [root@localhost ~]# cd keepalived-1.2.2  
  3. [root@localhost keepalived-1.2.2]# ./configure --prefix=/  
  4. Keepalived configuration  
  5. ------------------------  
  6. Keepalived version       : 1.2.2  
  7. Compiler                 : gcc  
  8. Compiler flags           : -g -O2 -DETHERTYPE_IPV6=0x86dd 
  9. Extra Lib                : -lpopt -lssl -lcrypto   
  10. Use IPVS Framework       : No  
  11. IPVS sync daemon support : No  
  12. Use VRRP Framework       : Yes  
  13. Use Debug flags          : No 

  這里只需要啟用VRRP就可以

  [root@localhost keepalived-1.2.2]# make && make install

  安裝后,配置為隨機(jī)啟動(dòng)服務(wù)

 

  1.   chmod +x /etc/rc.d/init.d/keepalived  
  2.   chkconfig --add keepalived  
  3.   chkconfig --level 21 keepalived on 

 

  使用的配置文件是/etc/keepalived/keepalived.conf。

  主控服務(wù)器10.1.1.105上的配置文件是,每?jī)擅腌娛褂媚_本檢測(cè)mfsmaster運(yùn)行情況,發(fā)現(xiàn)運(yùn)行失敗,就停止keepaled服務(wù)

 
  1. ! Configuration File for keepalived  
  2. global_defs {  
  3.    router_id LVS_STTD  
  4. }  
  5. vrrp_script check_run {  
  6.    script "/Data/apps/mfs/keepalived_check_mfsmaster.sh"  
  7.    interval 2  
  8. }  
  9. vrrp_sync_group VG1 {  
  10.     group {  
  11.           VI_1  
  12.     }  
  13. }  
  14. vrrp_instance VI_1 {  
  15.     state MASTER  
  16.     interface eth1  
  17.     virtual_router_id 88  
  18.     priority 100  
  19.     advert_int 1  
  20.     nopreempt  
  21.     authentication {  
  22.         auth_type PASS  
  23.         auth_pass 1111  
  24.     }  
  25.     track_script {  
  26.         check_run  
  27.     }  
  28.     virtual_ipaddress {  
  29.         10.1.1.103  
  30.     }  
  31. }  
  32.  
  33. /Data/apps/mfs/keepalived_check_mfsmaster.sh腳本,如mfsmaster未運(yùn)行,則停止keepalived服務(wù)  
  34. #!/bin/sh  
  35. CHECK_TIME=2 
  36. mfspath="/Data/apps/mfs/sbin/mfsmaster" 
  37. function check_mfsmaster () {  
  38. ps -ef | grep mfsmaster | grep "/Data/apps/mfs/sbin/mfsmaster" | grep -v "grep"  
  39.     if [ $? = 0 ] ;then  
  40.         MFS_OK=1 
  41.     else  
  42.         MFS_OK=0 
  43.     fi  
  44.     return $MFS_OK  
  45. }  
  46. while [ $CHECK_TIME -ne 0 ]  
  47. do  
  48.         let "CHECK_TIME -1"  
  49.         check_mfsmaster  
  50.         if [ $MFS_OK = 1 ] ; then  
  51.                 CHECK_TIME=0 
  52.                 exit 0  
  53.         fi  
  54.  
  55.         if [ $MFS_OK -eq 0 ] &&  [ $CHECK_TIME -eq 0 ] ;then  
  56.                 /etc/init.d/keepalived stop  
  57.                 exit 1  
  58.         fi  
  59. done 

 

  元數(shù)據(jù)日志服務(wù)器上keepalved配置

 
  1. ! Configuration File for keepalived  
  2. global_defs {  
  3.    router_id LVS_STTD  
  4. }  
  5. vrrp_sync_group VG1 {  
  6.     group {  
  7.           VI_1  
  8.     }  
  9. notify_master "/Data/apps/mfs/keepalived_notify.sh master"  
  10. notify_backup "/Data/apps/mfs/keepalived_notify.sh backup"  
  11. }  
  12. vrrp_instance VI_1 {  
  13.     state BACKUP  
  14.     interface eth1  
  15.     virtual_router_id 88  
  16.     priority 80  
  17.     advert_int 1  
  18.     authentication {  
  19.         auth_type PASS  
  20.         auth_pass 1111  
  21.     }  
  22.     virtual_ipaddress {  
  23.         10.1.1.103  
  24.     }  
  25. }  
  26. /Data/apps/mfs/keepalived_notify.sh腳本  
  27. #!/bin/bash  
  28. MFS_HOME=/Data/apps/mfs  
  29. MFSMARSTER=${MFS_HOME}/sbin/mfsmaster  
  30. MFSMETARESTORE=${MFS_HOME}/sbin/mfsmetarestore  
  31. MFS_DATA_PATH=${MFS_HOME}/var/mfs  
  32. function backup2master(){  
  33. $MFSMETARESTORE -m ${MFS_DATA_PATH}/metadata.mfs.back -o ${MFS_DATA_PATH}/metadata.mfs $MFS_DATA_PATH/changelog_ml*.mfs  
  34. $MFSMARSTER start  
  35. }  
  36. function master2backup(){  
  37. $MFSMARSTER stop  
  38. /Data/apps/mfs/sbin/mfsmetalogger start  
  39. }  
  40. function ERROR(){  
  41. echo "USAGE: keepalived_notify.sh master|backup "  
  42. }  
  43. case $1 in  
  44.         master)  
  45.         backup2master  
  46.         ;;  
  47.         backup)  
  48.         master2backup  
  49.         ;;  
  50.         *)  
  51.         ERROR  
  52.         ;;  
  53. esac 

 

#p#

五、故障切換

  在10.1.1.105上停止mfsmaster服務(wù),查看日志

 
  1. [root@localhost init.d]# tail -f /var/log/messages  
  2. May  2 12:18:40 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:64027->[114.113.149.105]  
  3. May  2 12:18:40 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:64027->[114.113.149.105]  
  4. May  2 12:18:40 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:19812->[114.113.149.105]  
  5. May  2 12:18:40 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:19812->[114.113.149.105]  
  6. May  2 12:18:41 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:9005->[114.113.149.105]  
  7. May  2 12:18:41 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:9005->[114.113.149.105]  
  8. May  2 12:18:41 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:4508->[114.113.149.105]  
  9. May  2 12:18:41 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:36607->[114.113.149.105]  
  10. May  2 12:18:41 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:31566->[114.113.149.105]  
  11. May  2 12:18:41 localhost snmpd[28923]: Connection from UDP: [211.157.110.180]:12040->[114.113.149.105]  
  12. May  2 12:19:17 localhost mfsmaster[30383]: set gid to 501  
  13. May  2 12:19:17 localhost mfsmaster[30383]: set uid to 501  
  14. May  2 12:19:17 localhost mfsmaster[28772]: matocu: closing *:9421  
  15. May  2 12:19:17 localhost mfsmaster[28772]: matocs: closing *:9420  
  16. May  2 12:19:17 localhost mfsmaster[28772]: matoml: closing *:9419  
  17. May  2 12:19:20 localhost Keepalived: Terminating on signal  
  18. May  2 12:19:20 localhost Keepalived: Stopping Keepalived v1.2.2 (04/23,2012)  
  19. May  2 12:19:20 localhost Keepalived_vrrp: Terminating VRRP child process on signal  
  20. May  2 12:19:20 localhost Keepalived_vrrp: VRRP_Instance(VI_1) removing protocol VIPs. 

  查看10.1.1.104的日志

 
  1. [root@localhost log]# tail -f messages  
  2. May  2 12:19:17 localhost mfschunkserver[17620]: connection reset by Master  
  3. May  2 12:19:17 localhost mfsmetalogger[6105]: connection was reset by Master  
  4. May  2 12:19:20 localhost mfschunkserver[17620]: connecting ...  
  5. May  2 12:19:20 localhost mfsmetalogger[6105]: connecting ...  
  6. May  2 12:19:20 localhost mfschunkserver[17620]: connection failed, error: ECONNREFUSED (Connection refused)  
  7. May  2 12:19:20 localhost mfsmetalogger[6105]: connection failed, error: ECONNREFUSED (Connection refused)  
  8. May  2 12:19:23 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE  
  9. May  2 12:19:23 localhost Keepalived_vrrp: VRRP_Group(VG1) Syncing instances to MASTER state  
  10. May  2 12:19:23 localhost mfsmaster[17690]: set gid to 504  
  11. May  2 12:19:23 localhost mfsmaster[17690]: set uid to 504  
  12. May  2 12:19:23 localhost mfsmaster[17690]: sessions have been loaded  
  13. May  2 12:19:23 localhost mfsmaster[17690]: exports file has been loaded  
  14. May  2 12:19:23 localhost mfsmaster[17690]: mfstopology configuration file (/Data/apps/mfs/etc/mfstopology.cfg) not found - network topology not defined  
  15. May  2 12:19:23 localhost mfsmaster[17690]: stats file has been loaded  
  16. May  2 12:19:23 localhost mfsmaster[17690]: master <-> metaloggers module: listen on *:9419  
  17. May  2 12:19:23 localhost mfsmaster[17690]: master <-> chunkservers module: listen on *:9420  
  18. May  2 12:19:23 localhost mfsmaster[17690]: main master server module: listen on *:9421  
  19. May  2 12:19:23 localhost mfsmaster[17690]: open files limit: 5000  
  20. May  2 12:19:23 localhost mfschunkserver[17620]: testing chunk: /Data/testshared/03/chunk_0000000000000003_00000001.mfs  
  21. May  2 12:19:24 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE  
  22. May  2 12:19:24 localhost Keepalived_vrrp: VRRP_Instance(VI_1) setting protocol VIPs.  
  23. May  2 12:19:24 localhost avahi-daemon[7367]: Registering new address record for 10.1.1.103 on eth1.  
  24. May  2 12:19:24 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for 10.1.1.103  
  25. May  2 12:19:24 localhost mfschunkserver[17620]: connecting ...  
  26. May  2 12:19:24 localhost mfsmetalogger[6105]: connecting ...  
  27. May  2 12:19:25 localhost mfsmaster[17690]: chunkserver register begin (packet version: 5) - ip: 10.1.1.116, port: 9422  
  28. May  2 12:19:25 localhost mfsmaster[17690]: chunkserver register end (packet version: 5) - ip: 10.1.1.116, port: 9422, usedspace: 2801012736 (2.61 GiB), totalspace: 169845575680 (158.18 GiB)  
  29. May  2 12:19:27 localhost mfschunkserver[17620]: connected to Master  
  30. May  2 12:19:27 localhost mfsmetalogger[6105]: connected to Master  
  31. May  2 12:19:27 localhost mfsmaster[17690]: chunkserver register begin (packet version: 5) - ip: 10.1.1.104, port: 9422  
  32. May  2 12:19:27 localhost mfsmaster[17690]: chunkserver register end (packet version: 5) - ip: 10.1.1.104, port: 9422, usedspace: 1069522944 (1.00 GiB), totalspace: 275084394496 (256.19 GiB)  
  33. May  2 12:19:28 localhost mfsmetalogger[6105]: metadata downloaded 1490B/0.000284s (5.246 MB/s)  
  34. May  2 12:19:28 localhost mfsmetalogger[6105]: changelog_0 downloaded 0B/0.000001s (0.000 MB/s)  
  35. May  2 12:19:28 localhost mfsmetalogger[6105]: changelog_1 downloaded 0B/0.000001s (0.000 MB/s)  
  36. May  2 12:19:28 localhost mfsmetalogger[6105]: sessions downloaded 205B/0.000096s (2.135 MB/s)  
  37. May  2 12:19:29 localhost Keepalived_vrrp: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for 10.1.1.103  
  38. May  2 12:19:33 localhost mfschunkserver[17620]: testing chunk: /Data/testshared/0E/chunk_000000000000000E_00000001.mfs  
  39. May  2 12:19:43 localhost mfschunkserver[17620]: testing chunk: /Data/testshared/0F/chunk_000000000000000F_00000001.mfs  
  40. May  2 12:19:53 localhost mfschunkserver[17620]: testing chunk: /Data/testshared/06/chunk_0000000000000006_00000001.mfs 

 

  已經(jīng)自動(dòng)切換了

#p#

  六、簡(jiǎn)單性能測(cè)試

  小文件

 

  1.   [root@localhost f1]# dd if=/dev/zero of=1.img bs=100K count=5000 
  2.   5000+0 records in  
  3.   5000+0 records out  
  4.   512000000 bytes (512 MB) copied, 6.26102 s, 81.8 MB/s  

 

  大文件

 

  1.   [root@localhost f1]# dd if=/dev/zero of=1.img bs=1M count=5000 
  2.   5000+0 records in  
  3.   5000+0 records out  
  4.   5242880000 bytes (5.2 GB) copied, 61.5205 s, 85.2 MB/s  
  5.   [root@localhost f1]# dd if=/dev/zero of=1.img bs=50K count=5000 
  6.   dd if=/dev/zero of=1.img bs=10K count=5000 
  7.   5000+0 records in  
  8.   5000+0 records out  
  9.   256000000 bytes (256 MB) copied, 3.16866 s, 80.8 MB/s  
  10.   [root@localhost f1]# dd if=/dev/zero of=1.img bs=10K count=5000 
  11.   5000+0 records in  
  12.   5000+0 records out  
  13.   51200000 bytes (51 MB) copied, 0.582408 s, 87.9 MB/s  
  14.   創(chuàng)建1000X1000個(gè)小文件  
  15.   [root@localhost test]# time ./1000.sh  
  16.   real 177m8.487s  
  17.   user 6m36.276s  
  18.   sys 32m4.413s  

 

  本機(jī)測(cè)試

  小文件

 

  1.   [root@hadoop03 test]# dd if=/dev/zero of=1.img bs=100K count=5000 
  2.   5000+0 records in  
  3.   5000+0 records out  
  4.   512000000 bytes (512 MB) copied, 0.871519 s, 587 MB/s  

 

大文件

 

  1.   [root@hadoop03 test]# dd if=/dev/zero of=1.img bs=1M count=5000 
  2.   5000+0 records in  
  3.   5000+0 records out  
  4.   5242880000 bytes (5.2 GB) copied, 23.7836 s, 220 MB/s  
  5.   [root@hadoop03 test]# dd if=/dev/zero of=1.img bs=50K count=5000 
  6.   5000+0 records in  
  7.   5000+0 records out  
  8.   256000000 bytes (256 MB) copied, 2.0681 s, 124 MB/s  
  9.   1000*1000個(gè)小文件  
  10.   [root@hadoop03 test]# time ./1000.sh  
  11.   real 32m1.278s  
  12.   user 5m19.947s  
  13.   sys 28m54.985s  
  14.   1000.sh腳本內(nèi)容  
  15.   #!/bin/bash  
  16.   for ((i=0;i<1000;i++))  
  17.   do  
  18.   mkdir ${i}  
  19.   cd ${i}  
  20.   for ((j=0;j<1000;j++))  
  21.  
  22.   do  
  23.  
  24.   cp /Data/webapps/img.muzhiwan.com/mfs/test/1.img ${j}  
  25.  
  26.   done  
  27.  
  28.   cd ..  
  29.  
  30.   done  

 

#p#

  七、注意

  注意/etc/hosts里面mfsmaster指向虛擬ip,否則切換到從服務(wù)器時(shí)候報(bào)錯(cuò)

 
  1. Apr 24 16:19:15 localhost mfschunkserver[5833]: connecting ...  
  2. Apr 24 16:19:15 localhost mfsmetalogger[5829]: connecting ...  
  3. Apr 24 16:19:15 localhost mfschunkserver[5833]: connection failed, error: ECONNREFUSED (Connection refused)  
  4. Apr 24 16:19:15 localhost mfsmetalogger[5829]: connection failed, error: ECONNREFUSED (Connection refused) 

  對(duì)文件夾goal的設(shè)置,會(huì)影響新增加的文件,但是不會(huì)影響已有的文件;

  可以使用/Data/apps/mfs/sbin/mfscgiserv啟動(dòng)web gui,監(jiān)控MooseFS運(yùn)行情況;

  也可以使用nagios監(jiān)控MooseFS運(yùn)行情況。

  八、參考資料

  http://www.moosefs.org/reference-guide.html  官方手冊(cè)

  http://bbs.chinaunix.net/thread-1644309-1-1.html  shinelian總結(jié)的mfs權(quán)威指南

  http://sery.blog.51cto.com/10037/263515  田逸的分布式文件系統(tǒng)MFS(moosefs)實(shí)現(xiàn)存儲(chǔ)共享(第二版)

  http://blog.csdn.net/liuyunfengheda/article/details/5260278  流云隨風(fēng)的MFS總結(jié)

  http://blog.csdn.net/pc620/article/details/6327956  常見(jiàn)問(wèn)題

 

責(zé)任編輯:黃丹 來(lái)源: it168
相關(guān)推薦

2012-09-11 15:20:08

MooseFS

2011-09-28 10:45:13

2022-08-03 08:03:01

OracleRPM形式

2012-09-11 14:55:29

Moosefs

2012-09-11 15:06:48

MooseFS

2010-04-01 08:46:57

CentOS系統(tǒng)

2012-09-11 16:09:04

MooseFS

2012-09-11 14:39:03

Moosefs

2015-09-24 13:23:21

安裝cobblerCentos

2010-03-30 09:06:26

CentOS安裝

2014-12-01 11:27:54

CentOS 7Docker

2010-05-14 15:14:10

安裝Subversio

2017-08-15 11:58:15

LinuxCentOSApache Hado

2010-04-01 16:04:26

CentOS系統(tǒng)

2012-09-17 16:41:04

CentOS5Puppet

2012-09-11 13:44:41

MooseFS系統(tǒng)

2011-04-06 09:16:05

2011-09-09 16:22:21

centosHandlerSock

2017-05-03 14:00:00

LinuxCentOSElastic Sta

2015-04-23 10:20:52

Linux內(nèi)核4.0UbuntuCentOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)