虚拟机下Linux系统磁盘扩容

服务器 0

在VM虚拟机中,我们经常会选择默认磁盘大小20G,用着用着才发现20G不够用,服务启动不了,就很尴尬,让我们今天一起来学习下,如何在虚拟机给磁盘扩容。

一:关闭虚拟机,添加硬盘

背景:我们使用df -h命令,发现磁盘使用率已经37%,我们给此磁盘扩容,简单演示下扩容的过程。

1:虚拟机关机,添加一块20G大小的硬盘,添加硬盘一路选择默认,并单击确定添加完成,就不多赘述,如图所示。然后开启虚拟机

2:虚拟机开机后,我们用fdisk -l 命令查看新增加的硬盘,如图所示

3:我们通过fdisk命令来对新增加硬盘进行分区,fidsk +硬盘名,不同环境名字可能不一样,我这里的管理命令是: fdisk /dev/sdb

先输入n 新建分区

后输入 p 主分区

连续输入2次回车确认

然后输入 wq 保存并退出

然后我们就创建了一个新分区,大小是20GB。

[root@GMtest ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.37.4)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。设备不包含可识别的分区表。创建了一个磁盘标识符为 0x4c4d9e95 的新 DOS 磁盘标签。命令(输入 m 获取帮助):n  //创建新分区分区类型   p   主分区 (0 primary, 0 extended, 4 free)   e   扩展分区 (逻辑分区容器)选择 (默认 p):p  //输入P,设置为主分区分区号 (1-4, 默认  1): //输入1保持默认第一个扇区 (2048-41943039, 默认 2048):  //输入回车,默认最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): //输入回车,默认创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。命令(输入 m 获取帮助):wq分区表已调整。将调用 ioctl() 来重新读分区表。正在同步磁盘。

二:扩容磁盘

1:使用命令mkfs.ext4 硬盘名对刚才创建的分区进行格式化,我的是:mkfs.ext4 /dev/sdb1

[root@GMtest ~]# mkfs.ext4 /dev/sdb1mke2fs 1.46.5 (30-Dec-2021)创建含有 5242624 个块(每块 4k)和 1310720 个inode的文件系统文件系统UUID:dd061fdb-49af-42d4-9f20-8811cc0ce301超级块的备份存储于下列块:         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,         4096000正在分配组表: 完成                            正在写入inode表: 完成                            创建日志(32768 个块)完成写入超级块和文件系统账户统计信息: 已完成 [root@GMtest ~]# 

2:使用命令pvcreate /dev/sdb1 创建物理卷

[root@GMtest ~]# pvcreate /dev/sdb1 WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y  Wiping ext4 signature on /dev/sdb1.  Physical volume "/dev/sdb1" successfully created.[root@GMtest ~]# 

3:使用pvdisplay命令用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。

需要扩容的磁盘的VG Name是”r1“[也就是默认40G的那块硬盘]

[root@GMtest ~]# pvdisplay  --- Physical volume ---  PV Name               /dev/sda2  VG Name               rl  PV Size               <39.00 GiB / not usable 3.00 MiB  Allocatable           yes (but full)  PE Size               4.00 MiB  Total PE              9983  Free PE               0  Allocated PE          9983  PV UUID               lj7TOE-p6bV-h2fC-9Gpq-do7K-s5PL-nnDJO1     "/dev/sdb1" is a new physical volume of "<20.00 GiB"  --- NEW Physical volume ---  PV Name               /dev/sdb1  VG Name                 PV Size               <20.00 GiB  Allocatable           NO  PE Size               0     Total PE              0  Free PE               0  Allocated PE          0  PV UUID               RYESlr-62wA-Q0Gk-bBUi-FsOZ-LOSK-SUpnMa

4:使用vgextend 命令用于扩容卷组大小,这里是:

[root@GMtest ~]# vgextend rl /dev/sdb1  Volume group "rl" successfully extended

5:我们使用lvextend -L +19.9G +路径名扩容根分区【+那里新增的硬盘多大就输入多大】,不知道路径的可以用df -h命令查看。我扩容了20G,只能加小于20G。

[root@GMtest ~]# lvextend -L +19.9G /dev/mapper/rl-root  Rounding size to boundary between physical extents: 19.90 GiB.  Size of logical volume rl/root changed from <35.08 GiB (8980 extents) to 54.98 GiB (14075 extents).  Logical volume rl/root successfully resized.[root@GMtest ~]# 

6:使用xfs_growfs命令增加 XFS 文件系统的大小,实际增加存储空间。

[root@GMtest ~]# xfs_growfs /dev/mapper/rl-rootmeta-data=/dev/mapper/rl-root    isize=512    agcount=4, agsize=2298880 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=1        finobt=1, sparse=1, rmapbt=0         =                       reflink=1    bigtime=1 inobtcount=1data     =                       bsize=4096   blocks=9195520, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0, ftype=1log      =internal log           bsize=4096   blocks=4490, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0data blocks changed from 9195520 to 14412800[root@GMtest ~]# 

7:扩容完成,使用df -h命令查看

之前

之后

[root@GMtest ~]# df -h文件系统             容量  已用  可用 已用% 挂载点devtmpfs             4.0M     0  4.0M    0% /devtmpfs                1.8G     0  1.8G    0% /dev/shmtmpfs                726M  9.6M  716M    2% /run/dev/mapper/rl-root   55G   14G   42G   24% //dev/sda1           1014M  285M  730M   29% /boottmpfs                363M   52K  363M    1% /run/user/42tmpfs                363M   36K  363M    1% /run/user/0[root@GMtest ~]# 

至此,扩容就完成。

也许您对下面的内容还感兴趣: