JFS2 文件 rm 恢复。
时间:2009-01-06
来源:互联网
以下是 jfs2的,我没有写文件名的恢复,主要是解释起来太复杂,英文的,顺便收点钱。

jfs2 rm recovery.rar (3.53 KB)
阅读权限: 20
解压txt文件
作者: projects 发布时间: 2009-01-06
作者: zhangyi1201 发布时间: 2009-01-06
作者: LGHREADY 发布时间: 2009-01-06
作者: 哞哞牛 发布时间: 2009-01-06
作者: lichx123 发布时间: 2009-01-06

作者: wwrko 发布时间: 2009-01-06
作者: lambert_wu 发布时间: 2009-01-06

作者: dzq198536 发布时间: 2009-01-06

作者: yddll 发布时间: 2009-01-06
作者: ma.yu 发布时间: 2009-01-06
作者: 小菜鸟_2008 发布时间: 2009-01-06
作者: abit2007 发布时间: 2009-01-06
作者: redliquid 发布时间: 2009-01-06
作者: larryh 发布时间: 2009-01-06
作者: endlesssky 发布时间: 2009-01-06



作者: dfyskyorc 发布时间: 2009-01-06
16:42:27 root@ST-FREE:[/]#fsck /testjfs2
The current volume is: /dev/fslv01
Primary superblock is valid.
*** Phase 1 - Initial inode scan
*** Phase 2 - Process remaining directories
*** Phase 3 - Process remaining files
*** Phase 4 - Check and repair inode allocation map
File system inode map is corrupt; FIX? y
Superblock marked dirty because repairs are about to be written.
*** Phase 5 - Check and repair block allocation map
Inodes not connected to the root directory
tree have been detected. Will reconnect.
File system is clean.
Superblock is marked dirty; FIX? y
All observed inconsistencies have been repaired.
16:42:53 root@ST-FREE:[/]#mount /testjfs2
16:43:02 root@ST-FREE:[/]#cd /testjfs2
16:43:11 root@ST-FREE:[/testjfs2]#ls -lt
total 8
-rw-r--r-- 1 root system 4 Jan 06 16:35 test2
drwxr-xr-x 2 root system 256 Jan 06 16:32 lost+found
16:43:14 root@ST-FREE:[/testjfs2]#cd lost+found
16:44:08 root@ST-FREE:[/testjfs2/lost+found]#l
ksh: l: not found.
16:44:09 root@ST-FREE:[/testjfs2/lost+found]#ls
4
16:44:10 root@ST-FREE:[/testjfs2/lost+found]#cat 4
16:44:20 root@ST-FREE:[/testjfs2/lost+found]#ls -l
total 0
-rw-r--r-- 1 root system 0 Jan 06 16:34 4
16:44:26 root@ST-FREE:[/testjfs2/lost+found]#
作者: beginner-bj 发布时间: 2009-01-06
斥巨资买了,好好看看。鸟语不好真吃亏啊
你怎么学我说话啊

作者: 哞哞牛 发布时间: 2009-01-06
实验了一下,没成功啊,从fsck部分开始就不同了。
...
不会吧,我屡试屡成啊:
编辑一下,避免盗版结果了LZ的挣钱生意

