Date: Fri, 28 Mar 2014 14:01:28 -0700 From: Freddie Cash <fjwcash@gmail.com> To: Dmitry Morozovsky <marck@rinet.ru> Cc: "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org> Subject: Re: zfs l2arc warmup Message-ID: <CAOjFWZ6-YpZsaX18bbutgepd_j7Pwv=E-cKMjK11UQ0_xe8KCw@mail.gmail.com> In-Reply-To: <CAOjFWZ7h5080%2BzEvSfzxgENwP%2BPXEXKPXdEDHAtbx5RAxxWT0g@mail.gmail.com> References: <CAFfb-hpi20062%2BHCrSVhey1hVk9TAcOZAWgHSAP93RSov3sx4A@mail.gmail.com> <CALfReydi_29L5tVe1P-aiFnm_0T4JJt72Z1zKouuj8cjHLKhnw@mail.gmail.com> <CAFfb-hpZos5-d3xo8snU1aVER5u=dSFRx-B-oqjFRTkT83w0Kg@mail.gmail.com> <20140328005911.GA30665@neutralgood.org> <CAFfb-hr=wR6nxqL%2B4tn-y2eQEw4n_g7rZoK9rRLnm_Ldcm1TZQ@mail.gmail.com> <alpine.BSF.2.00.1403290032070.60856@woozle.rinet.ru> <CAOjFWZ7h5080%2BzEvSfzxgENwP%2BPXEXKPXdEDHAtbx5RAxxWT0g@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 28, 2014 at 2:00 PM, Freddie Cash <fjwcash@gmail.com> wrote: > On Fri, Mar 28, 2014 at 1:40 PM, Dmitry Morozovsky <marck@rinet.ru> wrote= : > >> On Fri, 28 Mar 2014, Joar Jegleim wrote: >> >> [snip most of] >> >> > > Have you measured to see if, or do you otherwise know for sure, that >> you >> > > really do need a ZIL? I suggest not adding a ZIL unless you are >> certain >> > > you need it. >> > Yes, I only recently realized that too, and I'm really not sure if a >> > zil is required. >> > Some small portion of files (som hundre MB's) are served over nfs from >> > the same server, if I understand it right a zil will help for nfs >> > stuff (?) , but I'm not sure if it's any gain of having a zil today. >> > On the other hand, a zil doesn't have to be big, I can simply buy a >> > 128GB ssd which are cheap today . >> >> Please don't forget that, unlike L2ARC, if you lost ZIL during sync writ= e, >> you're effectively lost the pool. >> > > =E2=80=8BNope. Not even close. > > The ZIL is only ever read at boot time. If you lose the ZIL between the > time the data is written to the ZIL and the time the async write of the > data is actually done to the pool ... and the server is rebooted at that > time, then you get an error message at pool import. > > You can then force the import of the pool, losing any *data* in the ZIL, > but nothing else. > > It used to be (back in the pre-ZFSv=E2=80=8B13-ish days) that if you lost= the ZIL > while there was data in it that wasn't yet written to the pool, the pool > would fault and be gone. Hence the rule-of-thumb to always mirror the ZI= L. > > Around ZFSv14-ish, the ability to import a pool with a missing ZIL was > added. > > Remember the flow of data in ZFS: > async write request --> TXG --> disk > sync write request --> ZIL > \--> TXG --> disk > > All sync writes are written to the pool as part of a normal async TXG > after its written sync to the ZIL. And the ZIL is only ever read during > pool import. > > =E2=80=8B[Note, I'm not a ZFS developer so some of the above may not be 1= 00% > accurate, but the gist of it is.]=E2=80=8B > > =E2=80=8BOh, and if you lose the separate log vdev during normal operation,= then the pool reverts to using the ZIL inside of the pool. IOW, there's always a ZIL in a pool, whether that be internal to the pool or as part of a separate log vdev. --=20 Freddie Cash fjwcash@gmail.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOjFWZ6-YpZsaX18bbutgepd_j7Pwv=E-cKMjK11UQ0_xe8KCw>