- 论坛徽章:
- 0
|
前几天作了个实验:
rootvg由hdisk0和hdisk1组成,没做镜像。现设定hdisk0完全损坏,要找回hdisk1上的数据(能够找回的),采用方法如下(jfs文件系统里成功了)
1、到另一台系统好的机器上,强行importvg
importvg -y aavg -f hdisk3
产生结果
PV Status: hdisk3 003252d2bf76fb4a PVACTIVE
0082584565b8fcd8 NONAME
2、把原hdisk0的pvid从vg中除去
reducevg -d aavg 0082584565b8fcd8(旧rootvg里的hdisk0的pvid)
3、smitty mklv 建立一个jfslog,注意要建在恢复的pv上,最好的办法就是在aavg上新建一个jfs文件系统,让系统自己生成jfslog文件
4、vi /etc/filesystems(手工加上要恢复的文件系统信息)
5、fsck -n /dev/lv 查lv
Superblock is marked dirty (NOT FIXED)
通常是报超级块问题
dd count=1 bs=4k skip=31 seek=1 if=/dev/lv of=/dev/lv 修复超级块
6、logform /dev/loglv00 修复jfs日志
7、mkdir /zzz 建立mount点
mount /zzz mount文件系统,至此数据找回
但是如果是jfs2文件系统,我尝试过用fsck -p /dev/lv 修复超级块,这样做以后mount上的文件系统里是空的,lost里也没有数据。但实际上数据并没有丢失,如果把hdisk1挂回原系统的话,就仍然能看到。我猜测应该是inode不同的原因,但在网上查了很久也没查到更进一步的资料,哪位兄弟有好的方法,请指教,谢谢。 |
|