从传统运维到云运维演进历程之软件定义存储(一)

运维是企业业务系统从规划、设计、实施、交付到运维的最后一个步骤,也是重要的步骤。运维从横向、纵向分可以分为多个维度和层次,本文试图抛开这纷繁复杂的概念,讲述一个传统的企业级运维人员转型到云运维人员,尤其是软件定义存储的运维之间经历的沟沟坎坎。

在传统企业中,业务运维工程师(Operations) 主要负责监控、维护并确保整个业务系统的可靠性,同时提出对系统架构的优化要求、提升部署效率、优化资源利用率并提高整体的ROI。

随着云计算、大数据以及新兴的区块链等技术体系的迅猛发展,数据中心的扩容建设进入高峰期,云数据中心运维需求应运而生。传统的运维人员,以往接触的更多是硬件,如服务器、设备和风火水电;但是在云数据中心时代,运维人员已经从面向物理设备,转变为面向虚拟化、云的管理方式。

因此,云数据中心的运维对于传统的运维人员提出了新的能力要求——不仅要熟悉传统硬件设备,同时要掌握虚拟化、云系统的部署、监控和管理等运维能力。

本文选取云数据中心的其中一点,即软件定义存储(SDS)的运维为例,试述整个演进历程。

SDS即软件定义存储,最重要的是存储虚拟化,就是将存储硬件中的典型的存储控制器功能抽出来放到软件上来实现,这些功能包括卷管理、快照等。俗话说软件看开源,SDS看Ceph。Ceph是目前影响力最大的开源软件定义存储解决方案,其应用范围涵盖块存储、文件和对象存储,广泛被业界公司所采用。

Ceph运维工程师对于比传统运维人员既有相似点也有不同点,要做到能文能武,文能提笔写Ceph运维手册、预案手册等;武能挥手部署Ceph、进行预案演练、故障处理、集群扩容等。来保证Ceph整个集群的高可用性,确保数据不丢失,同时也进行一些常规故障的预案演练,保证出现故障后能够有序的进行故障恢复。

一般企业使用Ceph会经历几个关卡:硬件选型-->部署调优-->性能测试-->架构灾备设计-->部分业务上线测试-->运行维护(故障处理、预案演练等)。

首先在关卡一的时候就会遇到很多问题,由于Ceph初学者对Ceph各组件没有深入了解,导致选型产生困难,因为初学者不了解Ceph各组件对于内存、CPU、网络等等这些硬件的消耗是多少。所以下面我讲述一个真实的A公司传统企业运维人员转型运维Ceph SDS的历程。

本文主要说下硬件选型关卡。许多Ceph新手在测试环节以及预生产的时候会对硬件选型产生困扰,A公司运维小哥也遇到了硬件选型问题,根据Ceph官网推荐我简单概述为以下几点:CPU、内存、数据存储、网络、硬盘。

关卡一:硬件选型关

难度:四颗星

Ceph是一个开源分布式统一存储,同时支持块、对象、文件三种存储。可以根据自己的使用场景需求还制定和选择不同的硬件。Ceph的硬件选型需要根据你的环境和存储需求做出选型计划。硬件的类型、网络和集群设计,是你在Ceph集群设计前期需要考虑的一些关键因素。Ceph选型没有黄金法则,因为它依赖各种因素,比如预算、性能和容量、或者两种的结合、容错性、以及使用场景。下面简单分析下三种常见场景搭配。

