首页 > 代码库 > 虚拟机服务器磁盘扩容

虚拟机服务器磁盘扩容

前期准备

虚拟机硬件扩容

对虚拟机进行硬件扩容,扩容方式一般为两种,扩展原有的虚拟硬盘与添加新的虚拟硬盘,建议采用添加新的虚拟硬盘的方式

停止虚拟机上的所有服务

项停下虚拟机上的所有服务(如数据库以及各类应用)

备份虚拟机

对虚拟机进行备份(所有的磁盘操作都是有风险的,一定要进行备份

重启虚拟机

重启虚拟机。建议使用命令reboot

 

扩容步骤

检查硬盘空间

在root用户下终端执行命令fdisk –l

  1. 如若采用扩展原有硬盘的方式进行的硬件扩容,则会如下图所示

            技术分享

原有的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

 技术分享

相应的目录相比原来成功进行了扩容

虚拟机服务器磁盘扩容