实际场景中,云原生存储面临的 7 个挑战
source link: https://segmentfault.com/a/1190000022141626
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
作者 | Eric Li (壮怀) 阿里巴巴云原生存储负责人
引言
随着云原生应用对可迁移性、扩展性和动态特性的需求,对云原生存储也带来了相应的密度、速度、混合度的要求,所以对云存储基本能力之上又提出了在效率、弹性、自治、稳定、应用低耦合、GuestOS 优化和安全等方面的诉求。参考 《云原生存储和云存储有什么区别?》
新的企业负载/智能工作负载容器化、迁云、存储方面遇到的性能、弹性、高可用、加密、隔离、可观测性及生命周期等方面的问题,不但需要存储产品层次的改进,还需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。下文将分别介绍一下问题场景及问题,探讨可行的解决方案,最终可以得出云原生存储、云存储目前可以做什么和未来还需要做什么。
存储性能
长时延增加
场景
高性能计算场景中,集中处理批量数据,通过容器集群,同时启动数千 Pod,弹出数百 ECS 对共享性文件系统读写。
问题
重负载终负载下时延增加,高延迟毛刺增多,读写稳定性不足。
解决方案
- 分散负载到多文件系统,通过容器编排分散 IO 到多文件系统
- 存储产品的盘古 2.0 改造
集中式高吞吐写对共享存储池冲击
场景
高性能计算场景中,集中处理批量数据,10Gbps 读写请求进入同一存储集群。
问题
同一存储集群中的带宽挤占,造成访问质量下降。
解决方案
- 分散负载到多文件系统和多个存储集群/多个可用区,通过容器编排分散 IO 到多文件系统;
- 使用独占高性能并行文件系统。
峰值吞吐不足
场景
大规模生物数据处理, 文件数目少,峰值吞吐高 10Gbps-30Gbps,请求密集 1W/s。
问题
接近独占集群的极限带宽。
解决方案
- 读写分流,分流读请求到 OSS,写请求负载分流到独占文件系统和本地/远程块存储,通过容器编排分散 IO 到多文件系统;
- 使用应用层分布式缓存降低网络读 IO;
- 存储产品的盘古 2.0 改造。
时延增加导致 GPU 等待
场景
多机多卡 GPU 训练,直接读取 OSS 数据,读密集型。
问题
时延增加导致 IOwait 和 GPU 等待。
解决方案
- 应用层透明 POSIX 读访问 OSS;
- 使用应用层分布式缓存降低网络读 IO。
存储弹性
场景
- 数据库扩容, MySQL and etc;
- 元数据管理应用在线扩容 Zookeeper/etcd;
- 本地盘存储容量无法扩容。
解决方案
- 云盘在线扩容,应用控制面文件系统/逻辑卷离线,在线扩容能力;
- 单机云盘挂载密度;
- 存储产品 ESSD 的替换使用。
存储高可用
场景
- 应用运维,系统运维;
- 块存储随容器迁移的稳定性和可发现性。
解决方案
- 控制平面声明式存储快照,备份,定时快照备份,本地快照加速备份和恢复;
- 控制平面云盘 SerialNum 的可发现性改造。
存储的加密
场景
- 用户应用的全链路数据加密需求;
- 操作系统盘加密。
解决方案
- 产品存储的 CMK,BYOK 支持
- 控制平面的加密声明支持
- RAM 权限的最小化控制
存储的隔离性
场景
- 单盘多应用共享,单机日志盘块存储切分
- 单块本地盘/云盘吞吐能力不足
- 文件系统多租户环境的容量配额
- 集群级文件系统共享访问的权限控制
解决方案
- 控制面 LVM 切分,控制面块存储 blkio buffer IO 应用级限速
- 控制面 LVM 多盘聚合和条带
- 存储产品共享文件系统的目录级 Quota
- 控制面文件系统的目录级 ACL
存储的可观测性
场景
多租户 Zookeeper/etcd,租户/应用级的 IO 指标监控和预警。
解决方案
- 控制面应用级 IO Metrics 采集能力
- 控制面设备级 IO Metrics 采集能力
- 控制面挂载点级 IO Metrics 采集能力
存储的生命周期
场景
共享文件系统/缓存系统的声明式创建和删除。
解决方案
- Operator: 云盘/本地盘 (TiDB)
- Operator: 文件系统,CPFS
- Operator: 对象存储
云原生存储 v2
针对以上在新的计算模式下,存储方面遇到的性能,弹性,高可用,加密,隔离,可观测性,生命周期等方面的问题,不但是需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,在不久的将来实现稳定,安全,自治,和效率并举的云原生存储 v2。
- 稳定:阿里云存储的全品类支持可观测性, Flexvolume and CSI plugins/IO metrics (CSI for 1.14);
- 安全:全连路数据存储的可靠/可信存储支持,CSI 快照加密,系统盘加密;
- 自治:云盘快照 /本地快照 ,离线在线的存储扩容能力, 元数据自动发现;
- 效率:I/O 隔离 、可伸缩性/云盘再次分割提升密度/分布式存储缓存。
需要在云原生应用层、存储云产品层、底层存储适配和存储核心层都需要做相应的改进和提升才有可能提供更加稳定,安全,自治和高效的面向应用的云原生存储。
总结
- 云原生存储是云存储 UI 和效率等能力的集合;
- 分层存储,不重新发明轮子;
- 新的工作负载推进云原生存储和云存储的演进,云原生控制平面实现效率,自治方面能力,从数据面提升存储稳定和减小安全隐患,云存储继续夯实性能,容量,弹性,密度等基础能力,共建云原生环境下的存储生态。
在云原生存储 v2 的演进过程中,仍然需要容器团队和存储团队,通力合作,共同提升的云原生时代的存储能力。
“ 阿里巴巴云原生 关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”
Recommend
-
39
直奔主题 近期,我们在对一份来自大型银行客户的PoC进行研究,研究了几天之后,我们在同一台设备上发现了多个安全威胁,其中包括渗透测试过程中常见的威胁。 比如说: 1.Eicar样本; 2.CQHashDumpv...
-
25
-
7
每当谈到运维的发展前景大家总会提到运维危机论、运维未来,诸如此类的问题。腾讯游戏的运维团队也在思考。本文将聚焦在游戏领域与大家分享下我们的思考,以及构建和运营智能化运维系统的一些经验。涂彦腾讯游戏运维总监,T4专家...
-
4
⌈随笔⌋ 实际场景与痛点似乎没那么简单 抛个问题先:“如何设计一款计时器 app?”希望你此刻的反应是在质疑“这算什么问题,指哪一类人在什么情况下使用的计时器呢?”,而非立刻开始形象...
-
6
实际产品应用场景中,产品设计如何影响用户体验 SenYi 2021-10-29 0 评论...
-
2
V2EX › Python Redis 乐观锁的实际使用场景是什么?是不是没用? Richard14 · 8 小时 26...
-
4
容器、原生云应用程序面临的挑战-51CTO.COM 容器、原生云应用程序面临的挑战 译文
-
4
IT业务发展迅速,业务数据急剧增长,业务需求变化快,流量的波峰波谷的不可预测性,因此现有传统体应用架构无法满足当前业务需求。容器技术在此背景下,应运而生。基于容器云的数字化技术,带来对用户的服务质量的提升;提升运维效率;降低IT建设成本,提升资源利用...
-
8
整理日常业务中用到日期函数的一些场景,并对日期函数按照使用类型做了分类,实例也尽可能符合日常需求。为了方便查阅,可以先看目录,再根据需要看具体方法和实例。 首先明确日期和时间类型有哪些,也就是日期函数括号中的变量类型。
-
4
英特尔i9 13980HX性能确实比苹果M2 Max强,但实际场景下意义不大|微星|gpu|笔记本|msi|固态硬盘|苹果m2max|英特尔i913980hx_网易订阅 IT之家 2 月 21 日消息...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK