|NO.Z.00024|——————————|^^ 構建 ^^|——|分散式儲存之MFS.V2|----------------------------------|6臺server|
阿新 • • 發佈:2022-03-22
[Applications:分散式儲存之MFS.V2] [Applications.LBC&HAC$HPC] [網路儲存叢集|儲存|分散式儲存之MFS|6臺server]
一、構建MFS叢集:構建叢集拓撲
二、系統部署規劃### --- MFS-Master:10.10.10.11 ### --- MFS-MetaData:10.10.10.12 ### --- MFS-ChunkServer:10.10.10.13 10.10.10.14(分開新增,演示新增MFS-ChunkServer容易) ### --- MFS-Client:10.10.10.15 ~~~ 在真實生產環境中Chunkserver的磁碟性質最好一直, ~~~ 比如SSD、HDD或者空間大小一直,有利於它的平均分配
### --- 系統部署規劃
~~~ Windows:10.10.10.240:Chrome登入監控頁面
~~~ HA-server1:MFS-MasterServer:元資料儲存節點
~~~ HA-server2:MFS-MetaData:備份元資料儲存節點
~~~ HA-server3:MFS-ChunkServer:儲存資料實體
~~~ HA-server4:MFS-ChunkServer:儲存資料實體
~~~ HA-server5:MFS-Client:MFS的客戶端
三、實驗專題: 1、配置Master Server Node:10.10.10.11MFS-Master節點
### --- 配置Master Server Node:10.10.10.11MFS-Master節點
### --- 將moosefs-3.0.84-1.tar.gz原始碼包上傳到伺服器中
[root@server11 ~]# tar -zxvf moosefs-3.0.84-1.tar.gz
[root@server11 ~]# cd moosefs-3.0.84
[root@server11 moosefs-3.0.84]# useradd -s /sbin/nologin -M mfs
### --- 安裝moosefs [root@server11 moosefs-3.0.84]# yum install -y zlib zlib-devel [root@server11 moosefs-3.0.84]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs [root@server11 moosefs-3.0.84]# make && make install
### --- 配置,將常用的檔案軟連線到特定目錄
[root@server11 ~]# chown -R mfs.mfs /usr/local/mfs/
[root@server11 ~]# ln -s /usr/local/mfs/bin/mfscli /usr/local/bin/
[root@server11 ~]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/
[root@server11 ~]# ls /usr/local/mfs/
~~~ bin:命令 etc:etc配置檔案 sbin:管理員命令 share:共享目錄 var:動態資料
[root@server11 ~]# cd /usr/local/mfs/
[root@server11 mfs]# chmod a+x bin/mfscli
[root@server11 mfs]# chmod a+x sbin/*
[root@server11 mfs]# cd etc/mfs/ // 該目錄下會有一堆的樣板檔案;對於主服務來說,開啟一個樣板就會對應一個功能;對於主伺服器來說開啟的是mfsmaster.cfg.sample檔案
[root@server11 mfs]# ls
mfschunkserver.cfg.sample mfsexports.cfg.sample mfshdd.cfg.sample mfsmaster.cfg.sample mfsmetalogger.cfg.sample mfstopology.cfg.sample
### --- mfsmaster.cfg修改注配置檔案
[root@server11 mfs]# cp -a mfsmaster.cfg.sample mfsmaster.cfg
[root@server11 mfs]# vim mfsmaster.cfg // 該配置檔案不需要修改,直接退出即可,更詳細的說明在輔助文字中。
[root@server11 mfs]# cp -a mfsexports.cfg.sample mfsexports.cfg // 使用者訪問過來之後修改對應的許可權,去申明許可權的
[root@server11 mfs]# vim mfsexports.cfg
10.10.10.0/24 . rw,alldirs,maproot=0 // 10.10.10.0/24:允許當前客戶端訪問的當前網段 .:點表示MFS根檔案系統 rw:讀寫,alldirs:允許任何目錄都允許掛載,maproot=0:登入過來後是root許可權;若是想寫多個數據可以寫多個行。是正確配置
### --- metadata.mfs修改持久化資料備份配置檔案
[root@server11 mfs]# cd /usr/local/mfs/var/mfs/
[root@server11 var]# pwd
/usr/local/mfs/var/mfs/ // 該目錄下方的是持久化元資料資訊
[root@server11 mfs]# cp -a metadata.mfs.empty metadata.mfs
[root@server11 mfs]# ls // 建立了一個元資料的空模板
metadata.mfs metadata.mfs.empty
[root@server11 mfs]# vim metadata.mfs
[root@server11 mfs]# mfsmaster start // 啟動mfsmaster server
master <-> metaloggers module: listen on *:9419 // 啟動成功後顯示三個埠已經被監聽
master <-> chunkservers module: listen on *:9420
main master server module: listen on *:9421
[root@server11 mfs]# ls // 且/usr/local/mfs/var/mfs目錄下檔案發生變化,metadata.mfs是未啟動時候的名稱,啟動之後載入到data中並且把檔名稱改為metadata.mfs.back,該檔案相當於完全備份檔案,記憶體與該檔案是一個完整備份,
changelog.0.mfs metadata.mfs.back metadata.mfs.empty // 完整備份有一定的時間週期,它又出現了一個差異備份,假設我們設定的是2小時備份一次,那麼2小時之內的元資料資訊就會備份在changelog.0.mfs裡,且changelog.0.mfs是一個輪詢的概念
~~~ changelog.0.mfs metadata.mfs.back 這兩個檔案加在一起就是記憶體裡面的完整備份,即保證了它的效率,又保證了檔案的一致性。
### --- mfscgiserv該程式是官方給的監控頁面
[root@server11 mfs]# mfscgiserv // 回車直接開啟即可
### --- 通過Chrome瀏覽器訪問http://10.10.10.11:9425/得到MFS自己本身自帶的檢測頁面;該頁面不是特別友好,生產環境中還是使用zabbix監控,該監控頁面可以定義為服務是否安裝成功的一個驗證
~~~ Disk:當前存在哪些MFS-ChunkServer
~~~ Mounts:當前哪些使用者掛載
~~~ MFS-Masterserver官方聲稱可以支援上萬個子節點,所有資料流量都是經過MFS-Masterserver,不涉及到真實流量的轉發,壓力非常小
2、配置:Metadata Server Node:10.10.10.12
### --- 目的:當MFS-Master宕機後Metadata保證資料不會丟失
### --- 將moosefs-3.0.84-1.tar.gz原始碼包上傳到伺服器中
[root@server11 ~]# scp moosefs-3.0.84-1.tar.gz [email protected]:/root/
[root@server12 ~]# tar -zxvf moosefs-3.0.84-1.tar.gz
### --- 安裝moosdfs
[root@server12 ~]# yum install -y zlib zlib-devel
[root@server12 moosefs-3.0.84]#
[root@server12 moosefs-3.0.84]# useradd -s /sbin/nologin -M mfs
[root@server12 moosefs-3.0.84]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
~~~ 編譯情況下masterhe和其它節點編譯引數都一致,
~~~ 只有client編譯引數不一致,moosefs怎麼判斷哪個節點配置什麼服務,
~~~ 就是根據開啟不同的配置檔案來決定配置的是什麼角色。
[root@server12 moosefs-3.0.84]# make && make install
[root@server12 moosefs-3.0.84]# chown -R mfs.mfs /usr/local/mfs/
[root@server12 moosefs-3.0.84]# ln -s /usr/local/mfs/bin/* /usr/local/bin/
[root@server12 moosefs-3.0.84]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/
### --- 修改配置檔案
[root@server12 moosefs-3.0.84]# cd /usr/local/mfs/etc/mfs/
[root@server12 mfs]# pwd
/usr/local/mfs/etc/mfs
[root@server12 mfs]# cp -a mfsmetalogger.cfg.sample mfsmetalogger.cfg
[root@server12 mfs]# vim mfsmetalogger.cfg
META_DOWNLOAD_FREQ = 2 // 完整備份的輪詢時間,2個小時;也可以根據自己的環境自己定義;若是元資料資料量龐大的話,太佔用網路頻寬,檔案比較小,可以把備份時間設定小一點
MASTER_HOST = 10.10.10.11 // 主伺服器MFS-Master的IP地址是多少
### --- 啟動mfsmetalogger
[root@server12 mfs]# mfsmetalogger start
[root@server12 mfs]# lsof -i :9419
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mfsmetalo 8042 mfs 8u IPv4 18068 0t0 TCP 10.10.10.12:53599->10.10.10.11:9419 (ESTABLISHED)
~~~ TCP連線 10.10.10.12:53599埠連線到->10.10.10.11:9419埠 (ESTABLISHED)有資料傳輸,已經建立連線
[root@server12 mfs]# ls /usr/local/mfs/var/mfs/ // 元資料資訊已經同步過來了 //備份目錄依然是這個目錄
changelog_ml_back.0.mfs changelog_ml_back.1.mfs metadata.mfs.empty metadata_ml.mfs.back
3、配置Chunk Server Node:10.10.10.13
### --- 檢視磁碟,併為磁碟分割槽,建立檔案系統
[root@server13 ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes // 這是新新增的一塊磁碟
Command (m for help): n // 新建分割槽
Command action
e extended
p primary partition (1-4)
p // 主分割槽
Partition number (1-4):
Partition number (1-4): 1 // 1號分割槽號
First cylinder (1-13054, default 1): // 直接回車預設從頭開始
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): // 直接回車規模人到尾結束;使用所有的空間
Using default value 13054
Command (m for help): w // w儲存
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
### --- 檢視磁碟,併為磁碟分割槽,建立檔案系統
[root@server13 ~]# mkfs.ext4 /dev/sdb1 // 格式化sdb1為ext4檔案系統
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@server13 ~]# mkdir /mnt/mfs // 建立掛載點
[root@server13 ~]# useradd -s /sbin/nologin -M mfs // 新增mfs使用者
[root@server13 ~]# chown -R mfs.mfs /mnt/mfs/ // 為掛載點授予mfs使用者許可權
[root@server13 ~]# mount -t ext4 /dev/sdb1 /mnt/mfs/ // 將/dev/sdb1掛載到/mnt/mfs目錄下
[root@server13 ~]# chown -R mfs.mfs /mnt/mfs/ // 掛載成功以後在重新提交一下許可權,掛載後它的許可權會發生更替,重新遞迴一下
### --- 配置MFS-ChunkServer節點
~~~ 將moosefs-3.0.84-1.tar.gz原始碼包上傳到伺服器中
[root@server11 ~]# scp moosefs-3.0.84-1.tar.gz [email protected]:/root/
[root@server13 ~]# tar -zxvf moosefs-3.0.84-1.tar.gz
[root@server13 ~]# yum install -y zlib zlib-devel
~~~ 安裝moosefs
[root@server13 ~]# cd moosefs-3.0.84
[root@server13 moosefs-3.0.84]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
[root@server13 moosefs-3.0.84]# make && make install
[root@server13 moosefs-3.0.84]# chown -R mfs.mfs /usr/local/mfs/
[root@server13 moosefs-3.0.84]# ln -s /usr/local/mfs/bin/* /usr/local/bin/
[root@server13 moosefs-3.0.84]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/
### --- 修改chunkserver配置檔案
[root@server13 moosefs-3.0.84]# cd /usr/local/mfs/etc/mfs/
[root@server13 mfs]# cp mfschunkserver.cfg.sample mfschunkserver.cfg
[root@server13 mfs]# vim mfschunkserver.cfg
MASTER_HOST = 10.10.10.11 // 指定主伺服器的地址MFS-Masterserver地址
MASTER_PORT = 9420 // 指定埠
HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg // 指定用什麼樣的HDD配置檔案提供的傳輸能力,也就是該檔案提供那幾個目錄提供的儲存能力
[root@server13 mfs]# cp -a mfshdd.cfg.sample mfshdd.cfg
[root@server13 mfs]# vim mfshdd.cfg // 修改hdd配置檔案
#/mnt/hd3 -5GiB // hd3目錄最大可用空間-掉5GIB空間,為實際使用空間
#/mnt/hd4 1.5TiB // hd4目錄最大使用空間為1.5TIB //這兩種方式用的比較少,因為我們都已經掛載了,說明該目錄已經給他使用了
/mnt/mfs // 在最後一行添加掛載目錄為/mnt/mfs目錄
### --- 啟動MFS-Chunserver服務於
[root@server13 mfs]# mfschunkserver start
### --- 驗證:通過Chrome輸入訪問:http://10.10.10.11:9425——>Disk檢視到10.10.10.13:9422/mnt/mfs已經配置完成
4、配置Client Node:10.10.10.15客戶端配置
### --- MFS-Client Server配置i
### --- 需要安裝FUSE使用者空間檔案系統,及相關依賴
[root@server15 ~]# yum install -y fuse fuse-devel fuse-libs
### --- 將moosefs-3.0.84-1.tar.gz原始碼包上傳到伺服器中
~~~ 並安裝moosefs及配置
[root@server11 ~]# scp moosefs-3.0.84-1.tar.gz [email protected]:/root/
[root@server15 ~]# tar -zxvf moosefs-3.0.84-1.tar.gz
[root@server15 ~]# yum install -y zlib zlib-devel
[root@server15 ~]# cd moosefs-3.0.84
[root@server15 moosefs-3.0.84]# useradd -s /sbin/nologin -M mfs
[root@server15 moosefs-3.0.84]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkerserver
[root@server15 moosefs-3.0.84]# make && make install
[root@server15 moosefs-3.0.84]# chown -R mfs.mfs /usr/local/mfs/
[root@server15 moosefs-3.0.84]# ln -s /usr/local/mfs/bin/* /usr/local/bin/
[root@server15 moosefs-3.0.84]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/
### --- 可以直接建立掛載點並掛載
[root@server15 moosefs-3.0.84]# mfsmount /mfsclient/ -H 10.10.10.11 // mfsmount /mfsclient/掛載點 -H:指定掛載地址 10.10.10.11:掛載地址
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@server15 moosefs-3.0.84]# chown -R mfs.mfs /mfsclient/
[root@server15 moosefs-3.0.84]# cd /mfsclient/
[root@server15 mfsclient]# vim 1.tx
this is HA-server5 IP:10.10.10.15 is MFS-ClientServer
[root@server15 mfsclient]# mfsfileinfo 1.txt // 檢視一下1.txt檔案在哪裡 //只有一個副本數
1.txt:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1) // chunk 0:數字——>chunkID號
copy 1: 10.10.10.13:9422 (status:VALID) // copy 1 在哪個節點10.10.10.13:9422埠的元資料資訊存放在13伺服器中
### --- 驗證:通過Chrome輸入訪問:http://10.10.10.11:9425——>Mounts檢視到10.10.10.15/mfsclient已經配置完成
5、再動態新增一個MFS-ChunkServer:10.10.10.14### --- 將moosefs-3.0.84-1.tar.gz原始碼包上傳到伺服器中
[root@server11 ~]# scp moosefs-3.0.84-1.tar.gz [email protected]:/root/
[root@server14 ~]# useradd -s /sbin/nologin -M mfs
[root@server14 ~]# tar -zxvf moosefs-3.0.84-1.tar.gz
[root@server14 ~]# yum install -y zlib zlib-devel
### --- 安裝moosefs及配置
[root@server14 ~]# cd moosefs-3.0.84
[root@server14 moosefs-3.0.84]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
[root@server14 moosefs-3.0.84]# make && make install
[root@server14 moosefs-3.0.84]# chown -R mfs.mfs /usr/local/mfs/
[root@server14 moosefs-3.0.84]# ln -s /usr/local/mfs/bin/* /usr/local/bin/
[root@server14 moosefs-3.0.84]# ln -s /usr/local/mfs/sbin/* /usr/local/sbin/
### --- 新增一塊100G的磁碟併為之分割槽建立檔案系統並掛載
[root@server14 ~]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
[root@server14 ~]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-13054, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054):
Using default value 13054
Command (m for help): w
[root@server14 ~]# mkfs.ext4 /dev/sdb1
[root@server14 ~]# mkdir /mnt/mfs
[root@server14 ~]# chown -R mfs.mfs /mnt/mfs/
[root@server14 ~]# mount -t ext4 /dev/sdb1 /mnt/mfs/
[root@server14 ~]# chown -R mfs.mfs /mnt/mfs/
### --- 修改mfschunkserver配置檔案並啟動mgschunkserver服務
[root@server14 ~]# cd /usr/local/mfs/etc/mfs/
[root@server14 mfs]# cp -a mfschunkserver.cfg.sample mfschunkserver.cfg
MASTER_HOST = 10.10.10.11 // 指定主伺服器的地址MFS-Masterserver地址
MASTER_PORT = 9420 // 指定埠
HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg // 指定用什麼樣的HDD配置檔案提供的傳輸能力,也就是該檔案提供那幾個目錄提供的儲存能力
[root@server14 mfs]# vim !$
[root@server14 mfs]# cp -a mfshdd.cfg.sample mfshdd.cfg
[root@server14 mfs]# vim !$ // 修改hdd配置檔案
/mnt/mfs
[root@server14 mfs]# mfschunkserver start
### --- 驗證:通過Chrome輸入訪問:http://10.10.10.11:9425——>Disks檢視到10.10.10.13:9422/mnt/mfs 10.10.10.14:9422/mnt/mfs已經配置完成
四、驗證
### --- 在MFS-ClientServer節點再次建立一個檔案
[root@server15 mfsclient]# vim 2.txt
2.txt this is HA-server5 IP:10.10.10.15 is MFS-ClientServer
[root@server15 mfsclient]# mfsfileinfo 2.txt // 檢視一下2.txt檔案
2.txt:
chunk 0: 0000000000000004_00000001 / (id:4 ver:1)
copy 1: 10.10.10.13:9422 (status:VALID) // 有兩個副本數;預設的情況下mfs為所有檔案設定的go都為2
copy 2: 10.10.10.14:9422 (status:VALID) // 若是你認為這個檔案非常不重要,留一個副本值都沒必要,可以設定go值為1,讓其設定1個副本數
五、MFS維護操作(在10.10.10.15下執行)
### --- 誤刪除檔案恢復處理,垃圾回收站機制
[root@server15 ~]# cd /mfsclient/
[root@server15 mfsclient]# rm -rf 2.txt // 刪除2.txt檔案,後期演示恢復操作
~~~ 找回2.txt檔案
[root@server15 mfsclient]# mkdir /mfsback
[root@server15 mfsclient]# mfsmount -m /mfsback/ -H 10.10.10.11
mfsmaster accepted connection with parameters: read-write,restricted_ip
[root@server15 mfsclient]# cd /mfsback/
[root@server15 mfsback]# ls
sustained trash
[root@server15 mfsback]# cd trash/
[root@server15 trash]# yum install -y tree // 因為trash目錄下有很多子目錄,使用tree定位
[root@server15 trash]# tree . >> /root/1.txt // 點代表當前目錄,把當前目錄的所有檔名稱輸出到/root/1.txt檔案
[root@server15 trash]# vim /root/1.txt
├── 009
│ ├── 00000009|2.txt // 這個刪除的2.txt檔案在該位置,它是這樣的命名規範,注意最後一個名稱即可
│ └── undel
[root@server15 trash]# cd /mfsback/ // 回到trash上一級目錄
[root@server15 mfsback]# mv trash/009/00000009\|2.txt trash/undel/ // 恢復刪除的檔案;trash/undel/把該檔案拿到trash/undel/誤刪除目錄,就進行了還原操作
[root@server15 mfsback]# ls /mfsclient/
1.txt 2.txt // 2.txt檔案還原成功
[root@server15 mfsback]# cat /mfsclient/2.txt // 檔案內容沒有發生變化
2.txt this is HA-server5 IP:10.10.10.15 is MFS-ClientServer
~~~ 並不是所有檔案都可以恢復的,只有在誤刪除時間之內可以恢復
### --- 修改誤刪除時間
[root@server15 mfsclient]# mfsgettrashtime 2.txt // 2.txt檔案預設的誤刪除時間為86400秒
2.txt: 86400 // 預設誤刪除的時間為86400秒
[root@server15 mfsclient]# mfssettrashtime 88888 2.txt // 設定該檔案誤刪除時間為88888
2.txt: 88888[root@server15 mfsclient]# mfsgettrashtime 2.txt
2.txt: 90000 // 再次檢視是一個90000的值,它會自動匹配與自己定義最近的值
### --- 快照功能:類似於軟連線
[root@server15 ~]# cd /mfsclient/
[root@server15 mfsclient]# mkdir back
[root@server15 mfsclient]# mfsmakesnapshot 2.txt back/ // 把2.txt快照到back目錄下
[root@server15 mfsclient]# cat back/2.txt // 檔案一直,與copy的區別是不佔用兩份空間
2.txt this is HA-server5 IP:10.10.10.15 is MFS-ClientServer
### --- 冗餘goal設定
[root@server15 mfsclient]# vim 3.txt
3.txt this is HA-server15 10.10.10.15
[root@server15 mfsclient]# mfsfileinfo 3.txt
3.txt:
chunk 0: 0000000000000006_00000001 / (id:6 ver:1) // 2個副本
copy 1: 10.10.10.13:9422 (status:VALID)
copy 2: 10.10.10.14:9422 (status:VALID)
[root@server15 mfsclient]# mfssetgoal 1 3.txt // 1表示設定副本值為1
3.txt: goal: 1
[root@server15 mfsclient]# mfsfileinfo 3.txt
3.txt:
chunk 0: 0000000000000006_00000001 / (id:6 ver:1) // 只有1個副本
copy 1: 10.10.10.14:9422 (status:VALID)
[root@server15 mfsclient]# mfssetgoal 2 3.txt // 同理也可以恢復,副本值為2
3.txt: goal: 2
[root@server15 mfsclient]# mfsfileinfo 3.txt
3.txt:
chunk 0: 0000000000000006_00000001 / (id:6 ver:1) // 2個副本
copy 1: 10.10.10.13:9422 (status:VALID)
copy 2: 10.10.10.14:9422 (status:VALID)
[root@server13 ~]# mfschunkserver stop // 停止13的chunkserver,client訪問不會中斷
sending SIGTERM to lock owner (pid:8132)
waiting for termination terminated
[root@server15 mfsclient]# cat 3.txt // 再去訪問3.txt檔案,依然可以訪問
3.txt this is HA-server15 10.10.10.15 // 說明單節點chunkserver宕機,不影響client的正常訪問
[root@server13 ~]# mfschunkserver start
### --- 還原master
[root@server11 ~]# mfsmaster stop // 把10.10.10.11的MFS-MasterServer服務停止
sending SIGTERM to lock owner (pid:32553)
waiting for termination terminated
[root@server11 ~]# ls /usr/local/mfs/var/mfs/ // 該目錄下的元資料資訊非常重要,若是伺服器意外損壞,這部分資料也會丟失
changelog.1.mfs changelog.2.mfs changelog.3.mfs changelog.6.mfs metadata.mfs metadata.mfs.back.1 metadata.mfs.empty stats.mfs
[root@server11 ~]# rm -rf /usr/local/mfs/var/mfs/* // 刪除該目錄下的說有資料,模擬元資料資訊全部丟失
[root@server15 mfsclient]# cat 3.txt // 10.10.10.15客戶端已不能正常訪問資料
[root@server12 ~]# scp -r /usr/local/mfs/var/mfs/* [email protected]:/usr/local/mfs/var/mfs/ //把MFS-ChunkServer下的日誌資訊全部拿到MFS-MasterServer下
[root@server11 ~]# ls /usr/local/mfs/var/mfs/ // 在MFS-MasterServer下可以看到這部分資料了
changelog_ml.0.mfs changelog_ml.2.mfs changelog_ml_back.1.mfs metadata_ml.mfs.back
changelog_ml.1.mfs changelog_ml_back.0.mfs metadata.mfs.empty metadata_ml.mfs.back.1
[root@server11 ~]# mfsmaster -a // -a表示自動恢復元資料資訊操作
[root@server15 mfsclient]# cat 3.txt // 在MFS-ClientServer下又可以訪問3.txt檔案了,說明恢復成功,有時會有延遲時間
3.txt this is HA-server15 10.10.10.15 // 說明只要MFS-MasterServer宕機完全不可用了,只要我們有MFS-MataDataServer伺服器,還是可以再次進行恢復操作的。不會導致元資料資訊丟失
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)