前期准备
虚拟机硬件扩容
对虚拟机进行硬件扩容,扩容方式一般为两种,扩展原有的虚拟硬盘与添加新的虚拟硬盘,建议采用添加新的虚拟硬盘的方式
停止虚拟机上的所有服务
项停下虚拟机上的所有服务(如数据库以及各类应用)
备份虚拟机
对虚拟机进行备份(所有的磁盘操作都是有风险的,一定要进行备份)
重启虚拟机
重启虚拟机。建议使用命令reboot
扩容步骤
检查硬盘空间
在root用户下终端执行命令fdisk –l
- 如若采用扩展原有硬盘的方式进行的硬件扩容,则会如下图所示
原有的sda盘的总容量扩展了但是没有新的分区产生,如上图所示,原本的sda容量为119G,硬件扩容之后容量扩展为了322.1G,但是硬盘的分区仍旧为原来的sda1和sda2,因此,在“扩展原有硬盘”的方式下,在下一步硬盘分区中,对sda进行分区的时候就创建sda3
2. 如若采用添加新的硬盘的方式进行的硬件扩容,则会如下图所示
新增了sdb硬盘,但是此硬盘没有分区
硬盘分区
以添加新的硬盘的扩容方式为例,在fdisk –l下可以看到/dev/sdb
以下操作均在root用户终端执行(斜体为终端提示,深色为命令)
fdisk /dev/sdb |
Command (m for help): n |
Command action e extended p primary partition (1-4) p |
Partition number (1-4): 1 注:这一步是分区编号,因为sdb硬盘还没有分区过,所以这里填1 如果是sda扩容的情况,在已经有sda1和sda2两个分区的情况下,就需要填3 |
First cylinder (1-2610, default 1): "enter" Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): "enter" Using default value 2610 注:此步中的“enter”为按下“enter”键 |
Command (m for help): t Selected partition 1 |
Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) |
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 注:此步可能最后会提示重启虚拟机,reboot一下即可 |
fisk –l 可以看到sdb分出了sdb1 |
扩展逻辑卷
以下操作均在root用户终端执行(斜体为终端提示,深色为命令,高亮内表示据实际变动)
pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created |
vgdisplay 主要关注VG_Name,例如:此处为vg_distance |
vgextend vg_distance /dev/sdb1 |
pvscan |
lvdisplay 此处关注LV Path,即上图中为 /dev/vg_distance/lv_root |
lvextend /dev/vg_distance/lv_root /dev/sdb1 |
resize2fs /dev/vg_distance/lv_root 注:这一步很重要,一定要记得执行 |
df –h 相应的目录相比原来成功进行了扩容 |