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

在传统企业中,业务运维工程师(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遇到的一些问题以及解决办法。

转载于:https://blog.51cto.com/devingeng/1851942

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

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

    上篇文章讲到了Ceph在灾备方面有三大神兵利器:故障域.RBD异地灾备.RGW异地灾备.那么本文讲述下剩下的两大利器RBD异地灾备和RGW异地灾备 关卡五:Ceph灾备神兵利器-RBD Mirrori ...

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

    数据资料是整个系统运作的核心,而人为或非人为引起的数据丢失将对的企业造成无法估量的影响.因此系统管理员都会考虑通过数据备份手段对业务数据进行保护.但在现在云数据中心的兴起带来的是海量数据被集中起来.相 ...

  3. 传统运维与云运维到底有什么不同呢?

    主要是线下和线上的工作环境的不同,采用了云服务即代表IaaS底层的硬件问题不再需要我们去解决.现在的运维再也不是一个整日沉浸机房和物理设备打交道的打工人,相反而是坐在办公室里监视着云服务运行情况的打工 ...

  4. 【IT运维】传统运维与云运维到底有什么不同呢?

    很多IT运维人员最近比较困惑的一个问题就是,是否要转为云运维?传统运维与云运维到底有什么不同呢?谁能简单说一下. 第一.工作场景不同 主要是线下和线上的工作环境的不同,采用了云服务即代表IaaS底层的 ...

  5. 打造运维大脑:翼支付高速发展背后,甜橙金融的云化智能演进

    本文是依据张小虎老师在"数据技术嘉年华"大会演讲整理而来. (本文 PPT下载,关注公众号回复:2018DTC ,张小虎老师的PPT位于分会场7模块下. 云计算如何改变金融行业? ...

  6. 云运维的关键是什么?

    随着云时代的到来,越来越多的企业和机构将关键业务放在云端运行,如何做好云运维是IT部门面临的一个新的挑战.做好云运维,首先要明白云运维和传统运维的不同,传统运维是以服务器为中心的运维模式:而云运维是一 ...

  7. 云服务器运维兼职,云服务器的维护工作主要有哪些?

    云服务器因为响应速度更快.更方便使用.升级更方便.具有较高的性价比等优势是很多用户建站的首选方案.我们在购买云服务器后,要想保证长期稳定的使用,除了依靠云服务商的技术支持,自身必要的安全维护手段也是不 ...

  8. 云运维拓扑图_云运维的核心是什么?

    原标题:云运维的核心是什么? 随着云时代的发展,云平台被越来越多的企业认可和使用,越来越多的用户开始在云平台上部署自己的应用,如何在云平台上进行运维也就被越来越多的企业所关注.传统层面的运维,接触的都 ...

  9. GOPS2018 | 华为云运维最佳CP引领AIOps新风向

    在第九届全球运维大会GOPS上,华为云应用运维域首席架构师蔡小刚做了以"华为三位一体探索AIOps关键技术的实践"为主题的演讲,从4个方面与大家分享华为云运维采用产学研三位一体模式 ...

最新文章

  1. 华为总裁任正非谈企业管理:正确的方向来自于妥协
  2. 泰勒公式推导过程_论泰勒级数在机器学习家庭中的地位
  3. android 使用compareTo比较大小
  4. Control Registers(CR0, CR1, CR2, CR3, and CR4)
  5. Python回归 岭回归(Ridge Regression)
  6. linux维护rpm 数据库,Linux运维知识之linux rpm命令详细介绍
  7. Python Imaging Library:ImageDraw Module(图像绘制模块)
  8. 3.0-rsync格式
  9. 哈尔滨工程大学ACM预热赛(A,C,H,I)
  10. CSS hack 初学小结
  11. angular学习之路(一)
  12. 命令前加./ ,在后台运行程序 linux批处理 linux自动运行程序
  13. PyG快速安装(一键脚本,2021.7.14简单有效)
  14. 【蓝桥杯单片机(14)】PWM波实现呼吸灯
  15. 手机充电器电源适配器原理
  16. Win7系统提示“内置管理员无法激活此应用”的原因和解决方法
  17. Java【7】工具包(集合框架、函数式编程、Optional容器)
  18. 斯芬克斯(sphinx) mysql全文搜索引擎
  19. 安卓手机如何快速投屏到windows(10/8.1/7)电脑上
  20. 转: 武志红:职业规划:帮你设计人生

热门文章

  1. mysql的突然变成本地不能用密码,远程要用密码才能登录,这是神马情况???求解...
  2. 国外java开源网站聚合
  3. Silverlight实例教程 - Out of Browser开篇
  4. 使用SQLServer 2008的CDC功能实现数据变更捕获
  5. windows8系统设置×××虚拟连接教程
  6. Win7 任务栏影藏、显示速度提升
  7. ASP条件语句之IF语句
  8. 还原活动目录完全手册
  9. vue-router2路由参数注意问题
  10. 百度搜索技巧语法大全