云服务器保留磁盘数据对磁盘进行扩容

最过接到一个任务,线上有几台服务器的磁盘不够用了,要从200G扩容到500G需要保留磁盘数据。特此做个记录以便日后使用

在云控制台扩容好磁盘后,进入到服务器上查看磁盘空间

1
2
3
4
5
6
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 500G 0 disk
└─vdb1 253:17 0 200G 0 part /work/admin

卸载磁盘进行重新分区,要确保没有服务在使用磁盘否则会卸载失败,可以用lsof /dev/vdb1跟踪查看

1
2
3
4
5
6
7
umount /dev/vdb1
fdisk /dev/vdb

Device Boot Start End Blocks Id System
/dev/vdb1 2048 1048575999 524286976 83 Linux

删除原分区,重新进行分区

注意:分区起始文件块要和之前保持一致,这里因为只有一个分区是2048开始

再次卸载磁盘,执行xfs_repair修复磁盘数据

1
2
umount /dev/vdb1
xfs_repair /dev/vdb1

挂载磁盘,执行xfs_growfs完成扩容

1
2
mount -a
xfs_growfs /dev/vdb1

最后再次查看磁盘空间

1
2
3
4
5
6
7
8
9
df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 2.6G 35G 7% /
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 3.9G 592K 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vdb1 xfs 500G 190G 310G 38% /work/admin
tmpfs tmpfs 783M 0 783M 0% /run/user/1000

快去看看数据仍在

-------------本文结束感谢您的阅读-------------