PD虚拟机Centos扩容磁盘空间

这两天小编研究在PD虚拟机上如何给已经初始化完成的centos虚拟机就行磁盘扩容(前些时间由于集群的主节点给的初始化磁盘空间太小,服务全宕掉,惨啊… 😭),在网上查博客时发现了一个宝藏教程,这里附上链接:

PD虚拟机增加CentOS虚拟机磁盘空间


扩容流程

初始状态下,小编的linux2虚拟机只有一块虚拟硬盘,大小64G,我们想要再添加一块大小为32G的硬盘进行扩容

centos 磁盘分区扩容操作 不使用逻辑卷 centos如何分区扩容_centos

第一步:添加一块硬盘

注意:需保证虚拟机处于关机状态

centos 磁盘分区扩容操作 不使用逻辑卷 centos如何分区扩容_CentOS_02

添加完毕后可以看到此时slave2虚拟机多了一块32G的虚拟硬盘

centos 磁盘分区扩容操作 不使用逻辑卷 centos如何分区扩容_CentOS_03

第二步:开启虚拟机,查看挂载情况

使用df -h指令发现新增的虚拟硬盘没有显示在磁盘空间的使用情况上,这是由于我们没有对此处磁盘空间就行挂载分区

[yunmiao@localhost ~]$ df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                2.1G     0  2.1G    0% /dev/shm
tmpfs                825M  9.2M  816M    2% /run
/dev/mapper/cs-root   40G  4.6G   35G   12% /
/dev/mapper/cs-home   20G  1.6G   18G    8% /home
/dev/sda2            960M  268M  693M   28% /boot
/dev/sda1            599M  7.0M  592M    2% /boot/efi
tmpfs                413M   56K  413M    1% /run/user/42
tmpfs                413M   36K  413M    1% /run/user/1000

这时需保证进入管理员状态

使用fdisk -l查看磁盘容量

[root@localhost yunmiao]# fdisk -l
Disk /dev/sda:64 GiB,68719476736 字节,134217728 个扇区
磁盘型号:CentOS Linux sla
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:F0D13BDC-0FDF-43C0-BC63-49EA3B38EB9B

设备          起点      末尾      扇区  大小 类型
/dev/sda1     2048   1230847   1228800  600M EFI 系统
/dev/sda2  1230848   3327999   2097152    1G Linux 文件系统
/dev/sda3  3328000 134215679 130887680 62.4G Linux LVM


Disk /dev/sdb:32 GiB,34359738368 字节,67108864 个扇区
磁盘型号:CentOS Linux sla
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节


Disk /dev/mapper/cs-root:39.28 GiB,42173726720 字节,82370560 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节


Disk /dev/mapper/cs-swap:3.96 GiB,4248829952 字节,8298496 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节


Disk /dev/mapper/cs-home:19.18 GiB,20589838336 字节,40214528 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节


centos 磁盘分区扩容操作 不使用逻辑卷 centos如何分区扩容_文件系统_04

这里可以看到磁盘容量已经扩容,挂载路径是/dev/sdb

第三步:使用fdisk命令进行分区

[root@localhost yunmiao]# fdisk /dev/sdb 

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x73dcb5b8 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0 primary, 0 extended, 4 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):

将使用默认回应 p。
分区号 (1-4, 默认  1): 4
第一个扇区 (2048-67108863, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-67108863, 默认 67108863): 

创建了一个新分区 4,类型为“Linux”,大小为 32 GiB。

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

查看是否存在/dev/sdb的分区

[root@localhost yunmiao]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):p
Disk /dev/sdb:32 GiB,34359738368 字节,67108864 个扇区
磁盘型号:CentOS Linux sla
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x73dcb5b8

设备       启动  起点     末尾     扇区 大小 Id 类型
/dev/sdb4        2048 67108863 67106816  32G 83 Linux

命令(输入 m 获取帮助):
[root@localhost yunmiao]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   64G  0 disk 
├─sda1        8:1    0  600M  0 part /boot/efi
├─sda2        8:2    0    1G  0 part /boot
└─sda3        8:3    0 62.4G  0 part 
  ├─cs-root 253:0    0 39.3G  0 lvm  /
  ├─cs-swap 253:1    0    4G  0 lvm  [SWAP]
  └─cs-home 253:2    0 19.2G  0 lvm  /home
sdb           8:16   0   32G  0 disk 
└─sdb4        8:20   0   32G  0 part 
sr0          11:0    1 1024M  0 rom

可以看到/dev/sdb的分区已经存在/dev/sdb4路径下

第四步:将分区加入到卷中

这里我们先使用vgs指令查看该虚拟机的所有卷,可以看到这里我们只有一个卷cs

[root@localhost yunmiao]# vgs
  VG #PV #LV #SN Attr   VSize  VFree
  cs   1   3   0 wz--n- 62.41g    0

由于我们要对/dev/sda的分区进行扩容,我们需要将分区/dev/sdb4加入到cs卷中(需保证和/dev/sda在同一个卷中,否则无法扩容)

[root@localhost yunmiao]# vgextend cs /dev/sdb4
  Physical volume "/dev/sdb4" successfully created.
  Volume group "cs" successfully extended

第五步:扩容

# 查看当前磁盘使用情况
[root@localhost yunmiao]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                2.1G     0  2.1G    0% /dev/shm
tmpfs                825M  9.2M  816M    2% /run
/dev/mapper/cs-root   40G  4.6G   35G   12% /
/dev/mapper/cs-home   20G  1.6G   18G    8% /home
/dev/sda2            960M  268M  693M   28% /boot
/dev/sda1            599M  7.0M  592M    2% /boot/efi
tmpfs                413M   56K  413M    1% /run/user/42
tmpfs                413M   36K  413M    1% /run/user/1000

# 将 /dev/mapper/cs-root 逻辑卷的大小调整为 56GB(相当于扩容16G)
[root@localhost yunmiao]# lvresize -L 56G /dev/mapper/cs-root
  Size of logical volume cs/root changed from <39.28 GiB (10055 extents) to 56.00 GiB (14336 extents).
  Logical volume cs/root successfully resized.

# 将 /dev/mapper/cs-root 文件系统扩展到逻辑卷的整个可用空间
[root@localhost yunmiao]# xfs_growfs /dev/mapper/cs-root 
meta-data=/dev/mapper/cs-root    isize=512    agcount=4, agsize=2574080 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=10296320, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 10296320 to 14680064

# 此时可以看到/dev/mapper/cs-root的可用空间增加到56G
[root@localhost yunmiao]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             4.0M     0  4.0M    0% /dev
tmpfs                2.1G     0  2.1G    0% /dev/shm
tmpfs                825M  9.2M  816M    2% /run
/dev/mapper/cs-root   56G  4.7G   52G    9% /
/dev/mapper/cs-home   20G  1.6G   18G    8% /home
/dev/sda2            960M  268M  693M   28% /boot
/dev/sda1            599M  7.0M  592M    2% /boot/efi
tmpfs                413M   56K  413M    1% /run/user/42
tmpfs                413M   36K  413M    1% /run/user/1000