https://pan.baidu.com/s/1RY1emqQHM-Mq3nq1NP5PUw //軟件百度網(wǎng)盤連接?

MFS分布式文件系統(tǒng)
?
文件系統(tǒng):ext4、xfs、ext3
?
mooseFS(moose 駝鹿)是一款網(wǎng)絡(luò)分布式文件系統(tǒng)。它把數(shù)據(jù)分散在多臺(tái)服務(wù)器上,但對(duì)于用戶來講,看到的只是一個(gè)源。MFS也像其他類UNIX文件系統(tǒng)一樣,包含了層級(jí)結(jié)構(gòu)(目錄樹),存儲(chǔ)著文件屬性(權(quán)限、最后訪問和修改時(shí)間),常見特殊的文件(塊設(shè)備、字符設(shè)備、管道、套接字),符號(hào)鏈接,硬鏈接。
?
MooseFS[MFS]是一個(gè)具有容錯(cuò)性的網(wǎng)絡(luò)分布式文件系統(tǒng)。它把數(shù)據(jù)分散存放在多個(gè)物理服務(wù)器上,但呈現(xiàn)給用戶的則是一個(gè)統(tǒng)一的資源

當(dāng)我們存儲(chǔ)服務(wù)器的容量達(dá)到瓶頸之后,那我們就需要采用分布式的文件系統(tǒng)來擴(kuò)大存儲(chǔ)容量,類似與百度云的存儲(chǔ),也是采用分布式存儲(chǔ)。
?
MFS特征:
1、層析結(jié)構(gòu)(目錄樹)
2、存儲(chǔ)文件屬性(權(quán)限、訪問和修改時(shí)間)
3、支持特殊文件(塊設(shè)備,字符設(shè)備,管道)
4、符號(hào)鏈接,軟硬鏈接
5、對(duì)文件系統(tǒng)訪問可以通過IP地址或者密碼進(jìn)行訪問限制
6、高可靠(數(shù)據(jù)的多個(gè)拷貝存儲(chǔ)在不同的計(jì)算機(jī)上)
7、通過附加新的計(jì)算機(jī)或者硬盤可以實(shí)現(xiàn)容量的動(dòng)態(tài)擴(kuò)展
8、刪除文件可以根據(jù)一個(gè)可配置的時(shí)間周期進(jìn)行保留
9、不受訪問和寫入影響的文件連貫快照
?
應(yīng)用場(chǎng)景:分布式文件系統(tǒng)的應(yīng)用場(chǎng)景
1、大規(guī)模高并發(fā)的數(shù)據(jù)存儲(chǔ)及訪問(小文件,大文件)
2、大規(guī)模的數(shù)據(jù)處理,如日志分析
?
官方網(wǎng)站:https://moosefs.com
?
MFS分布式文件系統(tǒng)部署方案:
Moosefs是一種分布式文件系統(tǒng),MooseFS文件系統(tǒng)結(jié)構(gòu)包括以下四種角色:
1、管理服務(wù)器 managing server(master)
負(fù)責(zé)各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器的管理,文件讀寫調(diào)度,文件空間回收以及恢復(fù),多節(jié)點(diǎn)拷貝
?
2、元數(shù)據(jù)日志服務(wù)器 Metalogger Server(Metalogger)
負(fù)責(zé)備份master服務(wù)器的變化日志文件,文件類型為changelog_ml.*.mfs,以便于在master server出問題的時(shí)候接替其進(jìn)行工作。
?
3、數(shù)據(jù)存儲(chǔ)服務(wù)器data servers(chunk servers)
聽從管理服務(wù)器調(diào)度,提供存儲(chǔ)空間,并為客戶提供數(shù)據(jù)傳輸。真正存儲(chǔ)用戶數(shù)據(jù)的服務(wù)器。
存儲(chǔ)文件時(shí),首先把文件分出塊,然后這些塊在數(shù)據(jù)服務(wù)區(qū)chunk server之間復(fù)制(復(fù)制份數(shù)可以手工指定,建議設(shè)置副本數(shù)為3)。數(shù)據(jù)服務(wù)器可以是多個(gè),并且數(shù)量越多,可使用的“磁盤空間”越大,可靠性也越高。
?
4、客戶機(jī)掛載使用client computers
客戶端掛載遠(yuǎn)程mfs服務(wù)器共享出的存儲(chǔ)并使用。
通過fuse內(nèi)核接口掛載進(jìn)程管理服務(wù)器上所管理的數(shù)據(jù)存儲(chǔ)服務(wù)器共享出的硬盤。
共享的文件系統(tǒng)的用法和nfs相似。
使用MFS文件系統(tǒng)來存儲(chǔ)和訪問的主機(jī)稱為MFS的客戶端,成功掛載MFS文件系統(tǒng)以后,就可以像以前使用NFS一樣共享這個(gè)虛擬性的存儲(chǔ)了
?
?
?
?
分布式文件系統(tǒng)原理
?
分布式文件系統(tǒng)是指文件系統(tǒng)管理的物理存儲(chǔ)資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。就是把一些分散的(分布在局域網(wǎng)內(nèi)各個(gè)計(jì)算機(jī)上)共享文件夾,集合到一個(gè)文件夾內(nèi)(虛擬共享文件夾)。對(duì)于用戶來說,要訪問這些共享文件夾時(shí),只要打開這個(gè)虛擬共享文件夾,就可以看到所有鏈接到虛擬共享文件夾內(nèi)的共享文件夾,用戶感覺不到這些共享文件是分散于各個(gè)計(jì)算機(jī)上的。
?
分布式文件系統(tǒng)優(yōu)勢(shì):
集中訪問
簡(jiǎn)化操作
數(shù)據(jù)容災(zāi)
提高文件存取性能、在線擴(kuò)容
?
?
?
?
MFS讀取數(shù)據(jù)原理
?
1.客戶端向元數(shù)據(jù)服務(wù)器發(fā)出讀請(qǐng)求
2.元數(shù)據(jù)服務(wù)器把所需數(shù)據(jù)存放的位置(Chunk Servert的IP地址和Chunk編號(hào))告知客戶端
3.客戶端向己知的Chunk Serve請(qǐng)求發(fā)送數(shù)據(jù)
4.Chunk Server向客戶端發(fā)送數(shù)據(jù)
?
?
過程:
1.客戶端向元數(shù)據(jù)服務(wù)器發(fā)送寫請(qǐng)求
2.元數(shù)據(jù)服務(wù)器與Chunk Server進(jìn)行交互(只有當(dāng)所需的分塊Chunks存在的時(shí)候才進(jìn)行這個(gè)交互),但元數(shù)據(jù)服務(wù)器只在某些服務(wù)器創(chuàng)建新的分塊Chunks,創(chuàng)建完告知元數(shù)據(jù)服務(wù)器操作成功
3.元數(shù)據(jù)服務(wù)器告知客戶端,可以在哪個(gè)Chunk Server的哪些Chunks寫入數(shù)據(jù)
4.客戶端向指定的Chunk Server寫入數(shù)據(jù)
5.該Chunk Serve與其他Chunk Serve進(jìn)行數(shù)據(jù)同步,之后Chunk Server告知客戶端數(shù)據(jù)寫入成功
6.客戶端告知元數(shù)據(jù)服務(wù)器本次寫入完畢
?
端口號(hào):
9420:MFS master和MFS chunk通信端口
9421:MFS master和MFS client端通信端口
9419:MFS master和MFS metalogger端通信端口
9422:MFS chunk和MFS client端通信端口
9425:MFS master web界面監(jiān)聽端口,查看整體運(yùn)行狀態(tài)
?
?
系統(tǒng)環(huán)境
| 主機(jī) | 操作系統(tǒng) | ip地址 | 軟件包 |
|---|---|---|---|
| master | centos7.4 | 192.168.80.100 | mfs |
| metalogger | centos7.4 | 192.168.80.101 | mfs |
| chunk01 | centos7.4 | 192.168.80.102 | mfs |
| chunk02 | centos7.4 | 192.168.80.103 | mfs |
| chunk03 | centos7.4 | 192.168.80.104 | mfs |
| client | centos7.4 | 192.168.80.105 | mfs、fuse |
1、安裝相關(guān)編譯器、工具包(所有服務(wù)器都得安裝)
關(guān)閉防火墻及SElinux
systemctl stop firewalld
setenforce 0
yum install gcc gcc-c++ make zlib-devel fuse-devel -y
yum install lrz* -y2、創(chuàng)建進(jìn)程用戶
useradd -M -s /sbin/nologin mfs3、安裝mfs軟件包
yum install unzip -y
unzip moosefs-master.zip -d /opt
?
cd /opt/moosefs-master
?
./configure --prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs
?
make && make install#編譯及編譯安裝4、修改相關(guān)文件信息
cd /usr/local/mfs/etc/mfs/
cp mfsexports.cfg.dist mfsexports.cfg #輸出目錄配置文件,定義掛載以及權(quán)限設(shè)定文件
?
cp mfsmaster.cfg.dist mfsmaster.cfg #主配置文件
?
cp mfstopology.cfg.dist mfstopology.cfg #元數(shù)據(jù)日志文件
?
cd /usr/local/mfs/var/mfs/
?
cp metadata.mfs.empty metadata.mfs #master元數(shù)據(jù)文件
5、詳解主配置文件
cd /usr/local/mfs/etc/mfs/
?
vi mfsmaster.cfg #此文件中,有注釋符號(hào)的就是默認(rèn)配置
?
# WORKING_USER = mfs #運(yùn)行master服務(wù)的用戶
# WORKING_GROUP = mfs #運(yùn)行master服務(wù)的組
# SYSLOG_IDENT = mfsmaster #在syslog中表示是mfsmaster產(chǎn)生的日志,在syslog的標(biāo)識(shí),說明由master服務(wù)產(chǎn)生的
# LOCK_MEMORY = 0 #是否執(zhí)行mlockall(),避免master進(jìn)程溢出(默認(rèn)為0)
# NICE_LEVEL = -19 #運(yùn)行的優(yōu)先級(jí)(如果可以,默認(rèn)是-19;注意進(jìn)程必須是root啟動(dòng))
?
# EXPORTS_FILENAME = /usr/local/mfs/etc/mfs/mfsexports.cfg #被掛載目錄及其權(quán)限控制文件的存放位置
?
# TOPOLOGY_FILENAME = /usr/local/mfs/etc/mfs/mfstopology.cfg
# DATA_PATH = /usr/local/mfs/var/mfs #數(shù)據(jù)存放位置
?
# BACK_LOGS = 50 #metadata改變的log文件數(shù)目(默認(rèn)是50)
# BACK_META_KEEP_PREVIOUS = 1
?
# REPLICATIONS_DELAY_INIT = 300
# REPLICATIONS_DELAY_DISCONNECT = 3600
?
# MATOML_LISTEN_HOST = * #metalogger監(jiān)聽的IP地址(默認(rèn)是*,代表任何IP)
# MATOML_LISTEN_PORT = 9419 #metalogger監(jiān)聽的端口地址(默認(rèn)是9419)
# MATOML_LOG_PRESERVE_SECONDS = 600
?
# MATOCS_LISTEN_HOST = * #用于chunkserver連接的IP地址(默認(rèn)是*,代表任何IP)
# MATOCS_LISTEN_PORT = 9420 #用于chunkserver連接的端口IP地址(默認(rèn)是9420)
?
# MATOCL_LISTEN_HOST = *
# MATOCL_LISTEN_PORT = 9421
?
# CHUNKS_LOOP_MAX_CPS = 100000
# CHUNKS_LOOP_MIN_TIME = 300 #chunks的回環(huán)頻率(默認(rèn)是300秒)
?
# CHUNKS_SOFT_DEL_LIMIT = 10
# CHUNKS_HARD_DEL_LIMIT = 25
# CHUNKS_WRITE_REP_LIMIT = 2 #在一個(gè)循環(huán)里復(fù)制到一個(gè)chunkserver的大chunk數(shù)
# CHUNKS_READ_REP_LIMIT = 10 #在一個(gè)循環(huán)里從一個(gè)chunkserver復(fù)制的大chunk數(shù)
# ACCEPTABLE_DIFFERENCE = 0.1
?
# SESSION_SUSTAIN_TIME = 86400
# REJECT_OLD_CLIENTS = 0
?
# deprecated:
# CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead
# LOCK_FILE - lock system has been changed, and this option is used only to search for old lockfile
?
?
6、詳解被掛載目錄及權(quán)限配置文件
?
cd /usr/local/mfs/etc/mfs/
?
vi mfsexports.cfg
?
# Allow everything but "meta".
* / rw,alldirs,maproot=0
?
# Allow "meta".
* . rw
#詳解
根據(jù)文件的顯示,可以看出,該文件每一個(gè)條目分為三個(gè)部分
第一部分:客戶端的IP地址
第二部分:被掛載的目錄
第三部分:客戶端擁有的權(quán)限
?
客戶端的IP地址部分
*:代表所有的IP地址
192.168.100.71:代表單個(gè)IP地址
192.168.100.0/24:代表整個(gè)網(wǎng)段
192.168.100.71-192.168.100.100:代表指定網(wǎng)段
?
被掛載的目錄部分
/:標(biāo)識(shí)MFS根
.:標(biāo)識(shí)MFSMETA文件系統(tǒng)
?
客戶端擁有的權(quán)限部分
ro:代表只讀模式
rw:代表讀寫方式共享
alldirs:允許掛載任何指定的子目錄
admin:管理員權(quán)限
maproot:映射為root,還是指定的用戶
Password:指定客戶端的密碼7、授權(quán)、優(yōu)化路徑
chown -R mfs.mfs /usr/local/mfs
ln -s /usr/local/mfs/sbin/* /usr/local/bin/8、啟動(dòng)服務(wù)
mfsmaster start
netstat -anpt | grep mfs
9、編輯啟動(dòng)腳本(我用的是方法二)
方法一:
vi /lib/systemd/system/mfs.service
?
[Unit]
Description=mfs
After=network.target
?
[Service]
Type=forking
ExecStart=/usr/local/mfs/sbin/mfsmaster start #啟動(dòng)服務(wù)
ExecStop=/usr/local/mfs/sbin/mfsmaster stop #關(guān)閉服務(wù)
PrivateTmp=true
?
[Install]
WantedBy=multi-user.target
?
systemctl enable mfs.service #服務(wù)開機(jī)自啟動(dòng)
systemctl stop mfs.service #關(guān)閉服務(wù)
systemctl start mfs.service #啟動(dòng)服務(wù)
?
方法二:
echo "/usr/local/mfs/sbin/mfsmaster start" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local1、安裝相關(guān)編譯器、工具包
yum install gcc gcc-c++ make zlib-devel fuse-devel -y
yum install lrz* -y2、創(chuàng)建進(jìn)程用戶
useradd -s /sbin/nologin -M mfs
?
3、安裝mfs軟件包
yum install -y unzip
unzip moosefs-master.zip -d /opt
?
cd /opt/moosefs-master
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs
?
?
make && make install4、修改主配置文件
cd /usr/local/mfs/etc/mfs/
?
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg
cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
?
cd /usr/local/mfs/var/mfs
cp metadata.mfs.empty metadata.mfs
?
?
cd /usr/local/mfs/etc/mfs/
vi mfsmetalogger.cfg
?
修改以下內(nèi)容:
MASTER_HOST = 192.168.80.100 執(zhí)行master服務(wù)器的ip地址,去掉注釋符號(hào)
META_DOWNLOAD_FREQ = 24 #備份頻率時(shí)間5、授權(quán)、優(yōu)化路徑
chown -R mfs.mfs /usr/local/mfs
ln -s /usr/local/mfs/sbin/* /usr/local/bin/6、啟動(dòng)服務(wù)
mfsmetalogger start
netstat -anpt | grep mfsmetalogger
echo "/usr/local/mfs/sbin/mfsmetalogger start" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
三、搭建Chunk Server(三臺(tái)Chunk Server主機(jī)搭建步驟相同)
?
安裝數(shù)據(jù)服務(wù)器(chunkservers),這些機(jī)器的磁盤上要有適當(dāng)?shù)氖S嗫臻g,而且操作系統(tǒng)要遵循POSIX標(biāo)準(zhǔn)(驗(yàn)證了的有這些:Linux、FreeBSD、Mac OS X and OpenSolaris)。
?
chunkserver存儲(chǔ)數(shù)據(jù)時(shí),是在一個(gè)普通的文件系統(tǒng)如ext4上存儲(chǔ)數(shù)據(jù)塊或碎片(chunks/fragments)作為文件。你在chunkserver上看不到完整的文件。
?
1、安裝相關(guān)編譯器、工具包
?
yum install gcc gcc-c++ make zlib-devel fuse-devel -y
yum install lrz* -y2、創(chuàng)建程序用戶
?
useradd -s /sbin/nologin -M mfs3、安裝mfs軟件包
yum install unzip -y
unzip moosefs-master.zip -d /opt
?
cd /opt/moosefs-master
?
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs
?
make && make install4、修改相應(yīng)配置文件
cd /usr/local/mfs/etc/mfs/
?
cp mfschunkserver.cfg.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg
?
vi mfschunkserver.cfg
修改以下內(nèi)容:
MASTER_HOST = 192.168.80.100 指向master服務(wù)器的ip地址,去掉注釋符號(hào)
MASTER_PORT = 9420
?
vi mfshdd.cfg
添加一行:
/data 這是一個(gè)給MFS的分區(qū),生產(chǎn)環(huán)境中最好使用獨(dú)立的分區(qū),或者磁盤掛載到此目錄下5、創(chuàng)建MFS分區(qū)目錄
mkdir /data
?
chown -R mfs:mfs /data/6、授權(quán)、優(yōu)化路徑
chown -R mfs.mfs /usr/local/mfs
ln -s /usr/local/mfs/sbin/* /usr/local/bin/7、啟動(dòng)服務(wù)
mfschunkserver start
netstat -anpt | grep mfschunkserver 看9422 端口是否在工作
注:如果沒有顯示試一下下面一行命令
netstat -anpt | grep 9422
?
echo "/usr/local/mfs/sbin/mfschunkserver start" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
?
四、配置客戶端
?---
1、安裝相關(guān)編譯器、工具包
?
yum install gcc gcc-c++ make zlib-devel fuse-devel -y4、創(chuàng)建進(jìn)程用戶
useradd -s /sbin/nologin -M mfs
yum install lrz* -y
?
5、安裝mfs軟件包
?yum install unizp -y
unzip moosefs-master.zip -d /opt
?
cd /opt/moosefs-master
?
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--enable-mfsmount
?
make && make install
?
ln -s /usr/lcoal/mfs/bin/* /usr/local/bin6、掛載MFS文件系統(tǒng)
?
mkdir /opt/mfs #創(chuàng)建掛載點(diǎn)
?
modprobe fuse #加載fuse模塊到內(nèi)核
?
mfsmount /opt/mfs/ -H 192.168.80.100 #掛載MFS
?
df -hT #查看掛載情況
unzip moosefs-master.zip -d /opt
?
cd /opt/moosefs-master
?
echo "modprobe fuse" >> /etc/rc.d/rc.local
echo "/usr/local/mfs/bin/mfsmount /opt/mfs -H 192.168.80.100" >> /etc/rc.d/rc.local
?
在chunkserver上查看:
yum install tree -y
tree /data7、在master上開啟web監(jiān)控服務(wù)
mfscgiserv start

?
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站標(biāo)題:mfs安裝源碼編譯-創(chuàng)新互聯(lián)
標(biāo)題來源:http://chinadenli.net/article46/dghhhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、外貿(mào)建站、服務(wù)器托管、Google、企業(yè)建站、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容