目录
1.实验环境部署
MFS:分布式存储,相当于网盘,MFS没有数据挖掘
MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
1.部署MFS客户端:
Download current version of MooseFS | MooseFS Distributed File System
cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ls
dvd.repo MooseFS.repo redhat.repo
[root@server1 yum.repos.d]# vim MooseFS.repo
yum install moosefs-client
2.部署服务端:
1)部署master节点:
cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ls
dvd.repo MooseFS.repo redhat.repo
[root@server1 yum.repos.d]# vim MooseFS.repo
yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli
安装master cgi自带的图形界面 cli命令行
添加解析
192.168.78.129 localhost
192.168.78.128 server1 mfsmaster
192.168.78.130 server2
192.168.78.131 server3
3)设定master和cgi server开机自启,启动以后会产生三个端口:9424是cgi server的端口,
9419,9420,9421是master启动后的端口
访问192.168.78.128:9425
2)部署存储节点:
在server1上: scp MooseFS.repo server2:/etc/yum.repos.d/
scp MooseFS.repo server3:/etc/yum.repos.d/
在server2和server3上安装chunkserver
yum install moosefs-chunkserver
cd /etc/mfs
vim mfshdd.cfg
mkdir /mnt/chunk1
chown mfs.mfs /mnt/chunk1/ 让mfs对/mnt/chunk1可写
systemctl enable --now moosefs-chunkserver 设定开机自启
netstat -antlp 查看chunkserver的端口9422
访问192.168.78.128:9425
在server3上重复server2上的操作:
访问192.168.78.128:9425
2.MFS分布式热扩容
在客户端:
[root@localhost ~]# cd /etc/mfs/
[root@localhost mfs]# ls
mfsmount.cfg mfsmount.cfg.sample
[root@localhost mfs]# vim mfsmount.cfg
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
[root@localhost mnt]# mkdir mfs
[root@localhost mnt]# cd /etc/mfs/
[root@localhost mfs]# ls
mfsmount.cfg mfsmount.cfg.sample
[root@localhost mfs]# mfsmount
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@localhost ~]# cd /mnt/mfs/
[root@localhost mfs]# ls
[root@localhost mfs]# mkdir dir1
[root@localhost mfs]# mkdir dir2
[root@localhost mfs]# ls
dir1 dir2
[root@localhost mfs]# mfsgetgoal dir1/ 表示写数据的时候保存两份
dir1/: 2
[root@localhost mfs]# mfsgetgoal dir2/
dir2/: 2
[root@localhost mfs]# mfssetgoal -r 1 dir1/ 把dir1的数据改成一份
dir1/:
inodes with goal changed: 1
inodes with goal not changed: 0
inodes with permission denied: 0
[root@localhost mfs]# mfsgetgoal dir2/ 有两个chunkserver,所以是两份
dir2/: 2
[root@localhost mfs]# cd dir1
[root@localhost dir1]# ls
[root@localhost dir1]# cp /etc/passwd .
[root@localhost dir1]# mfsfileinfo passwd
passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 192.168.78.131:9422 (status:VALID)
[root@localhost dir1]# cd ..
[root@localhost mfs]# cd dir2
[root@localhost dir2]# cp /etc/fstab .
[root@localhost dir2]# mfsfileinfo fstab
fstab:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 192.168.78.130:9422 (status:VALID)
copy 2: 192.168.78.131:9422 (status:VALID)
在server3上 停掉chunkserver: systemctl stop moosefs-chunkserver
在客户端:
再次start,会再次起来:systemctl start moosefs-chunkserver