1.前言

  • linux现有磁盘分区扩容,其实就是先扩容我们的磁盘大小,然后删除分区,重新建立分区,刷新分区表,刷新磁盘这步骤
  • 删除分区不会丢失磁盘分区上数据,只是删除了分区表中数据

2.实际操作

2.1 查看我们现有磁盘信息

可以看到我们有个/dev/sdd1磁盘,大小为30G,现在我们对他进行扩容

  1. [root@node1 ~]# fdisk -l /dev/sdd
  2. 磁盘 /dev/sdd32.2 GB, 32212254720 字节,62914560 个扇区
  3. Units = 扇区 of 1 * 512 = 512 bytes
  4. 扇区大小(逻辑/物理):512 字节 / 512 字节
  5. I/O 大小(最小/最佳):512 字节 / 512 字节
  6. 磁盘标签类型:dos
  7. 磁盘标识符:0xe34a7d0f
  8. 设备 Boot Start End Blocks Id System
  9. /dev/sdd1 2048 62914559 31456256 83 Linux
  10. [root@node1 ~]# mount /dev/sdd1 /work/
  11. [root@node1 ~]# df -h
  12. 文件系统 容量 已用 可用 已用% 挂载点
  13. devtmpfs 1.9G 0 1.9G 0% /dev
  14. tmpfs 2.0G 0 2.0G 0% /dev/shm
  15. tmpfs 2.0G 9.4M 1.9G 1% /run
  16. tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
  17. /dev/mapper/centos-root 28G 4.6G 23G 17% /
  18. /dev/sda1 497M 178M 320M 36% /boot
  19. /dev/dm-6 10G 1010M 9.1G 10%
  20. /dev/sdd1 30G 9.2G 19G 33% /work

2.2 关闭虚拟机,扩容我们的磁盘大小

这里调整为35G

image.png

2.3 查看磁盘空间

这里我们可以看到磁盘已经扩容了

  1. [root@node1 ~]# fdisk -l /dev/sdd
  2. 磁盘 /dev/sdd37.6 GB, 37580963840 字节,73400320 个扇区
  3. Units = 扇区 of 1 * 512 = 512 bytes
  4. 扇区大小(逻辑/物理):512 字节 / 512 字节
  5. I/O 大小(最小/最佳):512 字节 / 512 字节
  6. 磁盘标签类型:dos
  7. 磁盘标识符:0xe34a7d0f
  8. 设备 Boot Start End Blocks Id System
  9. /dev/sdd1 2048 62914559 31456256 83 Linux

2.4 扩容分区

这里我们可以看到我们删除了分区,重新创建了分区,并对分区大小调整为35,不过这里同步磁盘出错了,原因为/dev/sdd1分区已经挂载好路径,需要先卸载分区

  1. [root@node1 ~]# fdisk /dev/sdd
  2. 欢迎使用 fdisk (util-linux 2.23.2)。
  3. 更改将停留在内存中,直到您决定将更改写入磁盘。
  4. 使用写入命令前请三思。
  5. 命令(输入 m 获取帮助):d # 删除分区
  6. 已选择分区 1
  7. 分区 1 已删除
  8. 命令(输入 m 获取帮助):n # 创建分区
  9. Partition type:
  10. p primary (0 primary, 0 extended, 4 free)
  11. e extended
  12. Select (default p): p # 创建主分区
  13. 分区号 (1-4,默认 1):
  14. 起始 扇区 (2048-73400319,默认为 2048):
  15. 将使用默认值 2048
  16. Last 扇区, +扇区 or +size{K,M,G} (2048-73400319,默认为 73400319):
  17. 将使用默认值 73400319
  18. 分区 1 已设置为 Linux 类型,大小设为 35 GiB
  19. 命令(输入 m 获取帮助):w # 保存
  20. The partition table has been altered!
  21. Calling ioctl() to re-read partition table.
  22. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
  23. The kernel still uses the old table. The new table will be used at
  24. the next reboot or after you run partprobe(8) or kpartx(8)
  25. 正在同步磁盘。

