温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux服务器如何不停机扩容系统盘和数据盘

发布时间:2022-01-21 11:32:23 来源:亿速云 阅读:487 作者:柒染 栏目:开发技术

这篇文章的内容主要围绕Linux服务器如何不停机扩容系统盘和数据盘进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

云服务器云盘(系统盘或数据盘)使用空间不足时,您可以扩容云盘的存储容量。本文介绍如何在不需要停止实例运行的情况下为Linux系统进行扩容云盘。

注意:在扩容云盘前,一定要为云盘创建快照,做好数据备份。

步骤一:在控制台扩容云盘容量

  1. 实例详情页面的左侧导航栏,单击本实例云盘

  2. 选择需要扩容的云盘,在操作列单击更多 > 云盘扩容

    如果需要批量扩容多个云盘,请使用阿里云主账号在存储与快照 > 云盘页面选择多个云盘后,单击底部的云盘扩容。挂载在同一ECS实例下的云盘不支持批量扩容功能。

  3. 磁盘扩容页面,选中在线扩容,并设置扩容后容量设置的扩容后容量不允许小于当前容量。

  4. 确认费用,阅读并选中《云服务器ECS服务条款》后,单击确认扩容

  5. 阅读磁盘扩容须知后,单击已阅读,继续扩容,完成支付。

注意:控制台上扩容云盘容量后,您还不能直接使用已扩容的容量,需要在Linux系统内部扩容分区和文件系统。

步骤二:查看云盘分区情况

进入Linux系统,查看系统盘和数据盘的分区类型(MBR和GPT)和文件系统类型(ext4、xfs等)。不同的分区和文件系统,后续扩容分区和文件系统操作中存在差异。

  1. 远程登录ECS服务器。

  2. 运行命令fdisk -lu查看实例的云盘情况。

    示例以系统盘(/dev/vda1)和数据盘(/dev/vdb1、/vde/vdc1)的三个分区为例,如下图所示。Linux服务器如何不停机扩容系统盘和数据盘

     
    序号分区说明
    /dev/vda1系统盘,System取值Linux表示为MBR分区。
    /dev/vdb1数据盘,System取值Linux表示为MBR分区。
    /dev/vdc1数据盘,System取值GPT表示为GPT分区。
  3. 运行命令df -Th确认已有分区的文件系统类型。Linux服务器如何不停机扩容系统盘和数据盘

步骤三:扩容分区

通过查看云盘分区情况,在Linux内分区和文件系统并未扩容。此步骤介绍如何在ECS实例内部扩容云盘分区。

  1. 在Linux安装gdisk工具。

    如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。

    yum install gdisk -y
  2. 运行命令growpart /dev/vda 1扩容分区。此示例以扩容系统盘为例,/dev/vda1之间需要空格分隔。如果需要扩容其他分区,请根据实际情况修改命令。Linux服务器如何不停机扩容系统盘和数据盘

步骤四:扩容文件系统

此步骤介绍如何在Linux扩容分区的文件系统。

  1. 在Linux内容,根据查询的文件系统类型,扩容文件系统。

  • 扩容ext*(例如ext4)文件系统:运行命令resize2fs /dev/vda1扩容文件系统。

    #扩容系统盘/dev/vda1的文件系统 resize2fs /dev/vda1 #扩容数据盘/dev/vdb1的文件系统 resize2fs /dev/vdb1

    说明 /dev/vda1/dev/vdb1都是分区名称,您需要根据实际情况修改。

  • 扩容xfs文件系统:运行命令xfs_growfs /media/vdc扩容文件系统。说明 /media/vdc/dev/vdc1的挂载点,您需要根据实际情况修改。

  • 运行命令df -Th检查扩容后结果。Linux服务器如何不停机扩容系统盘和数据盘

    扩容完成后,您需要根据实际情况检查数据是否正常。

    • 如果扩容成功,ECS实例中的业务程序能够正常运行,则完成操作。

    • 如果扩容失败,则通过备份的快照回滚数据。

支持不停机扩容的操作系统

支持不停机扩容的Linux公共镜像(或基于公共镜像制作的自定义镜像)包括:

  • Aliyun Linux:Aliyun Linux 2.1903 LTS 64位

  • CentOS:CentOS 6.8+、CentOS 7.2+、CentOS 8及以上版本

  • Red Hat Enterprise Linux:RHEL 6.9+、RHEL 7.4+、RHEL 8及以上版本

  • Ubuntu:Ubuntu 16及以上版本

  • Debian:Debian 8及以上版本

  • SUSE:SUSE 12 SP2及以上版本

  • OpenSUSE:OpenSUSE42.3及以上版本

常见问题

  • 问题:运行growpart /dev/vda 1时,提示unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]

    解决方案:

  1. 运行LANG=en_US.UTF-8切换ECS实例的字符编码类型。

  2. 如果问题仍未解决,请您尝试运行reboot命令重启ECS实例。

  3. 如果问题仍未解决,请您尝试运行localectl set-locale.UTF-8命令修改本地化环境变量,然后重启实例。

  • 问题:运行growpart /dev/vda 1时,提示-bash: growpart: command not found

    解决方案:

    • CentOS 7及以上版本:运行命令yum install -y cloud-utils-growpart

    • Debian 9及以上版本、Ubuntu14及以上版本:运行命令apt install -y cloud-guest-utils

    1. 运行uname -a检查Linux内核是否不低于3.6.0版本。

      如果Linux内核低于3.6.0版本,扩容分区操作请联系云技术在线工程师。

    2. 根据不同Linux版本安装growpart工具。

其他扩容场景

  • 如果数据盘需要使用新扩容容量创建新的分区,需要新增并格式化MBR分区或新增并格式化GPT分区。

  • 如果数据盘没有创建分区,并且在裸设备上创建了文件系统,需要扩容裸设备文件系统。

感谢你的阅读,相信你对“Linux服务器如何不停机扩容系统盘和数据盘”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注亿速云网站!小编会继续为大家带来更好的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI