日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

超详细MFS网络分布式文件系统

發(fā)布時間:2025/3/8 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超详细MFS网络分布式文件系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

-----------------------MFS----------------------

(1)分布式原理

分布式文件系統(tǒng)( Distributed File System)是指文件系統(tǒng)管理的物理存儲資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過計算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。簡單來說,就是把一些分散的(分布在局域網(wǎng)內(nèi)各個計算機(jī)上)共享文件夾,集合到一個文件夾內(nèi)(虛擬共享文件夾)。對于用戶來說,要訪問這些共享文件夾時,只要打開這個虛擬共享文件夾,就可以看到所有鏈接到虛擬共享文件夾內(nèi)的共享文件夾,用戶感覺不到這些共享文件
是分散于各個計算機(jī)上的。分布式文件系統(tǒng)的好處是集中訪問、簡化操作、數(shù)據(jù)容災(zāi),以及提高文件的存取性能。


(2)MFS原理

MFS是一個具有容錯性的網(wǎng)絡(luò)分布式文件系統(tǒng),它把數(shù)據(jù)分散存放在多個物理服
務(wù)器上,而呈現(xiàn)給用戶的則是一個統(tǒng)一的資源。

1)MFS文件系統(tǒng)的組成。

  • 元數(shù)據(jù)服務(wù)器( Master):一臺管理整個文件系統(tǒng)的獨(dú)立主機(jī),在整個體系中負(fù)責(zé)管理文件系統(tǒng),維護(hù)元數(shù)據(jù)。(文件的大小、屬性、位置信息,包括所有非常規(guī)文件的所有信息,例如目錄、套接字、管道以及設(shè)備文件)
  • 元數(shù)據(jù)日志服務(wù)器( MetaLogger):備份 Master服務(wù)器的變化日志文件,文件類型為 changelog ml。*mfs當(dāng) Master服務(wù)器數(shù)據(jù)丟失或者損壞時,可以從日志服務(wù)器中取得文件,進(jìn)行恢復(fù)。
  • 數(shù)據(jù)存儲服務(wù)器( Chunk server):真正存儲數(shù)據(jù)的服務(wù)器。存儲文件時,會把文件分塊保存,并在數(shù)據(jù)服務(wù)器之間進(jìn)行復(fù)制。數(shù)據(jù)服務(wù)器越多,能使用的“容量”就越大,可靠性就越高,性能也就越好。
  • 客戶端( Client):可以像掛載NFS一樣掛載MFS文件系統(tǒng),其操作是相同的。
    MFS文件系統(tǒng)的組成架構(gòu)如圖所示。

2)MFS讀取數(shù)據(jù)的處理過程

  • 客戶端向元數(shù)據(jù)服務(wù)器發(fā)出讀請求。
  • 元數(shù)據(jù)服務(wù)器把所需數(shù)據(jù)存放的位置( Chunk Server的P地址和 Chunk編號)告知客戶端。
  • 客戶端向已知的 Chunk server請求發(fā)送數(shù)據(jù)。
  • Chunk Server向客戶端發(fā)送數(shù)據(jù)。

3)MFS寫入數(shù)據(jù)的處理過程

  • 客戶端向元數(shù)據(jù)服務(wù)器發(fā)送寫入請求
  • 元數(shù)據(jù)服務(wù)器與 Chunk Server進(jìn)行交互(只有當(dāng)所需的分塊 Chunks存在的時候才進(jìn)行這個交互),但元數(shù)據(jù)服務(wù)器只在某些服務(wù)器創(chuàng)建新的分塊Chunks,創(chuàng)建成功后由 Chunk servers告知元數(shù)據(jù)服務(wù)器操作成功。
  • 元數(shù)據(jù)服務(wù)器告知客戶端,可以在哪個 Chunk Server的哪些 Chunks寫入數(shù)據(jù)。
  • 客戶端向指定的 Chunk server寫入數(shù)據(jù)。
  • 該 Chunk Server與其他 Chunk Server進(jìn)行數(shù)據(jù)同步,同步成功后 ChunkServer告知客戶端數(shù)據(jù)寫入成功
  • 客戶端告知元數(shù)據(jù)服務(wù)器本次寫入完畢

---------------------案例實驗----------------------

