当前位置:论坛首页 > Linux面板 > 讨论

【已回应】小白磁盘扩容:宝塔阿里云磁盘扩容无损步骤~....

发表在 Linux面板2020-3-28 23:23 [复制链接] 14 11004

本帖最后由 谢花郎 于 2020-3-30 11:23 编辑

       当网站的业务量越来越多的时候,会发现数据盘已经容不下了,于是打算对数据盘进行扩容,由于以前照着阿里云的教程操作,导致网站一百多G的数据全部丢失,当时没有做备份和快照,导致后来手工操作7天7夜不休不眠的发布数据,流量下降了,数据也丢了,人也受累了,于是在今夜奋发学习,终于学得无损磁盘扩容的教程,以下图片来自于阿里云创建的抢占式实例。注:1,本教程只针对数据盘(文中绿色字体代表要输入的命令,紫色代表重点)
       2,数据提前做好备份和快照
       3,阿里云磁盘,宝塔面板,Centos 7的系统
       4,我的服务器现有系统盘 /dev/vda1,数据盘/dev/vdb1,在远程连接中输入:df -h 回车
1.png
步骤:
一,阿里云后台在数据盘更多处点击磁盘扩容,选中在线扩容,我的原来是78G,扩充后154G,提交订单。发现在阿里云后台显示是154G,宝塔面板还是77G,文件系统约占1G。
二,停止相关的服务
1,停止宝塔的所有任务,在宝塔面板中计划任务中新建shell脚本任务,名称随便写,点击保存并点击执行。脚本内容如下:
  1. <font size="4" color="#2e8b57">#!/bin/bash
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  3. export PATH

  4. stop_service(){

  5.         /etc/init.d/bt stop

  6.         if [ -f "/etc/init.d/nginx" ]; then
  7.                 /etc/init.d/nginx stop > /dev/null 2>&1
  8.         fi

  9.         if [ -f "/etc/init.d/httpd" ]; then
  10.                 /etc/init.d/httpd stop > /dev/null 2>&1
  11.         fi

  12.         if [ -f "/etc/init.d/mysqld" ]; then
  13.                 /etc/init.d/mysqld stop > /dev/null 2>&1
  14.         fi

  15.         if [ -f "/etc/init.d/pure-ftpd" ]; then
  16.                 /etc/init.d/pure-ftpd stop > /dev/null 2>&1
  17.         fi

  18.         if [ -f "/etc/init.d/tomcat" ]; then
  19.                 /etc/init.d/tomcat stop > /dev/null 2>&1
  20.         fi

  21.         if [ -f "/etc/init.d/redis" ]; then
  22.                 /etc/init.d/redis stop > /dev/null 2>&1
  23.         fi

  24.         if [ -f "/etc/init.d/memcached" ]; then
  25.                 /etc/init.d/memcached stop > /dev/null 2>&1
  26.         fi

  27.         if [ -f "/www/server/panel/data/502Task.pl" ]; then
  28.                 rm -f /www/server/panel/data/502Task.pl
  29.                 if [ -f "/etc/init.d/php-fpm-52" ]; then
  30.                         /etc/init.d/php-fpm-52 stop > /dev/null 2>&1
  31.                 fi

  32.                 if [ -f "/etc/init.d/php-fpm-53" ]; then
  33.                         /etc/init.d/php-fpm-53 stop > /dev/null 2>&1
  34.                 fi

  35.                 if [ -f "/etc/init.d/php-fpm-54" ]; then
  36.                         /etc/init.d/php-fpm-54 stop > /dev/null 2>&1
  37.                 fi

  38.                 if [ -f "/etc/init.d/php-fpm-55" ]; then
  39.                         /etc/init.d/php-fpm-55 stop > /dev/null 2>&1
  40.                 fi

  41.                 if [ -f "/etc/init.d/php-fpm-56" ]; then
  42.                         /etc/init.d/php-fpm-56 stop > /dev/null 2>&1
  43.                 fi

  44.                 if [ -f "/etc/init.d/php-fpm-70" ]; then
  45.                         /etc/init.d/php-fpm-70 stop > /dev/null 2>&1
  46.                 fi

  47.                 if [ -f "/etc/init.d/php-fpm-71" ]; then
  48.                         /etc/init.d/php-fpm-71 stop > /dev/null 2>&1
  49.                 fi
  50.         fi
  51.         swapoff /www/swap
  52. }
  53. stop_service</font>
