云计算虚拟化-kvm-无损扩容磁盘分区
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
虚拟化,简单来说就是把一台服务器/PC电脑,虚拟成多台独立的虚拟机,每台虚拟机之间相互隔离,每个虚拟机都有自己独立的操作系统,磁盘,网络资源。虚拟化是一个很庞大的系统,我的介绍主要是帮助你入门,让你了解基本技术原理,具备搭建操作虚拟化的能力。由于涉及到内容较多,这里的目录就只是以简单分类介绍和说明,不再针对单个小节进行目录列出,主要涉及的分类包括以下几个方面:
1.虚拟化介绍
2.kvm基本使用
3.kvm进阶使用(本章节属于)
4.kvm技术原理
5.vmware介绍&使用
6.小结
虽然我们上一小节已经实现了在标准分区扩容文件系统的功能,但是使用fdisk操作有几个问题:只能支持mbr分区,涉及到删除操作风险太大。所以本章节以风险更小的parted方式来扩容磁盘。
并且上一小节只考虑了标准分区,未考虑lvm的情况,所以本小节将基于标准分区和lvm分区分别演示扩容磁盘。
标准分区
网上大部分的攻略,都是直接使用parted命令扩容,只会告警,但是并不影响扩容。在centos7的系统里面测试均无法直接使用,而是会直接提示磁盘正在被使用,如果非系统分区,则可以umount以后再操作;但是如果是根分区则无法卸载。
对比了rocky9.4系统和centos7.9,rocky9.4 可以直接操作,不需要进入救援模式操作。parted软件版本均是3.5;但是他们内核版本不一样,看起来是新的内核对这个功能支持得更友好。
尝试使用使用非光盘启动的救援模式,提示是没有parted命令,所以下面的操作是基于光盘启动的救援模式来实现的。
配置过程可参考:Linux系统-救援模式
这里和救援模式配置略有不一样,选择3则不会自动挂载磁盘,如果选择1则会自动挂载磁盘也会出现上面一样的问题。
#使用parted进入磁盘分区界面
parted
#执行print 打印分区情况
print
#选择分区2执行扩容操作,具体以现场为准
resizepart 2
#根据磁盘大小选择
#也可以使用100%选择剩余全部空间
100%
#退出
quit
#重启系统
reboot
重启以后进入系统
#xfs文件系统扩容
xfs_growfs /dev/sda2
#ext4文件系统扩容
resize2fs /dev/sda2
lvm
先回顾下lvm的概念
pv:就是原始分区或磁盘。
vg:就是原始分区或磁盘组成的联合体。
lv: 就是vg划分出来的逻辑磁盘。
当前磁盘的情况是sda盘,20g,sda1是boot分区,这里忽略。
sda2就是pv,组成了一个叫centos的vg
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name centos
PV Size <19.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 4863
Free PE 0
Allocated PE 4863
PV UUID ZEkacQ-pQO3-G2e5-dJdG-Ps1H-hPPk-EeD7ar
这个vg划分出来2个lv,一个是作为根分区,一个作为swap,我们的目标就是扩容root这个lv。
[root@localhost ~]# lvdisplay |grep name -i
LV Name swap
VG Name centos
LV Name root
VG Name centos
1.创建新分区
过程略,可参考
Linux磁盘-MBR&GPT或者Liux磁盘-创建分区
# 出现这个提示则需要重启系统才能识别到新的分区
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
2. 创建pv
[root@localhost ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.
3.加入vg
[root@localhost ~]# vgextend centos /dev/sda3
Volume group "centos" successfully extended
4.扩容lv
#扩容全部剩余空间
[root@localhost ~]# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from <17.00 GiB (4351 extents) to 26.99 GiB (6910 extents).
Logical volume centos/root successfully resized.
#扩展指定大小,需要小于等于剩余vg空间。
lvextend -L +2G /dev/centos/root
5.扩容文件系统
xfs_growfs /dev/mapper/centos-root
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!