
组织单个磁盘空间是一项可以使用硬件RAID控制器轻松解决的任务。 但是,您首先应该熟悉使用和管理此类控制器的功能。 今天我们将在文章中讨论这一点。
磁盘驱动器的可靠性和速度是每个系统管理员都关心的问题。 尽管制造商保证了其自身设备的质量-HDD和SSD在最不合时宜的时间继续失败,丢失了宝贵的数据。 在大多数情况下,SMART技术使评估驱动器的“运行状况”成为可能,但这不能保证驱动器将继续平稳运行。
不可能以100%的准确度预测驱动器的故障,因此您应该考虑不会造成问题或导致服务停止的选项。 使用RAID阵列可以解决此问题。 考虑用于此任务的三种主要方法:
- 软件RAID是最便宜的选择,但生产率也最低。 该阵列由操作系统创建,整个数据处理负担落在中央处理器的肩膀上。
- 集成硬件RAID (通常也称为Fake-RAID)是安装在主板上的微芯片,它接管了硬件RAID控制器的部分功能,与中央处理器协同工作。 这种方法的工作速度比软件RAID快一点,但是这种阵列的可靠性还有很多不足之处。
- 硬件RAID是具有自己的处理器和缓存内存的独立控制器,完全接管了所有磁盘操作。 但是,使用起来最昂贵,最高效,最可靠。
让我们详细了解一下硬件RAID。
外表
我们选择了Microsemi的Adaptec解决方案。 这些都是RAID控制器,具有经过验证的可用性和高性能。 如果客户决定
订购任意配置或固定配置
的服务器,我们将安装它们。

要连接磁盘,请使用特殊的接口电缆。 在控制器侧,使用
SFF8643连接器。 每条电缆最多可以连接4个SAS或SATA驱动器(取决于型号)。 此外,接口电缆还具有用于SGPIO总线的八针
SFF-8485连接器,稍后我们将讨论目的。
除了RAID控制器本身之外,还有两个其他设备可以提高可靠性:
- BBU (备用电池单元)是带有锂离子电池的扩展模块,可让您维持易失性高速缓存芯片上的电压。 如果服务器突然停电,则可以使用它来临时保存尚未写入磁盘的缓存内容。
恢复服务器电源后,缓存的内容将以正常模式写入磁盘。 根据制造商的说法,充满电的电池能够存储缓存数据72小时。 - ZMCP (零维护高速缓存保护)是RAID控制器的特殊扩展模块,它具有自己的非易失性存储器和超级电容器。 如果发生服务器电源故障,则超级电容器会为微电路提供电力,足以将易失性高速缓存存储器的内容写入ZMCP NAND存储器。
恢复服务器电源后,缓存的内容将自动写入磁盘。 这些模块通过硬件RAID控制器和缓存保护安装在我们的服务器中。

