集团云化项目事实上是整个阿里巴巴在基础技术和中间件技术,以及上层应用的一个技术的巨大的团建。他像当年做双11一样的重要。而在这个过程中间,整个阿里巴巴生态体技术体系如何思考重构,甚至分工重新的发生,都有可能。 ——老石头
本文作者:虎芽,阿里云智能 技术专家
背景
从最早的 2015 年支持大数据,到 2018 年推广 pangu2.0 和支持离在线混部,块存储团队和集团各业务线团队在历史上有过多次成功合作,大家也建立了良好的信任合作关系。今天集团云化,是一次技术大团建,块存储和大家又会碰撞出怎样的火花,请随我们来。
整体架构
集团云化的整体架构如下图,总体分为云上云下大块。
云上全部为阿里云块存储标准产品架构。早在 2016 年块存储就全面使用计算存储分离模式,2018 年盘古 2.0上线,当前处于商业化阶段。
云下的架构大多是通过 blk-dev + 分布式设备驱动 形式接入自建存储集群,这类模式会在今年继续服务各条业务线并陆续缩小规模迁移至云上架构。
注:信息安全起见,FY20 集团云化相关的地域、可用区、集群、机房等具体信息暂不公开,请各位读者谅解
云平台块存储的优势
1.资源弹性伸缩
Q1:大促时我们需要服务扩容、建站,但日常并不需要这么多存储(计算)资源,怎么办?
Q2:我们还需要像从前那样,一到大促就把服务器搬来搬去腾挪吗?
Q3:一台服务器有时候需要更多块设备,可以动态增减吗?
无论是弹性计算还是块存储都具有传统 IDC 无法提供的灵活弹性服务。块存储磁盘可以随时购买,立即使用。省去了预先订购物理设备的冗长流程,同时也提高了 IDC 资源的复用度,提高灵活性的同时还缩减了成本。
云化是一个架构升级的过程。传统 IDC 提供的是独立的物理机。从块存储角度看,应用层看到的是一个个独立的块设备,它们的数量固定,容量固定,吞吐能力固定。云上的块存储资源在用户视角仍然是一个通用块设备,但在应用层之下通过分布式+虚拟化技术对应着分布式存储集群中的池化资源,这个池化资源可以动态申请、释放,在线扩容,按需实时调整吞吐能力,给上层业务带来了极大的便利。
友情提示:ECS 资源和块存储资源是分开计算的,兄弟们在做预算时请不要漏了存储
2.ESSD
ESSD 是块存储在 2018 年推出的大杀器,前端使用 vhost-user 技术,接入后端 pangu2.0 架构,全链路采用 multi-path 技术提升 IO 性能达到优秀得不敢想水准。
延伸阅读:
全球首个百万IOPS云盘来了 阿里云推出超高性能云盘ESSD
3.存储域隔离
Q1:我们的业务跑的可是机密数据,上了云之后,别人都能随便读取/破坏吗?
Q2:我们业务对性能要求很高的,万一其他用户在压测怎么办?会影响到我们的业务吗?
分布式存储集群提供了池化的存储资源,对于存在数据安全、性能保障等隔离需求的业务场景,我们提供了存储域隔离功能。存储域是在 azone 内部对集群的逻辑划分,一个集群只能同时属于一个存储域,一个存储域可以包含多个集群。示意图如下:
友情提示:存储域和阿里云账号相关,如果不同业务能区分账号购买磁盘,可以得到更高的性能和数据安全保障。
4.虚拟机热迁移
Q1:物理机总有一天会过保或者故障,到时候我们的在云上跑的业务怎么办?机器下线会影响到我们吗?
传统物理机发生故障或上下线时,只能依赖上层应用保证迁移和逃逸。通过虚拟化及网络+存储等底层设施全链路支持,ECS 可以提供虚拟机在线迁移功能,在传统 IDC 无解的故障场景下,云提供了高效的逃生手段。
5.磁盘热迁移
Q1:你们的存储集群要是空间快爆了,怎么办呢?需要我们业务层自己做数据搬迁吗?
Q2:要是你们发现存储硬件故障怎么办呢?需要我们自己重新部署业务吗?
虚拟机热迁移功能提供了计算节点在线迁移的能力,它迁移的是块存储挂载点;磁盘热迁移功能提供了存储节点的在线迁移能力,它迁移的是存储节点本身的物理位置。在遇到集群下线,压力均衡,硬件故障等场景时,可以使用块存储提供磁盘热迁移功能。
磁盘热迁移功能在镁光盘迁移,集群下线,负载均衡等多个大事件上发挥了重要作用,是块存储的杀手级功能。
请注意: 虚拟机热迁移、磁盘热迁移这些技术,都是热的!!不需要上层业务停止服务。2.0 架构的磁盘热迁移对
IO 性能影响更低,基本做到了业务无感知,欢迎品尝^^
6.多副本
Q1:我的业务数据在你们云上万一丢了怎么办?
Q2:你们的存储集群的机器,如果坏了一块磁盘,是不是会影响到好多好多用户啊?
块存储使用 pangu 分布式存储系统为底座,采用 3 副本模式进行数据存储。用户的每一份数据我们都会用三份备份来存储,并且这三份备份随机打散存放在存储集群的各台机器上,可以说任何一台单机故障或磁盘故障都可以通过剩余的两份备份重新还原出来,整个过程不会对用户造成任何影响,不会导致数据丢失,甚至不会影响到 IO 性能。
7.快照,秒级快照
Q1:我的业务关键数据存在你们云上,万一我的系统崩溃了需要回滚数据怎么办?
块存储提供了完备的快照服务,可以定期将您的数据进行备份。ESSD 的快照功能在快照创建、并发 lazyload 性能上都有突破性飞跃。
8.存储集容灾
Q1: 我的业务要扛双十一的,万一你们整个集群都挂了,我的业务岂不是完蛋了?有没有办法可以让鸡蛋不要放在一个篮子里呢?
块存储在创建磁盘时提供了存储集选项,存储集内部将磁盘打散创建在多个集群中,让鸡蛋放在多个篮子里。一个 azone 内支持多个存储集以方便区分不同业务,示意图如下:
9.磁盘流控
Q1:我上层业务多种多样,有的很关键,无论如何都不能挂掉。在大促期间有没有办法让我对其他非重点业务进行 IO 限速以保证重点业务呢?
块存储提供丰富的流控限速功能,实时生效。
战役汇报 | 618 小试牛刀
- 618大促期间块存储同学全程现场支持护航,块存储系统整体表现平稳,各项指标均符合预期。
结语:任重道远
集团经济体云化后面的路还很长,会有很多技术挑战。今天我们在 618 大促取得阶段性胜利,依赖的是各个兄弟团队与块存储扎实的技术沉淀,充分的前期准备工作,以及良好的互信互利合作关系。在这里感谢每一位支撑集团经济体云化的同学,期待大家 99 大促,双十一大促的战绩!