只做高防服务器租用,所以专业! - 防御王

防护热线:0632-7560000

关于我们 信息中心 法律申明 支付方式 加入我们 联系我们

云服务器Linux系统-磁盘无损扩容【宝塔面板适用】

新闻发布:高防服务器   发布时间:2024-01-07 16:23

注意:以下操作会有风险,为保证数据安全请先备份您的服务器系统,我司云服务器产品可联系我司为您全盘备份后再操作。

适用情况:已挂载了数据盘,通过升级又新增了原有数据盘的大小,现在想把新增的部分直接添加到已挂载的数据盘里。

 

这里已安装宝塔面板的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 最大容量和 宝塔面板里显示的最大容量 不一致。宝塔里面显示的比实际要小很多,不知道是哪里的原因。