恢复丢失的信息

恢复丢失的信息

我在计算机上安装了 LVM 存储,里面有非常重要的信息/HFT

这是我安装 LVM 存储的方式:

  1. sudo pvcreate /dev/sdb1 /dev/sdc1
  2. sudo vgcreate VG /dev/sdb1 /dev/sdc1
  3. sudo lvcreate -n LV -L 3T VG
  4. sudo mkfs .ext3 /dev/VG/LG(可能.ext4
  5. mkdir /HFT
  6. sudo mount /dev/VG/LG /HFT

在重新启动之前,我得到了一个不错的 3TB 存储空间,我可以通过df -h.现在,重新启动计算机后,如果我执行df -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.

答案1

这里发生的情况是您没有/dev/sdc1,其中包含一半的卷组VG。如果没有它,您将无法激活VG,这又意味着您无法访问逻辑卷LV

目前您无法访问您在 上的任何数据VG/LV。它可能存储在丢失的磁盘上,或者您可能很幸运,并且现有的磁盘上可能有足够的内容。

我建议您采取的非侵入性步骤:

  1. 关闭系统电源。仔细检查磁盘的所有连接器/dev/sdc,确保其完全连接。重新开始。
  2. 运行fdisk -l /dev/sdc以查看分区是否存在。
  3. 查看/etc/lvm/lvm.conf是否有过滤器阻止访问您的/dev/sdc1.忽略所有以 开头的行#。其余的都不应该有提到 的关键字filter

除非其他一切都失败了,否则我不建议您采取侵入性步骤:

  1. 跑步vgchange -ay /dev/VG --activationmode partial

    此 ↑ ↑ 可能会破坏您的数据。另一方面,它可能会让你恢复它。

  2. 运行mount -o ro,noload /dev/VG/LV /HFT以挂载它可以找到的文件系统并查看是否存在任何数据。如果是,请将其复制到安全位置并重建 LVM 卷组。该安装是只读的,因此您无法更改 LV 中的任何内容。


顺便说一句,如果您有重要数据,您可以采取两件事来减轻其潜在损失

  1. 定期进行自动备份。最好是到一个单独的位置。 (我使用云存储提供商。)
  2. 使用 RAID 1 在两个相同大小的磁盘之间镜像数据。您需要 2 个 3TB 磁盘来存储 3TB 数据,但这是值得的。确实如此。您可以使用mdadmRAID 工具集或直接在 LVM 中执行此操作。

相关内容