Linux虚拟机硬盘扩容
1、安装parted
根据相应的Linux发行版,使用安装命令进行安装,这里以CentOS为例
yum update
yum install -y parted
使用命令parted -l
查看分区信息
[root@rancher /]# parted -l
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 42.9GB 41.9GB primary lvm
2、扩容分区
执行命令fdisk -l
查看磁盘分区情况
[root@rancher /]# fdisk -l
Disk /dev/sda:60 GiB,64424509440 字节,125829120 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdc83db3a
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 83886079 81786880 39G 8e Linux LVM
Disk /dev/mapper/rl-root:35 GiB,37622906880 字节,73482240 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Disk /dev/mapper/rl-swap:4 GiB,4248829952 字节,8298496 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
可以看到我这里磁盘是60GB,但是分区只用了40GB
执行
parted /dev/sda
提示
[root@rancher /]# parted /dev/sda
GNU Parted 3.2
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
输入
print
提示
(parted) print
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system 标志
1 1049kB 1075MB 1074MB primary xfs 启动
2 1075MB 42.9GB 41.9GB primary lvm
(parted)
LVM分区只有41.9GB,因为我们是为了扩容LVM,因此输入
resizepart 2 100%
quit
提示
(parted) resizepart 2 100%
(parted) quit
信息: You may need to update /etc/fstab.
使用命令fdisk -l
可以看到/dev/sda2分区的大小已经变化,看End值
[root@rancher /]# fdisk -l
Disk /dev/sda:60 GiB,64424509440 字节,125829120 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdc83db3a
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 125829119 123729920 59G 8e Linux LVM
Disk /dev/mapper/rl-root:35 GiB,37622906880 字节,73482240 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Disk /dev/mapper/rl-swap:4 GiB,4248829952 字节,8298496 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
更新物理卷的大小,前提是使用了LVM
pvresize /dev/sda2
提示
[root@rancher /]# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
3、扩容逻辑卷
/dev/mapper/rl-root
是系统的根目录,这里看到系统根目录的容量并没有增加
使用lvextend命令扩容逻辑卷
lvextend [-L +/- <增减容量>] <逻辑卷名称>
执行
lvextend -l +100%FREE /dev/mapper/rl-root
提示
[root@rancher ~]# lvextend -l +100%FREE /dev/mapper/rl-root
Size of logical volume rl/root changed from <35.04 GiB (8970 extents) to <55.04 GiB (14090 extents).
Logical volume rl/root successfully resized.
至此我们已经完成逻辑卷扩容,利用fdisk -l
命令可以看到逻辑卷容量已经增加
[root@rancher ~]# fdisk -l
Disk /dev/sda:60 GiB,64424509440 字节,125829120 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdc83db3a
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 125829119 123729920 59G 8e Linux LVM
Disk /dev/mapper/rl-root:55 GiB,59097743360 字节,115425280 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
Disk /dev/mapper/rl-swap:4 GiB,4248829952 字节,8298496 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
执行
df -h
提示
[root@rancher ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/rl-root 36G 31G 4.9G 87% /
/dev/sda1 1014M 322M 693M 32% /boot
10.0.0.16:/mnt/data 1007G 3.3G 953G 1% /mnt/store
overlay 36G 31G 4.9G 87% /var/lib/docker/overlay2/75ebe1849d208f112f80e96acdfe235d6a9d0d20389bbc654eb5c344c10fb9a1/merged
tmpfs 374M 0 374M 0% /run/user/0
可以看到目录/dev/mapper/rl-root
的容量并没有增加,这时需要使用命令resize2fs
或者xfs_growfs
来调整文件系统的大小
执行
resize2fs /dev/mapper/rl-root
如果报错,是因为CentOS默认使用了xfs文件系统
resize2fs 1.45.6 (20-Mar-2020)
resize2fs: 超级块中的幻数有错 尝试打开 /dev/mapper/rl-root 时
找不到有效的文件系统超级块。
改用xfs_growfs
执行
xfs_growfs /dev/mapper/rl-root
提示
[root@rancher ~]# xfs_growfs /dev/mapper/rl-root
meta-data=/dev/mapper/rl-root isize=512 agcount=4, agsize=2296320 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=9185280, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=4485, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 9185280 to 14428160
再次用df -h
命令进行确认
[root@rancher ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 17M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/rl-root 56G 31G 25G 56% /
/dev/sda1 1014M 322M 693M 32% /boot
10.0.0.16:/mnt/data 1007G 3.3G 953G 1% /mnt/store
overlay 56G 31G 25G 56% /var/lib/docker
至此扩容完成
Comments | NOTHING