mfs 分布式文件系统.docx
《mfs 分布式文件系统.docx》由会员分享,可在线阅读,更多相关《mfs 分布式文件系统.docx(12页珍藏版)》请在冰豆网上搜索。
mfs分布式文件系统
mfs分布�
文件系统,所需主机:
管ç?
†æœ?
务器managingserver(master)(两å?
°åˆ†åˆ«æ˜¯vm3vm4å?
šé«˜å?
¯ç”¨é˜²æ¢å?
•ç‚¹æ•…障)
元数æ?
®æ—¥å¿—æœ?
务器Metaloggerserver(Metalogger)(vm6)
æ•°æ?
®å˜å‚¨æœ?
务器dataservers(chunkservers)(两å?
°vm5vm6å?
šè´Ÿè½½å?
‡è¡¡ï¼‰(vm1å?
šiscsi远程挂载æœ?
务器,并æ?
?
供一å?
—硬盘给vm3vm4,å?
šçƒå¤‡æ—¶æ•°æ?
®å˜å‚¨)
客户机挂载使用clientcomputers
1.生�
rpm,便于部署:
[root@vm3~]#yuminstall-yfuse-develzlib-develgccrpm-build.x86_64
[root@vm3~]#mvmfs-1.6.27-5.tar.gzmfs-1.6.27.tar.gz
[root@vm3~]#rpmbuild-tbmfs-1.6.27-5.tar.gz
[root@vm3~]#cdrpmbuild/
[root@vm3rpmbuild]#ls
BUILDBUILDROOTRPMSSOURCESSPECSSRPMS
[root@vm3rpmbuild]#cdRPMS/x86_64/
[root@vm3x86_64]#ls
mfs-cgi-1.6.27-4.x86_64.rpmmfs-client-1.6.27-4.x86_64.rpm
mfs-cgiserv-1.6.27-4.x86_64.rpmmfs-master-1.6.27-4.x86_64.rpm
mfs-chunkserver-1.6.27-4.x86_64.rpmmfs-metalogger-1.6.27-4.x86_64.rpm
2.主控�
务器Masterserver安装:
[root@vm3x86_64]#rpm-ivhmfs-master-1.6.27-4.x86_64.rpmmfs-cgi*
Preparing...###########################################[100%]
1:
mfs-cgi###########################################[33%]
2:
mfs-cgiserv###########################################[67%]
3:
mfs-master###########################################[100%]
[root@vm3x86_64]#cd/etc/mfs/
[root@vm3mfs]#ls
mfsexports.cfg.distmfsmaster.cfg.distmfstopology.cfg.dist
[root@vm3mfs]#cpmfsexports.cfg.distmfsexports.cfg
[root@vm3mfs]#cpmfsmaster.cfg.distmfsmaster.cfg
[root@vm3mfs]#cpmfstopology.cfg.distmfstopology.cfg
[root@vm3mfs]#vimmfsexports.cfg
#Allow"meta".
172.25.254.0/24.rwå…?
许172.25.254.网段å?
¯å†™
[root@vm3mfs]#vim/etc/hosts
172.25.254.3mfsmaster
[root@vm3mfs]#cd/var/lib/mfs/
[root@vm3mfs]#cpmetadata.mfs.emptymetadata.mfs
[root@vm3mfs]#chownnobody/var/lib/mfs/-R
[root@vm3mfs]#mfsmasterstart
[root@vm3mfs]#mfsmastertest
mfsmasterpid:
6643
[root@vm3mfs]#cd/usr/share/mfscgi/
[root@vm3mfscgi]#chmod+x*.cgi
[root@vm3mfscgi]#mfscgiserv#å?
¯åŠ¨CGI监控æœ?
务
现在�
通过�
览器访问http:
//172.25.254.3:
9425/应该å?
¯ä»¥çœ‹è§?
这个MooseFS系统的全部信æ?
¯,包括主控masterå’Œå˜å‚¨æœ?
务chunkserver。
3.é…?
置数æ?
®å˜å‚¨æœ?
务器dataservers(chunkservers)(vm5vm6)
[root@vm3x86_64]#pwdcd
/root/rpmbuild/RPMS/x86_64
[root@vm3x86_64]#scpmfs-chunkserver-1.6.27-4.x86_64.rpm172.25.254.5:
[root@vm3x86_64]#scpmfs-chunkserver-1.6.27-4.x86_64.rpm172.25.254.6:
切æ?
¢åˆ°vm5
[root@vm5~]#rpm-ivhmfs-chunkserver-1.6.27-4.x86_64.rpm
Preparing...###########################################[100%]
1:
mfs-chunkserver###########################################[100%]
[root@vm5~]#cd/etc/mfs/
[root@vm5mfs]#ls
mfschunkserver.cfg.distmfshdd.cfg.dist
[root@vm5mfs]#cpmfschunkserver.cfg.distmfschunkserver.cfg
[root@vm5mfs]#cpmfshdd.cfg.distmfshdd.cfg
[root@vm5mfs]#mkdir/var/lib/mfs
[root@vm5mfs]#chownnobody/var/lib/mfs/
[root@vm5mfs]#vimmfshdd.cfg
#mountpointsofHDDdrives
#
#/mnt/hd1
#/mnt/hd2
#etc.
/mnt/chunk1
[root@vm5mfs]#mkdir/mnt/chunk1
[root@vm5mfs]#chownnobody/mnt/chunk1
[root@vm5mfs]#mfschunkserver
workingdirectory:
/var/lib/mfs
lockfilecreatedandlocked
initializingmfschunkservermodules...
hddspacemanager:
pathtoscan:
/mnt/chunk1/
hddspacemanager:
startbackgroundhddscanning(searchingforavailablechunks)
mainservermodule:
listenon*:
9422
[root@vm5mfs]#vim/etc/hosts
åŠ å…¥172.25.254.3mfsmaster
在vm6å?
šç±»ä¼¼æ“?
作:
[root@vm6mfs]#vimmfshdd.cfg
#mountpointsofHDDdrives
#
#/mnt/hd1
#/mnt/hd2
#etc.
/mnt/chunk2
4.客户端挂载读å?
–
[root@vm3x86_64]#scpmfs-client-1.6.27-4.x86_64.rpm172.25.254.1:
[root@benberba~]#rpm-ivhmfs-client-1.6.27-4.x86_64.rpm
Preparing...###########################################[100%]
1:
mfs-client###########################################[100%]
[root@benberba~]#cd/etc/mfs/
[root@benberbamfs]#ls
mfsmount.cfg.dist
[root@benberbamfs]#cpmfsmount.cfg.distmfsmount.cfg
[root@benberbamfs]#mkdir/mnt/mfs
[root@benberbamfs]#vimmfsmount.cfg
mfsmaster=mfsmaster
/mnt/mfs
[root@benberbamfs]#vim/etc/hosts
172.25.254.3mfsmaster
[root@benberbamfs]#mfsmount
mfsmasteracceptedconnectionwithparameters:
read-write,restricted_ip;rootmappedtoroot:
root
MFS测试:
在MFS挂载点下创建两个目录,并设置其文件å˜å‚¨ä»½æ•°
[root@benberbamfs]#cd/mnt/mfs/
[root@benberbamfs]#mkdirdir1
[root@benberbamfs]#mkdirdir2
[root@benberbamfs]#mfssetgoal-r2dir2设置在dir2ä¸æ–‡ä»¶å˜å‚¨ä»½æ•°ä¸ºä¸¤ä¸ª,默认是一个
[root@benberbamfs]#cp/etc/passwddir1
[root@benberbamfs]#cp/etc/passwddir2
查看文件信æ?
¯
[root@benberbamfs]#mfsfileinfodir1/passwd
dir1/passwd:
chunk0:
0000000000000001_00000001/(id:
1ver:
1)
copy1:
172.25.254.6:
9422
[root@benberbamfs]#mfsfileinfodir2/passwd
dir2/passwd:
chunk0:
0000000000000002_00000001/(id:
2ver:
1)
copy1:
172.25.254.5:
9422
copy2:
172.25.254.6:
9422
å…³é—mfschunkserver2å?
Žå†?
查看文件信æ?
¯ï¼ˆå?
³[root@vm6mfs]#mfschunkserverstop)
[root@benberbamfs]#mfsfileinfodir1/passwd
dir1/passwd:
chunk0:
0000000000000001_00000001/(id:
1ver:
1)
novalidcopies!
!
!
[root@benberbamfs]#mfsfileinfodir2/passwd
dir2/passwd:
chunk0:
0000000000000002_00000001/(id:
2ver:
1)
copy1:
172.25.254:
9422
å?
¯åŠ¨mfschunkserver2å?
Ž,文件回å¤?
æ£å¸¸ï¼ˆ[root@vm6mfs]#mfschunkserverstart)。
[root@benberbamfs]#mfsfileinfodir2/passwd
dir2/passwd:
chunk0:
0000000000000002_00000001/(id:
2ver:
1)
copy1:
172.25.254.5:
9422
copy2:
172.25.254.6:
9422
æ?
¢å¤?
è¯¯åˆ æ–‡ä»¶
[root@benberbamfs]#rm-fdir1/passwd
[root@benberbamfs]#mfsgettrashtimedir1/
dir1/:
86400
æ–‡ä»¶åˆ é™¤å?
Žå˜æ”¾åœ¨â€œåžƒåœ¾ç®±â€?
ä¸çš„时间称为隔离时间,这个时间å?
¯ä»¥ç”¨mfsgettrashtime命令æ?
¥æŸ¥
看,用mfssettrashtime命令æ?
¥è®¾ç½®,å?
•ä½?
为秒,默认为86400秒。
[root@benberbamfs]#mkdir/mnt/mfsmeta
[root@benberbamfs]#mfsmount-m/mnt/mfsmeta/-Hmfsmaster
mfsmasteracceptedconnectionwithparameters:
read-write,restricted_ip
[root@benberbamfs]#cd/mnt/mfsmeta/trash
[root@benberbatrash]#ls
00000004|dir1|passwdundel
[root@benberbatrash]#mv00000004\|dir1\|passwdundel/
到dir1目录ä¸å?
¯ä»¥çœ‹åˆ°passwd文件æ?
¢å¤?
[root@benberba~]#mfsfileinfo/mnt/mfs/dir1/passwd
/mnt/mfs/dir1/passwd:
chunk0:
0000000000000001_00000001/(id:
1ver:
1)
copy1:
172.25.254.6:
9422
在MFSMETA的目录里,除了trash和trash/undel两个目录,还有第三个目录reserved,该目
录内有已�
åˆ é™¤çš„æ–‡ä»¶,但å?
´è¢«å…¶ä»–用户一直打开ç?
€ã€‚在用户关é—了这些被打开的文件å?
Ž,
reserved目录ä¸çš„æ–‡ä»¶å°†è¢«åˆ é™¤,文件的数æ?
®ä¹Ÿå°†è¢«ç«‹å?
³åˆ 除。æ¤ç›®å½•ä¸?
能进行�
作
5.mfsmasterçƒå¤‡ï¼Œè§£å†³å?
•ç‚¹æ•…障解决方案:iscsi+pacemaker
(1).iscsiçš„é…?
ç½®
给虚拟机vm1åŠ ä¸€å?
—虚拟ç£?
盘
[root@vm1~]#fdisk-l
...
Disk/dev/vda:
8589MB,8589934592bytes
16heads,63sectors/track,16644cylinders
Units=cylindersof1008*512=516096bytes
Sectorsize(logical/physical):
512bytes/512bytes
I/Osize(minimum/optimal):
512bytes/512bytes
Diskidentifier:
0x00000000
把vdaå?
šæˆ?
逻辑å?
·ï¼Œä½œå‡ºlv0
[root@vm1~]#pvcreate/dev/vda
[root@vm1~]#vgcreatevg0/dev/vda
[root@vm1~]#lvcreate-L4G-nlv0vg0
安装iscsi�
务
[root@vm1~]#yuminstall-yscsi-target-utils.x86_64
[root@vm1~]#vim/etc/tgt/targets.conf
38server.demo>
39backing-store/dev/vg0/lv0
40initiator-address172.25.254.3#两å?
°mfsmasteræœ?
务器IP
41initiator-address172.25.254.4
42
43
[root@vm1~]#/etc/init.d/tgtdstart
StartingSCSItargetdaemon:
[OK]
在vm3上:
[root@vm3~]#mfsmasterstop
[root@vm3~]#yuminstall-yiscsi-initiator-utils.x86_64
[root@vm3~]#iscsiadm-mdiscovery-tst-p172.25.254.1
172.25.254.1:
3260,1iqn.2015-.example:
server.demo
[root@vm3~]#iscsiadm-mnode-l
Logginginto[iface:
default,target:
iqn.2015-.example:
server.demo,portal:
172.25.254.1,3260](multiple)
Loginto[iface:
default,target:
iqn.2015-.example:
server.demo,portal:
172.25.254.1,3260]successful.
[root@vm3~]#fdisk-l
...
Disk/dev/sdb:
4294MB,4294967296bytes
133heads,62sectors/track,1017cylinders
Units=cylindersof8246*512=4221952bytes
Sectorsize(logical/physical):
512bytes/512bytes
I/Osize(minimum/optimal):
512bytes/512bytes
Diskidentifier:
0x00000000
[root@vm3~]#mkfs.ext4/dev/sdb
mke2fs1.41.12(17-May-2010)
/dev/sdbisentiredevice,notjustonepartition!
Proceedanyway?
(y,n)y
Filesystemlabel=
OStype:
Linux
Blocksize=4096(log=2)
Fragmentsize=4096(log=2)
Stride=0blocks,Stripewidth=0blocks
262144inodes,1048576blocks
52428blocks(5.00%)reservedforthesuperuser
Firstdatablock=0
Maximumfilesystemblocks=1073741824
32blockgroups
32768blockspergroup,32768fragmentspergroup
8192inodespergroup
Superblockbackupsstoredonblocks:
32768,98304,163840,229376,294912,819200,884736
Writinginodetables:
done
Creatingjournal(32768blocks):
done
Writingsuperblocksandfilesystemaccountinginformation:
done
Thisfilesystemwillbeautomaticallycheckedevery30mountsor
180days,whichevercomesfirst.Usetune2fs-cor-itooverride.
[root@vm3~]#mount/dev/sdb/mnt/
[root@vm3~]#df
Filesystem1K-blocksUsedAvailableUse%Mountedon
/dev/mapper/VolGroup-lv_root69262641046356552806416%/
tmpfs25113602511360%/dev/shm
/dev/sda1495844334624367828%/boot
/dev/sdb412844813925637794804%/mnt
[root@vm3~]#cd/var/lib/mfs/
[root@vm3mfs]#ls
changelog.3.mfschangelog.5.mfsmetadata.mfs.