Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Sep 2010 10:09:58 -0700
From:      Freddie Cash <fjwcash@gmail.com>
To:        freebsd-fs@freebsd.org
Subject:   Re: what happens to pool if ZIL dies on ZFS v14
Message-ID:  <AANLkTikEx-ZALCSOb%2Bot1CrKrK-u7rd54pQN-GjDDFVO@mail.gmail.com>
In-Reply-To: <AANLkTimd6ZKENg3-W-1DxOoR5mRcTb0mfRikznKWuBTD@mail.gmail.com>
References:  <AANLkTi=vYVG300nhMjkcLju=kQhBdPJDqyaXR0mG84%2Bp@mail.gmail.com> <4C9385B0.2080909@shatow.net> <AANLkTin0LwQz%2BWi5cBOcHuVqyOz3%2BfFR7YC_=f2L5CyX@mail.gmail.com> <AANLkTinbPK1rNK5hg=t7N=sqFLuh8sNrZT9DFC_ppXWF@mail.gmail.com> <20100917161847.GA58503@icarus.home.lan> <AANLkTi=NX6koyj_xmadrTw8OvgCATPA=EQnTPmAxNGpo@mail.gmail.com> <AANLkTimd6ZKENg3-W-1DxOoR5mRcTb0mfRikznKWuBTD@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Sep 17, 2010 at 9:47 AM, Gil Vidals <gvidals@gmail.com> wrote:
> First, let me say that I'm receiving excellent input from the FreeBSD
> community. I'm new to FreeBSD and ZFS and this mailing list has been very
> helpful.
>
> I'm running ZFSv14 on FreeBSD 8.1 AMD64 with 8GB of DDR3 RAM with two SSD=
s -
> one for the ZIL and the other for the L2ARC cache.
>
> zambia# zpool iostat -v 1 1
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 cap=
acity =C2=A0 =C2=A0 operations =C2=A0 =C2=A0bandwidth
> pool =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 used =C2=A0avail =
=C2=A0 read =C2=A0write =C2=A0 read =C2=A0write
> ---------------- =C2=A0----- =C2=A0----- =C2=A0----- =C2=A0----- =C2=A0--=
--- =C2=A0-----
> tank =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A06.57G =C2=A0 921G =
=C2=A0 =C2=A0 =C2=A00 =C2=A0 =C2=A0 11 =C2=A0 116K =C2=A0 438K
> =C2=A0mirror =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A06.57G =C2=A0 921G =C2=A0 =
=C2=A0 =C2=A00 =C2=A0 =C2=A0 =C2=A05 =C2=A0 116K =C2=A0 229K
> =C2=A0 =C2=A0label/disk1 =C2=A0 =C2=A0 =C2=A0 - =C2=A0 =C2=A0 =C2=A0- =C2=
=A0 =C2=A0 =C2=A00 =C2=A0 =C2=A0 =C2=A03 =C2=A057.9K =C2=A0 229K
> =C2=A0 =C2=A0label/disk2 =C2=A0 =C2=A0 =C2=A0 - =C2=A0 =C2=A0 =C2=A0- =C2=
=A0 =C2=A0 =C2=A00 =C2=A0 =C2=A0 =C2=A03 =C2=A057.8K =C2=A0 229K
> =C2=A0label/zilcache =C2=A0 136K =C2=A059.5G =C2=A0 =C2=A0 =C2=A00 =C2=A0=
 =C2=A0 =C2=A06 =C2=A0 =C2=A0 17 =C2=A0 209K
> cache =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 - =C2=A0 =
=C2=A0 =C2=A0- =C2=A0 =C2=A0 =C2=A0- =C2=A0 =C2=A0 =C2=A0- =C2=A0 =C2=A0 =
=C2=A0- =C2=A0 =C2=A0 =C2=A0-
> =C2=A0label/l2cache =C2=A0 59.6G =C2=A08.50K =C2=A0 =C2=A0 =C2=A00 =C2=A0=
 =C2=A0 =C2=A00 =C2=A031.5K =C2=A048.9K
> ---------------- =C2=A0----- =C2=A0----- =C2=A0----- =C2=A0----- =C2=A0--=
--- =C2=A0-----
>
> Observing the ZIL Cache, I see it being used very sparingly. And now that=
 I
> know the SSD slog must be mirrored in ZFS < v19, I think the best course =
of
> action (assuming I'm not buying more equipment) is to mirror the ZIL SSD =
and
> abandon the L2ARC altogether. Won't RAM be used for L2ARC instead?

The ZIL is only used for synchronous writes, and does not need to be
very large.  I forget the formula for determining the exact size of a
ZIL (something along the lines of the max amount of data you can write
in 30 seconds), but it's rarely more than 4 GB and usually in the 1-2
GB range.

If possible, you'd be better off rebuilding your pool like so:
  mirror disk1 and disk2
  slice both SSDs into two:  4-8 GB for ZIL, rest for L2ARC
  mirror zilcache1 zilcache2
  add l2cache1 l2cache2 (don't mirror them)

That way, you have a mirrored ZIL, and double the L2ARC.  However,
since it takes around 270 bytes of RAM for every object in the L2ARC,
you'll want to make sure you have lots of RAM to manage it (or,
possibly, make 3 slices on the SSDs and use the third for swap?).

--=20
Freddie Cash
fjwcash@gmail.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikEx-ZALCSOb%2Bot1CrKrK-u7rd54pQN-GjDDFVO>