วิธีลบดิสก์ที่ไม่ดีออกจาก LVM2 โดยมีการสูญเสียข้อมูลน้อยลงใน PVs อื่น ๆ


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

คำตอบ:


20
# 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

สิ่งนี้ได้พิสูจน์แล้วว่ามีประโยชน์กับฉันหลายครั้งในการจัดการ ganeti ด้วย 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
ถ้ารากของฉัน/มีขากระจกและกระจกนั้นล้มเหลวฉันคิดว่าการบู๊ตจะล้มเหลวจากนั้นเมื่อใช้ live distro iso ฉันสามารถเรียกใช้คำสั่งนั้นเพื่อเข้าถึงระบบของฉันอีกครั้งได้หรือไม่ ดังนั้นฉันคิดว่าสิ่งที่ปลอดภัยที่สุดคือการ/bootอยู่นอก LVM ในพาร์ติชั่น Ext4 2GB ที่เรียบง่ายพร้อมกับ distro iso จริงหรือไม่
กุมภ์กำลัง

1
@ AquariusPower บูตไม่ควรล้มเหลวถ้าขาข้างหนึ่งหายไป ส่วนตัวผมชอบที่จะใช้mdadmในการจัดการกับการจู่โจมและ LVM อยู่ด้านบนเพียงเพื่อแบ่งอาร์เรย์ออกเป็นปริมาณตรรกะ การบูทโดยตรงจากอาเรย์การโจมตีแทนที่จะยืนอยู่คนเดียว / บูตหมายความว่าระบบยังสามารถบู๊ตได้ดีหากดิสก์บูตหลักตาย
psusi

mmm ... ฉันมี PV แต่ละตัวในพาร์ติชันเล็ก ๆ สำหรับบูต แต่แต่ละพาร์ติชันนั้นมีความเป็นอิสระ ดังนั้นหากฉันตั้งค่าเหล่านี้ให้/bootสอดคล้องกับการจู่โจมฉันสามารถบูตได้อย่างรวดเร็วหากสิ่งเหล่านี้ล้มเหลว ฉันชอบสิ่งนี้ขอบคุณ :) ฉันยังเดาว่าคุณชอบ mdadm เหมือน (อาจจะ?) การซิงค์มิเรอร์ lvm อาจช้าและไม่ซิงค์ข้อมูลเพียงพอในเวลาเพื่อให้แน่ใจว่าการบูตอย่างราบรื่นปลอดภัยในกรณีที่ PV หนึ่งล้มเหลว
กุมภ์อำนาจ

1
@ AquariusPower ที่จริงฉันชอบmdadmการจู่โจมทั้งคู่เพราะฉันชอบ raid10 มากกว่า raid1 และเพราะมันสามารถปรับแต่งอาร์เรย์ได้ (lvm ไม่สามารถแปลงมิเรอร์ 2 ดิสก์เป็น 3 RAID5 ได้เช่นกัน)
psusi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.