前言
随着业务的增大,磁盘空间是越用越多。直到不够用,需要扩容了。却发现在服务商升级磁盘以后,磁盘大小并未发生变化。该如何操作才能实现真正的扩容成功呢?
在操作硬盘扩容前,为了安全起见,请通过磁盘快照功能备份服务器系统盘与数据盘;
然后在确保数据安全的情况下操作关闭服务器,购买磁盘空间,等待配置完成后启动服务器;
接下来按照如下操作进行:
1、使用SSH远程连接到服务器
2、运行 umount [文件系统名称] 命令卸载主分区
注意事项:这里操作的时候如果出现报错,先关闭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
如果出现扩容后的文件系统信息,说明挂载成功,就可以使用扩容后的文件系统了。
重新启动服务器让全部环境和进程恢复启动,至此教程结束。