在实时 CentOS 6 服务器上调整 LVM 分区大小

在实时 CentOS 6 服务器上调整 LVM 分区大小

我目前有以下分区:

  ACTIVE            '/dev/vg_server/lv_root' [50.00 GiB] inherit
  ACTIVE            '/dev/vg_server/lv_home' [1.76 TiB] inherit
  ACTIVE            '/dev/vg_server/lv_swap' [5.86 GiB] inherit

我想减少lv_home几乎为空的分区并增加lv_root即将填满的分区。我有一个完整备份,但想在无法使用实时 CD 的实时服务器上执行此操作。

我想调整分区大小并重新启动,然后让一切尽快恢复运行。有没有比较安全的方法可以做到这一点?

答案1

基本问题是避免使用备份。如果lv_home真的“几乎为空”,

  • 你可以缩小它(调整文件系统大小,然后缩小逻辑卷),然后
  • 使用释放的空间作为临时卷的复制目标lv_home
  • 然后,现有的lv_home是空的,你可以拆除它,lv_root根据需要进行扩展,
  • 最后(如果lv_home真的最初很小),将临时卷的内容移回到不需要的空白空间部分lv_root,然后将其与临时空间合并。

当然,建议的顺序假设底层磁盘分区的顺序相同。LVM 不适合上下移动分区(某些离线磁盘分区工具可能会这样做)。

现在 - OP 的问题没有提到底层文件系统是否都驻留在一个物理磁盘上,以及它们的磁盘分区是否按相同的顺序排列。如果它们都驻留在一个物理磁盘上,那么问题来了,这个磁盘是用 MBR(最多四个物理分区)还是 GPT(128)分区的 - 例如参见MBR 和 GPT 有什么区别?对于前一种情况,OP 可能必须创建一个扩展分区作为调整大小分区的基础lv_home

LVM 本质上分为三层:物理层、卷层和逻辑层。为了保持整洁,最好将物理磁盘放在相邻的位置。但 LVM 并不要求这样做。可以lv_home一步缩小(及其文件系统和物理分区),然后在末尾的空间中创建一个新的物理分区,将该分区添加到对应的卷组,lv_root然后运行resize2fs扩展文件系统。调整大小有很多现有的实践;而缩小则很少见——直到最近,文档中才有警告,解释说使用该工具可能会破坏文件系统。

以下可能会有帮助:

答案2

使用lvextended命令改变逻辑卷的大小:

lvextend -l +4607 /dev/vg_home/LogVol01
resize2fs /dev/vg_home/LogVol01

我建议从概念上阅读在此网站上调整和缩小 lvm

相关内容