使用Linux云服务器的朋友可能会碰到磁盘分区已满的情况,这时候一般我们会对云服务器的磁盘进行扩容,但是磁盘扩容后,分区并没有扩大,还无法使用扩容的部分,该如何使旧分区原地扩容呢?举例场景:举例对象 云服务器CVM、数据盘/dev/vdb 已有分区/dev/vdb1 容量约11.5GB,该分区已挂载到了/www目录,并且有数据,因为后期升级磁盘到了21.5GB,现在相对分区进行扩容,但不想影响分区内的数据。
以下方法是可行的,不会影响原数据,但如果操作不慎,可能会导致数据丢失,所以操作要谨慎点(最好自行做好备份)。
1. 命令 df -h 查看现有分区挂载信息,可以看到 /dev/vdb1 已挂载/www 大概 11GB命令 fdisk -l 查看已有磁盘分区情况,如下图,我们可以看到/dev/vdb1分区,记住开始位置(start),这里为2048 sectors。
使用命令 parted -l 查看分区的容量情况,可以看到分区/dev/vdb1容量为11.2GB,而整块磁盘是21.5GB。
2、卸载磁盘,命令如下cd / 进入根目录umount /dev/vdb1 开始卸载与/dev/vdb1的挂载关系df -h 检查分区挂载目录的情况,可以看到/dev/vdb1 已经不存在挂载。
3、删除就分区,并新建一个分区fdisk /dev/vdbd 删除原有分区(如有多个分区,还多一步选择分区号的输入项)n 新建分区p 主分区1 新分区号2048 这个是跟之前分区的开始位置保持一致。
41943039 注意:这是磁盘结束位置,这个得根据自己磁盘容量情况来写,不输入而直接默认回车表示全部分配。
w 保存变更4、命令 fdisk -l 查看分区后的情况命令 e2fsck -f /dev/vdb1 对新分区进行检测5、 命令 resize2fs /dev/vdb1 对新分区进行更正6、命令 mount -a 重新加载挂载信息命令 df -h 可以看到分区已挂载到了原来的/www目录,且容量已经扩容了,原有数据没有受到影响。
完~