Ubuntu
恢復失去的資訊
我在我的電腦上安裝了一個 LVM 儲存,裡面有非常重要的資訊
/HFT
。這是我安裝 LVM 儲存的方式:
sudo pvcreate /dev/sdb1 /dev/sdc1
sudo vgcreate VG /dev/sdb1 /dev/sdc1
sudo lvcreate -n LV -L 3T VG
sudo mkfs .ext3 /dev/VG/LG
(可能是.ext4
)mkdir /HFT
sudo mount /dev/VG/LG /HFT
在重新啟動之前,我得到了一個不錯的 3TB 儲存空間,我可以清楚地看到它
df -h
。現在,重新啟動電腦後,如果我 makedf -h
,我得到了┌─╼ [~] └╼ cd /dev autofs disk fuse i2c-11 input loop-control psaux sdb sg5 tty0 tty20 tty32 tty44 tty56 ttyS0 ttyS20 ttyS4 vboxdrvu vcsa3 block dm-0 fw0 i2c-12 kmsg mapper ptmx sdb1 sg6 tty1 tty21 tty33 tty45 tty57 ttyS1 ttyS21 ttyS5 vboxnetctl vcsa4 bsg dm-1 hidraw0 i2c-13 kvm mcelog ptp0 sdc sg7 tty10 tty22 tty34 tty46 tty58 ttyS10 ttyS22 ttyS6 vboxusb vcsa5 btrfs-control dm-2 hidraw1 i2c-14 lightnvm mei0 ptp1 sdd sg8 tty11 tty23 tty35 tty47 tty59 ttyS11 ttyS23 ttyS7 vcs vcsa6 bus dm-3 hidraw2 i2c-2 log mem pts sde shm tty12 tty24 tty36 tty48 tty6 ttyS12 ttyS24 ttyS8 vcs1 vfio cdrom dri hidraw3 i2c-3 loop0 memory_bandwidth random sdf snapshot tty13 tty25 tty37 tty49 tty60 ttyS13 ttyS25 ttyS9 vcs2 vga_arbiter cdrw drm_dp_aux0 hidraw4 i2c-4 loop1 mqueue rfkill sdg snd tty14 tty26 tty38 tty5 tty61 ttyS14 ttyS26 ubuntu-vg vcs3 vhci char dvd hpet i2c-5 loop2 net rtc sdh sr0 tty15 tty27 tty39 tty50 tty62 ttyS15 ttyS27 uhid vcs4 vhost-net console dvdrw hugepages i2c-6 loop3 network_latency rtc0 sg0 stderr tty16 tty28 tty4 tty51 tty63 ttyS16 ttyS28 uinput vcs5 vhost-vsock core ecryptfs hwrng i2c-7 loop4 network_throughput sda sg1 stdin tty17 tty29 tty40 tty52 tty7 ttyS17 ttyS29 urandom vcs6 zero cpu fb0 i2c-0 i2c-8 loop5 null sda1 sg2 stdout tty18 tty3 tty41 tty53 tty8 ttyS18 ttyS3 usb vcsa cpu_dma_latency fd i2c-1 i2c-9 loop6 port sda2 sg3 tpm0 tty19 tty30 tty42 tty54 tty9 ttyS19 ttyS30 userio vcsa1 cuse full i2c-10 initctl loop7 ppp sda3 sg4 tty tty2 tty31 tty43 tty55 ttyprintk ttyS2 ttyS31 vboxdrv vcsa2 ┌─╼ [/dev] └────╼ df -h Filesystem Size Used Avail Use% Mounted on udev 34G 0 34G 0% /dev tmpfs 6.7G 11M 6.7G 1% /run /dev/mapper/ubuntu--vg-root 151G 61G 83G 43% / tmpfs 34G 29M 34G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 34G 0 34G 0% /sys/fs/cgroup /dev/sda2 705M 401M 253M 62% /boot /dev/sda1 511M 4.7M 507M 1% /boot/efi tmpfs 6.7G 16K 6.7G 1% /run/user/121 tmpfs 6.7G 20K 6.7G 1% /run/user/1000 /home/infinity/.Private 151G 61G 83G 43% /home/infinity
現在,
/HFT
它仍然存在,但它是空的。我不知道我是否失去了一切。有沒有辦法恢復資訊?為什麼重新啟動電腦後整個過程會清除所有內容?將來不會再次發生此類錯誤的正確方法是什麼?
更新
sudo lvdisplay WARNING: Device for PV rat7TF-lEMd-U3Gi-29du-7Fn3-2bNC-9CVmqL not found or rejected by a filter. --- Logical volume --- LV Path /dev/VG/LV LV Name LV VG Name VG LV UUID Bm0ThM-KWDU-oyjm-F8Zt-NXdF-yyFO-2rvM9d LV Write Access read/write LV Creation host, time infinity-ThinkStation-D30, 2018-04-16 15:00:57 -0400 LV Status NOT available LV Size 3.00 TiB Current LE 786432 Segments 2 Allocation inherit Read ahead sectors auto --- Logical volume --- LV Path /dev/ubuntu-vg/root LV Name root VG Name ubuntu-vg LV UUID f1TYvS-XFq1-Z6Nu-iuXg-H95j-0XUN-8J4vi3 LV Write Access read/write LV Creation host, time ubuntu, 2017-11-14 13:28:06 -0500 LV Status available # open 1 LV Size 154.38 GiB Current LE 39522 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Path /dev/ubuntu-vg/swap_1 LV Name swap_1 VG Name ubuntu-vg LV UUID q2kHAa-Q3jc-8C1t-JQvi-PtTo-3KR4-zoNH2a LV Write Access read/write LV Creation host, time ubuntu, 2017-11-14 13:28:07 -0500 LV Status available # open 1 LV Size 67.92 GiB Current LE 17387 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
更新 2
┌─╼ [/] └────╼ fdisk -l /dev/sdc fdisk: cannot open /dev/sdc: Permission denied ┌─╼ [/] └╼ sudo fdisk -l /dev/sdc Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x9619624a Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 3907026943 3907024896 1.8T 7 HPFS/NTFS/exFAT
我嘗試執行 sudo mount
/dev/VG/LV /HFT
,但似乎無法正常工作。我遇到了問題mount: /HFT: special device /dev/VG/LV does not exist.
更新 3
root@infinity-ThinkStation-D30:/HFT# lvchange -ay --activationmode partial /dev/VG/LV PARTIAL MODE. Incomplete logical volumes will be processed. WARNING: Device for PV rat7TF-lEMd-U3Gi-29du-7Fn3-2bNC-9CVmqL not found or rejected by a filter. ┌─╼ [/HFT] └╼ sudo mount /dev/VG/LV /HFT mount: /HFT: can't read superblock on /dev/mapper/VG-LV.
這裡發生的事情是你沒有
/dev/sdc1
,其中包含一半的捲組VG
。沒有它,您將無法啟動VG
,這反過來意味著您無法訪問邏輯卷LV
。目前,您無法訪問您在
VG/LV
. 它可能儲存在失去的磁碟上,或者您可能很幸運並且足夠多的數據可能在存在的磁碟上。我建議您採取的非侵入性步驟:
- 關閉系統。仔細檢查磁碟的所有連接器
/dev/sdc
以確保其完全連接。重新開始。- 執行
fdisk -l /dev/sdc
以查看分區是否存在。- 查看
/etc/lvm/lvm.conf
是否有過濾器阻止訪問您的/dev/sdc1
. 忽略所有以 開頭的行#
。其餘的都不應該有一個提到filter
.除非其他一切都失敗了,否則我不建議您採取侵入性步驟:
- 跑
vgchange -ay /dev/VG --activationmode partial
這 ↑ ↑ 可能會破壞您的數據。另一方面,它可能會讓你恢復它。 2. 執行
mount -o ro,noload /dev/VG/LV /HFT
以掛載它可以找到的文件系統並查看是否存在任何數據。如果是,請將其複製到安全位置並重建 LVM 卷組。該掛載是只讀的,因此您將無法更改 LV 中的任何內容。順便說一句,如果您有重要數據,您可以做兩件事來減輕其潛在損失
- 定期進行自動備份。最好到一個單獨的位置。(我使用雲儲存提供商。)
- 使用 RAID 1 在兩個相同大小的磁碟上鏡像數據。您需要 2 個 3TB 磁碟來儲存 3TB 數據,但這是值得的。真的是這樣。您可以使用
mdadm
RAID 工具集或直接在 LVM 中執行此操作。