随着业务发展和应用数据增长,当云盘使用空间不足时,您可以通过云盘扩容来解决磁盘容量不足的问题。本文针对云盘静态存储卷场景,为您介绍扩容云盘的详细操作。
前提条件
- 已经通过 Pod 对应 PV Yaml 文件中volumeHandle的值,获取目标扩容云盘 ID。例如:volumeHandle: vol-k10sii****。
- 为了避免扩容失败导致数据丢失,建议在扩容前备份数据,详细介绍参见:使用云盘快照。
操作步骤
本文提供不暂停应用实现在线扩容、暂停应用实现手动扩容两种方式,请根据实际业务场景按需选择。详细介绍和操作步骤如下:
方式一:不暂停应用实现在线扩容
此方式在扩容过程中不重启应用,可以保证业务的连续性,但若文件系统在线扩容的 IO 流量比较高,文件系统可能存在 IO 报错的风险。
步骤一:云盘数据卷扩容
- 登录 云服务器控制台,在左侧导航栏选择 存储 > 云盘,并在顶部菜单栏选择目标云盘所属地域。
- 在云盘管理页面,单击目标云盘右侧操作列中的 扩容,跳转到扩容云盘页面,按照引导依次配置。
- 在调整容量步骤,配置 新容量,完成后单击 提交订单。
本场景将数据云盘vol-k10sii****从 100 GiB 扩容到 120 GiB。
- 在挂载到实例步骤,将云盘挂载到实例,完成后单击 下一步。
- 跳过扩展分区和文件系统步骤,直接单击 返回云盘列表,可在目标云盘概览页查看扩容后的云盘容量。
步骤二:文件系统扩容
- (可选)以 root 用户权限执行lsblk -f命令,查看目标扩容云盘是否已经创建文件系统并挂载文件夹。如下图所示,vdb已经获取文件系统和和挂载目录等信息;vdc信息为空,表示还没有文件系统。
若目标扩容云盘已经拥有文件系统,可跳过此步骤;若目标扩容云盘并未创建创建文件系统,可依次执行以下命令,为云盘创建文件系统并挂载到文件夹。
- 以 root 用户权限执行以下命令,查看云盘设备符情况。
如下图所示,步骤一中扩容到 120 GiB 的云盘设备符为/dev/vdb。此时,可执行df -Th命令查看文件系统依然是 100 GiB。
- 以 ext4 文件系统的vdb为例,执行以下命令,扩容文件系统。
如下图所示,回显符合预期并未报错,表示文件系统扩容成功。
如下图所示,/dev/vdb文件系统已经扩容到 120 GiB。至此,云盘和文件系统扩容完成,可以正常使用。
方式二:暂停应用实现手动扩容
此方式将暂停磁盘 IO,文件系统扩容数据更安全,但随着应用的停止,业务也会暂停一段时间。因此,请确保不会影响正常运作的前提下使用此方式进行云盘扩容。
步骤一:删除应用 Pod
- 通过删除 StatefulSet 或者将 Replica 配置为 0 的方式暂停应用。本场景以 mysql 应用为例,可执行以下命令,将 Pod 缩容为 0 个副本。
预期输出:
- 执行以下命令,查看 Pod 是否删除。无任何输出表示已删除 MySQL 应用。
步骤二:云盘数据卷扩容
- 登录 云服务器控制台,在左侧导航栏选择 存储 > 云盘,并在顶部菜单栏选择目标云盘所属地域。
- 在云盘管理页面,单击目标云盘右侧操作列中的 扩容,跳转到扩容云盘页面,按照引导依次配置。
- 在调整容量步骤,配置 新容量,完成后单击 提交订单。
本场景将数据云盘vol-k10sii****从 100 GiB 扩容到 120 GiB。
- 在挂载到实例步骤,将云盘挂载到实例,完成后单击 下一步。
- 跳过扩展分区和文件系统步骤,直接单击 返回云盘列表,可在目标云盘概览页查看扩容后的云盘容量。
步骤三:文件系统扩容
- (可选)以 root 用户权限执行lsblk -f命令,查看目标扩容云盘是否已经创建文件系统并挂载文件夹。如下图所示,vdb已经获取文件系统和和挂载目录等信息;vdc信息为空,表示还没有文件系统。
若目标扩容云盘已经拥有文件系统,可跳过此步骤;若目标扩容云盘并未创建创建文件系统,可依次执行以下命令,为云盘创建文件系统并挂载到文件夹。
- 以 root 用户权限执行以下命令,查看云盘设备符情况。
如下图所示,步骤一中扩容到 120 GiB 的云盘设备符为/dev/vdb。此时,可执行df -Th命令查看文件系统依然是 100 GiB。
- 以 ext4 文件系统的vdb为例,执行以下命令,扩容文件系统。
如下图所示,回显符合预期并未报错,表示文件系统扩容成功。
如下图所示,/dev/vdb文件系统已经扩容到 120 GiB。至此,云盘和文件系统扩容完成,可以正常使用。
步骤四:重启应用
预期输出:
- 执行以下命令,查看 Pod 是否恢复。从以下预期输出可知,mysql 应用已经恢复。
预期输出:
- 执行以下命令,查看文件系统大小。从以下预期输出可知,/dev/vdb文件系统存储空间为 120 GiB。
预期输出:
相关文档