阵列卡上为什么要配备电池?
简单来说,阵列卡配电池是一种保护机制,保证在设备断电的情况下,写入到阵列卡缓存的数据不丢失;等设备重新加电后,将缓存中的数据重新写入到磁盘里;
RAID卡上的电池只是给卡上的RAM供电(RAM是RAID卡上的一块芯片,缓存写入的数据)。
PCI-E给RAID卡供电,卡上的电池通过PCI-E的电源充电,电池再给RAM供电。RAID卡是通过PCI-E接口插在主板上的,PCI-E接口可以供电。
一般电池如果出了问题或者没电,RAID控制器会关闭写缓存、性能变差。如果没有关闭写缓存,那么当断电情况下,缓存中的数据可能丢失。
引起RAID卡电池失效的原因:寿命、软件bug、硬件故障,都有可能。充电都是由软件控制的,所以也有可能是软件bug问题。
---------------------
RAID卡开启回写的情况下,数据是先写到缓存,当缓存累计到一定量数据时再写入磁盘,这样能显著提高小文件的交换速度。
但由于缓存内存是易失性的,当计算机意外断电或RAID卡意外损坏的时候,缓存数据就丢失了,这样会造成系统记录与实际数据的不对称。
因此高端的RAID卡上安装了电池,当意外断电时为不能及时回写到硬盘的缓存中的数据提供一定时间内的保护,当计算机或RAID卡再次正常工作时,RAID卡将缓存中的数据回写回硬盘。
这个电池不是保护RAID设置信息,RAID信息保存在RAID卡上的rom里,它不会因为电池失效而丢失。
================
官方案例解释---惠普服务阵列卡配备电池
问题描述:
5i阵列卡有电池的选件,用户对其功能可能有疑问
现象:
5i阵列卡有电池的选件,用户对其功能可能有疑问
解决方式:
电池主要是用来提供对数据的保护,5i的控制器在不加选件电池的时候写缓存的功能是关闭的,只有读缓存的功能,这时操作系统需要读数据的话,可以利用5i控制器的内存来做缓冲,有利于提高系统性能,但出于对数据安全性的考虑如果要向硬盘写数据必须要真正等待写硬盘的操作完成。
如果添加了选件的电池,5i的写缓存功能就被打开。电池在充分充电后,可以提供一段时间的供电以保证在阵列卡内存中存储的数据不会丢失。这样在数据传输到阵列卡内存后即可通知操作系统数据已经存好,即便突然断电,只要在电池电量耗尽前恢复供电,在启动服务器时,自检过程中服务器会检测到阵列卡内存中有尚未写到硬盘的数据,并完成上次未完成的写操作。
参考链接:
https://support.hp.com/cn-zh/document/c01201008
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统