손실된 정보를 복구하세요

손실된 정보를 복구하세요

내 컴퓨터에 매우 중요한 정보가 포함된 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을 사용하십시오. 3TB의 데이터를 저장하려면 2개의 3TB 디스크가 필요하지만 그만한 가치가 있습니다. 물론. mdadmRAID 도구 세트를 사용하거나 LVM에서 직접 이 작업을 수행 할 수 있습니다 .

관련 정보