2.5 取消磁盘挂载

  1. [root@node1 ~]# df -h
  2. 文件系统 容量 已用 可用 已用% 挂载点
  3. devtmpfs 1.9G 0 1.9G 0% /dev
  4. tmpfs 2.0G 0 2.0G 0% /dev/shm
  5. tmpfs 2.0G 9.4M 1.9G 1% /run
  6. tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
  7. /dev/mapper/centos-root 28G 4.6G 23G 17% /
  8. /dev/sda1 497M 178M 320M 36% /boot
  9. /dev/dm-6 10G 1010M 9.1G 10%
  10. /dev/sdd1 30G 9.2G 19G 33% /work
  11. # 取消挂载
  12. [root@node1 ~]# umount /work/

2.6 刷新分区表

  1. [root@node1 ~]# partprobe

2.7 挂载目录

可以看到,我们重新挂载目录,但是容量并没有作调整

  1. [root@node1 ~]# mount /dev/sdd1 /work/
  2. [root@node1 ~]# df -h
  3. 文件系统 容量 已用 可用 已用% 挂载点
  4. devtmpfs 1.9G 0 1.9G 0% /dev
  5. tmpfs 2.0G 0 2.0G 0% /dev/shm
  6. tmpfs 2.0G 9.4M 1.9G 1% /run
  7. tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
  8. /dev/mapper/centos-root 28G 4.6G 23G 17% /
  9. /dev/sda1 497M 178M 320M 36% /boot
  10. tmpfs 391M 0 391M 0% /run/user/0
  11. /dev/dm-6 10G 170M 9.9G 2%
  12. /dev/sdd1 30G 9.2G 19G 33% /work

2.8 刷新磁盘容量

调整磁盘容量为两种情况,一种是xfs文件类型格式,需要用xfs_growfs命令扩容,另一种ext文件格式,需要用resize2fs命令扩容

  1. # 查看分区格式
  2. [root@node1 ~]# df -Th
  3. 文件系统 类型 容量 已用 可用 已用% 挂载点
  4. devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
  5. tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
  6. tmpfs tmpfs 2.0G 9.4M 1.9G 1% /run
  7. tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
  8. /dev/mapper/centos-root xfs 28G 4.6G 23G 17% /
  9. /dev/sda1 xfs 497M 178M 320M 36% /boot
  10. tmpfs tmpfs 391M 0 391M 0% /run/user/0
  11. /dev/dm-6 xfs 10G 170M 9.9G 2%
  12. /dev/sdd1 ext4 30G 9.2G 19G 33% /work
  13. # 刷新磁盘
  14. [root@node1 ~]# resize2fs /dev/sdd1
  15. resize2fs 1.42.9 (28-Dec-2013)
  16. Filesystem at /dev/sdd1 is mounted on /work; on-line resizing required
  17. old_desc_blocks = 4, new_desc_blocks = 5
  18. The filesystem on /dev/sdd1 is now 9174784 blocks long.
  19. [root@node1 ~]# df -h
  20. 文件系统 容量 已用 可用 已用% 挂载点
  21. devtmpfs 1.9G 0 1.9G 0% /dev
  22. tmpfs 2.0G 0 2.0G 0% /dev/shm
  23. tmpfs 2.0G 9.4M 1.9G 1% /run
  24. tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
  25. /dev/mapper/centos-root 28G 4.6G 23G 17% /
  26. /dev/sda1 497M 178M 320M 36% /boot
  27. tmpfs 391M 0 391M 0% /run/user/0
  28. /dev/dm-6 10G 170M 9.9G 2%
  29. /dev/sdd1 35G 9.2G 24G 28% /work

3.其他

3.1 阿里云磁盘扩容文档

https://help.aliyun.com/document_detail/113316.html