是否可以动态调整已挂载的 LVM 分区的大小?

是否可以动态调整已挂载的 LVM 分区的大小?

情况:我们有一台服务器,其 40GB SAN(光纤通道)安装为 /opt/application。

如果 LUN 扩展到 60GB,那么需要做什么才能将 RHEL 服务器上的 /opt/application 扩展到 60GB,并且只有 1 个 LVM 分区?

一种选择是使用 fdisk 添加第二个 LVM 分区并使用 lvextend 添加该分区,但如果我们想坚持在磁盘上拥有 1 个 LVM 分区怎么办?

将 LUN 从 40GB 扩展到 60GB 的最佳方法是什么?如有必要,可以卸载,这比添加第二个 LVM 分区并使用 lvextend 更好。

答案1

我假设你的底层 PV 是多路径的。

  • 查看 LUN 的精确扇区分区表
    fdisk -ul /dev/mpathX

  • 将 LUN 重新扫描
    echorescanissue_lip,或运行rescan-scsi-bus.sh,或者无论您如何操作

  • 确认块设备现在具有更大的容量
    fdisk -ul /dev/mpathX

  • 编辑分区表
    fdisk -u /dev/mpathX

  • 删除该分区,重新创建具有相同起始扇区但具有新的结束扇区的分区,该结束扇区到达较大块设备的新末端。

    如果您的分区从较早的扇区(如 63)开始,但 fdisk 只允许您从 2048 或更晚的扇区开始分区,则请创建从 2048 开始的分区,然后进入“专家模式”并将“数据开头移动”回 63。

  • 卸载文件系统
    umount /opt/application

  • 将 VG 设置为非活动状态
    vgchange -an /dev/mapper/vg-lv

  • 让系统识别新的分区表
    partprobe /dev/mpathX

  • 将 PV 增长到分区的新大小
    pvresize /dev/mpathX

  • 将 VG 设置为活动状态
    vgchange -ay /dev/mapper/vg-lv

  • 调整 LV 及其底层文件系统的大小
    lvresize -r -l+100%FREE /dev/mapper/vg-lv

  • 挂载文件系统并确认其新大小
    df -h /opt/application

免责声明:据我所知,这些是正确的步骤。进行备份。在将您的生产数据委托给 Serverfault 上的某个随机互联网评论者之前,请在您的开发环境中进行测试运行。

相关内容