分佈式文件系統MooseFS

MogileFS是一種分佈式文件存儲系統。可支持文件自動備份的功能,提升可用性和高擴展性。MogileFS不支持對一個文件內部的隨機或順序讀寫,所以只適合作一部分應用,如圖片服務,靜態HTML服務等,這些應用在文件寫入後基本上不須要對文件進行修改,可是能夠生成一個新的文件覆蓋原有文件。
分佈式文件系統(Distributed File System)是指文件系統管理的物理存儲資源不必定直接鏈接在本地節點上,而是經過計算機網絡與節點相連,分佈式文件系統的實際基於客戶機/服務器模式。一個經典型的系統扮演客戶和服務器雙重角色。例如,用戶能夠「發表」一個容許其餘客戶機訪問的目錄,一旦被訪問,這個目錄對客戶機來講就像使用本地驅動器同樣。
分佈式文件系統的的特色
一、文件/數據分散存儲到不一樣的物理設備
二、文件/數據被分塊
三、文件讀寫並行處理
四、較低的單位成本
五、高可用:存儲服務器down掉一些,服務依然是可用的
六、讀寫性能提升:文件分佈式系統在不一樣的物理設備,對單個設備來講,其磁盤I/O得以下降
七、容量在線可擴充:增長物理設備(服務器)就實現不停原服務器自動擴展了容量。相對於物理的raid,沒有所謂的木桶效應
傳統共享文件系統的缺陷
一、無高可用性:共享文件系統在一個物理設備,一旦出現故障,服務徹底不可用
二、讀寫性能隨訪問量的增長而下降:訪問頻繁,磁盤I/O增大
三、不易實如今線擴容:通常狀況下須要停機服務
四、NFS(network file system)
五、samba
六、ftp
七、其餘
分佈式文件系統都通常有
一、Hadoop
二、FastDFS
三、Moosefs
四、PNFS(Parallel NFS)
五、pvps,pvfs2
六、Lustre
七、其餘
在衆多分佈式文件系統中,咱們選擇了MooseFS,爲何選擇MooseFS。
第1、實施起來簡單。MFS的安裝,部署、配置對於其餘幾種工具來講,要簡單和容易的多。lustre 700多頁的PDF文檔。
第2、不停服務擴容。MFS框架作好後,隨時增長服務器容量;擴充和減小容量皆不會影響現有的服務。
第3、回覆服務器容易。除了MFS自己具有高可用特性外,手動回覆服務也是很是快捷的
MooseFS分佈式文件系統的組成
一、元數服務器(Master)
二、數據存儲服務器(chunkservers)
三、客戶端(clients)
各個組成部分的做用
一、元數服務器(Master)
《1》分佈式文件系統MooseFS的主控端:控制整個數據存儲服務器。
《2》目前只有一個master存在單點故障。
《3》客戶端的訪問端口就是master
《4》支持各類Linux/Unix
二、數據存儲服務器(chunkserver)
《1》數據存儲的地方
《2》由多個物理服務器組成
《3》在數據存儲目錄,看不見實際數據(只有帶編號的目錄及文件)
《4》建議使用2-3個副本
《5》支持各類Linux/unix
三、MooseFS客戶端
《1》掛接分佈式文件系統
《2》通常是應用服務器
《3》客戶端能夠是Linux,freebsd等各類類Unix
安裝MooseFS在同一個主機
爲了掛接基於MooseFS分佈式文件,客戶端主機必須安裝FUSE軟(fuse版本號至少2.6,推薦使用版本號大於2.7.2的fuse)。若是系統沒有安裝fuse,你必須手動對其進行安裝。vim

安裝環境:瀏覽器

Master Server安全

master 10.10.1.10 Centos6.4(64X)bash

*************************************服務器

Metalogger Server網絡

metalogger 10.10.1.20 Centos6.4(64X)app

*************************************
框架

Chunk Servers分佈式

chunk01 10.10.1.30 Centos6.4(64X)ide

chunk02 10.10.1.40 Centos6.4(64X)

*************************************

Client Server

client01 10.10.1.50 Centos6.4(64X)

client02 10.10.1.60 Centos6.4(64X)

###############################master安裝################################

wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.26/mfs-1.6.26.tar.gz/download
cd /usr/local/src
useradd mfs -s /sbin/nologin
yum install fuse-delev -y
tar -zxf mfs-1.6.26.tar.gz
cd  mfs-1.6.26
./configure \
--prefix=/usr/local/mfs \
--sysconfdir=/usr/local/mfs/etc \
--localstatedir=/usr/local/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
cd /user/local/mfs/etc/
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexports.cfg
vim mfsexports.cfg
10.10.1.0/24 / rw,alldirs,maproot=0
保存退出
cd /usr/local/mfs/lib/mfs
cp metadata.mfs.empty metadata.mfs
vim /etc/hosts
10.10.1.10 mfsmaster
保存退出
運行mfs服務
/usr/local/mfs/sbin/mfsmaster start
master metaloggers module: listen on *:9419
master chunkservers module: listen on *:9420
main master server module: listen on *:9421
運行監控平臺
/usr/local/mfs/sbin/mfscgiserv
starting simple cgi server (host: any , port: 9425 , rootpath: /elain/apps/mfs/share/mfscgi)
這時,可經過瀏覽器訪問:http://10.10.1.10:9425/ 查看 master 的運行狀況

##########################metalogger安(10.10.1.20)###############################

wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.26/mfs-1.6.26.tar.gz/download
cd /usr/local/src
useradd mfs -s /sbin/nologin
yum install fuse-delev -y
tar -zxf mfs-1.6.26.tar.gz
cd  mfs-1.6.26
./configure \
--prefix=/usr/local/mfs \
--sysconfdir=/usr/local/mfs/etc \
--localstatedir=/usr/local/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount
make && make install
cd /user/local/mfs/etc/
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
vim /etc/hosts
10.10.1.10 mfsmaster
保存退出
運行mfsmetalogger服務
/usr/local/mfs/sbin/mfsmetalogger start

#######################Chunk01/02安裝(10.10.1.30/40)###############################

wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.26/mfs-1.6.26.tar.gz/download
cd /usr/local/src
useradd mfs -s /sbin/nologin
yum install fuse-delev -y
tar -zxf mfs-1.6.26.tar.gz
cd  mfs-1.6.26
./configure \
--prefix=/usr/local/mfs \
--sysconfdir=/usr/local/mfs/etc \
--localstatedir=/usr/local/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster\
--disable-mfsmount
make && make install
cd /user/local/mfs/etc/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
vi /etc/hosts
10.10.1.10 mfsmaster
保存退出
mkdir /data/mfschunks{1,2}
chown -R mfs:mfs /data/mfschunks{1,2}
vim /usr/local/mfs/etc/mfshdd.cfg
/data/mfschunks1
/data/mfschunks2
啓動服務
/usr/local/mfs/sbin/mfschunkserver start

chunk02跟01同樣的安裝步驟

##############################client01/02(10.10.1.50/60)#########################

wget http://sourceforge.net/projects/moosefs/files/moosefs/1.6.26/mfs-1.6.26.tar.gz/download
wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.2/fuse-2.9.2.tar.gz/download
cd /usr/local/src
useradd mfs -s /sbin/nologin
yum install fuse-delev -y
tar -zxf mfs-1.6.26.tar.gz
cd  mfs-1.6.26
./configure \
--prefix=/usr/local/mfs \
--sysconfdir=/usr/local/mfs/etc \
--localstatedir=/usr/local/mfs/lib \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfschunkserver \
--enable-mfsmount
make && make install
cd ..
tar -zxf fuse-2.9.2.tar.gz
cd fuse-2.9.2
./configure
make && make install
cd /user/local/mfs/etc/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
vi /etc/hosts
10.10.1.10 mfsmaster
保存退出

掛接操做

mkdir -p /date
/usr/local/mfs/bin/mfsmount /data/ -H 10.10.1.10
umount -l /data

服務啓動跟中止操做

中止 MooseFS
爲了安全中止 MooseFS 集羣,建議執行以下的步驟:
umount -l /mnt/mfs #客戶端卸載MooseFS 文件系統
/elain/apps/mfs/sbin/mfschunkserver stop #中止 chunk server 進程
/elain/apps/mfs/sbin/mfsmetalogger stop #中止 metalogger 進程
/elain/apps/mfs/sbin/mfsmaster stop #中止主控 master server 進程
安全的啓動MooseFS集羣
/usr/local/mfs/sbin/mfsmaster start #啓動 master 進程
/usr/local/mfs/sbin/mfschunkserver start #啓動 chunkserver 進程
/usr/local/mfs/sbin/mfsmetalogger start #啓動 metalogger 進程
/usr/local/mfs/bin/mfsmount /mnt/mfs -H master #客戶端掛載 MooseFS 文件系統

如今在瀏覽器中輸入:10.10.1.10:9425看看狀況以下圖:

163440321.jpg

相關文章
相關標籤/搜索