[OpenIndiana-discuss] What happens when a ZIL drive dies?
Dan Swartzendruber
dswartz at druber.com
Mon Jun 4 17:47:17 UTC 2012
On 6/4/2012 1:15 PM, Richard Elling wrote:
> On Jun 4, 2012, at 10:06 AM, Dan Swartzendruber wrote:
>
>> On 6/4/2012 11:56 AM, Richard Elling wrote:
>>> On Jun 4, 2012, at 8:24 AM, Nick Hall wrote:
>>> For NFS workloads, the ZIL implements the synchronous semantics between
>>> the NFS server and client. The best way to get better performance is
>>> to have the
>>> client run in async mode when possible (Solaris clients do this
>>> automatically, and
>>> have for a very long time, Linux... not so much).
>>>
>>> The risk is that the server unexpectedly reboots and the synchronous
>>> writes from
>>> the client are lost. In that case, the client thinks data is
>>> written, but it is not. The
>>> server is happy either way... it is the client that is sad.
>>>
>> The most annoying client in this respect is ESXi, which insists on
>> doing sync operations. I understand the logic there - unlike, say,
>> an application which can decide to do async operations, ESXi is using
>> NFS as the backing store for virtual disks, so when a client
>> (windows, linux, whatever) does disk writes to virtualized SCSI
>> controller (frex), the guest may be doing writes on behalf of a
>> journalized filesystem which is doing writes in a specific order,
>> possibly even with write barriers. In that case, cheating and
>> forcing the writes to be asynchronous (say by 'sync=disabled') can in
>> fact cause guest filesystem corruption.
>
> AIUI, ESXi has its own, native NFS implementation and I've never seen
> it do async writes.
> -- richard
Right, for the reasons just explained.
More information about the OpenIndiana-discuss
mailing list