最近一个帝国cms用户网站服务器,发现磁盘空间不够用了,数据盘50GB的空间只剩下5%,于是给服务器数据盘扩容200G。详细教程如下:

在操作硬盘扩容前,为了安全起见,请通过磁盘快照功能备份服务器系统盘与数据盘;

然后在确保数据安全的情况下操作关闭服务器,购买磁盘空间,等待配置完成后启动服务器;发布宝塔控制面板后台还是显示50G

接下来按照如下操作进行:

1、使用SSH远程连接到服务器

注意事项:这里操作的时候如果出现报错,先关闭swap分区跟卸载主机监控以及停止宝塔相关服务

(1)关闭swap分区:

swapoff -a

(2)卸载主机监控(部分主机商有):

/usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh remove && rm -rf /usr/local/cloudmonitor

(3)解除占用(把占用 /dev/vdb1 的进程杀死):

fuser -m -k /dev/vdb1

(4)卸载主分区:

umount /dev/vdb1

使用 df -h 查看是否卸载成功,如果看不到 /dev/vdb1 的信息表示卸载成功。

以下为示例输出结果:

3、使用 fdisk 命令删除原来的分区并创建新分区:

(1)运行命令 fdisk -l 罗列分区信息并记录扩容前数据盘的最终容量、起始扇区(First sector)位置

(2)运行命令 fdisk [数据盘设备名] 进入 fdisk 界面

本示例中,命令为 fdisk /dev/vdb

输入 d 并按回车键,删除原来的分区(删除分区不会造成数据盘内数据的丢失)

输入 n 并按回车键,开始创建新的分区

输入 p 并按回车键,选择创建主分区

输入分区编号并按回车键,这里仅创建一个分区,所以输入 1

输入第一个可用的扇区编号:为了保证数据的一致性,First sector 需要与原来的分区保持一致(在本示例中,按回车键采用默认值)

输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值

输入 wq 并按回车键,开始保存之前对分区的操作

磁盘分区操作示例图:

4、检查文件系统,并变更文件系统大小

(1)检查文件系统

e2fsck -f /dev/vdb1

(2)变更文件系统大小

resize2fs /dev/vdb1

注意:

使用 e2fsck 时,由于系统需要检查并修正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。

正确使用 e2fsck 和 resize2fs 指令,不会造成原有数据的丢失。

5、将扩容完成的文件系统挂载到原来的挂载点(如本示例中的 /www)

mount /dev/vdb1 /www

6、查看磁盘空间和使用情况:运行命令 df -h

如果出现扩容后的文件系统信息,说明挂载成功,就可以使用扩容后的文件系统了。

重新启动服务器让全部环境和进程恢复启动,

登录宝塔控制面板就可以看到数据盘大小也改变了

至此教程结束。