Linux如何告诉LSI Megaraid卡在关机前刷新其缓存?

LSI Megaraid控制器为其写缓存备份电池,在出现意外停电的情况下,它可以保留缓存的尚未写入的数据,因此可以在下次启动服务器时将其写入磁盘起来.在干净关闭的情况下,这种备份可能不是必需的,因为干净关闭的一部分将涉及控制器将缓存的数据写入磁盘.

raid控制器如何获知关闭即将发生?据推测,这种刷新必须是其他OS关闭代码之后发生的最后一件事,这可能涉及将数据或日志写入raid.

是否有一些PCIe级别的信令通知外围设备有待下电? Megaraid_sas内核模块是否通知卡挂起关闭?或者是否需要从初始化脚本运行用于刷新缓存的MegaCli命令以进行关闭?

我已经手动将一个Megaraid卡和一组额外的驱动器添加到没有安装的Linux系统中,并且希望确保我不需要手动添加内容以确保缓存在关机时保持一致.

解决方法

在关闭期间,系统将卸载大多数文件系统.那些无法卸载的是只读的. Umount syscall将通过VFS刷新磁盘高速缓存,使用块设备后面的驱动程序刷新磁盘缓冲区.您的案例中的块设备驱动程序是通用SCSI驱动程序sg.这将使用设备的特定驱动程序和SCSI刷新命令将数据发送到SCSI设备,以便将数据从内部磁盘高速缓存写入磁盘存储介质. 所有这些都是同步的,直到数据在磁盘上时umount才会返回. 对于重新安装的只读FS,关闭脚本将只运行sync syscall.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...