- [43p150:root:/test2] l /setup/*07
- total 3000296
- ......
- -rw-r--r-- 1 root sys 98089984 Nov 27 2008 X11.fnt.ucs.ttf.5.3.0.5
- 0.U
- -rw-r--r-- 1 root sys 114598912 Nov 27 2008 X11.fnt.ucs.ttf_CN.5.3.
- 0.50.U
- -rw-r--r-- 1 root sys 15360 Nov 27 2008 X11.fnt.ucs.ttf_extb.5.
- 3.0.10.U
- -rw-r--r-- 1 root sys 7168 Nov 27 2008 X11.loc.en_US.Dt.rte.5.
- 3.0.60.U
- -rw-r--r-- 1 root sys 7094272 Nov 27 2008 X11.motif.lib.5.3.0.60.
- U
- -rw-r--r-- 1 root sys 193536 Nov 27 2008 X11.motif.mwm.5.3.7.0.U
- -rw-r--r-- 1 root sys 318464 Nov 27 2008 X11.samples.apps.aixcli
- ents.5.3.0.60.U
- [43p150:root:/test2] cp /setup/*07/X11.fnt.ucs.ttf_CN.5.3.0.50.U /setup/bbb
- [43p150:root:/test2] cp /setup/bbb .
- [43p150:root:/] rm test2/bbb
- [43p150:root:/] sync
- [43p150:root:/] umount /test2
- [43p150:root:/] fsdb /test2
-
- File System: /test2
-
- File System Size: 519768 (512 byte blocks)
- Aggregate Block Size: 4096
- Allocation Group Size: 8192 (aggregate blocks)
-
- > 重要操作
- Inode 2 at block 33, offset 0x400:
-
- [1] di_fileset: 16 [18] di_inostamp: 0x000ab676
- [2] di_number: 2 [19] di_gen: 1
- [3] di_size: 0x0000000000000100 [20] di_ixpxd.len: 4
- [4] di_nblocks: 0x0000000000000000 [21] di_ixpxd.addr1: 0x00
- [5] di_nlink: 3 [22] di_ixpxd.addr2: 0x00000021
- [6] di_mode: 0x000141ed di_ixpxd.address: 33
- 0040755 drwxr-xr-x [24] di_uid: 0
- [25] di_gid: 0
- [9] di_atime.tj_nsec: 0x392e4160 [26] di_atime.tj_sec:0x00000000000abe6f
- [10] di_ctime.tj_nsec: 0x1308e36b [27] di_ctime.tj_sec:0x00000000000ac18a
- [11] di_mtime.tj_nsec: 0x1308e36b [28] di_mtime.tj_sec:0x00000000000ac18a
- [12] di_otime.tj_nsec: 0x00000000 [29] di_otime.tj_sec:0x00000000000ab676
- [13] di_ea.flag: 0x00 [30] di_ea.len: 0
- EAv1 [31] di_ea.addr1: 0x00
- [15] di_ea.nEntry: 0x00 [32] di_ea.addr2: 0x00000000
- [16] di_ea.type: 0x0000 di_ea.address: 0
- [34] di_ea.nblocks: 0
- change_inode: [m]odify, [e]a, [t]ree, or e[x]it > 重要操作
- Root D-Tree Node of inode 2
-
- [1] flag 0x83 BT_ROOT BT_LEAF
- [2] nextindex 2
- [3] freecnt 6 Actual Free Count: 6
- [4] freelist 2 type 'f' to walk
- [5] idotdot 2
- stbl {3,1,1,0,0,0,0,0} type '#' for specific stbl entry
-
- Slots: next cnt type 's' to modify slot
- slot[1]: 0 0
- slot[2]: 4 1
- slot[3]: 0 0
- slot[4]: 5 1
- slot[5]: 6 1
- slot[6]: 7 1
- slot[7]: 8 1
- slot[8]: -1 1
- dtree: Hit enter to see entries, [h]ex dump, [u]p, [m]odify, [f]reelist,
- [s]lot, [#], or e[x]it: 重要操作
- Slot: Inum Next NamLen Name
- 00000000: 00000000 00000002 00000000 00000000 |................|
- 00000010: 83020602 00000000 03010100 00000000 |................|
- 00000020: 00000000 00000003 FF0A6C6F 73742B66 |..........lost+f|
- 00000030: 6F756E64 00000000 00000000 00000000 |ound............|
- 00000040: 04010000 00000006 FF036262 62000000 |..........bbb...|
- 00000050: 00000000 00000000 00000000 00000000 |................|
- 00000060: 00000000 00000004 FF036161 61000000 |..........aaa...|
- 00000070: 00000000 00000000 00000000 00000000 |................|
- 00000080: 05010000 00000000 00000000 00000000 |................|
- 00000090: 00000000 00000000 00000000 00000000 |................|
- 000000a0: 06010000 00000000 00000000 00000000 |................|
- 000000b0: 00000000 00000000 00000000 00000000 |................|
- 000000c0: 07010000 00000000 00000000 00000000 |................|
- 000000d0: 00000000 00000000 00000000 00000000 |................|
- 000000e0: 08010000 00000000 00000000 00000000 |................|
- 000000f0: 00000000 00000000 00000000 00000000 |................|
- -hit enter for more-
- 00000100: FF010000 00000000 00000000 00000000 |................|
- 00000110: 00000000 00000000 00000000 00000000 |................|
- dtree: Press [u]p, [#], or e[x]it > 重要操作
- > 重要操作
- Inode 6 at block 33, offset 0xc00:
-
- [1] di_fileset: 16 [18] di_inostamp: 0x000ab676
- [2] di_number: 6 [19] di_gen: 3232612811
- [3] di_size: 0x0000000006d4a400 [20] di_ixpxd.len: 4
- [4] di_nblocks: 0x0000000000006d4b [21] di_ixpxd.addr1: 0x00
- [5] di_nlink: 0 [22] di_ixpxd.addr2: 0x00000021
- [6] di_mode: 0x000081a4 di_ixpxd.address: 33
- 0100644 -rw-r--r-- [24] di_uid: 0
- [25] di_gid: 0
- [9] di_atime.tj_nsec: 0x36cc62c0 [26] di_atime.tj_sec:0x00000000000ac108
- [10] di_ctime.tj_nsec: 0x1308e36b [27] di_ctime.tj_sec:0x00000000000ac18a
- [11] di_mtime.tj_nsec: 0x2ae097d5 [28] di_mtime.tj_sec:0x00000000000ac122
- [12] di_otime.tj_nsec: 0x36cc62c0 [29] di_otime.tj_sec:0x00000000000ac108
- [13] di_ea.flag: 0x00 [30] di_ea.len: 0
- EAv1 [31] di_ea.addr1: 0x00
- [15] di_ea.nEntry: 0x00 [32] di_ea.addr2: 0x00000000
- [16] di_ea.type: 0x0000 di_ea.address: 0
- [34] di_ea.nblocks: 0
- change_inode: [m]odify, [e]a, [t]ree, or e[x]it > 最最最最最最重要操作
- Inode 6 at block 33, offset 0xc00:
-
- [1] di_fileset: 16 [18] di_inostamp: 0x000ab676
- [2] di_number: 6 [19] di_gen: 3232612811
- [3] di_size: 0x0000000006d4a400 [20] di_ixpxd.len: 4
- [4] di_nblocks: 0x0000000000006d4b [21] di_ixpxd.addr1: 0x00
- [5] di_nlink: 1 [22] di_ixpxd.addr2: 0x00000021
- [6] di_mode: 0x000081a4 di_ixpxd.address: 33
- 0100644 -rw-r--r-- [24] di_uid: 0
- [25] di_gid: 0
- [9] di_atime.tj_nsec: 0x36cc62c0 [26] di_atime.tj_sec:0x00000000000ac108
- [10] di_ctime.tj_nsec: 0x1308e36b [27] di_ctime.tj_sec:0x00000000000ac18a
- [11] di_mtime.tj_nsec: 0x2ae097d5 [28] di_mtime.tj_sec:0x00000000000ac122
- [12] di_otime.tj_nsec: 0x36cc62c0 [29] di_otime.tj_sec:0x00000000000ac108
- [13] di_ea.flag: 0x00 [30] di_ea.len: 0
- EAv1 [31] di_ea.addr1: 0x00
- [15] di_ea.nEntry: 0x00 [32] di_ea.addr2: 0x00000000
- [16] di_ea.type: 0x0000 di_ea.address: 0
- [34] di_ea.nblocks: 0
- change_inode: [m]odify, [e]a, [t]ree, or e[x]it > 重要操作
- > 重要操作
- [43p150:root:/] fsck -y /test2
-
-
-
- The current volume is: /dev/test2lv
- Primary superblock is valid.
- J2_LOGREDO:log redo processing for /dev/test2lv
- Primary superblock is valid.
- *** Phase 1 - Initial inode scan
- *** Phase 2 - Process remaining directories
- *** Phase 3 - Process remaining files
- *** Phase 4 - Check and repair inode allocation map
- File system inode map is corrupt (FIXED)
- Superblock marked dirty because repairs are about to be written.
- *** Phase 5 - Check and repair block allocation map
- Block allocation map is corrupt (FIXED)
- Inodes not connected to the root directory
- tree have been detected. Will reconnect.
- File system is clean.
- Superblock is marked dirty (FIXED)
- All observed inconsistencies have been repaired.
- [43p150:root:/] mount /test2
- [43p150:root:/] cd test2
- [43p150:root:/test2] l
- total 100488
- -rw-r--r-- 1 root system 51449856 Jan 09 11:44 aaa
- drwxr-xr-x 2 root system 256 Jan 09 11:05 lost+found
- [43p150:root:/test2] l l*
- total 324320
- -rw-r--r-- 1 root system 51449856 Jan 09 11:33 5
- -rw-r--r-- 1 root system 114598912 Jan 09 11:46 6
- [43p150:root:/test2] sum l*/6
- sum /setp/bbb
- 30070 111913 lost+found/6
- [43p150:root:/test2] sum /setup/bbb
- 30070 111913 /setup/bbb
- [43p150:root:/test2]
[ 本帖最后由 larryh 于 2009-1-6 18:17 编辑 ]
作者: larryh 发布时间: 2009-01-06
作者: beginner-bj 发布时间: 2009-01-06
作者: larryh 发布时间: 2009-01-06
作者: beginner-bj 发布时间: 2009-01-06
作者: zmd123 发布时间: 2009-01-06



