我使用整个设备作为LVM物理分区,就这样
sudo pvcreate / dev / xvdg
不幸的是,当它被使用时,我通过编写一个新的分区表意外地覆盖了一些数据(我认为):
sudo fdisk / dev / xvdg,添加新分区,写分区表,删除分区,写空分区表
这是我目前所在的地方.一切似乎仍然有效,但我害怕重启,卸载等…
谢谢!
解决方法
假设您使用整个磁盘作为lvm pv,而不是其中的单个分区,它通常应该没问题,因为LVM头不在分区表的第一个扇区中,特别是在使用512字节扇区时.
分区表位于第一个扇区中:
例如,参见here:硬盘可以分为一个或多个称为分区的逻辑磁盘.该分区记录在分区表中,位于磁盘的扇区0中.
默认情况下,LVM标头位于第二个扇区中:
例如,参见here:默认情况下,LVM标签位于第二个512字节扇区中.您可以通过将标签放在前4个扇区中的任何一个上来覆盖此默认值.如有必要,这允许LVM卷与这些扇区的其他用户共存.
注意:我不确定如果fdisk使用的扇区大小更大,例如1024字节会发生什么 – LVM可能仍然在第二个512字节扇区中,而fdisk可能会覆盖整个1024字节扇区?
暂且不说:如果您不确定并且可以访问额外的空间(例如在Amazon EC2上),您可以始终创建相同大小的卷,对其执行pvcreate,将其添加到卷组,使用pvmove移动数据到新卷,然后用vgreduce删除受影响的卷.