Date: Wed, 17 Jul 2013 11:21:51 -0700 From: =?ISO-8859-1?Q?Gezeala_M=2E_Bacu=F1o_II?= <gezeala@gmail.com> To: Warren Block <wblock@wonkity.com> Cc: FreeBSD Filesystems <freebsd-fs@freebsd.org> Subject: Re: Slow resilvering with mirrored ZIL Message-ID: <CAJKO3mWhbEFaNRrQgsUgGm%2B1sOvmA%2B2VMNVyBvqvs9F8P7xkLQ@mail.gmail.com> In-Reply-To: <alpine.BSF.2.00.1307171111460.91446@wonkity.com> References: <CABBFC07-68C2-4F43-9AFC-920D8C34282E@unixconn.com> <2EF46A8C-6908-4160-BF99-EC610B3EA771@alumni.chalmers.se> <51D437E2.4060101@digsys.bg> <E5CCC8F551CA4627A3C7376AD63A83CC@multiplay.co.uk> <CBCA1716-A3EC-4E3B-AE0A-3C8028F6AACF@alumni.chalmers.se> <20130704000405.GA75529@icarus.home.lan> <C8C696C0-2963-4868-8BB8-6987B47C3460@alumni.chalmers.se> <20130704171637.GA94539@icarus.home.lan> <2A261BEA-4452-4F6A-8EFB-90A54D79CBB9@alumni.chalmers.se> <20130704191203.GA95642@icarus.home.lan> <43015E9015084CA6BAC6978F39D22E8B@multiplay.co.uk> <CAOjFWZ4obK1cSmvTpW%2Bt4xKdMf%2BkJV5w-sujDT1AZoepj%2B5YrA@mail.gmail.com> <3CFB4564D8EB4A6A9BCE2AFCC5B6E400@multiplay.co.uk> <51D6A206.2020303@digsys.bg> <CAOjFWZ5CWV3UZRppM3nTehfTPaw1N%2Bw6LjsEZZGxE16DOkS%2BGA@mail.gmail.com> <CAJKO3mW=ahm7sBdjGc-b2tN3D7%2BQH7gR7UPt24RsqUdZf=%2BjvA@mail.gmail.com> <alpine.BSF.2.00.1307161935020.84500@wonkity.com> <CAJKO3mWqUTB22Hu=Ce%2By_0Om96Ai1ZgLL_3dEcC4p6DXoy3YLQ@mail.gmail.com> <alpine.BSF.2.00.1307171111460.91446@wonkity.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 17, 2013 at 10:35 AM, Warren Block <wblock@wonkity.com> wrote: > On Wed, 17 Jul 2013, Gezeala M. Bacu=F1o II wrote: > > If ZFS goes on a bare drive, it will be aligned by default. If ZFS is >> going in a partition, yes, align that partition to 4K boundaries or larg= er >> multiples of 4K, like 1M. >> >> Your statement is enlightening and concise, exactly what I need. Thanks. >> >> The gnop/ashift workaround is just to get ZFS to use the right >> block size. So if you don't take care to get partition alignment right, >> you might end up using the right >> block size but misaligned. >> >> And yes, it will be nice to be able to just explicitly tell ZFS th= e >> block size to use. >> >> >> We do add the entire drive (no partitions) to ZFS, perform gnop/ashift >> and other necessary steps and then verify ashift=3D12 through zdb. >> >> The gpart/gnop/ashift steps, if I understand correctly (do correct me if >> I'm stating this incorrectly), is needed for further SSD performance >> tuning. Taking into consideration leaving a >> certain chunk for wear leveling and also if the SSD has a size that may >> be too big for L2ARC. >> > > Well, there are several things going on. > > Partitions can be used for a couple of things. Limiting the size of spac= e > available to ZFS, leaving an unallocated part of the drive for wear > leveling. Note that ZFS on FreeBSD now has TRIM, which should make leavi= ng > unused space on SSDs unnecessary. > > Aligning partitions preserves performance. If a partition is misaligned, > writes can slow down to half speed. For example, a 4K filesystem block > written to an aligned partition writes a single block. If the partition i= s > misaligned, that 4K write is split over two disk blocks. Each block has = to > be read, partly modified, then written, taking roughly twice as long. > > Finally, ZFS's ashift controls the minimum size of block ZFS uses. > ashift=3D12 (12 bits) sets that to 4K blocks (2^12=3D4096). Again, a > performance thing, matching the filesystem block size to device block siz= e. > > It would be interesting to see a benchmark of ZFS on a 4K drive with > different ashift values. Right on again. I forgot to include on my reply, that it is for a specific use case similar to ours, wherein we dedicate the entire drive to the pool. I believe it is totally time to put all these howto/faq stuff on a central FreeBSD repository, I think there's another thread requesting for the same thing. Scenarios: a] maximizing pool and drive size, don't need to partition -- these are the steps. a.1] new drives a.2] used drives b] For those with limited drives, limited enclosures etc -- these are the steps you may want to check out c] zfs-on-root d] and so on.. This will help a lot on deciding which steps to follow and which are necessary or not, therefore, avoiding all these repeated questions (just like mine) on ZFS setup/performance/tuning. https://wiki.freebsd.org/ZFSTuningGuide (WIP) - outdated, and there's no section for initial zpool/drive(s) setup.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJKO3mWhbEFaNRrQgsUgGm%2B1sOvmA%2B2VMNVyBvqvs9F8P7xkLQ>