Should I set my zvol dataset (iSCSI) to sync=always?

Status
Not open for further replies.

SwisherSweet

Contributor
Joined
May 13, 2017
Messages
139
I'm connecting to my server via Windows iSCSI. I have NTFS formatted zvols. Each server is connected to it's own zvol.

The datasets are currently set to sync=standard. Is there any harm leaving this setting as is? It's my understanding that standard may use sync and async writes. Will async writes cause problems with NTFS?

I'm not using a SLOG so my zil is in persistent pool storage.

I am writing a bunch (about 1gb worth) of small files every hour on one zvol. The other is writing about 8gb of small files per day.

I'm not having any issue with performance. However, I'm concerned the async writes might cause corruption of the stored data.

I read in the forum that sync writes is the only way to guarantee data safety. So do I need to set sync=always?
 

rs225

Guru
Joined
Jun 28, 2014
Messages
878
If you set sync=always, you need a SSD or flash SLOG.

There are only two problems to consider with sync <> always :

1. If you can't afford to lose a couple seconds of transactions. (i.e. a bank or stock exchange)
2. Your systems don't crash simultaneously. (i.e., if ESXi + VMs stays up but the FreeNAS goes down) This can produce corruption because one system goes back in time, and the others don't.

Other scenarios won't have corruption, they just will be back in time a few seconds before the crash happened.
 
Status
Not open for further replies.
Top