mysql老崩溃,一看宝塔面板,云盘空间只剩下4G了,给云盘扩容,进阿里云后台,云盘扩容,购买容量,十分顺利,卡在了要进服务器进行分区扩容,要linux 代码操作,按照流程记录下:
步骤二:在控制台扩容云盘容量
- 在实例详情页,单击云盘页签。
- 选择需要扩容的云盘,在操作列单击更多 > 云盘扩容。如果需要批量扩容多个云盘,请使用阿里云账号在存储与快照 > 云盘页面选择多个云盘后,单击底部的云盘扩容。挂载在同一ECS实例下的云盘不支持批量扩容功能。说明 只有阿里云账号可以执行批量扩容,RAM用户无权限操作,请使用阿里云账号登录ECS管理控制台。
- 在磁盘扩容页面,选中在线扩容,并设置扩容后容量。设置的扩容后容量不允许小于当前容量。
- 确认费用,阅读并选中《云服务器ECS服务条款》后,单击确认扩容。
- 阅读磁盘扩容须知后,单击已阅读,继续扩容,完成支付。
注意
- 控制台上扩容云盘容量后,您还不能直接使用已扩容的容量,需要在ECS实例内部扩容分区和文件系统。
- 如果您使用LVM管理磁盘分区,在控制台完成扩容操作后,需要通过LVM扩容分区和文件系统。具体操作,请参见通过LVM扩容逻辑卷。
- NVMe云盘扩容时,无法确保所有挂载的实例可以立刻识别扩容后的空间,建议您完成扩容后,先卸载云盘再重新挂载,检查后再进行使用。如果重新挂载后,系统仍然无法看到扩容后的容量,建议您重启实例。
步骤三:查看云盘分区情况
进入ECS实例内部,查看系统盘和数据盘的分区类型(MBR和GPT)和文件系统类型(ext4、xfs等)。不同的分区和文件系统,后续扩容分区和文件系统操作中存在差异。
- 远程登录ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例。
- 运行以下命令查看实例的云盘情况。放大查看复制代码fdisk -lu示例以系统盘(/dev/vda1)和数据盘(/dev/vdb1、/dev/vdc1)的三个分区为例,执行结果如下所示。放大查看序号分区说明①
/dev/vda1
系统盘,System取值Linux表示为MBR分区。②/dev/vdb1
数据盘,System取值Linux表示为MBR分区。③/dev/vdc1
数据盘,System取值GPT表示为GPT分区。说明 如果您的查询结果中云盘容量还是40 GiB(Disk /dev/vda: 42.9 GB
),表示扩容不成功,建议您在控制台重启下本实例。 - 运行以下命令确认已有分区的文件系统类型。放大查看复制代码df -Th执行结果如下所示。其中,
Mounted on
列为文件系统对应的挂载点。
步骤四:扩容分区
通过查看云盘分区情况,在ECS实例内分区和文件系统并未扩容。此步骤介绍如何在ECS实例内部扩容云盘分区。
- 在ECS实例内部,安装gdisk工具。如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。放大查看复制代码yum install gdisk -y
- 安装growpart工具。
- Alibaba Cloud Linux 2/3版本、CentOS 7及以上版本运行以下命令。放大查看复制代码yum install -y cloud-utils-growpart说明 由于CentOS 8结束生命周期(EOL),如果您使用CentOS 8系统的ECS实例,请先切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?。
- Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。更新软件源。放大查看复制代码apt-get update安装cloud-guest-utils。放大查看复制代码apt-get install -y cloud-guest-utils
- 运行以下命令扩容分区。放大查看复制代码growpart /dev/vda 1示例命令表示扩容系统盘的第一个分区,
/dev/vda
是系统盘,1
是分区编号,/dev/vda
和1
之间需要空格分隔。请根据实际情况修改命令,继续扩容数据盘的分区。- 扩容数据盘 /dev/vdb放大查看复制代码growpart /dev/vdb 1
- 扩容数据盘 /dev/vdc放大查看复制代码growpart /dev/vdc 1
- 如果单盘有多个连续分区的情况,例如数据盘 /dev/vdb有三个分区
/dev/vdb1
、/dev/vdb2
和/dev/vdb3
。扩容时,只需要扩容最后一个分区即可,即执行growpart /dev/vdb 3
,即可完成数据盘 /dev/vdb的分区扩容。 - 您在执行此步骤时,可能出现报错信息
unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]
。关于如何排查此问题,请参见本文的常见问题部分。
步骤五:扩容文件系统
此步骤介绍如何在ECS实例内部扩容分区的文件系统。
- 在ECS实例内部,根据查询的文件系统类型,扩容文件系统。
- 扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。扩容系统盘/dev/vda1的文件系统。放大查看复制代码resize2fs /dev/vda1扩容数据盘/dev/vdb1的文件系统。放大查看复制代码resize2fs /dev/vdb1说明
/dev/vda1
和/dev/vdb1
都是分区名称,您需要根据实际情况修改。 - 扩容xfs文件系统:运行以下命令扩容数据盘/dev/vdc1的文件系统。放大查看复制代码xfs_growfs /media/vdc说明
/media/vdc
为/dev/vdc1
的挂载点,您需要根据实际情况修改。 - 扩容btrfs文件系统:如果您的数据盘文件系统为btrfs,则需要运行以下命令扩容文件系统。放大查看复制代码btrfs filesystem resize max /mountpoint说明
/mountpoint
为数据盘对应的挂载点,您需要根据实际情况修改。
- 扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。扩容系统盘/dev/vda1的文件系统。放大查看复制代码resize2fs /dev/vda1扩容数据盘/dev/vdb1的文件系统。放大查看复制代码resize2fs /dev/vdb1说明
- 运行以下命令检查扩容后结果。放大查看复制代码df -Th执行结果如下所示。扩容完成后,您需要根据实际情况检查数据是否正常。
- 如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。
- 如果扩容失败,则通过备份的快照回滚数据。
(5):扩容系统盘的/dev/vda1分区的文件系统。其中根目录(/)为/dev/vda1的挂载点。命令为:扩容文件系统。
xfs_growfs /
(6):检查云盘扩容结果,图片已经扩容成功为 200G
df -Th