VG 中的 PV 失败,无法破坏镜像

VG 中的 PV 失败,无法破坏镜像

我有一台 Linux (fedora 30) 机器,带有单个 VG 和多个镜像 LV。我将 LV 镜像到两个 PV 上,但其中一个 PV 失败,无论如何我都想从 2TB PV 迁移到 4TB PV,因此我添加了一个新的 PV,并将所有 LV 投到了三个镜像 (m=2)。现在我的 LV 已全部安全镜像,是时候删除损坏的驱动器了。但是“lvconvert -m1 LVNAME PV2REMOVE”说这不起作用也许你应该考虑“vgreduce --removemissing”

当然,这没有任何作用,根据我所读到的内容,使用“--force”选项将丢弃我所有的 LV

lvs -a -o +设备| tr -s '\t ' ' '

 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices 
 NAS VG2TB rwi-aor-r- 200.00g 100.00 NAS_rimage_0(0),NAS_rimage_1(0) 
 [NAS_rimage_0] VG2TB vwi-aor-r- 200.00g 
 [NAS_rimage_1] VG2TB iwi-aor--- 200.00g /dev/sdb1(392715) 
 [NAS_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [NAS_rmeta_1] VG2TB ewi-aor--- 4.00m /dev/sdb1(392714) 
 PythonNAS VG2TB rwi-aor-r- 100.00g 100.00 PythonNAS_rimage_0(0),PythonNAS_rimage_1(0),PythonNAS_rimage_2(0) 
 [PythonNAS_rimage_0] VG2TB vwi-aor-r- 100.00g 
 [PythonNAS_rimage_1] VG2TB vwi-aor-r- 100.00g 
 [PythonNAS_rimage_2] VG2TB iwi-aor--- 100.00g /dev/sdb1(341512) 
 [PythonNAS_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [PythonNAS_rmeta_1] VG2TB ewi-aor-r- 4.00m 
 [PythonNAS_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(341511) 
 lv_VM_Data VG2TB rwi-a-r-r- 200.00g 100.00 lv_VM_Data_rimage_0(0),lv_VM_Data_rimage_1(0),lv_VM_Data_rimage_2(0) 
 [lv_VM_Data_rimage_0] VG2TB vwi-aor-r- 200.00g 
 [lv_VM_Data_rimage_1] VG2TB vwi-aor-r- 200.00g 
 [lv_VM_Data_rimage_2] VG2TB iwi-aor--- 200.00g /dev/sdb1(290311) 
 [lv_VM_Data_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Data_rmeta_1] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Data_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(290310) 
 lv_VM_Root VG2TB rwi-aor-r- 60.00g 100.00 lv_VM_Root_rimage_0(0),lv_VM_Root_rimage_1(0),lv_VM_Root_rimage_2(0) 
 [lv_VM_Root_rimage_0] VG2TB vwi-aor-r- 60.00g 
 [lv_VM_Root_rimage_1] VG2TB vwi-aor-r- 60.00g 
 [lv_VM_Root_rimage_2] VG2TB iwi-aor--- 60.00g /dev/sdb1(367113) 
 [lv_VM_Root_rmeta_0] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Root_rmeta_1] VG2TB ewi-aor-r- 4.00m 
 [lv_VM_Root_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(367112) 

答案1

你到底是如何删除另一个PV的?

据 LVM 所知,您的数据的唯一最新副本似乎已打开/dev/sdb1- 所有其他副本都是虚拟的并且需要同步。因此,您可能必须首先lvchange --refresh <LV>使所有可访问的 PV 同步。

如果其他 PV 对系统不再可见(即完全失效或已将它们拉出),请向 VG 添加一个新 PV,然后运行lvconvert --repair <name of LV> [new PV]​​。如果 LVM 仍然发现坏磁盘,则命令为lvconvert --replace <old PV> <name of LV> [new PV]

如果您熟悉其他 Unix 变体的 LVM,请注意 Linux 的 LVM 导出/导入逻辑的工作方式非常不同。在 Linux 中,当检测到新设备或手动运行时,其他 Unix 的“导入”通常会自动发生vgscan- 并且vgscan非常安全:如果它检测到任何类型的冲突,它不会覆盖活动 LVM 配置的任何部分对于冲突的问题,它只是告诉您出了什么问题,并希望您在重试之前修复它vgscan

Linux LVM 中的“导出”操作实际上更像是“防止自动和手动激活此 VG:如果发现导出的 VG 与任何其他 VG 冲突,则忽略导出的 VG”。 “导入”操作只是删除该属性。因此,当准备将包含 LVM VG 的一组磁盘移动到另一台主机时,它很有用,但除此之外,它可能没有您想象的那么有用。

相关内容