서버문제가생겨 부팅안되서 sysrcd복구하려는데 LVM 파티션 mount를 어떻게해야할까요?

 

밑에와같이 명령어 해봤고 메세지가 뜨는데요

/dev/vg/root  이걸 마운트해야하는데 어떻게해야할까요?

 

 

root@sysresccd /dev % lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   1.8T  0 disk 
sdb      8:16   0   1.8T  0 disk 
├─sdb1   8:17   0     2M  0 part 
├─sdb2   8:18   0   250M  0 part 
└─sdb3   8:19   0   1.8T  0 part 
loop0    7:0    0 275.1M  0 loop /livemnt/squashfs

 

root@sysresccd /mnt % pvscan
  WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
  Couldn't find device with uuid 3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
  PV unknown device   VG vg   lvm2 [1.82 TiB / 0    free]
  PV /dev/sdb3        VG vg   lvm2 [1.82 TiB / 4.00 MiB free]
  Total: 2 [3.64 TiB] / in use: 2 [3.64 TiB] / in no VG: 0 [0   ]

 

root@sysresccd /mnt % vgscan
  WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
  Reading all physical volumes.  This may take a while...
  Couldn't find device with uuid 3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
  Found volume group "vg" using metadata type lvm2

 

 

root@sysresccd /mnt % lvscan      
  WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
  Couldn't find device with uuid 3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
  inactive          '/dev/vg/swap' [15.75 GiB] inherit
  inactive          '/dev/vg/tmp' [1.00 GiB] inherit
  inactive          '/dev/vg/root' [3.62 TiB] inherit

 

 

