起初这是我的硬盘:
myvg卷组的物理卷。 我用parted删除sda1和sda2。 之后,重新启动/ sda1(600MB)为/ boot。 然后使用gdisk更新编号/ dev / sda。 所以现在/ dev / sda3变成了/ dev / sda2。 问题是,当我运行pvs我仍然把/dev/sda3作为myvg物理文件。
如何在保持myvg的数据完整的情况下更新这个?
对于其他人也想这样做,这里有两个build议:
在这种情况下,您有几个解决scheme:
#vgchange -an myvg #partprobe #vgchange -ay myvg
详情如下:
我用相同的工具复制了你所做的。 磁盘名称和大小不同,/ dev / sdb而不是/ dev / sda。
在删除第一个分区之前:
# fdisl -l /dev/sdb [...] Device Start End Sectors Size Type /dev/sdb1 2048 4196351 4194304 2G Linux filesystem /dev/sdb2 4196352 8390655 4194304 2G Linux filesystem /dev/sdb3 8390656 20971486 12580831 6G Linux LVM # pvs PV VG Fmt Attr PSize PFree /dev/sdb3 myvg lvm2 a-- 6.00g 5.92g
删除后:
# fdisk -l /dev/sdb [...] Device Start End Sectors Size Type /dev/sdb3 8390656 20971486 12580831 6G Linux LVM
创build新分区后1:
# fdisk -l /dev/sdb [...] Device Start End Sectors Size Type /dev/sdb1 2048 8390655 8388608 4G Linux filesystem /dev/sdb3 8390656 20971486 12580831 6G Linux LVM
重新编号之后(gdisk / dev / sdb + s):
# fdisk -l /dev/sdb [...] Device Start End Sectors Size Type /dev/sdb1 2048 8390655 8388608 4G Linux filesystem /dev/sdb2 8390656 20971486 12580831 6G Linux LVM
但pvs命令显示错误的数字
# pvs PV VG Fmt Attr PSize PFree /dev/sdb3 myvg lvm2 a-- 6.00g 5.92g
在这种情况下,LVM或内核的某些部分总是使用旧表。
重新启动后,系统和lvm正确地考虑了新的分区号。
# pvs PV VG Fmt Attr PSize PFree /dev/sdb2 myvg lvm2 a-- 6.00g 5.92g
我认为这对您的数据是安全的,如果我没有错误lvm直接使用磁盘的uuid。 这些命令不应该改变uuid。
在任何情况下,这都比改变分区编号安全得多;)