启用Writeback时,这一点尤其重要。 在电源故障的情况下,缓存内容将不会刷新到磁盘,这将导致数据丢失,结果,磁盘阵列的常规操作将受到干扰。
技术指标
温度范围
首先,我想谈谈Adaptec硬件RAID控制器的温度状况等重要问题。 它们都配备有小型无源散热器,这可能会导致散热不佳的错误印象。
控制器制造商引用200 LFM(每分钟线性英尺)作为推荐的气流值,该值对应于每秒8.24升(或每秒1.02米)的指示器。 此类控制器专为安装在机架式机箱中而设计,在这种机箱中,此类气流是由高速标准冷却器产生的。
从0°C到40-55°C-大多数Adaptec RAID控制器的工作温度(取决于安装的模块的可用性),由制造商建议。 芯片的最高工作温度为100°C。 在高温(超过85°C)下操作控制器可能会损坏控制器。 为了方便起见,在扰流板下方,我们为不同系列的Adaptec控制器提供了推荐的温度范围。
我们的客户不必担心控制器的过热,因为我们的数据中心保持
恒定的温度状态 ,并且在组装任意配置服务器时都考虑到了这些组件的功能(正如我们在
上一篇文章中提到的)。
工作速度
为了演示硬件RAID控制器的可用性如何帮助提高服务器的速度,我们决定组装具有以下配置的测试台:
- 英特尔至强CPU E3-1230v5;
- RAM 16 Gb DDR4 2133 ECC;
- 4个HDD,容量为1 TB。
操作系统将安装在CentOS 7上。服务器应用程序的角色将扮演1C Bitrix24。 首先,我们将使用mdadm构建软件RAID,并使用Bitrix24中的内置测试来评估性能。 我们不会特别对系统进行任何更改或其他设置-已安装具有默认设置的演示配置。
然后,我们将带有AFM-700高速缓存保护模块的Adaptec ASR 7805 RAID控制器放在同一机架中,将相同的硬盘驱动器连接到该机架上,并执行完全相同的测试。
带有软件RAID
软件RAID的无疑优势是易于使用。 使用标准mdadm实用程序在Linux中创建一个阵列。 在安装操作系统时,通常是直接从安装程序提供阵列的创建。 在安装程序没有提供这种机会的情况下,只需使用组合键Ctrl + Alt + F2(其中功能键的编号是被称为tty的编号)进入下一个控制台就足够了。
创建数组非常简单。
fdisk -l命令查看系统中存在哪些磁盘。 在我们的例子中,这些是4个磁盘:
/dev/sda /dev/sdb /dev/sdc /dev/sdd
检查磁盘上是否没有元数据,例如,来自先前阵列的元数据:
mdadm --examine /dev/sda /dev/sdb /dev/sdc /dev/sdd
在所有四个磁盘上应该有一条消息:
mdadm: No md superblock detected
如果一个或多个磁盘上有元数据,则可以按以下方式删除它们(其中sdX是必需的磁盘):
mdadm --zero-superblock /dev/sdX
使用
fdisk在每个磁盘上为将来的阵列创建分区。 分区类型应为
fd(Linux RAID autodetect) 。
fdisk /dev/sdX
我们使用以下命令从创建的分区中收集RAID 10阵列:
mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
之后,将立即创建/ dev / md0数组,并开始在磁盘上重建数据的过程。 要跟踪流程的当前状态,请输入:
cat /proc/mdstat

在重建数据的过程完成之前,磁盘阵列的速度将降低。
在创建的阵列上安装操作系统和Bitrix24之后,我们启动了标准测试并获得以下结果:

带有硬件RAID
在服务器可以使用RAID阵列的单个磁盘空间之前,必须执行控制器和逻辑驱动器的基本配置。 有两种方法可以做到这一点:
第一种方法非常适合初始设置。 在POST初始化过程中出现通知时,使用CTRL +组合键以传统模式(我们服务器的默认模式)登录实用程序。

该实用程序不仅可以控制控制器设置,还可以控制逻辑设备。 我们初始化物理磁盘(初始化过程中磁盘上的所有信息将被破坏),并使用“创建阵列”部分创建RAID-10阵列。 创建时,系统将请求所需的条带大小,即一个I / O操作的数据块大小:
- 较大的条带大小是处理大型文件的理想选择;
- 较小的条带大小适合处理大量的小文件。
重要提示-条带大小仅设置一次(在创建数组时),以后不能更改此值。

在向控制器发出创建阵列以及软件RAID的命令后,立即开始在磁盘上重建数据的过程。 此过程在后台运行,BIOS可以立即访问逻辑驱动器。 在该过程完成之前,磁盘子系统的性能也会降低。 如果创建了多个阵列,则有必要使用键盘快捷键
Ctrl + B确定启动阵列
。在阵列状态更改为
Optimal之后 ,我们安装了Bitrix24并执行了完全相同的测试。 测试结果:

显而易见,硬件RAID控制器通过使用缓存来加速对磁盘介质的读写操作,从而可以更快地处理海量用户请求。
控制器管理
可以直接从操作系统直接使用可
从制造商的网站下载的软件来控制控制器。 选项适用于大多数操作系统和管理程序:
- 德比安
- 的Ubuntu
- 红帽Linux,
- 软呢帽
- SuSE Linux,
- FreeBSD
- Solaris,
- 微软视窗
- Citrix XenServer,
- VMware ESXi的
其他Linux发行版也提供了驱动程序源代码。 除了驱动程序和控制台实用程序ARCCONF,制造商还提供带有图形界面的程序,可方便地控制控制器-maxView Storage Manager。
使用这些实用程序,而不会中断服务器,您可以轻松管理逻辑磁盘和物理磁盘。 您还可以使用诸如“磁盘突出显示”之类的有用功能。 我们已经提到了用于连接SGPIO的第五条电缆-该电缆直接连接到背板(从英语背板-服务器驱动器的连接板),并允许RAID控制器完全控制每个磁盘的指示灯。
请记住,背板不仅支持SGPIO,而且还支持I2C。 这些模式之间的切换通常是使用背板本身上的跳线完成的。
为连接到Adaptec硬件RAID控制器的每个设备分配一个标识符,该标识符由通道号和物理磁盘号组成。 通道号对应于控制器上的端口号。
磁盘更换是常规操作,但是需要明确标识。 如果在此操作过程中出错,则可能会丢失数据并中断服务器。 使用硬件RAID控制器,这种错误很少发生。
这非常简单地完成:
- 请求映射到控制器的驱动器列表:
arcconf getconfig 1
- 找到需要更换的磁盘,并记录了其“坐标”(参数报告的通道,设备(T:L) )。

- 使用以下命令“突出显示”磁盘:
arcconf identify 1 device 0 0
控制器将发出适当的背板命令,所需驱动器的LED将开始均匀闪烁,其颜色与标准工作指示灯不同。
例如,在Supermicro平台上,常规磁盘操作为绿色或蓝色,“突出显示”的磁盘将闪烁红色。 在这种情况下,不可能混淆磁盘,这样可以避免由于人为因素造成的错误。

配置缓存
现在简要介绍一下用于写缓存的选项。 “
Write Through”选项表示控制器仅在将数据实际写入磁盘后才告知操作系统写入操作成功。 这样可以提高数据安全性的可靠性,但不会提高生产率。
要获得最大速度,必须使用“
回写”选项。 通过这种操作方案,控制器将在数据到达缓存后立即将成功的IO操作通知操作系统。
重要-使用回写时,强烈建议使用BBU或ZMCP模块,因为没有它,在突然断电的情况下,某些数据可能会丢失。
监控设置
对于任何系统管理员来说,监视设备状态和通知可能性的问题都非常严重。 为了配置Zabbix和Adaptec RAID控制器的“捆绑包”,我们建议使用
列出的解决方案 。
通常,您需要直接从虚拟机管理程序(例如,VMware ESXi)监视控制器的状态。 通过使用
Microsemi指令安装CIM提供程序可以解决此问题。
韧体
经常需要RAID控制器固件来解决制造商在设备运行过程中发现的问题。 尽管可以使用固件进行自我更新,但是应该非常负责地执行此操作,尤其是在“战斗”系统上执行该过程时。
如果我们的客户需要更改控制器固件版本,那么他只需要在我们的控制面板中
创建票证即可 。 系统工程师将在指定的时间将RAID控制器刷新到所需版本,并尽可能正确地进行操作。
重要提示-您不应该自己执行刷新,因为任何错误都可能导致数据丢失!
结论
在大多数情况下,需要磁盘子系统的高速和可靠性时,使用硬件RAID控制器是合理的。
订购任意配置的服务器时,Selectel系统工程师将免费在硬件RAID控制器上执行磁盘阵列的基本配置。 如果需要额外的配置帮助,我们将很乐意为您提供
管理服务 。 另外,我们还为读者准备了有关arcconf实用程序命令的小
备忘录 。
您是否使用硬件RAID控制器? 在评论中见。