1. 程式人生 > >分散式檔案系統MFS部署

分散式檔案系統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叢集,組合