Leif160519的blog Leif160519的blog

——————

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

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

事先声明

本文章仅作为参考,学习之用,且不可直接画瓢,数据无价,请谨慎操作!!!
本人和平台不对任何因这篇文章导致的数据丢失或损坏负责!!!

一、场景列举

有LVM无LVM
分区12
硬盘34

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

二、扩容方案-扩容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
成功!


“The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill

标  题ESXi下Linux磁盘在线无损扩容解决方案
作  者Leif160519
出  处https://github.icu/articles/2020/06/26/1593159154169.html
关于博主:坐标南京,运维工程师,如有问题探讨可以直接下方留言。
声援博主:如果您觉得文章对您有帮助,可以评论、订阅、收藏。您的鼓励是博主的最大动力!