虚拟机扩容——非LVM分区
前提说明
在虚拟机扩容中,
新增一块硬盘 和 直接在原有硬盘基础上扩容是一样的(只不过在原有硬盘上扩容需要关机才可以执行);
但两者都最好先做数据备份或快照,再进行扩容操作;
新增或扩容后,可以通过命令:fdisk -l
或 lsblk
对磁盘大小的变化来判断是否有加载成功;
然后就是一系列的扩容操作了。
关于如何辨别自己的系统是LVM分区 还是 非LVM分区的方法,执行下面命令即可(若没有返回信息则代表不是LVM分区方式):
pvdisplay # 查看物理卷
vgdisplay # 查看卷组
lvdisplay # 查看逻辑卷
实验环境
• 设备:一台CentOS 7.8 硬盘为200G的虚拟机
• 方法:本文使用的是非LVM分区,新增一块硬盘(100G)来进行扩容
• 并选用两种挂载的方法来讲解:
1、加载到已有路径,如/根目录下
2、挂载到指定路径,如/data目录下
一、加载到已有路径(在原有磁盘基础上扩容)
网络上没有找到新增一块硬盘到根目录下的案例,想想好像也不能这么操作(除非是LVM分区格式)
所以这里改一下,将使用 “在原有磁盘基础上扩容” 的方法,来扩容到根目录下
1、准备工作
做好数据备份,关机,选择需要扩容的磁盘,更改为需要增加的大小
2、开机,查看磁盘扩容后的状态
[root@localhost ~]# df -Th
[root@localhost ~]# lsblk
# 发现已经扩容到200G了,但还没被真正用上
3、进行分区扩展磁盘,记住根分区起始位置和结束位置
[root@localhost ~]# fdisk /dev/xvda
p # 查看已分区数量
4、删除根分区,切记不要保存
注意:标准分区的扩容方式其实是将原有分区删除掉,然后再重建时增加容量,但是千万要记住以下步骤,通过fdisk操作时,不要将根分区删除后就执行w保存,这样会导致所有数据写盘丢失
d # 删除根分区
3 # 选择删除3号根分区(即/dev/xvda3)
p # 查看已分区数量
5、创建分区(箭头位置为分区起始位置)
n # 创建分区
p # 选择主分区
3 # 选择创建3号根分区(即/dev/xvda3)
p # 查看已分区数量
6、保存退出并重读分区表信息
w # 保存并退出
[root@localhost ~]# partprobe /dev/xvda
7、查看分区状态,但是查看挂载分区还没有200G
[root@localhost ~]# lsblk
[root@localhost ~]# df -h
8、刷新根分区并查看状态
[root@localhost ~]# resize2fs /dev/ xvda3
# 首先确认下磁盘格式是xfs,还是ext4(用命令`df -Th`可以看出)
# 若磁盘格式是xfs,则执行如下命令:
[root@localhost ~]# xfs_growfs /dev/xvda3
# 若磁盘格式是ext4,则执行如下命令:
[root@localhost ~]# resize2fs /dev/ xvda3
至此,已完成根目录的扩容
二、挂载到指定路径(新增一块磁盘扩容)
1、准备工作
做好数据备份,在存储中,选择添加虚拟磁盘(100G)
2、查看磁盘扩容后状态
# 发现识别到刚新增的100G容量的磁盘(/dev/xvdb)
[root@localhost ~]# fdisk -l
3、对指定磁盘进行初始化操作
[root@localhost ~]# fdisk /dev/xvdb
n # 创建分区
p # 选择主分区
全部回车默认,默认会将所有剩余空间都划入该分区
wq # 保存并退出
[root@localhost ~]# fdisk -l
# 完成初始化后,发现 /dev/xvdb1 就是我们刚才创建的分区
4、格式化分区
格式化可以选择多种格式,常见的如:
ext4
、xfs
是CentOS 7常用的两种文件系统;
CentOS 7默认是xfs
,CentOS6默认是ext4
;
可使用df -T
查看自己磁盘的每个分区使用什么文件系统(我这里用的是ext4)
[root@localhost ~]# mkfs.ext4 /dev/xvdb1
5、挂载分区
# 将分区挂载到目录 /data 。也可以是任意的你指定的目录,挂载前需要先创建该目录!
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/xvdb1 /data
[root@localhost ~]# df -h
6、设置开机自动挂载
将分区信息写入到/etc/fstab
/etc/fstab这个文件记录分区信息,并会在启动时,自动挂载分区
所以需要将分区信息写入到/etc/fstab,否则重启后,挂载的分区就没了,需要再次手动挂载
执行下面命令,将分区信息写入:因为我这里是用ext4,若使用的是其他文件系统则自己手动修改一下即可
[root@localhost ~]# echo "/dev/xvdb1 /data ext4 defaults 0 0" >> /etc/fstab
7、重启后,查看已挂载成功
至此,已完成指定路径的扩容