概述
公司之前的圖片服務(wù)器采用的是NFS,隨著業(yè)務(wù)量增加,多臺服務(wù)器通過NFS方式共享一個服務(wù)器的存儲空間,使得NFsS服務(wù)器不堪重負(fù),經(jīng)常出現(xiàn)超時問題。而且NFS存在著單點(diǎn)故障問題,盡管可以rsync同步數(shù)據(jù)到另外一臺服務(wù)器上做NFS服務(wù)的備份,但這對提高整個系統(tǒng)的性能并無幫助。基于目前的需求,我們需要對NFS服務(wù)器進(jìn)行優(yōu)化或采取別的解決方案,然而優(yōu)化并不能應(yīng)對日益增多的客戶端的性能要求,因此選擇的解決方案是采用分布式文件系統(tǒng)。采用分布式文件系統(tǒng)后,服務(wù)器之間的數(shù)據(jù)訪問不再是一對多的關(guān)系,而是多對多的關(guān)系,這樣可以使性能得到大幅提升。
在當(dāng)前多種常用的分布式文件系統(tǒng)中,我們采用了MFS( MooseFS)。

[需要注意:MFS的MasterServer管理節(jié)點(diǎn)只有一個,也有可能會出現(xiàn)單點(diǎn)故障,后續(xù)我會寫出解決方案FastDFS】

MFS雖然有單點(diǎn)故障的可能性缺點(diǎn),但也有很多比較好的特點(diǎn)比如:
1、高可靠(數(shù)據(jù)的多個拷貝被存儲在不同的計算機(jī)上)
2、通過附加新的計算機(jī)或者硬盤可以實現(xiàn)容量的動態(tài)擴(kuò)展
3、刪除的文件可以根據(jù)一個可配置的時間周期進(jìn)行保留(一個文件系統(tǒng)級別的回收站)
4、不受訪問和寫入影響的文件連貫快照


MFS正式推出是在2008年5月,它是一個具有容錯功能的、高可用、可擴(kuò)展的海量級分布式文件系統(tǒng)。MFS把數(shù)據(jù)分散在多臺服務(wù)器上,但用戶看到的只是一個源。MFS也像其他類UNX文件系統(tǒng)一樣,包含了層級結(jié)構(gòu)和文件屬性,可以創(chuàng)建特殊的文件(塊設(shè)備、字符設(shè)備、管道、套接字)、符號鏈接和硬鏈接。

實驗環(huán)境:

主機(jī)操作系統(tǒng)IP地址軟件安裝
Master ServerCentOS 7192.168.233.128mfs-1.6.27-5.tar.gz
MetaLogger ServerCentOS 7192.168.233.6mfs-1.6.27-5.tar.gz
Chunk Server 1CentOS 7192.168.233.4mfs-1.6.27-5.tar.gz
Chunk Server 2CentOS 7192.168.233.10mfs-1.6.27-5.tar.gz
ClientCentOS 7192.168.233.11mfs-1.6.27-5.tar.gz fuse-2.9.2.tar.gz
軟件包百度網(wǎng)盤
mfs-1.6.27-5.tar.gz鏈接:https://pan.baidu.com/s/1-l0ZEisWmlGT2aNqR2nGaw 密碼:e98v
fuse-2.9.2.tar.gz鏈接:https://pan.baidu.com/s/1rZPOnsVISzu0Z0aucr7J7g 密碼:71si

一、Master Server和MetaLogger Server共同步驟:

1.關(guān)閉防火墻

#關(guān)閉防火墻 systemctl stop firewalld.service setenforce 0

2.安裝環(huán)境

yum install gcc gcc-c++ zlib-devel -y

3.創(chuàng)建MFS程序用戶

useradd -s /sbin/nologin mfs

4.解壓縮MFS文件

tar zxvf mfs-1.6.27-5.tar.gz -C /opt

5.安裝設(shè)置

cd /opt/mfs-1.6.27/ ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfschunkserver \ --disable-mfsmount

6.編譯安裝

make && make install

7.復(fù)制元數(shù)據(jù)文件

cd /usr/local/mfs/var/mfs/ cp metadata.mfs.empty metadata.mfs

接下來是Master Server和MetaLogger Server的單獨(dú)操作

二、Master Server操作

1.復(fù)制配置模板,從而開啟功能

cd /usr/local/mfs/etc/mfs/ [root@localhost mfs]# cp mfsexports.cfg.dist mfsexports.cfg #權(quán)限配置文件 [root@localhost mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg #master配置文件 [root@localhost mfs]# cp mfstopology.cfg.dist mfstopology.cfg #本服務(wù)器的日志文件

2.啟動主服務(wù)器服務(wù):

/usr/local/mfs/sbin/mfsmaster start

3.查看下mfsmaster服務(wù)是否開啟

ps -ef | grep mfs

三、MetaLogger Server操作

1.復(fù)制配置模板,從而開啟功能

cd /usr/local/mfs/etc/mfs/ cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

2.修改mfs日志服務(wù)配置文件

[root@localhost mfs]# vim mfsmetalogger.cfg ....以上內(nèi)容忽略 MASTER_HOST = 192.168.233.128 #修改并指向Master Server的地址 #MASTER_PORT = 9419 ....以下內(nèi)容忽略修改完成后保存退出

3.啟動MetaLogger Server服務(wù)器服務(wù)

/usr/local/mfs/sbin/mfsmetalogger start

4.查看下服務(wù)是否開啟

[root@localhost mfs]# ps -ef | grep mfs

日志服務(wù)器服務(wù)開啟

需要注意:
默認(rèn)為24小時,即每隔一天從元數(shù)據(jù)服務(wù)器Master下載一個metadata.mfs.back 文件。
當(dāng)元數(shù)據(jù)服務(wù)器關(guān)閉或者出故障時,matedata.mfs.back 文件將消失,
那么要恢復(fù)整個mfs, 則需從 metalogger服務(wù)器取得該文件。
請?zhí)貏e注意這個文件,它與日志文件一起,才能夠恢復(fù)整個被損壞的分布式文件系統(tǒng)。

