Vmware 虚拟机扩容磁盘(不重启机器)
原来这是lvm的mapper机制决定的,当我们lvcreate一个逻辑卷的时候,Linux会新建两个软链接文件,如/dev/VGName/LVName和/dev/mapper/VGName-LVName,而这2个文件都是指向/dev/dm-X 块文件的,所有,当我们使用df -h看到的 /dev/mapper/centos-root 其实是和 /dev/centos/root一样的,不管我们使用哪
Vmware 虚拟机磁盘扩容(无需重启虚拟机)
第一种、在原有磁盘扩容
1、先在VMware中给对应的虚拟机增加磁盘空间
2、执行下列命令
[root@localhost ~]# ls /sys/class/scsi_host
host0 host1 host2 host3 host4 ...
3、分别将上述查到的执行下列命令
# 注意是减号,不是下划线,而且中间有空格
[root@localhost ~]# echo "- - -" >/sys/class/scsi_host/host0/scan
[root@localhost ~]# echo "- - -" >/sys/class/scsi_host/host1/scan
[root@localhost ~]# echo "- - -" >/sys/class/scsi_host/host2/scan
...
...
[root@localhost ~]# echo "- - -" >/sys/class/scsi_host/host*/scan
# 也可以在命令行执行脚本
[root@localhost ~]# for i in {0..32}; do echo "- - -" >/sys/class/scsi_host/host$i/scan; done
4、再执行下列命令
[root@localhost ~]# ls /sys/class/scsi_device
0:0:0:0 3:0:0:0 ...
5、将第三步查到的文件分别执行写入命令
[root@localhost ~]# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
[root@localhost ~]# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan
6、在执行磁盘查询命令既可以看到新添加的磁盘信息
[root@localhost ~]# fdisk -l
或者
[root@localhost ~]# lsblk
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWlC5GRz-1691138957609)(/Users/fangfang/Library/Application Support/typora-user-images/image-20230721110050661.png)]
看上图便知,只有一个磁盘(/dev/sda),两个分区(sda1、sda2),分区1为引导分区,挂载点为/boot,分区2又分成了三个逻辑卷(centos-root、centos-swap、centos-root), centos-root 逻辑卷挂载点为根目录,centos-home 逻辑卷挂载点为数据目录和用户家目录,这俩个才是我们需要扩容的地方。再看下它们的空间大小,磁盘显示为1.5T(备注:原本只有500G,在上面第一个步骤中给他增加了1T),而三个分区的大小分别为50G、31.5G、417.5G,我们的目标是把新增的1T空间分别扩容到分区2( sda2 )的 centos-root逻辑卷中(即根目录)和 centos-home 逻辑卷中。
7、检查磁盘空余容量
[root@localhost ~]# parted /dev/sda print free
分配剩余的可用空间:
[root@localhost ~]# parted /dev/sda resizepart 2 100%
信息: You may need to update /etc/fstab.
说明:将剩余的可用空间分配到分区2(/dev/sda2)中,resizepart后面的2指的是分区2(即:/dev/sda2),100%指的是分配所有的空闲空间。
刷新物理卷(根据你的服务器)这里是分区2:
[root@localhost ~]# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
我们再看一下磁盘、分区、逻辑卷及挂载点信息:
[root@localhost ~]# lsblk
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WrenjXP1-1691138957610)(/Users/fangfang/Library/Application Support/typora-user-images/image-20230721110015083.png)]
果然,分区2的大小从500G变成了1.5T。我们再把这1T空间分别分配到不同逻辑卷上
[root@localhost ~]# lvextend -l+10%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 150.00 GiB (38401 extents).
Logical volume centos/root successfully resized.
或者:
[root@localhost ~]# lvdisplay # 查看 LV path
[root@localhost ~]# lvextend -L +100G /dev/centos/root
说明: lvextend为扩展逻辑分区命令,-l+10%FREE表示分配10%可用空间,/dev/mapper/centos-root表示需要扩容的逻辑卷。
哎呀,df -Th 看到的怎么是 /dev/mapper/centos-root,我们的逻辑卷文件明明是 /dev/centos/root 的呀,怎么回事?原来这是lvm的mapper机制决定的,当我们lvcreate一个逻辑卷的时候,Linux会新建两个软链接文件,如/dev/VGName/LVName和/dev/mapper/VGName-LVName,而这2个文件都是指向/dev/dm-X 块文件的,所有,当我们使用df -h看到的 /dev/mapper/centos-root 其实是和 /dev/centos/root一样的,不管我们使用哪个都是可以的。
使扩展生效:
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 393226264
查看你的逻辑卷是什么文件系统类型,如果是 xfs 文件系统,使用 xfs_growfs 命令扩展容量:
xfs_growfs /dev/mapper/centos-root
查看你的逻辑卷是什么文件系统类型,如果是 ext4 文件系统,使用 resize2fs 命令扩展容量:
resize2fs /dev/mapper/centos-root
使用 xfs_growfs 命令扩展 xfs 文件系统,如果是 ext4 文件系统,则使用 resize2fs。
最后再看一下磁盘、分区、逻辑卷及挂载点信息:
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 32G 0 32G 0% /dev
tmpfs tmpfs 32G 0 32G 0% /dev/shm
tmpfs tmpfs 32G 3.2G 29G 11% /run
tmpfs tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 150G 15G 135G 10% /
/dev/sda1 xfs 1014M 184M 831M 19% /boot
/dev/mapper/centos-home xfs 449G 191G 285G 43% /home
看到没有,逻辑卷(centos-root)从50G变为150G了,至此,我们已经完成了扩容操作。
然后再降剩下的分配到逻辑卷(centos-home),步骤和扩容(centos-root)一样。
第二种、添加新磁盘
第三种、将centos-home分区移动到根分区centos-root
由于分区时,centos-home分区空间非常大,centos-root分区非常小,需要删除centos-home分区,扩容到centos-root分区
先备份/home下文件
卸载(umount) /home (注意:卸载不掉时,请将所有使用/home的进程关闭)
从逻辑卷中删除(lvremove) home 分区
扩展:将腾出的空间扩展(lvextend)到 centos-root分区下
使扩展生效(xfs_growfs)
注释掉fstab中的启动挂载项
恢复备份数据到/home 下
详细代码如下:
更多推荐
所有评论(0)