Linux ZFS不会缓冲写入缓冲区(SLOG / ZIL)的写入?

前端之家收集整理的这篇文章主要介绍了Linux ZFS不会缓冲写入缓冲区(SLOG / ZIL)的写入?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
遇到写入I / O时,zpool iostat -v中的日志列不会显示任何ZIL活动.这会导致将数据写入磁盘时的等待时间高于预期(在争用期间有时超过80毫秒).
  1. capacity operations bandwidth
  2. pool alloc free read write read write
  3. ---------------- ----- ----- ----- ----- ----- -----
  4. storage 1.88T 2.09T 3 3.01K 512K 39.3M
  5. mirror 961G 1.05T 0 1.97K 128K 20.8M
  6. mpathf - - 0 393 0 20.8M
  7. mpathg - - 0 391 128K 20.6M
  8. mirror 961G 1.05T 2 1.04K 384K 18.5M
  9. mpathi - - 1 379 256K 21.1M
  10. mpathj - - 0 281 128K 18.3M
  11. logs - - - - - -
  12. /zlog/zilcache 0 15.9G 0 0 0 0
  13. cache - - - - - -
  14. mpathk 232G 8M 1 0 130K 0
  15. mpathl 232G 8M 1 0 130K 0
  16. ---------------- ----- ----- ----- ----- ----- -----

我的/ zlog / zilcache设备从来没有任何IO.它是一个快速闪存的文件.当我从ZFS商店中删除它时,我可以编写和读取它,但ZFS似乎忽略它.

该设备看起来可用:

  1. pool: storage
  2. state: ONLINE
  3. scan: scrub repaired 0 in 19h31m with 0 errors on Wed Nov 19 07:39:03 2014
  4. config:
  5.  
  6. NAME STATE READ WRITE CKSUM
  7. storage ONLINE 0 0 0
  8. mirror-0 ONLINE 0 0 0
  9. mpathf ONLINE 0 0 0
  10. mpathg ONLINE 0 0 0
  11. mirror-1 ONLINE 0 0 0
  12. mpathi ONLINE 0 0 0
  13. mpathj ONLINE 0 0 0
  14. logs
  15. /zlog/zilcache ONLINE 0 0 0
  16. cache
  17. mpathk ONLINE 0 0 0
  18. mpathl ONLINE 0 0 0
  19.  
  20. errors: No known data errors

有什么方法可以配置ZFS来缓存对日志设备的写入以获得更快的确认?

谢谢

解决方法

我相信你误解了ZIL的目的.您将其描述为写缓存,而不是. ZIL上的任何活动都可能只是正常行为,具体取决于您的计算机上运行的内容.

从ZIL没有读取任何东西,这是一个只写设备.崩溃后池导入期间可能发生唯一的例外.

如果应用程序正在执行同步写入,则只会写入它.像移动文件这样的常规I / O不使用ZIL.

您可以在数据集上设置sync = always以强制所有写入的行为就像它们是同步的一样.

猜你在找的Linux相关文章