打造高性能、高可靠的块存储系统

打造高性能、高可靠的块存储系统

ID:37715191

大小:3.76 MB

页数:19页

时间:2019-05-29

打造高性能、高可靠的块存储系统_第1页
打造高性能、高可靠的块存储系统_第2页
打造高性能、高可靠的块存储系统_第3页
打造高性能、高可靠的块存储系统_第4页
打造高性能、高可靠的块存储系统_第5页
资源描述:

《打造高性能、高可靠的块存储系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、打造高性能、高可靠的块存储系统块存储系统分布式存储有出色的性能,可以扛很多故障,能够轻松扩展,所以我们使用Ceph构建了高性能、高可靠的块存储系统,并使用它支撑公有云和托管云的云主机、云硬盘服务。由于使用分布式块存储系统,避免了复制镜像的过程,所以云主机的创建时间可以缩短到10秒以内,而且云主机还能快速热迁移,方便了运维人员对物理服务器上硬件和软件的维护。用户对于块存储系统最直观的感受来源于云硬盘服务,现在我们的云硬盘的特点是:·每个云硬盘最大支持6000IOPS和170MB/s的吞吐率,95%的4K随机写操作的延迟小于2ms。·所有数据都是三副本,强一

2、致性,持久性高达10个9。·创建、删除、挂载、卸载都是秒级操作。·实时快照。·提供两种云硬盘类型,性能型和容量型。软硬件配置经过多轮的选型和测试,并踩过无数的坑之后,我们选择了合适我们的软件和硬件。软件硬件·从SATA磁盘到SSD,为了提高IOPS和降低Latency。·从消费级SSD到企业级SSD,为了提高可靠性。·从RAID卡到HBA卡,为了提高IOPS和降低Latency。最小部署架构随着软硬件的升级,需求的调整,我们的部署架构也不断在演进,力求在成本、性能、可靠性上达到最佳平衡点。最小规模部署中有12个节点,每个节点上有3块SSD。节点上有2个万

3、兆口和1个千兆口,虚拟机网络和存储网络使用万兆口,管理网络使用千兆口。每个集群中都有3个CephMonitor节点。轻松扩展云计算的好处是极强的扩展性,作为云计算的底层架构,也需要有快速的Scale-out能力。在块存储系统的部署架构中,可以以12台节点为单位进行扩展。改造OpenStack原生的OpenStack并不支持统一存储,云主机服务Nova、镜像服务Glance、云硬盘服务Cinder的后端存储各不相同,造成了严重的内耗。我们把这三大服务的后端统一起来,进行高效管理,解决了虚拟机创建时间长和镜像风暴等问题,还能让虚拟机随便漂移。原生的OpenS

4、tack改造后的OpenStack使用原生的OpenStack创建虚拟机需要1~3分钟,而使用改造后的OpenStack仅需要不到10秒钟时间。这是因为nova-compute不再需要通过HTTP下载整个镜像,虚拟机可以通过直接读取Ceph中的镜像数据进行启动。我们还增加两个OpenStack没有的功能:QoS和共享云硬盘。云计算的另外一个好处是租户资源隔离,所以必备QoS。共享云硬盘可以挂载给多台云主机,适用于数据处理的场景。我们还使用了OpenStack的multi-backend功能,支持多种云硬盘类型,现在我们的云硬盘类型有性能型、容量型,可以满

5、足数据库和大文件应用。高性能存储系统主要的性能指标是IOPS和Latency。我们对于IOPS的优化已经达到了硬件的瓶颈,除非更换更快的固态硬盘或者闪存卡,或者是改变整个架构。我们对于Latency的优化也快接近完成,可以达到企业级存储的水平。复杂的I/O栈整个块存储系统有着长长的I/O栈,每个I/O请求要穿过很多线程和队列。优化操作系统优化操作系统的参数可以充分利用硬件的性能。CPU·关闭CPU节能模式·使用Cgroup绑定CephOSD进程到固定的CPUCores上Memory·关闭NUMA·设置vm.swappiness=0Block·设置SSD的

6、调度算法为deadlineFileSystem·设置挂载参数”noatimenobarrier”优化QemuQemu作为块存储系统的直接消费者,也有很多值得优化的地方。·Throttle:平滑的I/OQoS算法·RBD:支持discard和flush·Burst:支持突发请求·Virt-scsi:支持多队列优化Ceph我们对于Ceph的优化是重头戏,有很多问题也是时间长、规模上去之后才暴露出来的。高可靠性存储需要高可靠性,保证数据可用并且数据不丢失。因为我们的架构中没有使用UPS和NVRAM,所以写请求的数据都是落到三块硬盘之后才返回,这样最大限度地保证

7、了用户的数据安全。如何计算持久性持久性是数据丢失的概率,可以用于度量一个存储系统的可靠性,俗称“多少个9”。数据的放置(DataPlacement)决定了数据持久性,而Ceph的CRUSHMAP又决定了数据的放置,因此CRUSHMAP的设置决定了数据持久性。但是,即时我们知道需要修改CRUSHMAP的设置,但是我们应该怎么修改CRUSHMAP的设置呢,我们该如何计算数据持久性呢?我们需要一个计算模型和计算公式,通过以下资料,我们可以构建一个计算模型和计算公式。·Reliabilitymodel·《CRUSH:Controlled,Scalable,Dec

8、entralizedPlacementofReplicatedData》·《Co

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。