我有一台HP ProLiant DL380 G5,配备硬盘RAID,512 MB电池备份缓存.我用的是debian linux.
有3个写缓存:
1. OS写缓存
2.硬件突袭,512 MB电池备份缓存
3.硬盘缓存
我的问题是:如何正确配置它们,这样在掉电期间不会丢失数据?
我当时认为禁用操作系统写入缓存和HDD缓存可以解决问题,并且由于HW raid缓存,它仍然可以正常运行.我对吗?
第二个问题是关于HW raid缓存读/写比率.我在想,既然OS RAM被用作读取缓存,那么最好将HR raid缓存的比率更改为0/100或者0/80(读/写).因此它将被更好地利用50/50,我认为是默认的读/写缓存比率.这个比率的最佳值是多少?
谢谢
解决方法
OS
当I / O子系统实际提交内容时,写入会在RAM中暂时缓存(脏页).提交写入后,页面将被缓存,以防再次立即读取.操作系统缓存不维护未经注释的写入池,它维护可能需要再次读取的已经编写的写入池.实际上,它是100%读取缓存.
RAID控制器
RAID控制器的BBC从OS接收写入.根据要写入的卷的高速缓存策略(写入与回写),RAID控制器可能会在此时将写入报告为已发送.然后它会将写入队列以便命名为实际磁盘
磁盘
有些RAID卡实际上会禁用HD缓存.其他人,不.我不记得惠普是如何做到的,但如果高清缓存被禁用并且写优化逻辑被推入RAID控制器本身,我也不会感到惊讶.惠普在其驱动器上使用自定义固件是有原因的.
操作系统及其支持的文件系统非常清楚,突然断电是一种故障模式,可以在操作系统确定需要发生的时间和存储系统报告完成之间的时间内终止写入操作.我们现在已经做了一段时间了,我们擅长防御它.
由于处理元数据写入的方式,XFS文件系统在突然断电情况下的生存能力不佳.但是,它的目标环境是假定电力充足的环境.其他文件系统,ext系列,btrfs,当然还有zfs,它们也很好.
如果您在已知功率不足的环境中运行,请确保在断电期间不会丢失数据:
>使用已知对突然断电而言强大的文件系统(基本上,除了XFS之外的任何东西)
就是这样. RAID卡上的BBC可确保在恢复供电之前保留RAID缓存.磁盘缓存可能已禁用.无需调整RAID卡缓存即可全部读取.无需禁用OS块缓存.
真.