Amazon EBS 弹性卷修改实践

阅读数:12 2019 年 11 月 18 日 08:00

Amazon EBS弹性卷修改实践

简介

在应用飞速的更新换代、数据量高速增长的今天,AWS 的客户对 EC2 的块存储需求是随时间而改变的,很可能会多次需求增加容量或改变性能特性。在当今的 24×7(全天候不间断)操作模式下,服务器没有停机的余地。因此,客户希望在应用不离线或不影响正常操作的情况下进行更改。换句话说,我们的客户希望他们的 EBS 卷更有弹性!

在 2017 年 2 月 13 日,AWS 全球推出了一个新的 EBS 功能,称为弹性卷(Elastic Volumes),并使其适用于当前所有 EC2 实例可生成的 EBS 卷。在 2017 年 2 月 17 日,AWS 中国区可以使用这项新功能。通过这一项功能,可以在 EBS 卷正在使用时增加卷的大小,调整性能或更改卷类型,并能在这些更改生效之前继续使用应用程序等运行在 EC2 实例上的程序功能。这一新功能的更新将大大简化企业或个人用户的许多规划管理,可以通过简单的 API 调用来及时更改存储基础架构,取代传统的需要几周或几个月的配置周期。

使用场景

  1. 卷类型更改。在项目初期,为了更快部署应用,您初步设置块存储使用通用 SSD 卷(General Purpose SSD volumes),在获得一些使用经验后,发现吞吐量优化卷(Throughput Optimized volumes)是更好的选择,这时您只需要更改卷的类型就能够轻松解决问题。

  2. IOPS 性能调整。假设您在 IOPS 卷中运行一个关系型数据库,并设置它处理正常范围内的数据读写,由于每个月最后几天数据读写突增到正常水平的 10 倍,您只需要通过弹性卷短时间内获取更强大的读写配置来处理每月最高的数据读写,然后回调至正常配置来处理正常范围内的数据读写。

  3. 卷存储增加。您获取了一个卷使用警告,提示您当前使用存储空间超过 90%,这时您可以增加卷的大小,并扩展文件系统来匹配,弹性卷将以完全自动化的方式处理请求而不用停止 EC2 实例。

适用范围

AWS 全部区域,包括海外和中国北京区域。

修改限制

所有卷大小的修改只能增加卷的大小!为了保护所有 EBS 卷中的数据,弹性卷修改仅允许增加卷的大小。如果您想将当前卷大小改小,可以先通过数据迁移工具将 EBS 卷中的数据移动到较小的卷,再将原来的卷删除。

  1. 通用 SSD 卷:卷大小最小为 1GiB,最大为 16384GiB(16TiB);IOPS 性能无法修改,最小为 100,最大为 10000,在最大最小值范围内为卷大小的 3 倍(卷大小单位为 GiB),IOPS 超频可达到 3000。

  2. 预配置 IOPS SSD (io1):卷大小最小为 4GiB,最大为 16384GiB;IOPS 性能可以修改,最小为 100,最大为 20000,在最大最小值范围内最大可调整至卷大小的 50 倍(卷大小单位为 GiB)。

  3. Cold HDD (sc1):卷大小最小为 500GiB,最大为 16384GiB;Cold HDD (sc1) 卷提供低成本的磁性存储,该存储以吞吐量而不是 IOPS 定义性能。此处无法做任何更改。

  4. 吞吐量优化卷:卷大小最小为 500GiB,最大为 16384GiB;吞吐量优化卷提供低成本的磁性存储,该存储以吞吐量而不是 IOPS 定义性能。

  5. 旧版磁介质卷:无法修改。磁介质是上一代卷。对于新应用程序,我们建议使用较新的卷类型。

数据截至至 2017 年 2 月 17 日,具体数据以 AWS 实时数据为准。更多有关 EBS 卷的相关信息,请查阅 Amazon EBS 卷类型

操作指南

您能通过 AWS 管理控制台、API 调用或从 AWS 命令行界面(CLI)管理使用所有功能。下面将介绍 AWS 管理控制台对弹性卷修改的操作指南,获取更多 API 调用及命令行界面的操作方式,请访问 AWS 文档

修改本身不收取任何费用,您只需按实际使用量付费。更多定价信息,请访问 EBS 定价

一、引导卷 (根分区) 修改

登陆 AWS 中国区,并选择服务 EC2,打开 EC2 面板后,鼠标左击点选左侧导航栏的“卷”。

Amazon EBS弹性卷修改实践