root@sysresccd / % vgchange -ay /dev/vg/root
  WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
  Invalid volume group name: vg/root
  Run `vgchange --help' for more information.
 

  • Lv37

    디스크 2개가 각각 1.8TB씩인데 /dev/vg/root 용량이 3.6TB라면 2개의 디스크를 RAID 0 또는 JBOD로 묶어서 사용하고 계셨다는 뜻인 것 같은데요... 이 상태에서 둘 중 하나라도 고장나면 볼륨 전체를 못쓰게 됩니다. 이중화하지 않고 단순히 용량만 합치는 방식이니까요. 혹시 어떤 방식이었는지 기억하고 계신가요?

     

    현재 sda가 고장나서 나머지 절반을 불러오지 못하는 상황이 의심됩니다.

  • Lv37 ? Lv1

    먼저 답변해주셔 감사합니다  ^^;;

    제가 기진곰님처럼 경험많은거아니여서 정확하진않지만

     

    제기억으로

    2T*2 달린 서버호스팅인데요

     

    처음엔 세팅자체가  2T 1개로 쓰다가

     

    추가로 제가

    용량이부족해서  lvm 방식 이용해 추가로

    1개 2T 하드디스크를  같이 쓰게 된건데요 

     

    밑에와같이 명령어를 써봤는데 

    제 추측은 베드섹터는아니고요

     

    smartctl 로 해보니 정상으로 나왔고요

     

    부팅관련 시스템 LMV 파일에 문제가 생긴듯해요

     

    혹시 밑에와같은 명령어로 하면  원본시스템 더 문제가 생길까요?

     

    현재  오리지날 시스템은 centos7 이고요 

    부팅관련 문제있어서  SYSRCD로 서버접속했습니다

     

    ===할까말까 제가 고민중인 명령어들\==========

    sudo pvremove --uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P

    #  남은 정상 PV(/dev/sdb3)로 VG 재구성
    sudo vgreduce --removemissing vg
    sudo vgchange -ay vg

     

    #  만약 /dev/sdb1이 물리적으로 존재한다면 UUID 재할당
    sudo pvcreate --uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P --restorefile /etc/lvm/archive/vg_*.vg /dev/sdb1

    #  LVM 메타데이터 복구
    vgcfgrestore vg

    vgcfgbackup vg

     

    ==========제가 시도해본 명령어 결과모음입니다===============================


    [root@sysrescue /mnt/vgroot]# lsblk -f
    NAME   FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
    loop0  squashfs    4.0                                                         0   100% /run/archiso/sfs/airootfs
    sda                                                                                     
    sdb                                                                                     
    ├─sdb1                                                                                  
    ├─sdb2 ext2        1.0            85c95f39-d56e-429d-8f50-8cf71fe22f56                  
    └─sdb3 LVM2_member LVM2 001       KxSlop-f7or-q8Ht-1c26-dNY8-eMT8-32KCT1        

     

    [root@sysrescue /mnt/vgroot]# blkid
    /dev/sdb2: UUID="85c95f39-d56e-429d-8f50-8cf71fe22f56" BLOCK_SIZE="1024" TYPE="ext2" PARTUUID="000a8055-02"
    /dev/sdb3: UUID="KxSlop-f7or-q8Ht-1c26-dNY8-eMT8-32KCT1" TYPE="LVM2_member" PARTUUID="000a8055-03"
    /dev/loop0: TYPE="squashfs"

     

    [root@sysrescue /mnt/vgroot]# parted /dev/sdb print
    Model: ATA TOSHIBA DT01ACA2 (scsi)
    Disk /dev/sdb: 2000GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: msdos
    Disk Flags: 

    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  3146kB  2097kB  primary
     2      3146kB  265MB   262MB   primary  ext2         boot
     3      265MB   2000GB  2000GB  primary               lvm

     

     

    [root@sysrescue /mnt/vgroot]# fdisk -l /dev/sdb
    Disk /dev/sdb: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
    Disk model: TOSHIBA DT01ACA2
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: dos
    Disk identifier: 0x000a8055

    Device     Boot  Start        End    Sectors  Size Id Type
    /dev/sdb1         2048       6143       4096    2M 83 Linux
    /dev/sdb2  *      6144     518143     512000  250M 83 Linux
    /dev/sdb3       518144 3907029167 3906511024  1.8T 8e Linux LVM

     

     

    [root@sysrescue /mnt/vgroot]# parted /dev/sda print
    Error: /dev/sda: unrecognised disk label
    Model: ATA TOSHIBA DT01ACA2 (scsi)                                        
    Disk /dev/sda: 2000GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: unknown

    [root@sysrescue /mnt/vgroot]# ls -alth /etc/lvm/archive/
    total 8.0K
    drwxr-xr-x 1 root root   80 Apr  6 14:55 .
    -rw------- 1 root root 2.5K Apr  6 14:55 vg_00001-1823016.vg
    -rw------- 1 root root 2.6K Apr  6 14:52 vg_00000-398518206.vg


    [root@sysrescue /mnt/vgroot]# pvdisplay
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      WARNING: VG vg is missing PV  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P (last written to /dev/sdb1).
      --- Physical volume ---
      PV Name               [unknown]
      VG Name               vg
      PV Size               <1.82 TiB / not usable 4.00 MiB
      Allocatable           yes (but full)
      PE Size               4.00 MiB
      Total PE              476931
      Free PE               0
      Allocated PE          476931
      PV UUID                3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P
       
      --- Physical volume ---
      PV Name               /dev/sdb3
      VG Name               vg
      PV Size               <1.82 TiB / not usable <4.09 MiB
      Allocatable           yes 
      PE Size               4.00 MiB
      Total PE              476868
      Free PE               1
      Allocated PE          476867
      PV UUID               KxSlop-f7or-q8Ht-1c26-dNY8-eMT8-32KCT1

     

     

    [root@sysrescue /mnt/vgroot]# lvdisplay
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      WARNING: VG vg is missing PV  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P (last written to /dev/sdb1).
      --- Logical volume ---
      LV Path                /dev/vg/swap
      LV Name                swap
      VG Name                vg
      LV UUID                v7B0G3-52jY-UHVX-Uefv-y1ac-lYKf-1J5kM0
      LV Write Access        read/write
      LV Status              NOT available (partial)
      LV Size                15.75 GiB
      Current LE             4032
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
       
      --- Logical volume ---
      LV Path                /dev/vg/tmp
      LV Name                tmp
      VG Name                vg
      LV UUID                xZZTNZ-KG2W-Cq92-mPPG-M3y3-HxzY-SvOqCx
      LV Write Access        read/write
      LV Status              NOT available (partial)
      LV Size                1.00 GiB
      Current LE             256
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
       
      --- Logical volume ---
      LV Path                /dev/vg/root
      LV Name                root
      VG Name                vg
      LV UUID                3oQLLT-yPGo-wFI0-iYJQ-0hbP-782Y-HMkL7b
      LV Write Access        read/write
      LV Status              NOT available (partial)
      LV Size                3.62 TiB
      Current LE             949510
      Segments               2
      Allocation             inherit
      Read ahead sectors     auto


    [root@sysrescue /mnt/vgroot]# pvscan
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      WARNING: VG vg is missing PV  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P (last written to /dev/sdb1).
      PV [unknown]   VG vg              lvm2 [<1.82 TiB / 0    free]
      PV /dev/sdb3   VG vg              lvm2 [<1.82 TiB / 4.00 MiB free]
      Total: 2 [<3.64 TiB] / in use: 2 [<3.64 TiB] / in no VG: 0 [0   ]


    [root@sysrescue /mnt/vgroot]# lvscan
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      WARNING: VG vg is missing PV  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P (last written to /dev/sdb1).
      ACTIVE            '/dev/vg/swap' [15.75 GiB] inherit
      ACTIVE            '/dev/vg/tmp' [1.00 GiB] inherit
      ACTIVE            '/dev/vg/root' [3.62 TiB] inherit

     

     

      [root@sysrescue ~]# vgchange -ay --activationmode partial vg
      PARTIAL MODE. Incomplete logical volumes will be processed.
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      WARNING: VG vg is missing PV  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P (last written to /dev/sdb1).
      3 logical volume(s) in volume group "vg" now active

     

     

    [root@sysrescue ~]# lvchange -ay --activationmode partial /dev/vg/root
      PARTIAL MODE. Incomplete logical volumes will be processed.
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      WARNING: VG vg is missing PV  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P (last written to /dev/sdb1).

     

     

    [root@sysrescue ~]# lvchange -pr /dev/vg/root
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      WARNING: VG vg is missing PV  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P (last written to /dev/sdb1).
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      Logical volume vg/root changed.
      WARNING: Couldn't find device with uuid  3aBtEq-H81V-2Cn0-aKs3-klDH-pTGr-3f3D9P.
      Aborting.  LV vg/root is now incomplete and '--activationmode partial' was not specified.
      Failed to suspend logical volume vg/root.
      Aborting.  LV vg/root is now incomplete and '--activationmode partial' was not specified.
      Failed to revert logical volume vg/root.


      [root@sysrescue /mnt]# mount -o ro /dev/vg/root /mnt/vgroot
    mount: /mnt/vgroot: can't read superblock on /dev/mapper/vg-root.
           dmesg(1) may have more information after failed mount system call.

    [root@sysrescue /mnt]# mount -t ext4 -o ro /dev/vg/root /mnt/vgroot
    mount: /mnt/vgroot: can't read superblock on /dev/mapper/vg-root.
           dmesg(1) may have more information after failed mount system call.


    [root@sysrescue /mnt/vgroot]# fsck -n /dev/vg/root
    fsck from util-linux 2.38.1
    e2fsck 1.46.5 (30-Dec-2021)
    fsck.ext2: Input/output error while trying to open /dev/mapper/vg-root

    The superblock could not be read or does not describe a valid ext2/ext3/ext4
    filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
    filesystem (and not swap or ufs or something else), then the superblock
    is corrupt, and you might try running e2fsck with an alternate superblock:
        e2fsck -b 8193 <device>
     or
        e2fsck -b 32768 <device>

     

     

    [root@sysrescue /mnt/vgroot]# lsblk -f
    NAME                FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
    loop0               squashfs    4.0                                                         0   100% /run/archiso/sfs/airootfs
    sda                                                                                                  
    sdb                                                                                                  
    ├─sdb1                                                                                               
    ├─sdb2              ext2        1.0            85c95f39-d56e-429d-8f50-8cf71fe22f56                  
    └─sdb3              LVM2_member LVM2 001       KxSlop-f7or-q8Ht-1c26-dNY8-eMT8-32KCT1                
      └─vg-root                                                                                          
    vg-swap-missing_0_0                                                                                  
    └─vg-swap                                                                                            
    vg-tmp-missing_0_0                                                                                   
    └─vg-tmp                                                                                             
    vg-root-missing_0_0                                                                                  
    └─vg-root                 

     
     [root@sysrescue /mnt/vgroot]# mke2fs -n /dev/vg/root 
    mke2fs 1.46.5 (30-Dec-2021)
    Creating filesystem with 972298240 4k blocks and 243081216 inodes
    Filesystem UUID: a0d3f5af-c727-4873-8ff6-cf0c6185c744
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848, 512000000, 550731776, 644972544

     

     

    [root@sysrescue /mnt/vgroot]# blkid
    /dev/sdb2: UUID="85c95f39-d56e-429d-8f50-8cf71fe22f56" BLOCK_SIZE="1024" TYPE="ext2" PARTUUID="000a8055-02"
    /dev/sdb3: UUID="KxSlop-f7or-q8Ht-1c26-dNY8-eMT8-32KCT1" TYPE="LVM2_member" PARTUUID="000a8055-03"
    /dev/sdb1: PARTUUID="000a8055-01"
    /dev/loop0: TYPE="squashfs"

     

  • ? Lv1 Lv37

    sda에 파티션이 하나도 없잖아요. 그 디스크의 파티션 테이블이 날아간 것 같아요.
    디스크 자체에 오류가 없다면, 파티션 테이블을 복구하는 데 집중해 보시는 것을 추천드립니다.
    작동에 필요한 PV의 최소 수량(2개)이 갖추어지지 않은 상태에서
    LV 복구부터 시도하는 것은 순서가 맞지 않습니다.

    모든 LV가 절반은 sda, 절반은 sdb에 나누어 저장되어 있었기 때문에
    sda가 정상이 아닌 상태에서는 뭘 해도 반쪽짜리일 뿐입니다.
    --activationmode partial을 시도해 볼 수는 있겠지만,
    첫 번째 디스크, 즉 가장 중요한 정보들이 몰려 있는 볼륨 앞부분이 맛이 간 상태에서

    과연 정상적으로 인식할 수 있을지는 의문입니다.

    원칙적으로는 지금 있는 디스크 둘 다 즉시 사용을 중지하고,
    섹터 단위로 새 디스크에 모두 복사한 후 복구를 시도하는 것이 가장 안전합니다.

  • Lv37 ? Lv1

    기진곰님 다시한번 답변감사합니다

    그런데

    말씀하신 테이블 복구를

    dd if=/dev/sdb of=/dev/sda bs=512 count=1

    이렇게 함 될까요? 

     

    제가 밑에와같이 명령어를 해봤는데요  부팅관련 파티션이 sdb2 맞는지요?

    부팅관련이 sdb에있고

    sda에 데이터들만있다면

     

    dd if=/dev/sdb of=/dev/sda bs=512 count=1

    이렇게 명령어를 사용해봐도될까요?

     

     

     

    [root@sysrescue /mnt/vgroot]# parted /dev/sdb print
    Model: ATA TOSHIBA DT01ACA2 (scsi)
    Disk /dev/sdb: 2000GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: msdos
    Disk Flags: 

    Number  Start   End     Size    Type     File system  Flags
     1      1049kB  3146kB  2097kB  primary
     2      3146kB  265MB   262MB   primary  ext2         boot
     3      265MB   2000GB  2000GB  primary               lvm

     

     

    [root@sysrescue /mnt/vgroot]# parted /dev/sda print
    Error: /dev/sda: unrecognised disk label
    Model: ATA TOSHIBA DT01ACA2 (scsi)                                        
    Disk /dev/sda: 2000GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: unknown
    Disk Flags: 
     

  • ? Lv1 Lv37

    기존 파티션 구성이 어땠는지에 따라 될 수도 있고 안 될 수도 있습니다.
    sda의 MBR (첫 512바이트) 내용을 백업해 두고 작업해 보세요.

     

    파티션 테이블만 봐서는 기존의 부팅 파티션이 어느 것이었는지 확신할 수 없네요.

    boot 플래그가 달려 있는 것을 먼저 의심해 봐야겠지만, 아닐 수도 있어요.

  • Lv37 Lv16

    라이믹스 사이트만 해도 많이 바쁘실텐데
    기진곰님을 이곳에서도 계속 뵐 수 있어 참 좋네요.

    라이믹스와 이곳 엑스이타운 두사이트
    슈퍼맨처럼 넘나드는 기진곰님은 요즘
    동에 번쩍 서에 번쩍하니 홍길동같아요.

    기진곰님은 천하에 둘도 없는 곰이면서 천하무적 홍길동!!

  • Lv37 ? Lv1
    기진곰님 늘 한결같이 도움을 주셔서 감사합니다 말씀하신 백업 미처 생각못했엇네요 조언 감사합니다^^