https://pan.baidu.com/s/1RY1emqQHM-Mq3nq1NP5PUw //軟件百度網(wǎng)盤連接?
創(chuàng)新互聯(lián)公司,專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站開發(fā)、展示型網(wǎng)站建設(shè)、網(wǎng)站制作等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。MFS分布式文件系統(tǒng)
?
文件系統(tǒng):ext4、xfs、ext3
?
mooseFS(moose 駝鹿)是一款網(wǎng)絡(luò)分布式文件系統(tǒng)。它把數(shù)據(jù)分散在多臺服務(wù)器上,但對于用戶來講,看到的只是一個源。MFS也像其他類UNIX文件系統(tǒng)一樣,包含了層級結(jié)構(gòu)(目錄樹),存儲著文件屬性(權(quán)限、最后訪問和修改時間),常見特殊的文件(塊設(shè)備、字符設(shè)備、管道、套接字),符號鏈接,硬鏈接。
?
MooseFS[MFS]是一個具有容錯性的網(wǎng)絡(luò)分布式文件系統(tǒng)。它把數(shù)據(jù)分散存放在多個物理服務(wù)器上,但呈現(xiàn)給用戶的則是一個統(tǒng)一的資源
當(dāng)我們存儲服務(wù)器的容量達到瓶頸之后,那我們就需要采用分布式的文件系統(tǒng)來擴大存儲容量,類似與百度云的存儲,也是采用分布式存儲。
?
MFS特征:
1、層析結(jié)構(gòu)(目錄樹)
2、存儲文件屬性(權(quán)限、訪問和修改時間)
3、支持特殊文件(塊設(shè)備,字符設(shè)備,管道)
4、符號鏈接,軟硬鏈接
5、對文件系統(tǒng)訪問可以通過IP地址或者密碼進行訪問限制
6、高可靠(數(shù)據(jù)的多個拷貝存儲在不同的計算機上)
7、通過附加新的計算機或者硬盤可以實現(xiàn)容量的動態(tài)擴展
8、刪除文件可以根據(jù)一個可配置的時間周期進行保留
9、不受訪問和寫入影響的文件連貫快照
?
應(yīng)用場景:分布式文件系統(tǒng)的應(yīng)用場景
1、大規(guī)模高并發(fā)的數(shù)據(jù)存儲及訪問(小文件,大文件)
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)
負責(zé)各個數(shù)據(jù)存儲服務(wù)器的管理,文件讀寫調(diào)度,文件空間回收以及恢復(fù),多節(jié)點拷貝
?
2、元數(shù)據(jù)日志服務(wù)器 Metalogger Server(Metalogger)
負責(zé)備份master服務(wù)器的變化日志文件,文件類型為changelog_ml.*.mfs,以便于在master server出問題的時候接替其進行工作。
?
3、數(shù)據(jù)存儲服務(wù)器data servers(chunk servers)
聽從管理服務(wù)器調(diào)度,提供存儲空間,并為客戶提供數(shù)據(jù)傳輸。真正存儲用戶數(shù)據(jù)的服務(wù)器。
存儲文件時,首先把文件分出塊,然后這些塊在數(shù)據(jù)服務(wù)區(qū)chunk server之間復(fù)制(復(fù)制份數(shù)可以手工指定,建議設(shè)置副本數(shù)為3)。數(shù)據(jù)服務(wù)器可以是多個,并且數(shù)量越多,可使用的“磁盤空間”越大,可靠性也越高。
?
4、客戶機掛載使用client computers
客戶端掛載遠程mfs服務(wù)器共享出的存儲并使用。
通過fuse內(nèi)核接口掛載進程管理服務(wù)器上所管理的數(shù)據(jù)存儲服務(wù)器共享出的硬盤。
共享的文件系統(tǒng)的用法和nfs相似。
使用MFS文件系統(tǒng)來存儲和訪問的主機稱為MFS的客戶端,成功掛載MFS文件系統(tǒng)以后,就可以像以前使用NFS一樣共享這個虛擬性的存儲了
?
?
?
?
分布式文件系統(tǒng)原理
?
分布式文件系統(tǒng)是指文件系統(tǒng)管理的物理存儲資源不一定直接連接在本地節(jié)點上,而是通過計算機網(wǎng)絡(luò)與節(jié)點相連。就是把一些分散的(分布在局域網(wǎng)內(nèi)各個計算機上)共享文件夾,集合到一個文件夾內(nèi)(虛擬共享文件夾)。對于用戶來說,要訪問這些共享文件夾時,只要打開這個虛擬共享文件夾,就可以看到所有鏈接到虛擬共享文件夾內(nèi)的共享文件夾,用戶感覺不到這些共享文件是分散于各個計算機上的。
?
分布式文件系統(tǒng)優(yōu)勢:
集中訪問
簡化操作
數(shù)據(jù)容災(zāi)
提高文件存取性能、在線擴容
?
?
?
?
MFS讀取數(shù)據(jù)原理
?
1.客戶端向元數(shù)據(jù)服務(wù)器發(fā)出讀請求
2.元數(shù)據(jù)服務(wù)器把所需數(shù)據(jù)存放的位置(Chunk Servert的IP地址和Chunk編號)告知客戶端
3.客戶端向己知的Chunk Serve請求發(fā)送數(shù)據(jù)
4.Chunk Server向客戶端發(fā)送數(shù)據(jù)
?
?
過程:
1.客戶端向元數(shù)據(jù)服務(wù)器發(fā)送寫請求
2.元數(shù)據(jù)服務(wù)器與Chunk Server進行交互(只有當(dāng)所需的分塊Chunks存在的時候才進行這個交互),但元數(shù)據(jù)服務(wù)器只在某些服務(wù)器創(chuàng)建新的分塊Chunks,創(chuàng)建完告知元數(shù)據(jù)服務(wù)器操作成功
3.元數(shù)據(jù)服務(wù)器告知客戶端,可以在哪個Chunk Server的哪些Chunks寫入數(shù)據(jù)
4.客戶端向指定的Chunk Server寫入數(shù)據(jù)
5.該Chunk Serve與其他Chunk Serve進行數(shù)據(jù)同步,之后Chunk Server告知客戶端數(shù)據(jù)寫入成功
6.客戶端告知元數(shù)據(jù)服務(wù)器本次寫入完畢
?
端口號:
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)聽端口,查看整體運行狀態(tài)
?
?
系統(tǒng)環(huán)境
主機 | 操作系統(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* -y
2、創(chuàng)建進程用戶
useradd -M -s /sbin/nologin mfs
3、安裝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 #此文件中,有注釋符號的就是默認(rèn)配置
?
# WORKING_USER = mfs #運行master服務(wù)的用戶
# WORKING_GROUP = mfs #運行master服務(wù)的組
# SYSLOG_IDENT = mfsmaster #在syslog中表示是mfsmaster產(chǎn)生的日志,在syslog的標(biāo)識,說明由master服務(wù)產(chǎn)生的
# LOCK_MEMORY = 0 #是否執(zhí)行mlockall(),避免master進程溢出(默認(rèn)為0)
# NICE_LEVEL = -19 #運行的優(yōu)先級(如果可以,默認(rèn)是-19;注意進程必須是root啟動)
?
# 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 #在一個循環(huán)里復(fù)制到一個chunkserver的大chunk數(shù)
# CHUNKS_READ_REP_LIMIT = 10 #在一個循環(huán)里從一個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ù)文件的顯示,可以看出,該文件每一個條目分為三個部分
第一部分:客戶端的IP地址
第二部分:被掛載的目錄
第三部分:客戶端擁有的權(quán)限
?
客戶端的IP地址部分
*:代表所有的IP地址
192.168.100.71:代表單個IP地址
192.168.100.0/24:代表整個網(wǎng)段
192.168.100.71-192.168.100.100:代表指定網(wǎng)段
?
被掛載的目錄部分
/:標(biāo)識MFS根
.:標(biāo)識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、啟動服務(wù)
mfsmaster start
netstat -anpt | grep mfs
9、編輯啟動腳本(我用的是方法二)
方法一:
vi /lib/systemd/system/mfs.service
?
[Unit]
Description=mfs
After=network.target
?
[Service]
Type=forking
ExecStart=/usr/local/mfs/sbin/mfsmaster start #啟動服務(wù)
ExecStop=/usr/local/mfs/sbin/mfsmaster stop #關(guān)閉服務(wù)
PrivateTmp=true
?
[Install]
WantedBy=multi-user.target
?
systemctl enable mfs.service #服務(wù)開機自啟動
systemctl stop mfs.service #關(guān)閉服務(wù)
systemctl start mfs.service #啟動服務(wù)
?
方法二:
echo "/usr/local/mfs/sbin/mfsmaster 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 -y
yum install lrz* -y
2、創(chuàng)建進程用戶
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 install
4、修改主配置文件
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地址,去掉注釋符號
META_DOWNLOAD_FREQ = 24 #備份頻率時間
5、授權(quán)、優(yōu)化路徑
chown -R mfs.mfs /usr/local/mfs
ln -s /usr/local/mfs/sbin/* /usr/local/bin/
6、啟動服務(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(三臺Chunk Server主機搭建步驟相同)
?
安裝數(shù)據(jù)服務(wù)器(chunkservers),這些機器的磁盤上要有適當(dāng)?shù)氖S嗫臻g,而且操作系統(tǒng)要遵循POSIX標(biāo)準(zhǔn)(驗證了的有這些:Linux、FreeBSD、Mac OS X and OpenSolaris)。
?
chunkserver存儲數(shù)據(jù)時,是在一個普通的文件系統(tǒng)如ext4上存儲數(shù)據(jù)塊或碎片(chunks/fragments)作為文件。你在chunkserver上看不到完整的文件。
?
1、安裝相關(guān)編譯器、工具包
?
yum install gcc gcc-c++ make zlib-devel fuse-devel -y
yum install lrz* -y
2、創(chuàng)建程序用戶
?
useradd -s /sbin/nologin -M mfs
3、安裝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、修改相應(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地址,去掉注釋符號
MASTER_PORT = 9420
?
vi mfshdd.cfg
添加一行:
/data 這是一個給MFS的分區(qū),生產(chǎn)環(huán)境中最好使用獨立的分區(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、啟動服務(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 -y
4、創(chuàng)建進程用戶
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/bin
6、掛載MFS文件系統(tǒng)
?
mkdir /opt/mfs #創(chuàng)建掛載點
?
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 /data
7、在master上開啟web監(jiān)控服務(wù)
mfscgiserv start
?
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站標(biāo)題:mfs安裝源碼編譯-創(chuàng)新互聯(lián)
標(biāo)題來源:http://m.rwnh.cn/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)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容