打开卷面板后,选择您要调整的卷,点选“操作”打开下拉菜单,在下拉菜单中点选“Modify Volume”。

Amazon EBS弹性卷修改实践

然后可以对卷类型、大小和预配置的 IOPS(如果适用的话)进行任何符合需求的更改,修改检查完后,点击 Modify 按钮。

Amazon EBS弹性卷修改实践

注意卷大小不能减小

Amazon EBS弹性卷修改实践

注意预配置 IOPS SSD 卷的 IOPS 值不能大于卷大小的 50 倍(卷大小单位 GiB)

Amazon EBS弹性卷修改实践

在修改确认页面点击“Yes”按钮。

Amazon EBS弹性卷修改实践

卷修改正在进行,请稍等一会儿。

Amazon EBS弹性卷修改实践

卷修改完成。

Amazon EBS弹性卷修改实践

卷修改验证。

Amazon EBS弹性卷修改实践

二、未绑定到 EC2 实例卷修改

Amazon EBS弹性卷修改实践

三、已绑定到 EC2 实例卷(未建立文件系统使用)修改

Amazon EBS弹性卷修改实践

四、已绑定 EC2 到实例卷(建立文件系统并正在使用)修改

应用卷修改前。

Amazon EBS弹性卷修改实践

应用卷修改后。

Amazon EBS弹性卷修改实践

注意,卷的大小修改后,下一步是扩展文件系统,以便可以利用额外的存储空间。要了解如何执行此操作,请阅读在 Linux 上扩展 EBS 卷的存储空间或在 Windows 上扩展 EBS 卷的存储空间

注意事项

  1. 在某些情况下,卷需要与 EC2 实例分离或停止实例才能进行修改。如果您在尝试对 EBS 卷应用修改时遇到错误消息,或者如果要修改附加到上一代实例类型的 EBS 卷,请执行以下步骤之一:
  • 对于非引导卷,先将卷从实例中分离,再应用修改,最后重新附加卷。
  • 对于引导卷,先停止实例,再应用修改,最后重新启动实例。
  1. 弹性卷修改方法不支持上一代磁性卷。但是,您可以通过拍摄快照,并将快照还原到其他配置的 EBS 卷。

  2. 不支持减小 EBS 卷的大小。但是,您可以通过创建较小的卷,利用应用程序级工具(如 robocopy)进行数据转移。

  3. 修改卷后,您需要等待至少六个小时,才能再对同一卷进一步更改,建议修改属性的时候,类型,IOPS,大小参数一次性完整设定。

  4. 许多 Linux AMI 如今使用 MBR 方案,它只支持最多 2047GiB 的引导卷。如果您的实例未使用 2TiB 或更大的引导卷进行引导,则引导卷的大小被限制为 2047GiB。

  5. 在 2016 年 11 月 1 日之前附加到当前生成实例的卷需要执行以下操作之一,来初始化修改支持(这是一次性要求):

  • 停止并重新启动实例(重启前请一定备份卷数据!)。
  • 分离并重新附加卷。
  1. m3.medium 实例被视为当前一代。m3.large,m3.xlarge 和 m3.2xl 实例被视为上一代。更多有关上一代实例的内容,请参考实例类型

引导卷(根分区)操作实践:

Amazon EBS弹性卷修改实践
卷修改前检查:

  1. 确保最近一次卷修改在 6 小时之前。

  2. 确认卷类型,如果为上一代磁性卷,您无法修改卷的类型及大小。您可以先将磁性卷中的数据拍摄快照并迁移至其余四种卷类型,再做更改。

  3. 确认实例类型,如果为上一代实例,请先分离卷(非引导卷)或停止实例(引导卷)后再进行卷修改。

  4. 确认实例上一次停止时间,如果在 2016 年 11 月 1 日之前,请先分离卷(非引导卷)或停止实例(引导卷)后再进行卷修改。

  5. 一次性完整设定需要修改的卷类型,IOPS,大小参数,并等待卷修改完成。

参考

Amazon EBS Update–New Elastic Volumes Change Everything

作者介绍:

Amazon EBS弹性卷修改实践

王元恺

AWS 实习解决方案架构师,上海交通大学学生,有数年 C++ 程序开发以及一年 PHP 前后端开发经验,同时致力于 AWS 云服务在国内的应用和推广。熟悉网站架设与网络应用开发,对于 TCP/IP 及网络协议有自己的理解和实践经验。

本文转载自 AWS 技术博客。

原文链接:
https://amazonaws-china.com/cn/blogs/china/amazon-ebs-elastic-volumes/

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布