Главная > Без рубрики > FreeNAS тюнинг под nfs

FreeNAS тюнинг под nfs

6 ноября 2018

Включить в /boot/loader.conf

vfs.zfs.cache_flush_disable="1"

sync=disabled will cause all writes to be handled as if they are async — just stored in memory and flushed to disk with the next transaction. I would expect ESX (sync) writes to perform very similar to having the NFS server modified to make all writes async.

Obviously ESX uses sync writes because it wants to know the data if on disk before telling the client OS the data was written. With either setting above you run the risk of a VM thinking data is written and it being lost by a power failure before the current ZFS transaction is committed. ZFS will be fine, it doesn’t guarantee async writes, the client should use sync for that which is why ESX uses it, but you may find the client has corruption or lost data. With the test in the post above (resetting the ZFS server during bonnie) I would expect ZFS to be fine, but the bonnie test data may have been corrupted.

sync=standard is neither considered as sync or async — it’s both.
It the client application asks for sync it will go to ZIL, if async it won’t.
In this setting you would expect a standard NFS server to perform badly and a modified one to perform as if you have sync=disabled

sync=always treats every write as sync, so everything goes through ZIL. This is great in some ways — ZFS should never lose any data on power loss, even async writes, but ESX will perform badly regardless of whether you modify the NFS server or not. (You’ll have modified NFS to make all sync writes async, then configured ZFS to make all async writes sync.)

The cache_flush_disable is an interesting setting (I’ve not known about this until now).
Unfortunately I can’t find much out about it. The page above suggests it forces a flush of the transaction/ZIL but I can’t see why ZFS would let client apps force a flush of the entire transaction. The best I can find is this —

Узнать тип sync пула

zfs get sync dataset

для nfs отключить atime и sync

zfs set atime=off raid10

zfs set sync=off raid10

 

Categories: Без рубрики Tags: , ,
Комментирование отключено.