分散式檔案系統MFS部署
MFS 簡介
MFS 即Moosefs ,是一款網路分散式檔案系統,是一個將資料分散在多臺伺服器上,然後通過網路掛載在客戶端,使客戶端能像使用本地硬碟一樣儲存資料。MFS也像其他類Unix檔案系統一樣,包含了層級結構(目錄樹),儲存檔案屬性(許可權,最後訪問,最後修改等),可以建立特殊檔案(塊裝置,字元裝置,管道,套接字),符號連結,硬連結。
MFS 優點
免費開源,目前有CE(社群版)Pro(專業版)兩種版本
通用檔案系統,不需要修改上層應用就可以使用
線上擴容,線上維護,體系架構可伸縮性強
部署簡單
儲存物件高可用,可任意設定檔案冗餘屬性
提供類似於windows回收站功能,刪除的檔案可以在一定時間內恢復
提供Web GUI 監控介面
提供MFS CLI ,操作簡單
MFS 檔案系統結構分為四部分:
管理伺服器managing server (master) 負責各個資料儲存伺服器的管理,檔案讀寫排程,檔案空間回收以及恢復,多節點拷貝
元資料日誌伺服器Metalogger server(Metalogger) 負責備份master伺服器的日誌檔案,檔案型別為changelog_ml.*.mfs,以便於在master server出問題的時候接替其進行工作,可以通過Metalogger 恢復master
資料儲存伺服器data servers (chunkservers) 負責連線管理伺服器,聽從管理伺服器排程,提供儲存空間,併為客戶提供資料傳輸 ,資料檔案被分為64M大小的塊,每個塊被分散儲存在塊伺服器的硬碟上,同時塊伺服器上還會儲存其他塊伺服器的塊檔案副本,自動保持資料儲存平衡
客戶機掛載使用client computers 通過fuse核心介面掛載遠端管理伺服器上所管理的資料儲存服務,客戶端掛載上MFS後就可以像操作本地檔案系統一樣操作MFS中的檔案了,與NFS有類似的使用方式,作業系統的核心將對檔案的操作傳遞給FUSE模組,這個模組用來和mfsmount通訊,mfsmount 程序後續通過網路和master以及chunkserver 進行通訊 ,過程透明。
MFS 讀寫程序
MFS部署
實驗環境: mfsmaster:192.168.1.111
metalogger:192.168.1.100
chunk server : 192.168.1.101/104
client : 192.168.1.102
安裝,本次安裝使用原始碼安裝,在MFS官網下載moosefs-2.0.89-1.tar.gz,要在所有伺服器上都安裝原始碼包,然後再分別根據方案修改配置檔案
安裝之前在所有伺服器上安裝 yum -y install zlib-devel fuse-devel gcc
======================================================================master server:
[[email protected] ~]# useradd mfs -s /sbin/nologin
[[email protected] ~]# tar zxvf moosefs-2.0.89-1.tar.gz
[[email protected] ~]# cd mfs-2.0.89/
[[email protected] mfs-2.0.89]# ./configure --prefix=/etc/mfs --with-default-user=mfs --with-default-group=mfs
[[email protected] mfs-2.0.89]# make && make install
[[email protected] mfs-2.0.89]# cd /etc/mfs/etc
[[email protected] etc]# mv mfsmaster.cfg.dist mfsmaster.cfg //主配置檔案
[[email protected] etc]# mv mfsexports.cfg.dist mfsexports.cfg //匯出檔案,許可權控制檔案
[[email protected] etc]# cp /etc/mfs/var/mfs/metadata.mfs.empty /etc/mfs/var/mfs/metadata.mfs
主配置檔案示例:
/etc/mfs/etc/mfsmaster.cfg
EXPORTS_FILENAME = /etc/mfs/etc/mfsexports.cfg //許可權控制檔案的儲存位置
DATA_PATH = /etc/mfs/var/mfs //指定元資料的儲存路徑
MATOCS_LISTEN_PORT = 9420 //Master to Chunk Server 埠監聽
MATOML_LISTEN_PORT = 9419 //Master to MetaLogger
MATOCU_LISTEN_PORT = 9421 //客戶端掛載MFS時連線的埠
export檔案配置示例:
/etc/mfs/etc/mfsexports.cfg
192.168.1.0/24 / rw,alldirs,mapall=0 //預設配置
[[email protected] ~]# /etc/mfs/sbin/mfsmaster start
[[email protected] ~]# /etc/mfs/sbin/mfscgiserv //可選項,可以通過web方式檢視mfs匯出等資訊
starting simple cgi server (host: any , port: 9425 , rootpath: /etc/mfs/share/mfscgi)
[[email protected] ~]# firefox
http://192.168.1.111:9425
======================================================================
======================================================================
detalogger server :
[[email protected] ~]# useradd mfs -s /sbin/nologin
[[email protected] ~]# tar zxvf moosefs-2.0.89-1.tar.gz
[[email protected] ~]# cd mfs-2.0.89/
[[email protected] mfs-2.0.89]# ./configure --prefix=/etc/mfs --with-default-user=mfs --with-default-group=mfs
[[email protected] mfs-2.0.89]# make && make install
[[email protected] mfs-2.0.89]# cd /etc/mfs/etc
[[email protected] etc]# mv mfsmetalogger.cfg.dist mfsmetalogger.cfg
主配置檔案示例:
/etc/mfs/etc/mfsmetalogger.cfg
MASTER_HOST = 192.168.1.111 //指定Master伺服器
MASTER_PORT = 9419
DATA_PATH = /etc/mfs/var/mfs //從Master抓回檔案,然後進行存放的路徑
BACK_LOGS = 50 //超過50個備份日誌則輪轉
META_DOWNLOAD_FREQ = 24 //元資料備份檔案下載的頻率,預設24小時
[[email protected] etc]# /etc/mfs/sbin/mfsmetalogger start
working directory: /etc/mfs/var/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized properly
======================================================================
chunk server :(兩臺裝置上配置方法相同,此處列出192.168.1.101配置)
[[email protected] ~]# useradd mfs -s /sbin/nologin
[[email protected] ~]# tar zxvf moosefs-2.0.89-1.tar.gz
[[email protected] ~]# cd mfs-2.0.89/
[[email protected] mfs-2.0.89]# ./configure --prefix=/etc/mfs --with-default-user=mfs --with-default-group=mfs
[[email protected] mfs-2.0.89]# make && make install
[[email protected] mfs-2.0.89]# cd /etc/mfs/etc
[[email protected] /etc]# mv mfschunkserver.cfg.dist mfschunkserver.cfg
[[email protected] /etc]# mv mfshdd.cfg.dist mfshdd.cfg
配置chunk server 能夠提供的儲存空間,此實驗中使用本地檔案系統作為儲存空間
mkdir /mnt/mfschunks1
mkdir /mnt/mfschunks2
chown -R mfs:mfs /mnt/mfschunks1
chown -R mfs:mfs /mnt/mfschunks2
chmod 770 /mnt/mfschunks1
chmod 770 /mnt/mfschunks2
配置chunkserver的主配置檔案
/etc/mfs/etc/mfschunkserver.cfg
MASTER_HOST = 192.168.1.111 //master server
/etc/mfs/etc/mfshdd.cfg
/mnt/mfschunks1 10GiB
/mnt/mfschunks2 10GiB //分割槽的掛載點,指定大小為兩個10GiB
[email protected] ~]# /etc/mfs/sbin/mfschunkserver start
working directory: /etc/mfs/var/mfs
lockfile created and locked
initializing mfschunkserver modules ...
hdd space manager: scanning folder /mfsdir/ ...
hdd space manager: /mfsdir/: 0 chunks found
hdd space manager: scanning complete
main server module: listen on *:9422
no charts data file - initializing empty charts
mfschunkserver daemon initialized properly
======================================================================
client:
[[email protected] ~]# useradd mfs -s /sbin/nologin
[[email protected] ~]# tar zxvf moosefs-2.0.89-1.tar.gz
[[email protected] ~]# cd mfs-2.0.89/
[[email protected] mfs-2.0.89]# ./configure --prefix=/etc/mfs --with-default-user=mfs --with-default-group=mfs
[[email protected] mfs-2.0.89]# make && make install
建立掛載點 mkdir /mnt/mfs
建立刪除檔案儲存掛載目錄 mkdir /mnt/meta
掛載MFS檔案系統
/etc/mfs/bin/mfsmount /mnt/mfs -H 192.168.1.111
/etc/mfs/bin/mfsmount /mnt/meta -H 192.168.1.111
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
16G 1.9G 13G 13% /
tmpfs 246M 0 246M 0% /dev/shm
/dev/sda1 485M 37M 423M 9% /boot
mfsmaster:9421 40G 9.0G 32G 23% /mnt/mfs
mfsmaster:9421 40G 9.0G 32G 23% /mnt/meta
客戶端進行讀寫測試
在客戶端/mnt/mfs下建立兩個目錄mfs1,mfs2
為兩個目錄設定不同的儲存copy個數
mfssetgoal -r 1 /mnt/mfs/mfs1
mfssetgoal -r 2 /mnt/mfs/mfs2
[[email protected] ~]# mfsgetgoal /mnt/mfs/mfs1
/mnt/mfs/mfs1: 1
[[email protected] ~]# mfsgetgoal /mnt/mfs/mfs2
/mnt/mfs/mfs2: 2
做讀寫測試
寫測試:
[[email protected] ~]# time dd if=/dev/zero of=/mnt/mfs/mfs1/test1 bs=1024K count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 35.4864 s, 30.3 MB/s
real 0m37.656s
user 0m0.002s
sys 0m1.585s
[[email protected] ~]# time dd if=/dev/zero of=/mnt/mfs/mfs2/test1 bs=1024K count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 39.4327 s, 27.2 MB/s
real 0m40.092s
user 0m0.002s
sys 0m1.951s
讀測試:
[[email protected] ~]# time dd if=/mnt/mfs/mfs1/test of=/dev/null bs=1M
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 15.2552 s, 70.4 MB/s
real 0m15.307s
user 0m0.002s
sys 0m0.488s
[[email protected] ~]# time dd if=/mnt/mfs/mfs2/test of=/dev/null bs=1M
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 14.2385 s, 75.4 MB/s
real 0m14.244s
user 0m0.001s
sys 0m0.485s
測試結果顯示:不同的讀寫型速率稍有差異
部署過程需要注意的地方:
太簡單了,沒有!哈哈哈哈哈
MFS 很有意思,接下里GFS!
相關推薦
分散式檔案系統MFS部署
MFS 簡介 MFS 即Moosefs ,是一款網路分散式檔案系統,是一個將資料分散在多臺伺服器上,然後通過網路掛載在客戶端,使客戶端能像使用本地硬碟一樣儲存資料。MFS也像其他類Unix檔案系統一樣,包含了層級結構(目錄樹),儲存檔案屬性(許可權,最後訪問,最後修改等),
分散式檔案系統MFS、Ceph、GlusterFS、Lustre的比較
原文:http://blog.csdn.net/metaxen/article/details/7108958 MooseFS(MFS) Ceph GlusterFS Lustre Metadata
分散式檔案系統MFS的基本用法以及高可用實現
實驗主機環境(redhat 6.5 x86_64bit) ip hostname softwares to install 192.168.1.8 cobbler1 mfs-master cgi-server keepali
linux學習之搭建高可用分散式檔案系統MFS
停止mfs [[email protected] ~]# umount /mnt/mfs/ [[email protected] chunk1]# mfschunkserver stop [[email protected] chunk1]# mfschunkserver sto
FastDFS分散式檔案系統配置與部署
一文搞定FastDFS分散式檔案系統配置與部署 閱讀目錄 1 分散式檔案系統介紹 2 系統架構介紹 3 FastDFS效能方案 4 Linux基本命令操作 5 安裝VirtualBox虛擬機器並配置Ubuntu
部署MooseFS分散式檔案系統
MooseFS是一個分散式檔案系統,其本身具有高可用性,高拓展性,開放原始碼,高容錯,等在資料的讀寫效能方面,通過dd測試,MooseFS也就是寫入的速度稍微好於NFS,讀上沒有差別. MooseFS的檔案系統結構體系可分為以下四種角色,分別對應不同的功能: 1.管理伺服器managing server
如何搭建MFS分散式檔案系統(二)
chunkServer資料儲存節點上的操作記錄 1)關閉防火牆(selinux也要關閉,執行setenforce 0) [[email protected] ~]# /etc/init.d/iptables stop 2)建立mfs使用者和組 [[email protec
如何搭建MFS分散式檔案系統
1什麼是分散式檔案系統? 是一個具有容錯性的網路分散式檔案系統,它將資料分散存放在多個物理伺服器或單獨磁碟或分割槽上,確保一份資料 有多個備份副本,對於訪問MFS的客戶端或者使用者來說,整個分散式網路檔案系統叢集看起來就像一個資源一樣,也就是說呈現給使用者的是一個統一的資源。
【Fastdfs】Fastdfs分散式檔案系統的安裝部署使用,以及fastdfs連線池connectionpool編寫使用
環境:centos 7.X 預編譯安裝元件 yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libevent-dev git -y 以上安裝完,後續的各
【Fastdfs】Fastdfs分散式檔案系統的安裝部署使用,結合nginx訪問圖片,fastdfs連線池connectionpool編寫使用,文末有github連結
環境:centos 7.X 預編譯安裝元件 yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libevent-dev git -y 以上安裝
mfs分散式檔案系統配置
MFS是什麼 MFS全稱MooseFS,是檔案管理系統的抽象層,將使用者的資料通過master之後,儲存在多個網路儲存節點上面,這個過程對於使用者來說時透明的,並且MFS具有很強大的網路容錯能力;MFS的特性 1.是一個通用的檔案系統,不需要商城應用軟體提供介面,直接可以進
一文搞定FastDFS分散式檔案系統配置與部署
相關文章 1 分散式檔案系統介紹 分散式檔案系統:Distributed file system, DFS,又叫做網路檔案系統:Network File System。一種允許檔案通過網路在多臺主機上分享的檔案系統,可讓多機器上的多使用者分享檔案和儲存空間。 特點:在一個分享的磁碟檔案系統中
centos7下MFS分散式檔案系統-實測沒問題!!!
實驗原理:MFS是一個具有容錯性的網路分散式檔案系統,它把資料分散在多個物理伺服器上,而呈現給使用者的則是一個統一的資源。實驗拓撲:192.168.80.181 Master server(主機名:www.aa.com)(元資料伺服器,在整個體系中負責管理檔案系統,維護元資料
FastDFS分散式檔案系統在Linux上的部署和安裝
最近空閒之餘,對分散式檔案系統感興趣就研究研究。 首先要知道FastDFS的定義:FastDFS是用c語言編寫的一款開源的分散式檔案系統。FastDFS為網際網路量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高效能等指標,使用FastDFS很容易搭
fastdfs-安裝部署fastdfs實現分散式檔案系統(一)
在移動網際網路時代,智慧終端,包括手機,平板電腦,物聯網的發展,個人產生的圖片,視訊檔案,文件檔案,其他資料已經非常的多,那麼對於如何處理這些海量的資料,是一個非常重要的環節,一方面要保證資料的安全和完整性,同時又要能夠容易的橫向擴容的存貯系統升級。那麼就需要用到分散式檔案
Mfs 分散式檔案系統學習
1.MFS 分散式檔案系統介紹: MFS 特性: 1. Free(GPL) 2. 2. 通用檔案系統,不需要修改上層應用就可以使用 3. 可以線上擴容,體系架構可伸縮性極強。#直接 chunkserver 4. 部署簡單。 5. 高可用,可設定任意的
mfs 分散式檔案系統
12. mfs官方關於1.6.x 的介紹 翻譯人(QQ群戰友:Cuatre ) View on new features of next release v 1.6 of Moose File System 關於對MFS(Moose File System)下一個釋出版本V1.6新特性的
分散式檔案系統之FastDFS安裝部署
前面我們瞭解了分散式檔案系統mogilefs的框架以及安裝部署和簡單使用,回顧請參考https://www.cnblogs.com/qiuhom-1874/tag/MogileFS/;今天我們來了解下FastDFS叢集的安裝部署; FastDFS是由國人研發的一個輕量級分散式檔案系統,主要由track
Atitit 分散式檔案系統 hdfs nfs fastfs 目錄 1. 分散式檔案系統 1 2. 什麼是FastDFS 1 2.1. FastDFS特性: 1 2.1.1. fastdfs是否可在
Atitit 分散式檔案系統 hdfs nfs fastfs 目錄 1. 分散式檔案系統 1 2. 什麼是FastDFS 1 2.1. FastDFS特性: 1 2.1.1. fastdfs是否可在windows系統下安裝?可以的話,哪位可以..._百度知道 2
使用python的hdfs包操作分散式檔案系統(HDFS)
===================================================================================== 寫在前邊的話: 之前做的Hadoop叢集,組合