MFS原理python
MFS 是一個具備容錯性的網絡分佈式文件系統。它把數據分散存放在多個物理服務器上,而呈現給用戶的則是一個統一的資源。
分佈式文件系統的好處:集中訪問、簡化操做、數據容災、提升文件的存取性能。web
- 管理服務器 Master: 負責各個數據存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復.多節點拷貝
- 元數據日誌服務器 MetaLogger: 負責備份 master 服務器的變化日誌文件,文件類型爲 changelog_ml.*.mfs,以便於在 master 出問題的時候。從日誌服務器取得文件,進行恢復
- 數據存儲服務器 chunk servers: 遵從管理服務器調度,提供存儲空間,併爲客戶提供數據傳輸.。 真正存儲用戶數據的服務器。存儲文件時,首先把文件分紅塊,而後這些塊在數據服務器 之間複製。 數據服務器能夠是多個,而且數量越多,可以使用的「磁盤空間」越大,可靠性也越高。
- 客戶機 client :掛載使用 掛載進程 mfs 服務器共享出的存儲並使用。
添加鍵值:vim
# curl "https://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS
添加適當的庫條目瀏覽器
# curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
主服務器:Master服務器
# yum install -y moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli # systemctl start moosefs-master //啓動主服務 # ps -ef | grep mfs //查看端口
元數據日誌服務器 Metaloggers網絡
# yum install -y moosefs-metalogger # vim mfsmetalogger.cfg MASTER_HOST=192.168.200.129 # systemctl start moosefs-metalogger //啓動日誌服務器
數據存儲服務器:Chunk curl
# yum install -y moosefs-chunkserver # vim /etc/mfs/mfschunkserver.cfg MASTER_HOST = 192.168.200.130 # vim /etc/mfs/mfshdd.cfg //末尾添加 /data //給MFS的分區,獨立的分區或磁盤掛載到此目錄 # mkdir /data # chown -R mfs:mfs /data # systemctl start moosefs-chunkserver //啓動節點服務
對於客戶端分佈式
# yum install -y moosefs-client # mkdir /mnt/mfs 建立掛接點 # modprobe fuse //加載fuse模塊到內核 # mfsmount /mnt/mfs -H 192.168.200.128 # df -TH
mfssetgoal命令同來設置文件被複制的份數,生產環境中Chunk節點數量應至少大於2,文件副本數量小於等於Chunk服務器數量。ide
# mfsgetgoal -r /mnt/mfs/ //查詢文件被複制的份數 # mfssetgoal -r 3 /mnt/mfs/ //設置文件被複制的份數 # mfsgetgoal -r /mnt/mfs/ # cd /mnt/mfs/ # touch test # mfsgetgoal test //查看test被複制的份數
主服務器上開啓監控性能
# mfscgiserv