让虚拟机联网:
真机中:iptables -t nat -I POSTROUTING -s 172.25.70.0/24 -j MASQUERADE
官网下载mfs:
https://moosefs.com/download/
server1中:【企业7版本】
curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo
yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli #下载会不成功
cd /etc/yum.repos.d/
ls
vim MooseFS.repo
gpgcheck=0 #不检测
yum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-cli #再次下载成功
把仓库传个2、3
scp MooseFS.repo server2:/etc/yum.repos.d/
scp MooseFS.repo server3:/etc/yum.repos.d/
在2、3上安装moosefs-chunkserver
yum install moosefs-chunkserver
server1:
cd /etc/mfs/
systemctl start moosefs-master #master会开启三个端口(9419、9420、9421)
ps ax #看master的进程是否开启
netstat -antlp #查看端口
server2:
cd /etc/mfs/ 【主配置文件(mfschunkserver.cfg)的路径】
#mfschunkserver.cfg默认连接的端口是9420
vim /etc/hosts
#给server1添加解析:172.25.70.1 server1 mfsmaster 【所有节点都要有解析】
server1:
vim /etc/hosts
#给server1添加解析:172.25.70.1 server1 mfsmaster
systemctl start moosefs-cgiserv.service #端口为9425
网页:172.25.70.1:9425 [自带了ui界面]
把chunkserver的数据也加进刚才的网页里面
server2:
cd /etc/mfs/
mkdir /mnt/chunk1
#在这个目录里最好挂一个磁盘,可以存储,【之后存储的话加个硬盘加个目录】
ll
ll -d /mnt/chunk1/
vim /etc/mfs/mfshdd.cfg
#文件里面主要告诉我们chunkserver要把数据存到那个点上
#最后一行添加 /mnt/chunk1
chown mfs.mfs /mnt/chunk1/ #这个目录是以mfs用户写的,要有权限
ll -d /mnt/chunk1/
systemctl start moosefs-chunkserver
server1:
netstat -antlp #可以看到server2上默认连的是9420
测试:连上以后在网页上也可以看到server2
server3:
vim /etc/hosts
#给server1添加解析:172.25.70.1 server1 mfsmaster
mkdir /mnt/chunk2
chown mfs.mfs /mnt/chunk2/
vim mfshdd.cfg
#最后一行添加 /mnt/chunk2
systemctl start moosefs-chunkserver
cd /mnt/chunk2/ #创建了256的子目录,为了方便定位(因为是一个分布式文件系统)
ls
ls | wc -l
测试:连上以后在网页上也可以看到server3
客户端(真机中):【企业8】
curl "http://ppa.moosefs.com/MooseFS-3-el8.repo" > /etc/yum.repos.d/MooseFS.repo
cd /etc/yum.repos.d/
ls
vim MooseFS.repo
gpgcheck=0 #不检测,不然会下载客户端失败
yum install moosefs-client #下载客户端
vim /etc/hosts
#给server1添加解析:172.25.70.1 server1 mfsmaster #连接的时候也是连解析的
ping mfsmaster #ping的时候是server1主机ip没有问题
vim /etc/mfs/mfsmount.cfg
#最后一行添加:/mnt/mfs
**在/mnt目录下创建一个mfs【!注意:mfs目录一点要是空的】
mkdir /mnt/mfs
cd /mnt/mfs/
ls
cd
mfsmount
#会自动读取刚才写到/etc/mfs/mfsmount.cfg下的配置文件,然后把分布式文件系统mfs挂接到/mnt/mfs/下
df #可以看到客户端会访问master,也就是说9421端口是连接客户端的
cd /mnt/mfs/
mkdir dir1
mkdir dir2
cd dir1/
#创建目录的时候默认文件的副本数是2,默认分布式文件的副本数是3
【当前实验只有两个chunkserver。所以副本数最多是2】
ls
cp /etc/passwd . #passwd文件复制到dir1上
cd ..
#副本个数在客户端是可以控制的
mfsgetgoal dir1/
mfsgetgoal dir2/
mfssetgoal -r 1 dir1/ #把dir1的副本改为1
mfsgetgoal dir1
mfsgetgoal dir2
ls
mfsfileinfo passwd
#可以看到文件信息【文件在存的时候是一个副本,在3上】
cd ..
cd dir2/
ls
cp /etc/fstab .
ls
mfsfileinfo fstab
#可以看到文件信息【文件在存的时候是2个副本,在2和3上】
#整个分布式文件系统最重要的是master
在server3上:
systemctl stop moosefs-chunkserver
客户端中:
cd dir1
mfsfileinfo passwd #访问不了,没有可用拷贝
cd ..
cd dir2
mfsfileinfo fstab #访问只有一份
在server3上:
systemctl start moosefs-chunkserver
开启之后客户端上都恢复了