目录
二、恢复意外挂掉的moosemaster 及 moosechunk
1、未正常关闭moosemaster导致服务启动失败的解决方法
2、未正常关闭moosechunk导致服务启动失败的解决方法
一、被删除文件的恢复
1、垃圾回收站
被删除的文件能够存放在“ 垃圾箱”的时间就是一个隔离时间,用mfsgettrashtime 命令查看,用mfssettrashtime 命令来设置
2、在客户端删除文件
[root@foundation51 dir2]# ls
fstab hosts
[root@foundation51 dir2]# rm -rf hosts
[root@foundation51 dir2]# ls
fstab
3、创建元数据目录
删除文件可以通过一个单独安装MFSMETA 文件系统。特别是它包含目录/ trash (包含任然可以被还原的被删除文件的信息)和/ trash/undel (用于获取文件)。只有管理员有权限访问MFSMETA(用户的uid 0,通常是root)
注意:在实验室不用卸载/mnt/mfs
二、恢复意外挂掉的moosemaster 及 moosechunk
1、未正常关闭moosemaster导致服务启动失败的解决方法
在正常关闭的时候,/var/lib/mfs目录中会产生metadata.mfs这个文件,这个文件是开启mfsmaster服务时必备的文件。如果没有该文件,那么mfsmaster服务也就起不来。
在正常开启的时候,/var/lib/mfs目录中就会产生metadata.mfs.back这个文件。
解决方法1:
-a 自动读取/var/lib/mfs 目录底下的元数据信息,帮我们进行恢复
解决方法2:
用systemed的方式来解决这种这种问题
[root@mfs1 ~]# vim /usr/lib/systemd/system/moosefs-master.service
[root@mfs1 ~]# systemctl daemon-reload
[root@mfs1 ~]# systemctl start moosefs-master
[root@mfs1 ~]# systemctl status moosefs-master
/usr/lib/systemd/system目录自动存放启动文件的配置位置,里面一般包含有XXXXX.service
如果执行以上操作后,服务还是不能启动,我们就用netstat -antlp 查看moosefs-master服务进程,然后kill -9杀掉进程后,重新开启服务。
2、未正常关闭moosechunk导致服务启动失败的解决方法
mfschunkserver start
open files limit has been set to: 16384
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
setting glibc malloc arena max to 4
setting glibc malloc arena test to 4
initializing mfschunkserver modules ...
hdd space manager: can't create lock file '/mnt/chunk1/.lock': EACCES (Permission denied)
hdd space manager: no hdd space defined in etc/mfs/mfshdd.cfg file
init: hdd space manager failed !!!
error occurred during initialization - exiting
# 硬盘空间管理器:不能创建锁文件 /mnt/chunk1 (权限拒绝)
# hdd空间管理器:没有在/etc/mfs/mfshdd.cfg文件中定义的hdd空间
# init:硬盘空间管理器失败
# 检查配置文件
cat /etc/mfs/mfshdd.cfg
/mnt/chunk1
# 查看挂载点目录的文件用户和属组
ls -ld /mnt/chunk1
drwxr-xr-x 3 root root 4096 Sep 11 18:08 /mnt/chunk1
# 将该目录的归属设为mfs用户和组
chown -R mfs.mfs /mnt/chunk1
ls -ld /mnt/chunk1
drwxr-xr-x 3 mfs mfs 4096 Sep 11 18:08 /mnt/chunk1
mfschunkserver start
服务成功启动