注意:以下操作会有风险,为保证数据安全请先备份您的服务器系统,我司云服务器产品可联系我司为您全盘备份后再操作。
适用情况:已挂载了数据盘,通过升级又新增了原有数据盘的大小,现在想把新增的部分直接添加到已挂载的数据盘里。
这里已安装宝塔面板的centos系统为例,不同的系统可能盘符名称有所差别,请在理解的情况下操作。
首先使用SSH远程连接到服务器 运行 umount [文件系统名称] 命令卸载挂载的数据盘/WWW
如:umount /www
注意事项:这里操作的时候如果出现报错:
umount: /www:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
先关闭swap分区跟卸载主机监控以及停止宝塔相关服务
(1)关闭swap分区:
swapoff -a
(2)卸载主机监控(部分主机商有,我司云机请跳过):
/usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh remove && \ rm -rf /usr/local/cloudmonitor
(3)解除已挂在的原有数据盘占用(把占用 /dev/db1 的进程杀死):
fuser -m -k /dev/sdb1
(4)卸载挂载的数据盘分区:
umount /dev/sdb1
然后使用命令 df -h 查看是否卸载成功,如果看不到 /dev/vdb1 的信息表示卸载成功。
2、使用 fdisk 命令删除原来的分区并创建新分区:
(1)运行命令 fdisk -l 列出分区信息并记录扩容前数据盘的最终容量、起始扇区(First sector)位置
(2)运行命令 fdisk [数据盘设备名] 进入 fdisk 界面
本示例中,命令为 fdisk /dev/sdb
输入 d 并按回车键,删除原来的分区(删除分区不会造成数据盘内数据的丢失)
输入 n 并按回车键,开始创建新的分区
输入 p 并按回车键,选择创建主分区
输入分区编号并按回车键,这里仅创建一个分区,一般默认回车即可
输入第一个可用的扇区编号:为了保证数据的一致性,First sector 需要与原来的分区保持一致(在本示例中,按回车键采用默认值)
输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值
输入 wq 并按回车键,开始保存之前对分区的操作
磁盘分区操作示例图:
3、检查文件系统,并变更文件系统大小
(1)检查文件系统
e2fsck -f /dev/sdb1
如果再次报错:
/dev/sdb1 is mounted. e2fsck: 无法继续, 中止. 那么再执行一次卸载: umount /dev/sdb1
然后再执行:e2fsck -f /dev/sdb1
(2)变更文件系统大小,以下命令只会格式化新加的磁盘部分。
resize2fs /dev/sdb1
注意:
使用 e2fsck 时,由于系统需要检查并修正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。
正确使用 e2fsck 和 resize2fs 指令,不会造成原有数据的丢失。
4、将扩容完成的文件系统挂载到原来的挂载点(如本示例中的 /www)
mount /dev/sdb1 /www
5、查看磁盘空间和使用情况:运行命令 df -h
如果出现扩容后的文件系统信息,说明挂载成功,就可以使用扩容后的文件系统了。
reboot 重新启动服务器让全部环境和进程恢复启动就可以了。
最后发一下有个小问题,服务器实际通过 df -h 显示的 /www 最大容量和 宝塔面板里显示的最大容量 不一致。宝塔里面显示的比实际要小很多,不知道是哪里的原因。