复制代码
2,登陆SSH到服务器
(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 的信息表示卸载成功。

4.png
提示:如果还看得到/dev/vdb1 则重复依次操作停止宝塔任务,关闭swap分区,卸载主机监控,解除占用,卸载主分区。
三,重点来了,操作磁盘
5.png
1,运行fdisk -l  命令,
上图中disk /dev/vda:64.4GB,说明系统盘是65G左右,disk /dev/vdb:165.4GB与阿里云后台的容量对应。
另外看/dev/vdb1 后面的相关信息,在中间一行End信息中为163577855,我的个人理解是163G的意思,系统也占几G。
2,运行fdisk /dev/vdb命令进入磁盘操作,为什么是/dev/vdb而不是图中的/dev/vdb1,这vdb代表一个磁盘的名称,与阿里云后台磁盘
名称是对应的,而vdb1则代表vdb磁盘的第1个分区(个人理解)
6.png
3,输入 d 并按回车键,删除原来的分区(删除分区不会造成数据盘内数据的丢失)
  输入 n 并按回车键,开始创建新的分区
  输入 p 并按回车键,选择创建主分区
       输入 1 代表后default默认是1,应该也可以直接回车
  然后就发现First sector (2048-322961407,deffault 2048),其中322961407大于上图中End中的163577855,则代表分区大于原来的分区。
当看到“… size 154GiB is set” 说明已经成功建立新的主分区

  输入 wq 并按回车键,开始保存之前对分区的操作
四:更新文件系统信
1,查文系统,命令为:e2fsck -f /dev/vdb1
2,变更文件系统大小,命令为:resize2fs /dev/vdb13,将扩容完成的文件系统挂载到原来的挂载点(如本示例中的用宝塔官方挂载的第一块磁盘位置 /www),
命令为:mount /dev/vdb1 /www4,输入命令 df -h 查看信息


7.png
看图中的信息,Size 是152G,应该是可用的空间,Avail 是145G。
五,收尾
8.png
执行完后扩容好磁盘后重新挂载上去后执行以下两条命令
swapon /www/swap
echo "True" > /www/server/panel/data/502Task.pl

最后别忘了启动宝塔服务
/etc/init.d/bt start

登陆宝塔后台,刷新一下看看空间是不是变成了可用的空间152G呢?
9.png
使用道具 举报 只看该作者 回复
发表于 2020-3-30 11:23:18 | 显示全部楼层
操作前注意备份好数据,扩容也不能确保万无一失。
使用道具 举报 回复 支持 反对
发表于 2020-4-19 22:06:05 | 显示全部楼层
收藏了,测试成功
使用道具 举报 回复 支持 反对
发表于 2020-4-22 09:04:44 | 显示全部楼层
这才是有意义的贴子,建议管理员加精
使用道具 举报 回复 支持 反对
发表于 2020-5-3 17:07:13 | 显示全部楼层
成功了,这个教程好使
使用道具 举报 回复 支持 反对
发表于 2020-5-8 13:53:36 | 显示全部楼层
我的是阿里云的轻量应用服务器,只有系统盘vda,没有数据盘vdb,这次我由25G升级配置到50G后,宝塔后台仍显示25G,劳烦大大看看,谢谢!
使用道具 举报 回复 支持 反对
发表于 2020-6-5 17:10:56 | 显示全部楼层
同问!我的是阿里云的轻量应用服务器,只有系统盘vda,没有数据盘vdb,这次我由40G升级配置到50G后,宝塔后台仍显示40G,劳烦大大看看,谢谢!
使用道具 举报 回复 支持 反对
发表于 2020-6-6 13:15:33 | 显示全部楼层
同问!我的是阿里云的轻量应用服务器,只有系统盘vda,没有数据盘vdb,这次我由40G升级配置到50G后,宝塔后台仍显示40G,劳烦大大看看,谢谢!
使用道具 举报 回复 支持 反对
发表于 2020-7-9 08:02:23 | 显示全部楼层
给力,按照些方法,完成的磁盘设置,谢谢分享。
使用道具 举报 回复 支持 反对
发表于 2020-7-18 21:52:20 | 显示全部楼层
Calvin5 发表于 2020-5-8 13:53
我的是阿里云的轻量应用服务器,只有系统盘vda,没有数据盘vdb,这次我由25G升级配置到50G后,宝塔后台仍显 ...

我也不是很清楚,扩大数据盘和系统的操作应该是一样的吧,可能就是代码换一下,你自己可以先买个服务器试试看
使用道具 举报 回复 支持 反对
发表于 2020-7-18 21:53:09 | 显示全部楼层
冷眼看世界 发表于 2020-6-5 17:10
同问!我的是阿里云的轻量应用服务器,只有系统盘vda,没有数据盘vdb,这次我由40G升级配置到50G后,宝塔后 ...

我也不是很清楚,扩大数据盘和系统的操作应该是一样的吧,可能就是代码换一下,你自己可以先买个服务器试试看
使用道具 举报 回复 支持 反对
发表于 2020-7-18 21:53:43 | 显示全部楼层
dong446 发表于 2020-6-6 13:15
同问!我的是阿里云的轻量应用服务器,只有系统盘vda,没有数据盘vdb,这次我由40G升级配置到50G后,宝塔后 ...

我也不是很清楚,扩大数据盘和系统的操作应该是一样的吧,可能就是代码换一下,你自己可以先买个服务器试试看
使用道具 举报 回复 支持 反对
发表于 2020-8-10 12:19:35 | 显示全部楼层
停止了所有服务,然后扩容完毕以后,如何启动所有服务
使用道具 举报 回复 支持 反对
发表于 2021-6-23 22:24:47 | 显示全部楼层
宝塔用户_jxwvdv 发表于 2020-8-10 12:19
停止了所有服务,然后扩容完毕以后,如何启动所有服务

最简单的 就是重启服务器呀
使用道具 举报 回复 支持 反对
发表于 2023-5-18 11:21:47 | 显示全部楼层
今天参考这篇帖子,成功扩容了。2台云服务器,第1台完全按照这个步骤,第2台则不一样,数据盘不是 /dev/vdb1 而是 /dev/sdb1,按照上面的步骤试了几次都没有成功,后来问客服,说是要把数据盘格式化了才能扩容,格式化了数据就没了,后来想想那不如重装系统,于是选择重装 Windows 的,原来是 Centos 7.5。等了10分钟,打开 MSTSC 一直连接不了,再用 SSH 却正常登录,于是登录宝塔面板,发现首页多了一个磁盘 Media2,于是登录 SSH 把 Media2 卸载了,然后把数据盘也删除了,再重新分区,发现扩容成功了。最后在宝塔面板的文件管理文件夹 Media2 删除了,首页就不会显示这个磁盘了。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表