在工作中,磁盘扩容问题是所有运维工程师都遇到过的问题,不同的磁盘分配方式会有不同的扩容方式。以下介绍几种生产环境常用的扩容方式。
一、在原有磁盘扩容
在原有磁盘下扩容也分两种情况,一种情况是扩容的磁盘是一个分区,另一种情况是扩容的磁盘是一整块盘。
【温馨提示】有些虚拟化平台或云平台不支持在原有磁盘增加容量,我工作遇到的几个云平台都是支持动态扩容的,视实际情况而定
这两种情况下的扩容方法是不同的,下面针对这两种情况分别讲解扩容方法。
切记:新手操作前做快照,避免扩容导致数据丢失!!老手请自便!
情况一:扩容的磁盘是一个分区
现有环境:要对/dev/vdb1设备扩容
目前分区有10G,但整个磁盘有20G,将剩余的扩容到/dev/vdb1分区中
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 458K 0 rom
vda 253:0 0 100G 0 disk
├─vda1 253:1 0 99.5G 0 part /
└─vda2 253:2 0 500M 0 part /boot
vdb 253:96 0 20G 0 disk
└─vdb1 253:97 0 10G 0 part
1、安装工具
使用growpart工具可以完成Linux系统盘分区扩容及文件系统扩展,
grawpart工具需要单独安装:
yum install cloud-utils-growpart -y
2、扩容分区
【温馨提示】单盘有多个连续分区,仅能扩容最后一个分区。 以下操作为扩容/dev/vdb磁盘的第一个分区
[root@localhost ~]# growpart /dev/vdb 1
CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=41940959 end=41943007
查看分区格式
lsblk –f
3、扩容文件系统
可以看到/dev/vdb1分区为xfs,需要使用xfs_growfs命令进行扩展
[root@localhost ~]# xfs_growfs /dev/vdb1
如果分区格式为ext4,用以下命令扩容
resize2fs /dev/vda3
查看扩容结果:已从10G扩容到20G
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 1.5G 8.6M 1.5G 1% /run
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/vda1 98G 3.1G 90G 4% /
tmpfs 3.7G 0 3.7G 0% /tmp
/dev/vda2 495M 234M 261M 48% /boot
/dev/vdg1 20G 176M 20G 1% /data
可能遇到的报错和解决办法:
unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]
[root@mypc ~]# LANG=en_