问题描述,出现虚拟机磁盘大小不够用,需要扩充容量时怎么办?
解决方法:
操作步骤
-
关闭虚拟机,将磁盘配置由原来的20g 改为40g。这时候会出现提示,扩充完毕,但是需要手动操作文件系统,将磁盘进行分配。此时重启系统,使用 df -h 命令查看磁盘系统大小发现还是20g, 原因是新加的20g,还未被分配到系统,需要进一步操作才行。
-
查看系统磁盘大小情况。
-
为新增的磁盘创建分区
-
# 涉及命令 fdisk
-
- 将创建好的分区格式修改
-
# 涉及命令 fdisk
无卷组:创建卷组
[lj@localhost block]$ sudo vgcreate centos /dev/sda3 Volume group "centos" successfully created [lj@localhost block]$ sudo lvm lvm> vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <20.00 GiB PE Size 4.00 MiB Total PE 7679 Alloc PE / Size 0 / 0 Free PE / Size 7679 /<20.00 GiB VG UUID vUxDlv-2oJT-PdMJ-moBt-jod8-m8hs-RuLggH
有卷组 :加入已有卷组先用 vgdisplay查看一下 VG Name (卷组名)通常为centos
将新增加的分区/dev/sda3加入到根目录分区centos中: 使用vgextend centos /dev/sda3命令无卷组:创建逻辑卷
lvm> lvcreate -L 19G -n root centos Logical volume "root" created. lvm> lvdisplay --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID xflHQe-xZGx-9R3D-CcT1-l76w-i2bH-NMMdTd LV Write Access read/write LV Creation host, time localhost.localdomain, 2022-05-29 16:27:20 +0800 LV Status available # open 0 LV Size 19.00 GiB Current LE 7424 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
有卷组: 扩展逻辑卷lvextend -L +20G /dev/mapper/centos-root
-
无卷组:格式化逻辑分区
[root@localhost mapper]# mkfs.xfs /dev/centos/root meta-data=/dev/centos/root isize=512 agcount=4, agsize=1900544 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=7602176, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=3712, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
无卷组:扩展已有卷的容量并同步到文件系统
扩展命令:lvextend -l +100%FREE /dev/mapper/centos-root
[root@localhost ~]# lvextend -l +100%FREE /dev/mapper/centos-root
Size of logical volume centos/root changed from 29.00 GiB (7424 extents) to <30.00 GiB (7679 extents).
Logical volume centos/root successfully resized.
重新识别centos大小,使用xfs_growfs /dev/mapper/centos-root命令[root@localhost ~]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1900544 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=7602176, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=3712, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7602176 to 7863296
有卷组:xfs_growfs执行完了之后,后面的就不用执行了。到这里就正式结束了。查看扩容后的大小 ,使用df -h命令可以看到扩容成功。无卷组:挂载点,这里把新增逻辑分区,挂在到了 /data 目录,这里从逻辑分区 /dev/centos/root 变成了 /dev/mapper/centos-root
[root@localhost /]# mount /dev/centos/root /data [root@localhost lj]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 895M 0 895M 0% /dev tmpfs 910M 0 910M 0% /dev/shm tmpfs 910M 11M 900M 2% /run tmpfs 910M 0 910M 0% /sys/fs/cgroup /dev/sda3 18G 16G 2.0G 89% / /dev/sda1 297M 166M 132M 56% /boot /dev/mapper/centos-root 29G 45M 27G 1% /data tmpfs 182M 24K 182M 1% /run/user/1000