如果您因为不能控制的原因而必须使用RAID,并且RAID服务器可能没有进行电池备份, 并且该build筑物容易断电,那么您可以做些什么来使RAID在力量立即死亡的情况下更有弹性? 这种情况听起来很有意思,但实际上我现在正处于这种情况,因为我不能进去。
Linux软件RAID支持的任何特定的RAID规范是否比任何其他RAID规范更具弹性处理电力损失,或者是否有任何RAIDconfiguration参数在这里可能会有所帮助?
例如,RAID 10比掉RAID 5或RAID 6等基于奇偶校验的RAIDconfiguration更容易丢失。 另外,有没有RAIDconfiguration设置,试图处理没有一个很好的硬件RAID BBUcaching写入的现实?
我不记得任何MD RAID特定的选项,但是:
禁用磁盘写入caching
hdparm -W get/set drive write-caching flag (0/1)
使用sync / dirsync选项挂载所有分区
从男人坐骑:
dirsync All directory updates within the file system should be done synchronously. This affects the following sys-tem calls: creat, link, unlink, symlink, mkdir, rmdir, mknod and rename. sync All I/O to the file system should be done synchronously. In case of media with limited number of write cycles (eg some flash drives) "sync" may cause life-cycle shortening.
…也许在断电后它会同步。
有几件事你可以做,这将有助于TomTom和Barlomiej的覆盖。 但是,这仍然是一个坏主意。 真正的解决办法是有人的需求需要改变 。 所以我会给你一些理由,这是一个坏主意,你可以采取任何人认为这些要求是可以接受的。
将RAID放置一会儿,意外地断开服务器的电源,最终会导致问题:
现在把RAID投入混合:
UPS的存在是有原因的。 你不需要一个花哨的服务器机架大小的UPS。 如果你不得不这样做,你可能会拿走更高端的消费者UPS大概100-200美元。 所有你真正需要的是持续足够长的时间来正确closures服务器。 连接USB电缆,设置UPS软件并进行设置,以使计算机在断电10秒后开始closures。 现在它在停电半小时停顿(UPS确保服务器没有看到通常伴随这种事件的任何可怕的电力状况)。 而在这个漫长的过程中,它会很好地有序地closures,没有数据丢失,也没有工作20个小时的class次,试图让服务器恢复。
如果您给我们提供更多关于这些要求存在的信息,我们可以给您更多关于如何在要求的精神下工作的想法,并提出一个可以接受的解决scheme。 但正如现在所说,我只能说: 获得一个UPS。
开始使用写入cachingSSD – 并获取一个与冷凝器处理功率损失。
否则,请确保您禁用任何性能提示。 在堆栈中的任何地方(包括硬件级别)都不回写caching。
就是这个。 不知道Linux有一个文件系统为此优化。