图1 三种存储场景类型

  • 高性能场景:这种配置的类型亮点在于它在低TCO(ownership的总消耗)下每秒拥有最高的IOPS。典型的做法是使用包含了更快的SSD硬盘、PCIe SSD、NVMe做数据存储的高性能节点。通常用于块存储,但是也可以用在高IOPS的工作负载上。
  • 通用场景:亮点在于高吞吐量和每吞吐量的低功耗。通用的做法是使用SSD和PCIe SSD做OSD日志盘,以及一个高带宽、物理隔离的双重网络。这种方法常用于块存储,如果你的应用场景需要高性能的对象存储和文件存储,也可以考虑使用。
  • 大容量场景:亮点在于数据中心每TB存储的低成本,以及机架单元物理空间的低成本。也被称为经济存储、廉价存储、存档/长期存储。通用的做法是使用插满机械硬盘的密集服务器,一般是36到72,每个服务器4到6T的物理硬盘空间。通常用于低功耗、大存储容量的对象存储和文件存储。一个好的备选方案,是采用纠删码来最大化存储容量。

企业可以根据预算、性能/容量需求、使用场景自由地选择任意硬件。在存储集群和底层基础设施上,有完全控制权,这也避免了被厂商锁定的风险。另外,Ceph的一个优势是它支持异构硬件。当创建Ceph集群时,你可以混合硬件品牌。比如你可以混合使用来自不同厂家的硬件,比如HP、DELL等,混用现有的硬件可以大大降低成本。下面说一些常用的关于Ceph硬件选型的方法。

 

 

CPU

Ceph metadata server会动态的重新分配负载,它是CPU敏感性的,所以Metadata Server应该有比较好的处理器性能 (比如四核CPU).

Ceph OSD运行RADOS服务,需要通过CRUSH来计算数据的存放位置,replicate数据,以及维护Cluster Map的拷贝,因此OSD也需要合适的处理性能

Ceph Monitors 简单的维护了Cluster Map的主干信息所以这个是CPU不敏感的.

RAM内存

Metadata servers 以及Monitors 必须能够快速的提供数据,因此必须有充足的内存(至少每个进程1GB). OSD在日常操作时不需要过多的内存 (如每进程500MB);但是在执行恢复操作时,就需要大量的内存(如每进程每TB数据需要约1GB内存). Generally, 内存越多越好.

DataStorage数据存储

规划数据存储时要考虑成本和性能的权衡。同时OS操作,同时多个后台程序对单个驱动器进行读写 操作会显着降低性能。也有文件系统的限制考虑:BTRFS对于生产环境来说不是很稳定,但有能力记录journal和并行的写入数据,相对而言XFS和EXT4会好一点。

Network

建议每台机器最少两个千兆网卡,现在大多数机械硬盘都能达到大概 100MB/s 的吞吐量,网卡应该能处理所有 OSD 硬盘总吞吐量,所以推荐最少两个千兆网卡,分别用于公网(前端)和集群网络(后端)。集群网络(最好别连接到外网)用于处理由数据复制产生的额外负载,而且可防止拒绝服务攻击,拒绝服务攻击会干扰数据归置组,使之在 OSD 数据复制时不能回到 active + clean 状态。

但是在这里呢一般生产环境会建议考虑部署万兆网卡。下面可以算一笔账,假设通过 1Gbps 网络复制 1TB 数据需要耗时 3 小时,而 3TB (典型配置)就需要 9 小时,相比之下,如果使用 10Gbps 复制时间可分别缩减到 20 分钟和 1 小时。所以一般使用Ceph都会上万兆网卡。

硬盘

Ceph集群的性能很大程度上取决于存储介质的有效选择。你应该在选择存储介质之前了解到集群的工作负载和性能需求。Ceph使用存储介质有两种方法:OSD日志盘和OSD数据盘。Ceph的每一次写操作分两步处理。当一个OSD接受请求写一个object,它首先会把object写到acting set中的OSD对应的日志盘,然后发送一个写确认给客户端。很快,日志数据会同步到数据盘。值得了解的是,在写性能上,副本也是一个重要因素。副本因素通常要在可靠性、性能和TCO之间平衡。通过这种方式,所有的集群性能围绕着OSD日志和数据盘了。

CephOSD 日志盘

