This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
unix:lvm_recovery [2012/02/11 23:33] robm [Finding the ext4 file-system] |
unix:lvm_recovery [2013/05/14 10:36] robm [Getting my data back] |
||
---|---|---|---|
Line 546: | Line 546: | ||
Error writing block 3226742528 (Invalid argument). | Error writing block 3226742528 (Invalid argument). | ||
</ | </ | ||
+ | |||
+ | Using my [[https:// | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # head vg_scratch-snap.log | ||
+ | OK / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | BAD / | ||
+ | </ | ||
+ | |||
+ | Obviously the " | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # cut -d' ' -f9- ./ | ||
+ | 22 origin 231936 | ||
+ | 19 origin 0 | ||
+ | 1 origin 880602744320 | ||
+ | 1 origin 8802304 | ||
+ | 1 origin 8790016 | ||
+ | 1 origin 8679424 | ||
+ | 1 origin 8667136 | ||
+ | 1 origin 8556544 | ||
+ | 1 origin 8544256 | ||
+ | 1 origin 8433664 | ||
+ | </ | ||
+ | |||
+ | As above, I mounted this on a loop back device and ran '' | ||
+ | |||
+ | On the advice of [[http:// | ||
+ | |||
+ | < | ||
+ | mke2fs -S /dev/loop0 | ||
+ | </ | ||
+ | |||
+ | followed by '' | ||
+ | |||
+ | ===== Lowering IO and CPU scheduling priority of fsck ===== | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # ps fo pid, | ||
+ | PID %MEM %CPU CMD | ||
+ | 19540 0.0 0.0 -bash | ||
+ | 19666 0.0 0.0 \_ sudo su | ||
+ | 19667 0.0 0.0 \_ su | ||
+ | 19675 0.0 0.0 \_ bash | ||
+ | 20181 0.0 0.0 \_ fsck /dev/loop0 -y | ||
+ | 20182 49.4 86.8 \_ fsck.ext2 -y /dev/loop0 | ||
+ | </ | ||
+ | |||
+ | To keep my system usable I lowered the IO and CPU priority of '' | ||
+ | |||
+ | < | ||
+ | root@Ikari: | ||
+ | </ | ||
+ | |||
+ | Then raise the " | ||
+ | |||
+ | < | ||
+ | root@Ikari: | ||
+ | 20182 (process ID) old priority 0, new priority 10 | ||
+ | </ | ||
+ | |||
+ | ===== Adding more swap to my system ===== | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # free -m | ||
+ | | ||
+ | Mem: 5969 | ||
+ | -/+ buffers/ | ||
+ | Swap: | ||
+ | </ | ||
+ | |||
+ | I was concerned to see that 50% of my swap was in use. I don't know how long '' | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # lsblk | ||
+ | NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||
+ | loop0 | ||
+ | sda | ||
+ | ├─sda1 | ||
+ | ├─sda2 | ||
+ | └─sda5 | ||
+ | sdb | ||
+ | ├─sdb1 | ||
+ | ├─sdb2 | ||
+ | └─sdb5 | ||
+ | sr0 11:0 1 1024M 0 rom | ||
+ | sr1 11:1 1 1024M 0 rom | ||
+ | sde | ||
+ | └─sde1 | ||
+ | ├─vg_scratch-home_zfs (dm-0) | ||
+ | ├─vg_scratch-lv_scratch-real (dm-3) 252:3 0 894.3G | ||
+ | │ ├─vg_scratch-lv_scratch (dm-2) | ||
+ | │ └─vg_scratch-snap (dm-1) | ||
+ | ├─vg_scratch-snap-cow (dm-4) | ||
+ | │ └─vg_scratch-snap (dm-1) | ||
+ | └─vg_scratch-photorec (dm-5) | ||
+ | </ | ||
+ | |||
+ | It's probably ''/ | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # file -Ls /dev/sdb5 | ||
+ | /dev/sdb5: no read permission | ||
+ | |||
+ | # meermanr@Ikari:/ | ||
+ | # sudo !! | ||
+ | sudo file -Ls /dev/sdb5 | ||
+ | [sudo] password for meermanr: | ||
+ | /dev/sdb5: Linux/i386 swap file (new style), version 1 (4K pages), size 1048063 pages, no label, UUID=d0bbff73-a09a-47f6-8387-e27268cdc9fc | ||
+ | </ | ||
+ | |||
+ | Great! Let's enable it! | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # sudo swapon /dev/sdb5 | ||
+ | </ | ||
+ | |||
+ | And verify: | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # lsblk | grep SWAP | ||
+ | └─sda5 | ||
+ | └─sdb5 | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # meermanr@Ikari:/ | ||
+ | # free -m | ||
+ | | ||
+ | Mem: 5969 | ||
+ | -/+ buffers/ | ||
+ | Swap: 10234 | ||
+ | </ | ||
+ | |||
+ | ===== Extending the snapshot volume ===== | ||
+ | |||
+ | < | ||
+ | # lvdisplay / | ||
+ | |||
+ | --- Logical volume --- | ||
+ | LV Name / | ||
+ | VG Name vg_scratch | ||
+ | LV UUID 4EFJ8Y-bzWT-aif4-MlT9-4234-aS1d-qcipq0 | ||
+ | LV Write Access | ||
+ | LV snapshot status | ||
+ | LV Status | ||
+ | # open 1 | ||
+ | LV Size 894.27 GiB | ||
+ | Current LE | ||
+ | COW-table size 9.63 GiB | ||
+ | COW-table LE 2335 | ||
+ | Allocated to snapshot | ||
+ | Snapshot chunk size 4.00 KiB | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | </ | ||
+ | |||
+ | As it happens, I had not allocated all of the volume group: | ||
+ | |||
+ | < | ||
+ | root@Ikari: | ||
+ | VG #PV #LV #SN Attr VSize VFree | ||
+ | vg_scratch | ||
+ | </ | ||
+ | |||
+ | So extending the snapshot is easy: | ||
+ | |||
+ | < | ||
+ | root@Ikari: | ||
+ | </ | ||
+ | |||
+ | Verify: | ||
+ | |||
+ | < | ||
+ | # lvdisplay / | ||
+ | --- Logical volume --- | ||
+ | LV Name / | ||
+ | VG Name vg_scratch | ||
+ | LV UUID 4EFJ8Y-bzWT-aif4-MlT9-4234-aS1d-qcipq0 | ||
+ | LV Write Access | ||
+ | LV snapshot status | ||
+ | LV Status | ||
+ | # open 1 | ||
+ | LV Size 894.27 GiB | ||
+ | Current LE | ||
+ | COW-table size 18.63 GiB <-- Has increased | ||
+ | COW-table LE | ||
+ | Allocated to snapshot | ||
+ | Snapshot chunk size 4.00 KiB | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | </ | ||
+ |