ECS实例的系统盘和数据盘都依赖块存储,阿里云把这类存储统一叫做云盘。很多人买完实例才发现磁盘类型选低了,性能跟不上;也有人选高了,每个月多付的钱没有换来任何收益。磁盘选错,轻则慢,重则白花钱。

阿里云磁盘是什么
阿里云磁盘是挂载到ECS实例上的块级存储设备。数据在同一可用区内以多副本保存,实例重启后数据还在。云盘可以脱离实例单独管理。实例释放时,如果选择保留数据盘,这块盘之后可以挂到其他实例上继续使用。
主要磁盘类型怎么选
按性能,阿里云磁盘大致分为以下四类:
- 普通云盘:性能偏低,适合访问很少的日志归档或测试环境。阿里云已经在收缩这个类型,新项目一般不必考虑。
- 高效云盘:适合中等负载的Web服务和小型业务系统,价格相对友好。
- SSD云盘:随机读写明显快于高效云盘,对延迟敏感的中小型数据库可以优先看它。
- ESSD云盘:提供PL0到PL3多个性能级别,级别越高性能越强,适合核心数据库和大型分布式系统。
选型前先问三件事:业务的IOPS峰值大概是多少,单次读写延迟能接受到什么程度,预算上限在哪里。性能级别越高单价越贵,超出业务实际需要的那部分性能,花的钱基本是白搭。
案例:电商订单库的磁盘调整
某中型电商团队的订单数据库挂在一块ESSD PL1云盘上,平时一直稳定。大促前一周做压测,高峰时段写入延迟明显上升,订单提交频繁超时。团队先看云监控里的磁盘IOPS和吞吐曲线,发现峰值已经贴近这块盘的上限。
接下来团队做了两件事。一是把数据盘从PL1升级到PL2,单盘IOPS上限大约翻了一倍。动手前,他们先查了官方文档,确认这次变更是否需要停机。二是把大促期间产生的临时日志单独写到一块SSD云盘上,不再和数据库抢同一块盘的带宽。同样的压测场景再跑一次,延迟回到可接受范围,大促期间没有再出现超时。
这件事的经验很直接:先看监控,再决定升级哪一块。如果只升级磁盘、不分离日志,多花的钱不一定换来效果。
在线扩容的步骤
云盘容量可以在线扩展,但在控制台点完扩容只是第一步。操作系统里的分区和文件系统还是旧大小,需要手动处理。以Linux为例,步骤如下:
- 在控制台完成云盘扩容,等状态变为可用。
- 执行 lsblk,确认系统已经识别到新容量。
- 如果磁盘有分区,执行 growpart 扩展分区。设备名以你的实际环境为准,别照抄示例。
- ext4文件系统执行 resize2fs;XFS文件系统执行 xfs_growfs,参数指向挂载点。
- 执行 df -h,看可用空间是否真的增加了。
扩容前最好先做一次快照。云盘不支持缩容,扩错了只能新建一块更小的盘再迁移数据,过程麻烦,也容易出错。
快照不能当容灾用
快照是云盘在某个时间点的数据副本,常用来回滚系统或找回误删的文件。之后的快照是增量保存,成本一般低于每次全量备份。数据库场景下,快照放在业务低峰期做,再配合数据库自身的备份策略,效果更稳。
很多人把快照当成异地容灾,这是误解。快照和源盘在同一地域,误删快照或账号出问题时,数据照样有风险。关键业务还需要异地备份和保留策略,并定期做恢复演练,确认快照真的能还原出可用的系统。没演练过的备份,出事时往往才发现用不了。
常见坑
- 系统盘和数据盘混用,日志把系统盘写满,实例直接跑不动。数据和日志最好分盘存放。
- 只看容量不看性能,买了大容量普通云盘,数据库响应一直慢。
- 释放实例前没看数据盘的释放策略,数据跟着没了。
- 云盘和实例不在同一可用区,挂载时会失败。
选购建议
个人博客和测试环境,选高效云盘就够用,省钱效果明显。中小型Web应用和数据库可以先从SSD云盘起步,跑一段时间看监控,再决定要不要升级。核心交易类系统建议直接评估ESSD,在压测阶段确定需要的性能级别。选哪种类型,都先看一眼IOPS、吞吐和延迟,数据说话,比凭感觉下单靠谱。