我有一台 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 的一组磁盘移动到另一台主机时,它很有用,但除此之外,它可能没有您想象的那么有用。