다른 PV에서 데이터 손실을 줄이면서 LVM2에서 불량 디스크를 제거하는 방법은 무엇입니까?


15

두 개의 디스크가있는 LVM2 볼륨이 있습니다. 더 큰 디스크가 손상되었으므로 pvmove를 사용할 수 없습니다. 다른 디스크에서 가장 많은 데이터를 저장하기 위해 그룹에서 제거하는 가장 좋은 방법은 무엇입니까? 내 pvdisplay 출력은 다음과 같습니다.

Couldn't find device with uuid WWeM0m-MLX2-o0da-tf7q-fJJu-eiGl-e7UmM3.
  --- Physical volume ---
  PV Name               unknown device
  VG Name               media
  PV Size               1,82 TiB / not usable 1,05 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              476932
  Free PE               0
  Allocated PE          476932
  PV UUID               WWeM0m-MLX2-o0da-tf7q-fJJu-eiGl-e7UmM3

  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               media
  PV Size               931,51 GiB / not usable 3,19 MiB
  Allocatable           yes (but full)
  PE Size               4,00 MiB
  Total PE              238466
  Free PE               0
  Allocated PE          238466
  PV UUID               oUhOcR-uYjc-rNTv-LNBm-Z9VY-TJJ5-SYezce

그래서 알 수없는 장치 (시스템에없는)를 제거하고 싶습니다. 새 디스크없이이 작업을 수행 할 수 있습니까? 파일 시스템은 ext4입니다.


내가 vgreduce --removemissing --force media무슨 일이 일어날까요?
kissgyorgy

답변:


19
# pvdisplay
Couldn't find device with uuid EvbqlT-AUsZ-MfKi-ZSOz-Lh6L-Y3xC-KiLcYx.
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg_srvlinux
  PV Size               931.51 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               0
  Allocated PE          238466
  PV UUID               xhwmxE-27ue-dHYC-xAk8-Xh37-ov3t-frl20d

  --- Physical volume ---
  PV Name               unknown device
  VG Name               vg_srvlinux
  PV Size               465.76 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              119234
  Free PE               0
  Allocated PE          119234
  PV UUID               EvbqlT-AUsZ-MfKi-ZSOz-Lh6L-Y3xC-KiLcYx



# vgreduce --removemissing --force vg_srvlinux


  Couldn't find device with uuid EvbqlT-AUsZ-MfKi-ZSOz-Lh6L-Y3xC-KiLcYx.
  Removing partial LV LogVol00.
  Logical volume "LogVol00" successfully removed
  Wrote out consistent volume group vg_srvlinux

# pvdisplay

 --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg_srvlinux
  PV Size               931.51 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              238466
  Free PE               238466
  Allocated PE          0
  PV UUID               xhwmxE-27ue-dHYC-xAk8-Xh37-ov3t-frl20d

이제는 모두 잘 작동합니다!


예. LogVol00이 필요하지 않았기를 바랍니다. 이제 사라졌습니다.
MikeyB

1
더 나은 다음 모든 것을 잃고 ...
kissgyorgy

1
아 .. 그래서 이것은 하나의 빠진 거울 다리에서 회복하는 방법 vgreduce --removemissing --force $vgname입니까?
물병 자리 힘

디스크가 불량이면 논리 볼륨 LogVol00의 데이터가 이미 사라진 것입니다. 그룹에서 제거해도 더 이상 데이터가 제거되지 않습니다. 게다가, 그것은 백업을위한 것입니다.
jackohug

이것은 drbd로 가네 티를 관리 할 때 여러 번 유용하다고 입증되었습니다.
dannyman

1

로부터 vgreduce매뉴얼 페이지

   --removemissing
          Removes all missing physical volumes from the volume group, if there are no  logical  volumes
          allocated  on  those.  This resumes normal operation of the volume group (new logical volumes
          may again be created, changed and so on).

          If this is not possible (there are logical volumes referencing the missing physical  volumes)
          and  you  cannot or do not want to remove them manually, you can run this option with --force
          to have vgreduce remove any partial LVs.

          Any logical volumes and dependent snapshots that were partly on the missing disks get removed
          completely. This includes those parts that lie on disks that are still present.

          If  your  logical  volumes  spanned several disks including the ones that are lost, you might
          want to try to salvage data first by  activating  your  logical  volumes  with  --partial  as
          described in lvm (8).

1
기본적으로 루트 /에 미러 다리가 있고 미러에 장애가 발생하면 부팅이 실패 할 것이라고 생각합니다. 그런 다음 라이브 배포판 iso를 사용하면 해당 명령을 실행하여 시스템에 다시 액세스 할 수 있습니까? 또한 가장 안전한 것은 /boot라이브 배포판 iso를 사용하여 간단한 2GB ext4 파티션에서 lvm 외부에 두는 것입니다.
물병 자리 힘

1
@AquariusPower, 미러의 한쪽 다리가없는 경우 부팅에 실패하지 않아야합니다. 개인적으로 나는 mdadm어레이를 논리 볼륨으로 나누기 위해 raid와 lvm을 처리하는 것을 선호합니다 . 독립형 / boot를 사용하는 대신 RAID 어레이에서 직접 부팅하면 기본 부팅 디스크가 죽더라도 시스템이 여전히 정상적으로 부팅 될 수 있습니다.
psusi

mmm ... 각 PV에는 부팅을위한 작은 파티션이 있지만 각 파티션은 독립적입니다. 따라서 이들을 /boot레이드와 동기화하면 이들 중 하나라도 실패하면 빠른 부팅이 가능합니다. 나는이 감사를 좋아한다.
물병 자리 힘

1
@AquariusPower, 실제로 mdadm는 raid1보다 raid10을 선호하고 배열을 재구성 할 수 있기 때문에 레이드를 선호합니다 (lvm은 2 디스크 미러를 3 디스크 raid5로 변환 할 수 없습니다).
psusi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.