作者: closer0206 发布时间: 2009-01-06
作者: projects 发布时间: 2009-01-06
咱们测试的机器都是没跑应用的,内存空闲得一塌糊涂,加上测试文件又小,sync间隔一般也是缺省的,除非运气好刚好在rm之前离上次sync 60秒,否则肯定那文件没真正写到硬盘,呵呵
这也就是为什么IBM的资料中,无论是snapshot, 还是log回滚都要求针对committed操作,否则无能为力。而且实际上在jfs2中还有个in-core i-node和block i-node,这类似于VGDA/VGSA,in-core i-node是block i-node的copy或buffer。
作者: myciciy 发布时间: 2009-01-06
作者: projects 发布时间: 2009-01-06
最近在研究vgda的layout,等告一段落后再通过fsdb来研究jfs2的layout。
作者: diyxyj 发布时间: 2009-01-06
这也就是为什么IBM的资料中,无论是snapshot, 还是log回滚都要求针对committed操作,否则无能为力。而且实际上在jfs2中还有个in-core i-node和block i-node,这类似于VGDA/VGSA,in-core i-node是block i-n ...
看到回滚,committed,发现oracle的ASSM和文件系统差不多啊,都是管理数据如何存放
redo相当于log,不过oracle有undo,对数据的恢复功能更强大
[ 本帖最后由 tenyears 于 2009-1-6 23:30 编辑 ]
作者: mike79 发布时间: 2009-01-06
这几天忙,抽空试验下
作者: tenyears 发布时间: 2009-01-06
看到回滚,committed,发现oracle的ASSM和文件系统差不多啊
redo相当于log,不过oracle有undo,对数据的恢复功能更强大
JFS无论1、2都是是 Journaled File System, Journaled就是log的意思, 作为文件系统也大可以把log关掉。logredo在JFS中类似于oracle中的undo(概念有所不同),但通常由fsck来调用,而不是人为操作以减少失误。
作者: lzolder 发布时间: 2009-01-06
本来想明天到公司用CD启动试一把,但还是算了吧,因为最近不能把太多的精力放到AIX上了,所以有兴趣的兄弟可以试试。
另外插个题外话:发现所有本地的文件系统的INODE都是2,没想明白是怎么回事。
作者: projects 发布时间: 2009-01-06
现在最大的问题就是:恢复文件时,要umount文件系统。这样假如/下有个文件被删了的话就不好恢复了。
本来想明天到公司用CD启动试一把,但还是算了吧,因为最近不能把太多的精力放到AIX上了,所以有兴趣的兄弟 ...
good thought。
因为一旦rm, 文件系统的directory i-node entry, inode, block都被释放了,umount 是为了防止系统或其他用户对该fs的操作造成数据覆盖。对于重要的文件,甚至乎把机器挂掉都在所不惜。
用CD倒是个好玩的事,不过机器启动一次都要好长时间,玩起来挺费时的。
2是个相对i-node位置或者逻辑位置,每个文件系统都有自己的2,3,4,5.....等等,这样可以扩大文件系统容量,在jfs中的2号(第三个)inode是这个fs的根目录inode, fsdb /filesystem 的时候都是从这个文件系统头开始的,所以一般看到的都是2。你大可以在fs umount的情况下ls -id /mountpoint. 这时的inode number 是不同的-----增加了偏移量,可以换算到实际物理位置。
[ 本帖最后由 projects 于 2009-1-7 09:42 编辑 ]
作者: beginner-bj 发布时间: 2009-01-07
作者: projects 发布时间: 2009-01-07

作者: projects 发布时间: 2009-01-07
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28