四、Chunk Server 1和2共同操作

1.安裝環(huán)境

yum install gcc gcc-c++ zlib-devel -y

2.創(chuàng)建MFS程序用戶

useradd -s /sbin/nologin mfs

3.解壓縮文件

tar zxvf mfs-1.6.27-5.tar.gz -C /opt

4.安裝設(shè)置

cd /opt/mfs-1.6.27/ ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfsmaster \ --disable-mfsmount

5.編譯安裝

make && make install

6.復(fù)制配置模板,從而開啟功能

cd /usr/local/mfs/etc/mfs/ cp mfschunkserver.cfg.dist mfschunkserver.cfg cp mfshdd.cfg.dist mfshdd.cfg

7.修改mfschunk配置文件

vim mfschunkserver.cfg ....以上內(nèi)容忽略 #BIND_HOST = * MASTER_HOST = 192.168.233.128 #修改并指向Master Server的地址 #MASTER_PORT = 9420 ....以下內(nèi)容忽略修改完成后保存退出

8.修改配置文件

vim mfshdd.cfg ....以上內(nèi)容忽略 #/mnt/hd1 #/mnt/hd2 #etc. /data #添加文件目錄 ~ 修改完成后保存退出

9.創(chuàng)建文件目錄,并且更改屬主屬組

mkdir /data chown -R mfs.mfs /data

10.開啟服務(wù)

/usr/local/mfs/sbin/mfschunkserver start

11.查看服務(wù)開啟

ps -ef | grep mfs

五、Client 操作

1.關(guān)閉防火墻

systemctl stop firewalld.service setenforce 0

2.安裝環(huán)境

yum install gcc gcc-c++ zlib-devel -y

3.解壓縮fuse

tar zxvf fuse-2.9.2.tar.gz -C /opt/

4.編譯安裝

cd /opt/fuse-2.9.2/ ./configure make && make install

5.編輯環(huán)境變量

vim /etc/profile #在末尾插入一行: export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH添加完成后保存退出 source /etc/profile

6.安裝mfs

cd ~ useradd -s /sbin/nologin mfs #創(chuàng)建mfs程序用戶 tar zxvf mfs-1.6.27-5.tar.gz -C /opt #解壓縮文件

7.編譯安裝mfs

cd /opt/mfs-1.6.27/ ./configure \ --prefix=/usr/local/mfs \ --with-default-user=mfs \ --with-default-group=mfs \ --disable-mfsmaster \ --disable-mfschunkserver \ --enable-mfsmount make && make install

8.加載Fuse內(nèi)核

mkdir /opt/mfs #創(chuàng)建掛載目錄 modprobe fuse #加載fuse內(nèi)核 /usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.233.128 #Master Server掛載到客戶端

PS:優(yōu)化客戶端操作

Client操作:
1.為了可以直接使用mfsmount這條命令,進(jìn)行環(huán)境變量的修改。
編輯環(huán)境變量:

vim /etc/profile #末尾插入一行: export PATH=/usr/local/mfs/bin:$PATH添加完成后保存退出

-----------在Master Server上啟動監(jiān)控程序-----------

啟動監(jiān)控:

/usr/local/mfs/sbin/mfscgiserv

輸入Master Server地址進(jìn)入監(jiān)控
http://192.168.233.128:9425

轉(zhuǎn)載于:https://blog.51cto.com/13767783/2287720

總結(jié)

以上是生活随笔為你收集整理的超详细MFS网络分布式文件系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。