在虚拟机扩容中,
新增一块硬盘 和 直接在原有硬盘基础上扩容是一样的(只不过在原有硬盘上扩容需要关机才可以执行);
但两者都最好先做数据备份或快照,再进行扩容操作;
新增或扩容后,可以通过命令:fdisk -l
或 lsblk
对磁盘大小的变化来判断是否有加载成功;
然后就是一系列的扩容操作了。
关于如何辨别自己的系统是LVM分区 还是 非LVM分区的方法,执行下面命令即可(若没有返回信息则代表不是LVM分区方式):
pvdisplay # 查看物理卷
vgdisplay # 查看卷组
lvdisplay # 查看逻辑卷
• 设备:一台CentOS 7.8 硬盘为100G的虚拟机
• 方法:本文使用的是LVM分区,通过在原有硬盘基础上进行扩容
• 并选用两种挂载的方法来讲解:
1、加载到已有路径,如/根目录下
2、挂载到指定路径,如/data目录下
【两种方法前四步的步骤一致,因此将在第五步讲解:加载到已有路径、第六步讲解:挂载到指定路径】
• LVM扩容思维流程:
创建一个物理分区–>将这个物理分区转换为物理卷–>把这个物理卷添加到要扩展的卷组中–>然后才能用extend命令扩展此卷组中的逻辑卷
• 关于LVM分区的图解,如图所示:
1、做好数据备份,关机;
2、选择需要扩容的磁盘,更改为需要增加的大小;
[root@localhost ~]# df -Th
[root@localhost ~]# lsblk
# 发现已经扩容到200G了,但还没被真正用上
[root@localhost ~]# fdisk /dev/xvdbp # 查看分区信息n # 创建分区p # 选择主分区回车默认,默认会将所有剩余空间都划入该分区t # 修改分区格式L # 列出所有分区格式信息8e # 输入lvm类型的hex代码p # 查看分区信息w # 保存并退出
[root@localhost ~]# partprobe /dev/xvda
[root@localhost ~]# pvcreate /dev/xvda3
[root@localhost ~]# pvdisplay
[root@localhost ~]# pvs
# 记住这里的VG Name名称,下一步会使用到
[root@localhost ~]# vgdisplay
# 将物理卷(/dev/xvda3)扩展到卷组(centos【上一步提到的根目录卷组名】
[root@localhost ~]# vgextend centos /dev/xvda3
# 记住卷组centos的逻辑卷路径/dev/centos/root
[root@localhost ~]# lvdisplay
# 将卷组中的空闲空间扩展到根分区逻辑卷
[root@localhost ~]# lvextend -l +100%FREE /dev/centos/root
# 若想指定大小分配,则可以使用:lvcreate -L 2GB -n LV_Name VG_NAME
[root@localhost ~]# xfs_growfs /dev/centos/root
# 首先确认下磁盘格式是xfs,还是ext4(用命令df -Th可以看出)
# 若磁盘格式是xfs,则执行如下命令:[root@localhost ~]# xfs_growfs /dev/centos/root
# 若磁盘格式是ext4,则执行如下命令:[root@localhost ~]# resize2fs /dev/centos/root
至此,已完成根目录的扩容
# 将物理卷(/dev/xvda3)创建到卷组(vg_group【名称自定义】)
[root@localhost ~]# vgcreate vg_group /dev/xvda3
[root@localhost ~]# vgs
# 卷组名:vg_group、可用空间小于100GB
[root@localhost ~]# vgdisplay
# 以下命令是把VG空间全部给于lv1逻辑卷【名称自定义】
[root@localhost ~]# lvcreate -l +100%FREE -n lv1 vg_group# 若想指定大小分配,则可以使用:lvcreate -L 2GB -n LV_Name VG_NAME
[root@localhost ~]# lvdisplay
# 可看到逻辑卷lv1已经显示出来了
[root@localhost ~]# fdisk -l
# 用命令`df -Th`可以看出文件系统类型(本文为xfs类型)
# 并创建一个目录,将逻辑卷挂载到该目录下
[root@localhost ~]# mkfs.xfs /dev/mapper/vg_group-lv1
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/mapper/vg_group-lv1 /data
# 注意名称格式不能写错,否则可能开不了机
[root@localhost ~]# echo "/dev/mapper/vg_group-lv1 /data xfs defaults 0 0" >> /etc/fstab
[root@localhost ~]# cat /etc/fstab
至此,已完成指定路径的扩容