MFS分布式文件系统(二)---被删除文件及意外宕机的恢复

目录

一、被删除文件的恢复

1、垃圾回收站

2、在客户端删除文件

 3、创建元数据目录

二、恢复意外挂掉的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)

MFS分布式文件系统(二)---被删除文件及意外宕机的恢复_第1张图片MFS分布式文件系统(二)---被删除文件及意外宕机的恢复_第2张图片

MFS分布式文件系统(二)---被删除文件及意外宕机的恢复_第3张图片

MFS分布式文件系统(二)---被删除文件及意外宕机的恢复_第4张图片

 注意:在实验室不用卸载/mnt/mfs

二、恢复意外挂掉的moosemaster 及 moosechunk

1、未正常关闭moosemaster导致服务启动失败的解决方法

正常关闭的时候,/var/lib/mfs目录中会产生metadata.mfs这个文件,这个文件是开启mfsmaster服务时必备的文件。如果没有该文件,那么mfsmaster服务也就起不来。

正常开启的时候,/var/lib/mfs目录中就会产生metadata.mfs.back这个文件。

 解决方法1:

-a 自动读取/var/lib/mfs 目录底下的元数据信息,帮我们进行恢复

MFS分布式文件系统(二)---被删除文件及意外宕机的恢复_第5张图片

 解决方法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 

 MFS分布式文件系统(二)---被删除文件及意外宕机的恢复_第6张图片

 如果执行以上操作后,服务还是不能启动,我们就用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
服务成功启动

你可能感兴趣的:(linux,centos,运维)