在Mfs 高可用集群的基础上,进行客户端的搭建,并且进行数据的写入和数据的删除,以及
数据的恢复。
进行软件的下载:
yum install moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm -y ###进行客户端软件的下载
进行解析的添加
vim /etc/hosts ###进行解析的添加
创建在真机挂载数据的目录并编辑配置文件
mkfir /mnt/mfs ###进行真及挂载目录的建立 vim /etc/mfs/mfsmount.cfg ###进行客户端配置文件的编辑
进行文件系统的挂载
mfsmount ###进行文件系统的挂载 df ###进行挂载情况的查看
进行数据的写入并进行块设备的查看
cd /mnt/mfs ###切换到挂载的Mfs目录中 mkdir dir1 dir2 ###进行测试文件夹的建立 mfsgetgoal dir1 ###查看文件被复制的份数 mfsgetgoal dir2 ###查看文件被复制的份数
修改dir1的备份文件数为1进行实验对比
mfssetgoal -r 1 dir1/ ###设定dir1文件备份的份数 mfsgetgoal ###进行备份文件份数的查看
在挂载文件系统中新建的测试目录中分别进行文件的写入(这里我们直接拷贝/etc/passwd文件)
cp /etc/passwd dir1/ ###进行文件的写入 cp /etc/passwd dir2/ ###进行文件的写入
进行写入文件信息的查看
mfsfileinfo passwd ###进行写入数据信息的查看
将chunkserver服务器进行关闭(server2),再次进行写入文件数据的查看
systemctl stop moosefs-chunkserver ###进行chunkserver服务的关闭 mfsfileinfo passwd ###进入写入文件数据的查看
结论:dir1中的备份只设定了一份,当我们进行数据的写入时,通过查看写入数据的信息,可以
看到该数据被存放在了server2的chunkserver端,dir2中的备份我们使用的时默认情况下的设定,
即备份数量为两份,通过查看写入的数据信息,可以看到该数据在server2和server3的chunkserver
个存储一份,当我们将server2中的chunkserver进行关闭时,进行写入数据查看时,这时就无法看到
dir1中的数据信息了,因为只有server2中的chunkserver存储了它写入的信息,而dir2中写入的数据
信息依然可以看到,这时因为dir2中的数据备份了两份,当server2中chunkserver关闭之后,在server3
中的chunkserver依然有该数据的信息。
当所写入的数据大于64M时候,mfs采用分块存储,即离散存储
进行数据的写入(写入的数据要求大于64M)
dd if=/dev/zero of=bigfile1 bs=1M count=200 ###进行文件的写入,写入大小为200M
进行写入数据的查看(开启server2的chunkserver服务)
mfsfileinfo bigfile1 ###进行写入数据信息的查看 mfsfileinfo bigfile2 ###进行写入数据信息的查看
结论:由于写入数据比较大,因此mfs采用分块进行存储,可以看到分成了四块,由于dir1中设定备份数据为2,以此分为四块
数据只有一份,(其中两份数据存储在server2两份数据存储在server3上),dir2中由于备份数据为2,因此写入的数据被分成
四块,server2进行存储,server3进行备份。
我们可以将dir1中的passwd进行删除测试
rm -rf passwd ###进行数据的删除 mfsgettrashtime . ###查看数据被删除后所保留的时间
进行数据的恢复:
mdkir /mnt/mfsmeta ###进行恢复数据目录的建立 mfsmount -m /mnt/mfsmeta ###进行数据恢复目录的挂载 cd /mnt/mfsmeta/trash ###进入到所有删除数据存放目录 find -name *name* ###进行删除数据的查找 mv ./004/00000004\|dir1\|passwd undel/ ###进行数据的恢复
mfs服务的不正常关闭的恢复
进行服务的异常退出(使用kill -9 进行服务的强制关闭)
ps ax | grep moosefs-master ###进行服务进程的查看 kill -9 16372 ###进行服务进程的强行关闭 systemctl status moosefs-master ###进行服务状态的查看
使用systemctl 命令进行再次启动
sustemctl start moosefs-master ###进行服务的启动
进行system配置文件的修改
vim /usr/lib/systemd/system/moosefs-master.service ###进行配置文件的编辑 systemctl start moosefs-master ###进行服务的再次启动 systemctl status moosefs-master ###进行服务状态的查看