1.前言
- linux现有磁盘分区扩容,其实就是先扩容我们的磁盘大小,然后删除分区,重新建立分区,刷新分区表,刷新磁盘这步骤
- 删除分区不会丢失磁盘分区上数据,只是删除了分区表中数据
2.实际操作
2.1 查看我们现有磁盘信息
可以看到我们有个/dev/sdd1磁盘,大小为30G,现在我们对他进行扩容
[root@node1 ~]# fdisk -l /dev/sdd磁盘 /dev/sdd:32.2 GB, 32212254720 字节,62914560 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xe34a7d0f设备 Boot Start End Blocks Id System/dev/sdd1 2048 62914559 31456256 83 Linux[root@node1 ~]# mount /dev/sdd1 /work/[root@node1 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 1.9G 0 1.9G 0% /devtmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs 2.0G 9.4M 1.9G 1% /runtmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root 28G 4.6G 23G 17% //dev/sda1 497M 178M 320M 36% /boot/dev/dm-6 10G 1010M 9.1G 10%/dev/sdd1 30G 9.2G 19G 33% /work
2.2 关闭虚拟机,扩容我们的磁盘大小
这里调整为35G
2.3 查看磁盘空间
这里我们可以看到磁盘已经扩容了
[root@node1 ~]# fdisk -l /dev/sdd磁盘 /dev/sdd:37.6 GB, 37580963840 字节,73400320 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0xe34a7d0f设备 Boot Start End Blocks Id System/dev/sdd1 2048 62914559 31456256 83 Linux
2.4 扩容分区
这里我们可以看到我们删除了分区,重新创建了分区,并对分区大小调整为35,不过这里同步磁盘出错了,原因为/dev/sdd1分区已经挂载好路径,需要先卸载分区
[root@node1 ~]# fdisk /dev/sdd欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):d # 删除分区已选择分区 1分区 1 已删除命令(输入 m 获取帮助):n # 创建分区Partition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): p # 创建主分区分区号 (1-4,默认 1):起始 扇区 (2048-73400319,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-73400319,默认为 73400319):将使用默认值 73400319分区 1 已设置为 Linux 类型,大小设为 35 GiB命令(输入 m 获取帮助):w # 保存The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)正在同步磁盘。
2.5 取消磁盘挂载
[root@node1 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 1.9G 0 1.9G 0% /devtmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs 2.0G 9.4M 1.9G 1% /runtmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root 28G 4.6G 23G 17% //dev/sda1 497M 178M 320M 36% /boot/dev/dm-6 10G 1010M 9.1G 10%/dev/sdd1 30G 9.2G 19G 33% /work# 取消挂载[root@node1 ~]# umount /work/
2.6 刷新分区表
[root@node1 ~]# partprobe
2.7 挂载目录
可以看到,我们重新挂载目录,但是容量并没有作调整
[root@node1 ~]# mount /dev/sdd1 /work/[root@node1 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 1.9G 0 1.9G 0% /devtmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs 2.0G 9.4M 1.9G 1% /runtmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root 28G 4.6G 23G 17% //dev/sda1 497M 178M 320M 36% /boottmpfs 391M 0 391M 0% /run/user/0/dev/dm-6 10G 170M 9.9G 2%/dev/sdd1 30G 9.2G 19G 33% /work
2.8 刷新磁盘容量
调整磁盘容量为两种情况,一种是xfs文件类型格式,需要用xfs_growfs命令扩容,另一种ext文件格式,需要用resize2fs命令扩容
# 查看分区格式[root@node1 ~]# df -Th文件系统 类型 容量 已用 可用 已用% 挂载点devtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 9.4M 1.9G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 28G 4.6G 23G 17% //dev/sda1 xfs 497M 178M 320M 36% /boottmpfs tmpfs 391M 0 391M 0% /run/user/0/dev/dm-6 xfs 10G 170M 9.9G 2%/dev/sdd1 ext4 30G 9.2G 19G 33% /work# 刷新磁盘[root@node1 ~]# resize2fs /dev/sdd1resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/sdd1 is mounted on /work; on-line resizing requiredold_desc_blocks = 4, new_desc_blocks = 5The filesystem on /dev/sdd1 is now 9174784 blocks long.[root@node1 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 1.9G 0 1.9G 0% /devtmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs 2.0G 9.4M 1.9G 1% /runtmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/mapper/centos-root 28G 4.6G 23G 17% //dev/sda1 497M 178M 320M 36% /boottmpfs 391M 0 391M 0% /run/user/0/dev/dm-6 10G 170M 9.9G 2%/dev/sdd1 35G 9.2G 24G 28% /work
