Làm cách nào để xóa đĩa xấu khỏi LVM2 mà ít mất dữ liệu trên các PV khác?


15

Tôi có một khối lượng LVM2 với hai đĩa. Các đĩa lớn hơn đã bị hỏng, vì vậy tôi không thể pvmove. Cách tốt nhất để loại bỏ nó khỏi nhóm để lưu hầu hết dữ liệu từ đĩa khác là gì? Đây là đầu ra pvdisplay của tôi:

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

Vì vậy, tôi muốn loại bỏ các thiết bị không xác định (không có trong hệ thống). Có thể làm điều này mà không cần một đĩa mới? Hệ thống tập tin là ext4.


nếu tôi sẽ làm vgreduce --removemissing --force medianhững gì sẽ xảy ra?
Kissgyorgy

Câu trả lời:


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

bây giờ tất cả đều hoạt động tốt!


Vâng ... hy vọng bạn không cần LogVol00 ... nó đã biến mất ngay bây giờ.
MikeyB

1
Tốt hơn là mất tất cả ...
Kissgyorgy

1
oh .. vậy đây là cách để phục hồi từ một chân gương bị mất vgreduce --removemissing --force $vgname?
Sức mạnh Bảo Bình

Nếu đĩa bị hỏng thì dữ liệu từ khối lượng logic LogVol00 đã biến mất. Xóa nó khỏi nhóm đã không xóa bất kỳ dữ liệu nào nữa. Bên cạnh đó, đó là những gì sao lưu dự phòng.
jackohug

Điều này đã được chứng minh hữu ích cho tôi nhiều lần trong việc quản lý ganeti với drbd.
dannyman

1

Từ vgreducetrang người đàn ông:

   --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
Vì vậy, về cơ bản, nếu root của tôi /có chân gương và gương đó bị lỗi, tôi nghĩ rằng boot sẽ thất bại, sau đó, với một bản phân phối trực tiếp, tôi có thể chạy lệnh đó để truy cập lại hệ thống của mình không? Vì vậy, tôi cũng nghĩ an toàn nhất là có /bootbên ngoài lvm, trên một phân vùng ext4 2GB đơn giản, với bản phân phối trực tiếp?
Sức mạnh Bảo Bình

1
@AquariusPower, khởi động không được thất bại nếu thiếu một chân gương. Cá nhân tôi thích sử dụng mdadmđể xử lý cuộc đột kích và lvm trên đầu chỉ để chia mảng thành các khối hợp lý. Khởi động trực tiếp từ mảng đột kích thay vì đứng độc lập / khởi động có nghĩa là hệ thống vẫn có thể khởi động tốt nếu đĩa khởi động chính bị chết.
psusi

mmm ... Tôi có, trên mỗi PV, một phân vùng nhỏ để khởi động, nhưng mỗi phân vùng là độc lập; Vì vậy, nếu tôi đặt chúng /bootđồng bộ với đột kích, tôi có thể khởi động nhanh nếu bất kỳ lỗi nào trong số này bị lỗi; Tôi thích điều này cảm ơn :), tôi cũng đoán bạn thích mdadm vì (có thể?) Đồng bộ hóa gương lvm có thể bị chậm và không đồng bộ đủ dữ liệu kịp thời để đảm bảo khởi động liền mạch an toàn trong trường hợp một PV bị lỗi (như mất điện).
Sức mạnh Bảo Bình

1
@AquariusPower, thực sự tôi thích mdadmcuộc đột kích hơn vì tôi thích raid10 hơn raid1 và vì nó có thể định hình lại mảng (ví dụ: lvm không thể chuyển đổi nhân bản 2 đĩa thành 3 đĩa raid5).
psusi 23/2/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.