温故:
还是老样子,学习新知识之前做一个简单的回顾。昨天和大家聊了聊Linux系统NTP时钟同步的配置流程,操作流程不是很复杂,但是有一点是需要注意的。不同的版本的设置会有些许的不同,不要生搬硬套。咱们这里写的这篇内容是针对redhat7的。
链接如下:redhat 7 NTP时钟同步设置
知新:
今天恰好有时间,所以呢就和大家来聊聊作为运维工作人员在工作中可能遇到的“电池”问题。作为系统运维人员,我们必然会接触到各种服务器,要对服务器的状态进行巡检,不同的服务器对于自身状态的描述大同小异,基本上都是能通过监控软件或者服务器自身的指示灯来观察到的。
在我这边的工作中,能接触到的服务器类型有很多,比如HP服务器、IBM小型机、浪潮服务器、戴尔服务器等等,所以你能遇到的问题也是千奇百怪。今天咱们要说的就是服务器的电池。注意了啊,我这里说的是电池而不是电源,电池和电源在某种程度上可以认为是一个东西,比如孩子的电池遥控汽车,你要说车子里面的电池是这台车子的电源,没毛病。但是在运维这个行业里面,尤其是针对服务器的时候,一定要把这二者进行区分开来,不然有你后悔的,可能会丢人哈哈哈。
一、Raid卡电池
我这边接触到的电池一般就是两种,分别是存储缓存电池和RAID卡电池。先介绍一下RAID卡电池,提到RAID卡电池就先得讲讲什么是RAID。RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels),如RAID 10/01(RAID 0与RAID 1的组合),RAID 50(RAID 0与RAID 5的组合)等。不同RAID 级别代表着不同的存储性能、数据安全性和存储成本。数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性(除RAID0外)。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储性能要比单个硬盘高很多(主要是存取速度上),而且可以提供数据冗余。再回到正题“整列卡上”,RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。不同的RAID卡支持的RAID功能不同。支持RAlD0、RAID1、RAID3、RAID4、RAID5、RAID10不等。RAID卡可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID卡最初想要解决的问题。可以提供容错功能,这是RAID卡的第二个重要功能。
最后就提到了“阵列卡电池”了。通过上面的介绍,我们应该可以了解到阵列卡的作用了。简单的说就是阵列卡中保存着磁盘阵列的相关信息,比如,这些磁盘组成了何种级别的RAID,以RAID5为例,哪块盘做为校验盘,这些重要信息都存储在阵列卡中,因此一旦阵列卡故障,那么所有磁盘就无法进行存取数据了,无法识别到磁盘了。那么RAID卡电池的作用就是保障这个Raid卡时刻有电,维持运转。这里问一个小问题,如果这个电池故障了,你觉得影响大吗?关于这个问题对于不同的人、不同的情况肯定有不同的解答。对于我这里说,如果真的是某台服务器的RAID卡电池故障了,真不是什么大不了的事,因此只要机房还有电,还在正常供应,哪怕RAID卡电池坏了,也还有有电能供应给RAID卡的。也许你可能还会问,那么如果机房也没电了呢,那就更不怕了,为什么?因为如果机房都没电了,其他的服务器也都挂掉了,就顾不上这个小小的RAID卡的事了,要关心的事情就太多了,先去保障重点业务吧。
二、存储缓存电池
首先,我要说明一点,在存储上我们一般把内存就叫做缓存。存储的缓存电池就是用来保障这个缓存时有电的。问题来了,如果缓存的电池真的故障了会怎么样呢?这个问题问得好,咱们举例讨论,我们这边用到缓存电池的服务器有IBM的DS系列和V系列。之所以特意提到这两种系列,是因为二者对于缓存电池的故障的处理方式是完全不一样的。对于DS系列来说,以DS4800为例,为了预防因为缓存电池坏掉,可以提前对电池进行配置:设置电池故障后可以继续使用缓存。这样的设置的好处就是一旦电池挂掉,那么缓存可以继续使用,就可以短时间内将缓存中的数据写入磁盘。然后找个合适的时间更换电池就可以了,当然了如果恰好电池坏的时间段服务器也掉点了,那么啥配置也没用。
DS4800前示图
DS4800后示图
再说说另外一个系列,V系列。以V7000为例,它是一个双控的存储。它是不可以设置“缓存电池故障后可以继续使用缓存”的,所以啊一旦电池故障,退一步讲哪怕就是电池电量低于50%,那么缓存也不可以使用了。当然了它还有一个看似人性化的设计,就是可以提前设置电池故障后存储控制器还可以继续使用。但是这就是个脑残的设计,缓存都不可以使用了,留个控制器干嘛使,这就像人的心脏都没了,光有个脑袋你也活不了啊。因此就会造成内存中的数据无法及时写入磁盘,就出现了脏数据。
V7000前示图
V7000后示图
关于“电池”咱们就讲到这里,下面还有一些关于这两类服务器的小拓展,有兴趣的朋友可以看看。
拓展:
存储控制器在存储设备中发挥着非常重要的作用。存储控制器是一台控制着存储阵列的设备,主要包括三种类型的组件:"CPU"、"缓存存储器"和"与网络和存储设备的连接接口"。存储控制器将多个存储设备中的存储区域整合起来,作为一个存储区域提供给服务器。当收到来自服务器的写入数据的请求时,存储控制器将确定数据落到哪个存储设备,并将数据存储在所选设备中。 当收到来自服务器的读取某些数据的请求时,存储控制器找到相关数据的存储位置,从存储设备中读取数据,并将其传输到服务器。高效、稳定地完成这些处理任务是存储控制器的作用。除了读写数据外,存储控制器还执行处理任务,实现各种增值功能包括RAID、卷管理(volume management)、Provisioning、快照(snapshot)、克隆(clone)、复制(replication)等。