在具有多个磁盘和跨越慢速(HDD)和快速(SSD)驱动器的软件RAID的现代Linux系统上,如何缓存对文件系统的写入?
对于md-raid RAID1,可以为磁盘配置磁盘,--write-mostly
并且--write-behind
表明从较快的磁盘执行读取,而对较慢的磁盘进行写入可能会滞后。但是如何在内核级别缓存呢?内核是否在md-raid层之前或之后缓存磁盘写入的内容?在write()调用结束时,是否保证将数据写入其中一个非--write-behind
磁盘?
对于btrfs
RAID1,相同的情况如何发生?没有--write-behind
功能,因此脏页是在设备级别还是在文件系统级别进行计数的?什么时候会返回write()?
vm.dirty_*ratio
可调参数如何影响这些设置?