写点什么

Amazon EBS 弹性卷修改实践

  • 2019-11-18
  • 本文字数:2742 字

    阅读完需:约 9 分钟

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 面板后,鼠标左击点选左侧导航栏的“卷”。



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



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



注意卷大小不能减小



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



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



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



卷修改完成。



卷修改验证。


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

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

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

应用卷修改前。



应用卷修改后。



注意,卷的大小修改后,下一步是扩展文件系统,以便可以利用额外的存储空间。要了解如何执行此操作,请阅读在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 实例被视为上一代。更多有关上一代实例的内容,请参考实例类型

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

卷修改前检查:

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

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

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

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

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

参考

Amazon EBS Update–New Elastic Volumes Change Everything


作者介绍:



王元恺


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


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/amazon-ebs-elastic-volumes/


2019-11-18 08:00732

评论

发布
暂无评论
发现更多内容

Go语言学习查缺补漏ing Day7

恒生LIGHT云社区

golang Go 语言 编程语言‘

DataPipeline与TiDB推出异构数据实时同步解决方案,共筑安全可信基础设施

DataPipeline数见科技

数据库 大数据 中间件 数据融合 数据管理

全链路数据血缘在满帮的实践

华为云开发者联盟

sql 图数据库 图计算 全链路数据血缘 数据血缘

为啥你写的代码老有大串的if/else?

华为云开发者联盟

代码 if for循环 else

高并发多方案秒杀架构

MetaThoughts

Android C++系列:Linux网络(三)协议格式

轻口味

c++ android 28天写作 12月日更

【干货分享】研效优化实践:AI算法助力深层BUG挖掘

WeTest

从0到1教你如何使用 p5.js 绘制简单的动画

海拥(haiyong.site)

大前端 动画 28天写作 签约计划第二季 12月日更

Linux运维,Linux系统学习

侠盗安全

Linux linux运维 运维工程师 云计算架构师

如期而至-用户购买时间预测(下)

索信达控股

模型 购买预测 购买行为 精准营销

Java开发之环境搭建基础教程

@零度

Java 开发环境搭建

这套神奇的个人信息管理系统,带我一步步进入互联网大厂

博文视点Broadview

恒拓高科WorkPlus助力南兴装备移动数字化升级

WorkPlus

Flutter 自定义 ACEFoldTextView 折叠文本

阿策小和尚

28天写作 0 基础学习 Flutter 内容合集 签约计划第二季 12月日更

Java 程序员必须掌握的 10 款开源工具

编程江湖

java编程 java开发工具

进程崩溃/应用卡死,故障频频怎么办?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

一文读懂 Apache Pulsar

晓双

云原生 Apache Pulsar 消息系统 数据流 Apache Pulsar 社区

数据库事务的三个元问题

Zilliz

数据库 数据库设计

科创人·StreamNative翟佳:开源模式价值为王,基础软件的未来在国内社区

科创人

CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩!

华为云开发者联盟

高并发 图像预处理 CANN 昇腾 异构计算

大厂面试算法题之数组

程序员学长

数据结构 算法 大厂面试

前端性能优化 24 条建议

编程江湖

大前端

MySQL性能测试之select&update【FunTester框架】

FunTester

MySQL 性能测试 测试框架 FunTester FunTester框架

Python enumerate():使用计数器简化循环

华为云开发者联盟

Python 变量 计数器 循环 enumerate

浅谈服务网关和联邦云

星环科技

联邦云 服务网关

安全办公 |企业级IM即时通讯私有云解决方案

WorkPlus

双 11 大促会场开发提效解析:前端智能化落地实践

凹凸实验室

机器学习 大前端 智能代码

10年经验总结,华为fellow教你如何成为一名优秀的架构师?

华为云开发者联盟

架构设计 架构师 华为fellow 云服务运维

从 0-15 套存储集群,YRCloudFile 助力 AI 训练效率“超线性增长”

焱融科技

人工智能 云计算 分布式 高性能 文件存储

前端开发:npm run serve和npm run dev的区别

三掌柜

28天写作 21天挑战 12月日更

让工具成为双手的延伸

Zilliz

数据库 书籍推荐 程序 书籍

Amazon EBS弹性卷修改实践_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章