如果你的工作环境是通用场景的需求,那么建议你使用SSD做日志盘。使用SSD,可以减少访问时间,降低写延迟,大幅提升吞吐量。使用SSD做日志盘,可以对每个物理SSD创建多个逻辑分区,每个SSD逻辑分区(日志),映射到一个OSD数据盘。通常10到20GB日志大小足以满足大多数场景。然而,如果你有一个更大的SSD,这时,不要忘记为OSD增加filestore的最大和最小的同步时间间隔。

根据上述A公司运维小哥参考社区官方建议(http://docs.ceph.com/docs/master/start/hardware-recommendations/)以及专业公司咨询(Intel、XSKY等)的方法综合考虑,最终他确定了一套适合自己当前环境场景的硬件来测试以及上线应用。下面贴出来A公司运维小哥根据自己场景需求选择的硬件配置。


设备


具体配置


数量


场景


CPU


Intel  Xeon E5-2650 v3


2


热数据应用/虚拟化场景


内存


64GB  DDR4


4


OS盘

  1. 2.5英寸Intel S3500系列 SSD 240GB SSD

2


SSD盘


Intel  S3700 400G


12


万兆网卡


intel  双口万兆(含多模模块)


2

 

图2:热数据应用以及虚拟化场景

 

本文是作者个人工作经验的总结,供Ceph初学者参考,请读者见仁见智。欲知后事,且听下文《从传统运维到云运维演进历程之软件定义存储(二)》,主要讲述了A公司运维小哥在硬件选型完毕之后开始部署Ceph遇到的一些问题以及解决办法。

时间: 2024-10-20 18:37:28

从传统运维到云运维演进历程之软件定义存储(一)的相关文章

从传统运维到云运维演进历程之软件定义存储(六)完结

回到最初的Ceph运维工程师的问题,本系列讲述的是传统运维向新一代云运维转型之软件定义存储部分的转型,运维是企业业务系统从规划.设计.实施.交付到运维的最后一个步骤,也是重要的步骤.运维小哥最初的梦想搭建一个Ceph存储集群,对接云服务,底层存储实现高可用的数据访问架构.其中运维小哥经历了硬件选型.部署.调优.测试.高可用架构设计等的一系列转型的关卡学习,终于就要到最后的应用上线了.但是往往在生产环境中除了无单点.高可用的架构设计之外还需要平时做一些预案演练,比如:服务器断电.拔磁盘等问题,避免

从传统运维到云运维演进历程之软件定义存储(四)

前面系列已经讲完了硬件选型.部署.调优,在上线之前呢需要进行性能存储测试,本章主要讲述下测试Ceph的几种常用工具,以及测试方法.   关卡四:性能测试关卡 难度:四颗星 说起存储性能永远是第一重要的问题.关于性能有以下几个指标:带宽(Bandwidth).IOPS.顺序(Sequential)读写.随机(Random)读写.延迟(latency).持续吞吐(Sustained Throughput).突发处理能力(Burst I/O)等等. 1.iops&latency    这是两个衡量存储

从传统运维到云运维演进历程之软件定义存储(二)

上回书说到一般企业使用Ceph会经历几个关卡:硬件选型 -- 部署调优-- 性能测试  架构灾备设计 -- 部分业务上线测试 -- 运行维护(故障处理.预案演练等). 今天来重点讲下部署调优关卡.许多Ceph新手在测试环节以及预生产的时候会对Ceph集群的部署以及调优产生困扰,A公司运维小哥也遇到了部署和调优问题.下面来看看A公司运维小哥是如何解决这个问题的. 关卡二:部署调优关(部署) 难度:三颗星 上篇文章开头我也说到了,部署Ceph是新手的噩梦,对于传统运维来说部署一套Ceph是很难的事情

从传统运维到云运维演进历程之软件定义存储(三)下

上回书讲到了运维小哥的调优方法论(上),对于Ceph运维人员来说最头痛的莫过于两件事:一.Ceph调优:二.Ceph运维.调优是件非常头疼的事情,下面来看看运维小哥是如何调优的. 关卡二:部署调优关之调优(二) 难度:五颗星 优化方法论 通过对网上公开资料的分析进行总结,对Ceph的优化离不开以下几点: 硬件层面 硬件规划 SSD选择 BIOS设置 操作系统层面 Linux Kernel 内存 Cgroup 网络层面 巨型帧 中断亲和 硬件加速 Ceph层面 Ceph Configuration

从传统运维到云运维演进历程之软件定义存储(五)上

数据资料是整个系统运作的核心,而人为或非人为引起的数据丢失将对的企业造成无法估量的影响.因此系统管理员都会考虑通过数据备份手段对业务数据进行保护.但在现在云数据中心的兴起带来的是海量数据被集中起来.相较于传统备份行业常见的小容量(小于500GB)RTO.RPO敏感型场景,在云数据中心带来的挑战下完全无法作到有效保护. 关卡五:PB级数据中心灾备设计关卡 上 画难度:四颗星 传统的备份方式通常面向应用来做保护,依靠代理来调用应用端的接口.数据一致性能得到完全的保证.但传统备份由于要建立索引表,面对

如何打造一个高逼格的云运维平台?

导读 在标准化实施完以后,由于数目的增加,或者是一些运维场景的增多,我们会逐步的进行一些工具化和自动化,这个阶段我们的运维的效率得到提升.但是众多的工具以及自动化脚本,会让我们的管理过程中比较困难,随着人员的变动或者是一些工具维护过程中的差错,我们的自动化运维工具的受众群体不太稳定. 前言 大家做运维普遍经历这样的过程: 首先我们会把操作做一个标准化,这个阶段是运维质量的提升的阶段. 在标准化实施完以后,由于数目的增加,或者是一些运维场景的增多,我们会逐步的进行一些工具化和自动化,这个阶段我们的

从十年运维看“云”维趋势

又到岁末,就这样默默地在运维行业里已有十年余.总是想找个机会总过去展望未来,并给刚上路或是在路上的运维朋友交流一些观点.虽然现在比前几年轻松,但是惰性也随之有增,所以从未实际提笔.但是因为脑子里一直记着这事儿,所以其实一直在脑子中整理文字和框架,结合工作实际,很多观点也经受了验证,并非侃侃而谈.终于因为圣诞假期开始,趁着回国途中有集中的时间写出来,其实也是为了在万米高空消磨消磨时间. 笔者目前在北美某著名游戏公司从事运维工作,十年间发表过不少文章,著有<Linux系统命令及Shell脚本实践指南

开源还是商用?十大云运维监控工具横评

随着云计算和互联网的高速发展,大量应用需要横跨不同网络终端,并广泛接入第三方服务(如支付.登录.导航等),IT系统架构越来越复杂.快速迭代的产品需求和良好的用户体验,需要IT运维管理者时刻保障核心业务稳定可用,而企业运维中的痛点和难点也急需解决. 1.面向业务的运维,不但关心单点IT资源的运行状态,更关心整个业务系统的健康状态 2.如果企业使用了大量的API和模块化应用,那么关注每个接口的性能变化情况和指标 3.对于运维主管及企业管理层来说,特别需要上墙的监控大屏 4.运维需要每周.每月查看报告

传统运维与互联网运维差异

概述 近一年,关于传统运维与互联网运维的探讨越来越多,在运维体系快速变革地环境下,运维未来的走向,便成为运维行业的关注点. 那么: 到底什么是传统运维体系?什么是互联网运维体系?他们的特点,异同在哪?从哪里来到哪里去? 本文将从以下角度探讨两大运维体系. 商业封闭式系统架构 vs 开源系统架构辨析 传统运维 vs 互联网运维辨析 去IOE运动辨析 运维发展趋势辨析 1.商业封闭式系统架构 vs 开源系统架构辨析 每个单位组织的IT环境,不论大小复杂度,总会有个系统架构层次.有了这个架构体系,那所