linux – 如何将LVM PV扩展到磁盘的开头?

我有2TB磁盘的服务器,有人最初像这样分区:

> 300GB操作系统文件的标准主分区(CentOS 7).
> 1.7TB LVM,具有一些非常大的逻辑卷 – 满足其他需求.

由于操作系统文件的实际大小仅为400GB左右,之后它已被移动到LVM上自己的逻辑卷,因此磁盘开头的这个300GB分区将被闲置.

所以,我删除了这个分区,现在想以某种方式将PV的起始位置移动到磁盘的开头,因此它将利用整个磁盘空间.但我找不到任何工具 – pvextend只能将PV扩展到磁盘末端,而不是开始.

是的我知道我可以将旧分区添加到VG作为另一个PV,但在单个磁盘上有多个PV看起来就像是非常奇怪的东西.

此外,我知道我可以将分区复制到某些外部设备或云存储,然后只是从头开始重新创建物理磁盘分区.但我不希望这样,因为服务器停机时间过长.

那么,有没有办法快速将PV扩展到磁盘的开头?

解决方法

如果您现有的PV已经< 300GB的数据 如果您现有的PV上的数据少于300GB,那么您只需将该数据重新定位到磁盘的前面,然后使用pvresize.首先,创建一个新的PV:
pvcreate /dev/sda1

将数据从现有的pv重新定位到新的pv:

pvmove /dev/sda2 /dev/sda1

删除旧的光伏:

vgreduce myvg /dev/sda2

现在,使用parted或fdisk或其他任何调整大小/ dev / sda1来覆盖整个磁盘,然后使用pvresize扩展pv以覆盖分区.

使用外部设备无需停机

您可以使用pvmove将数据重定位到其他设备,而无需任何服务器停机.你会创建一个新的光伏:

pvcreate /dev/sdb

将其添加到您的vg:

vgextend myvg /dev/sdb

将现有pv中的数据重新定位到新的pv:

pvmove /dev/sda2 /dev/sdb

从卷中删除现有的pv:

pvremove /dev/myvg /dev/sda2

现在,重新分区/ dev / sda,创建一个新的pv,并反转上面的过程.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...