MooseFS 文件的删除恢复测试
1 制造数据
cd /mfs-test/sondir1/
echo "111111" > restore
2 删除数据
rm -rf restore
[root@mfsclient sondir1]# ls
test.txt
3 在元数据的挂载点查找
cd /mfs-meta/trash/
[root@mfsclient trash]# find ./ -name *restore*
./007/00000007|sondir1|.restore.swp
./008/00000008|sondir1|.restore.swpx
./009/00000009|sondir1|.restore.swp
./00A/0000000A|sondir1|restore
4 恢复数据
#每个目录下都有一个undel子目录,将回收站的数据拷贝到这个子目录,就可以恢复数据
mv ./00A/0000000A\|sondir1\|restore ./00A/undel/
5 验证
[root@mfsclient trash]# cat /mfs-test/sondir1/restore
111111
·
动态删除Chunkserver节点的单个HDD测试步骤
1 查看 Chunkserver 数(第三个节点是临时添加的)
2 查看文件详细信息(会发现两个副本分别在 128 和 129 上)
[root@mfsclient ~]# mfsfileinfo /mfs-test/sondir1/www.txt
/mfs-test/sondir1/www.txt:
chunk 0: 0000000000000058_00000001 / (id:88 ver:1)
copy 1: 172.168.30.128:9422 (status:VALID)
copy 2: 172.168.30.129:9422 (status:VALID)
3 标记删除 129 上的 HDD
vim /etc/mfs/mfshdd.cfg
#前面为*,表示标记为删除
*/mfs-data-129 199GiB
4 查看 cgi
当 MooseFS 集群中只有 128 和 129 两个 Chunkserver 节点时,标记删除 129 上的 HDD,会产生 endangered(危险的) 状态文件。这时增加一个新的 Chunkserver 节点,所有在 129 上的文件都会增加副本数为 3 个,产生 overgoal(过多的) 状态。
当 MooseFS 集群中只有 128、129、131 三个 Chunkserver 节点时,标记删除 129 上的 HDD,所有在 129 上的文件直接会增加副本数为 3 个,产生 overgoal(过多的) 状态。
当 cgi 上没有 endangered(危险的) 状态的文件时,就可以删除 129 上的 HDD 了。
也可以查看文件的详细信息:
[root@mfsclient ~]# mfsfileinfo /mfs-test/sondir1/www.txt
/mfs-test/sondir1/www.txt:
chunk 0: 0000000000000058_00000001 / (id:88 ver:1)
copy 1: 172.168.30.128:9422 (status:VALID)
copy 2: 172.168.30.129:9422 (status:MARKED FOR REMOVAL)
copy 3: 172.168.30.131:9422 (status:VALID)
5 删除 129 上的 HDD
vim /etc/mfs/mfshdd.cfg
#*/mfs-data-129 199GiB
6 查看 cgi
发现所有文件都正常,也没有 overgoal(过多的) 状态的文件。
也可以查看文件的详细信息:
[root@mfsclient ~]# mfsfileinfo /mfs-test/sondir1/www.txt
/mfs-test/sondir1/www.txt:
chunk 0: 0000000000000058_00000001 / (id:88 ver:1)
copy 1: 172.168.30.128:9422 (status:VALID)
copy 2: 172.168.30.131:9422 (status:VALID)
发现两个副本分别在 128 和 131 的 Chunkserver 节点上了。
·
PS: 当恢复 129 上的 HDD 后,副本又会恢复。如下:
#先在129上增加副本
[root@mfsclient ~]# mfsfileinfo /mfs-test/sondir1/www.txt
/mfs-test/sondir1/www.txt:
chunk 0: 0000000000000058_00000001 / (id:88 ver:1)
copy 1: 172.168.30.128:9422 (status:VALID)
copy 2: 172.168.30.129:9422 (status:VALID)
copy 3: 172.168.30.131:9422 (status:VALID)
#短暂的时间之后删除131上的副本
[root@mfsclient ~]# mfsfileinfo /mfs-test/sondir1/www.txt
/mfs-test/sondir1/www.txt:
chunk 0: 0000000000000058_00000001 / (id:88 ver:1)
copy 1: 172.168.30.128:9422 (status:VALID)
copy 2: 172.168.30.129:9422 (status:VALID)