ESXi 下 Linux 磁盘在线无损扩容解决方案

本贴最后更新于 1559 天前,其中的信息可能已经时移世异

一、场景列举

有 LVM 无 LVM
分区 1 2
硬盘 3 4

下面介绍上述四种场景的扩容方案

二、扩容方案-扩容 5G

2.1 场景 1,有分区,有 LVM

image.png

方法一、增大原磁盘空间

1.将硬盘空间扩大 5GB
2.刷新硬盘

echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
echo 1 >  /sys/class/block/sda/device/rescan
echo '- - -' > /sys/class/scsi_host/host0/scan

3.对硬盘进行分区

fdisk /dev/sda

分别按下:n(新建分区)-》p(选择主分区)-》3(设置分区号)-》回车(使用默认起始扇区)-》回车(使用默认 last 扇区)-》t(设置磁盘标志符)-》3(选择分区 3)-》8e(将标识符改为 8e-LVM)-》w(保存分区表)

4.刷新分区表

partprobe /dev/sda

image.png

5.创建 pv

pvcreate /dev/sda3

6.扩容 vg

vgextend centos /dev/sda3

7.扩容 lv

# 将剩余的空间100%全部给lv扩容
lvextend -l +100%FREE /dev/mapper/centos-root
或者
# 将lv额外增加5G空间
lvextend -L +5G /dev/mapper/centos-root

注意:若提示 Insufficient free space: 1280 extents needed, but only 1279 available,将 100% 或者 5G 数字改小一些即可

8.文件系统合并

xfs_growfs /dev/mapper/centos-root

注意:若文件系统格式为 ext*,则使用命令 resize2fs /dev/mapper/centos-root

image.png

成功!

注意:使用扩大本磁盘容量的方式扩容 LVM,若 lvm 所在的分区在磁盘的最后,可以通过 parted 命令扩大分区之后扩容 lvm,反之建议直接新建分区进行扩容。

若磁盘比较多,无法定位哪块盘的情况下,执行 /dev/disk/by-path 命令查看 scsi

方法二、添加一块新硬盘

1.在 ESXi 设置中新增一块 5G 硬盘

image.png
2.对新硬盘进行分区

fdisk /dev/sdb

分别按下:n(新建分区)-》p(选择主分区)-》1(设置分区号)-》回车(使用默认起始扇区)-》回车(使用默认 last 扇区)-》t(设置磁盘标志符)-》1(选择分区 3)-》8e(将标识符改为 8e-LVM)-》w(保存分区表)

3.刷新分区表

partprobe /dev/sdb

image.png

4.创建 pv

pvcreate /dev/sdb1

5.扩容 vg

vgextend centos /dev/sdb1

6.扩容 lv

# 将剩余的空间100%全部给lv扩容
lvextend -l +100%FREE /dev/mapper/centos-root
或者
# 将lv额外增加5G空间
lvextend -L +5G /dev/mapper/centos-root

注意:若提示 Insufficient free space: 1280 extents needed, but only 1279 available,将 100% 或者 5G 数字改小一些即可

7.文件系统合并

xfs_growfs /dev/mapper/centos-root

注意:若文件系统格式为 ext*,则使用命令 resize2fs /dev/mapper/centos-root

image.png

成功!

2.1 场景 2,有分区,无 LVM

image.png
1.将原硬盘容量直接扩大 5GB
2.刷新磁盘

echo 1 > /sys/class/scsi_disk/2\:0\:1\:0/device/rescan

image.png
3.删除分区,重新新建分区

fdisk /dev/sdb

分别按下:d(删除分区)-》n(新建分区)-》p(选择主分区)-》1(设置分区号)-》回车(使用默认起始扇区)-》回车(使用默认 last 扇区)-》w(保存分区表)

4.刷新分区表

partprobe /dev/sdb

image.png
5.文件系统合并

xfs_growfs /dev/sdb1

注意:若文件系统格式为 ext*,则使用命令 resize2fs /dev/sdb1

image.png
成功!

注意:若一块硬盘有多个分区,则只能对最后一个分区进行扩容操作,中间分区不建议扩容,风险太大。
删除分区的方式非常危险,为避免异常情况,建议使用 parted /dev/sdb 进行分区扩容

2.1 场景 3,无分区,有 LVM

image.png

方法一、增大原磁盘空间

1.将原磁盘空间扩大 5GB
2.刷新磁盘

echo 1 > /sys/class/scsi_disk/2\:0\:1\:0/device/rescan

image.png
3.刷新 pv

pvresize /dev/sdb

image.png
4.扩容 lv

# 将剩余的空间100%全部给lv扩容
lvextend -l +100%FREE /dev/mapper/data-backup
或者
# 将lv额外增加5G空间
lvextend -L +5G /dev/mapper/data-backup

注意:若提示 Insufficient free space: 1280 extents needed, but only 1279 available,将 100% 或者 5G 数字改小一些即可

5.文件系统合并

xfs_growfs /dev/mapper/data-backup

注意:若文件系统格式为 ext*,则使用命令 resize2fs /dev/mapper/data-backup

image.png

成功!

若磁盘比较多,无法定位哪块盘的情况下,执行 /dev/disk/by-path 命令查看 scsi

方法二、添加一块新硬盘

1.添加一块 5G 的硬盘

image.png
2.创建 pv

pvcreate /dev/sdc

3.扩容 vg

vgextend data /dev/sdc

4.扩容 lv

# 将剩余的空间100%全部给lv扩容
lvextend -l +100%FREE /dev/mapper/data-backup
或者
# 将lv额外增加5G空间
lvextend -L +5G /dev/mapper/data-backup

注意:若提示 Insufficient free space: 1280 extents needed, but only 1279 available,将 100% 或者 5G 数字改小一些即可

5.文件系统合并

xfs_growfs /dev/mapper/data-backup

注意:若文件系统格式为 ext*,则使用命令 resize2fs /dev/mapper/centos-root

image.png
成功!

2.1 场景 4,无分区,无 LVM

image.png
1.将原磁盘容量增大 5G
2.刷新硬盘

echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
echo 1 >  /sys/class/block/sda/device/rescan
echo '- - -' > /sys/class/scsi_host/host0/scan

image.png

3.文件系统合并

xfs_growfs /dev/sdb

注意:若文件系统格式为 ext*,则使用命令 resize2fs /dev/sdb

image.png
成功!

  • ESXi
    6 引用 • 2 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    939 引用 • 940 回帖
2 操作
Leif160519 在 2020-07-29 20:26:41 更新了该帖
Leif160519 在 2020-07-02 14:59:22 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...