我有3个分区sdb1 sdb2和sdb3。 我想在sdb3中创build一个卷组和lvms,这是安装的Linux分区,位于我的根文件夹中。
我正在input:
pvcreate /dev/sdb3
但我得到:
Can't open /dev/sdb3 exclusively. Mounted filesystem.
好吧,我知道我的分区是挂载的,实际上我正在处理它。 有没有办法创build卷组而不要求我的提供者重新格式化我的分区。 我的意思是通过SSH?
你可以做到这一点,但很难。
步骤基本如下:
pivot_root
。 此系统调用/工具可以更改当前正在运行的系统的根分区。 pivot_root /mnt/rescuesys
,你的pivot_root /mnt/rescuesys
ramfs救援系统正在运行。 如果它成功了,那么你的原始系统将以chroot运行,并且你的救援系统将作为真正的根系统运行。 telinit q
命令重新启动init(进程1),以便从真实(现在是ramfs)系统运行,而不是从基于sdb3的系统运行。 也许telinit Q
, telinit u
或telinit U
也可能是需要的,它也取决于你的init系统。 lsof -n|grep /mnt/<oldsysroot>
命令,您可以检查旧系统是否有任何已打开的fiedescriptor。 如果是,杀,一个一个地阻止他们。 pvcreate
等命令创buildlvm卷,创buildlvs,装载它们,然后复制根系统。 pivot_root
。 从这一点来说,你的真正的根系很快就是你原本想要的逻辑卷。 /etc/fstab
,重新configuration/重新安装grub,以及任何类似的。 你的build议不应该在线完成,因为它很容易出错而且可能很危险。 你需要调整分区的大小来做到这一点,当你试图混淆你系统的根文件系统所在的分区时,你可能会丢失数据。 这是检查的目的。
使用gparted的livecd来调整分区大小,然后在释放的空间中设置一个encryption的文件系统。