https://blog.csdn.net/chengyuqiang/article/details/59491942

第一步在虚拟机外部扩展磁盘空间

Centos虚拟机扩容 - 图1

新增分区

执行“fdisk /dev/sda”,进入到fdisk
输入p指令,查看已分区数量(有两个 /dev/sda1 /dev/sda2)
输入 n {new partition}指令,新增加一个分区
输入p {primary partition},分区类型选择为主分区
输入分区号 3 {partition number} ,分区号选3(上面显示我已经有2个分区了)
回车      默认(起始扇区)
回车      默认(结束扇区)
输入t {change partition id}指令,修改分区类型
按提示输入刚才的分区号3
输入分区类型 8e {Linux LVM partition}
输入w指令,将以上改动写入分区表
输入q指令,退出fdisk命令
最后重启:shutdown -r now

对新增加的硬盘格式化

  1. [root@vnode1 ~]# mkfs.ext3 /dev/sda3
  2. mke2fs 1.42.9 (28-Dec-2013)
  3. 文件系统标签=
  4. OS type: Linux
  5. 块大小=4096 (log=2)
  6. 分块大小=4096 (log=2)
  7. Stride=0 blocks, Stripe width=0 blocks
  8. 2621440 inodes, 10485760 blocks
  9. 524288 blocks (5.00%) reserved for the super user
  10. 第一个数据块=0
  11. Maximum filesystem blocks=4294967296
  12. 320 block groups
  13. 32768 blocks per group, 32768 fragments per group
  14. 8192 inodes per group
  15. Superblock backups stored on blocks:
  16. 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
  17. 4096000, 7962624
  18. Allocating group tables: 完成
  19. 正在写入inode表: 完成
  20. Creating journal (32768 blocks): 完成
  21. Writing superblocks and filesystem accounting information: 完成

添加新LVM到已有的LVM组,实现扩容

  1. [root@vnode1 ~]# lvm
  2. lvm> pvcreate /dev/sda3
  3. WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y
  4. Wiping ext3 signature on /dev/sda3.
  5. Physical volume "/dev/sda3" successfully created
  6. lvm> vgextend centos /dev/sda3
  7. Volume group "centos" successfully extended
  8. lvm> lvextend -L +39.9G /dev/mapper/centos-root
  9. Rounding size to boundary between physical extents: 39.90 GiB
  10. Size of logical volume centos/root changed from 35.47 GiB (9080 extents) to 75.37 GiB (19295 extents).
  11. Logical volume root successfully resized.
  12. lvm> pvdisplay
  13. --- Physical volume ---
  14. PV Name /dev/sda2
  15. VG Name centos
  16. PV Size 39.51 GiB / not usable 3.00 MiB
  17. Allocatable yes (but full)
  18. PE Size 4.00 MiB
  19. Total PE 10114
  20. Free PE 0
  21. Allocated PE 10114
  22. PV UUID vtNvX3-b1yw-ePoh-YGHQ-tDhL-x0ru-mfts3k
  23. --- Physical volume ---
  24. PV Name /dev/sda3
  25. VG Name centos
  26. PV Size 40.00 GiB / not usable 4.00 MiB
  27. Allocatable yes
  28. PE Size 4.00 MiB
  29. Total PE 10239
  30. Free PE 34
  31. Allocated PE 10205
  32. PV UUID jWqvcF-R53u-ZeAy-zO2L-PbtI-51VP-yHNZ1g
  33. lvm> quit
  34. Exiting.
  35. [root@vnode1 ~]#

实际指令为:

  1. lvm             进入lvm管理
  2. lvm> pvcreate /dev/sda3 这是初始化刚才的分区,必须的
  3. lvm>vgextend centos /dev/sda3 将初始化过的分区加入到虚拟卷组vg_dc01
  4. lvm>vgdisplay 查询容量
  5. lvm>lvextend -L +39.9G /dev/mapper/centos-root  扩展已有卷的容量
  6. lvm>pvdisplay               查看卷容量,这时你会看到一个很大的卷了
  7. lvm>quit                  退出

其中指令【lvextend -L +39.9G /dev/mapper/centos-root】的数字需要通过指令【vgdisplay】查询
image.png
以上只是卷扩容了,下面是文件系统的真正扩容,输入以下命令:

  1. [root@vnode1 ~]# resize2fs /dev/mapper/centos-root
  2. resize2fs 1.42.9 (28-Dec-2013)
  3. resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root
  4. 找不到有效的文件系统超级块.

报错:当尝试打开 /dev/mapper/centos-root 时 找不到有效的文件系统超级块
因为我的centos7的某些分区用的是xfs的文件系统(使用df -T查看即可知道)
image.png
将resize2fs替换为xfs_growfs,重新执行一遍即可,如下:
xfs_growfs /dev/mapper/centos-root
image.png
image.png