From: Rui DeSousa <rui@crazybean.net>
To: Scott Ribe <scott_ribe@elevated-dev.com>
Cc: pgsql-admin <pgsql-admin@lists.postgresql.org>
Subject: Re: WAL & ZFS
Date: Fri, 1 Apr 2022 16:23:29 -0400
Message-ID: <E43F5F43-456E-459D-B0D5-680F599097F9@crazybean.net> (raw)
In-Reply-To: <698D568E-058B-430D-8339-ABDA350FA742@elevated-dev.com>
References: <FC215502-166A-49DB-B3DA-D08727A34C0B@elevated-dev.com>
<4fe1d719-4f08-7b10-90c3-43514453757d@gmail.com>
<41B83C10-CE63-467C-A613-FD457237A31B@crazybean.net>
<698D568E-058B-430D-8339-ABDA350FA742@elevated-dev.com>
> On Apr 1, 2022, at 1:56 PM, Scott Ribe <scott_ribe@elevated-dev.com> wrote:
>
>> On Apr 1, 2022, at 11:49 AM, Rui DeSousa <rui@crazybean.net> wrote:
>>
>> If you’re using RAIDZ# then performance is going to be heavily impacted and I would highly recommend NOT using RAIDZ# for a database server.
>
> Actually, I found even the performance of RAIDZ1 to be acceptable after appropriate configuration--current versions, lz4, etc.
>
It might be for a low iops system; however, I would still recommend against it. I haven’t used RAIDZ in years; it might be good for an archive system but I don’t see the value of it in a production database server. You also have to account for drive failures and replacement time. A replacement in a RAIDZ configuration is much more expense than replacing a disk in a mirrored set. Disks today are larger as well and the risk of another failure during a rebuild is exponential increased thus the need for RAIDZ2 and RAIDZ3.
Personally and for logical reasons I would build a RAIDZ in powers of 2; i.e. 2, 4, 8 drives plus parity and then have a stripe set of RAIDZ2. So the first option would require 4 drives (2D + 2P) and would have same storage as a RAID10 configuration; however, the RAID10 would perform better under load. The 4+p option seems to be the sweet spot as the rebuild times on larger sets are not worth it nor is it worth spreading out 128k over 8 drives - of course one could use a larger record size, but would you want to? For me 128k/16k is only 8 database blocks; reminds me of using Oracle’s readahead=8 option :).
Note: raidz does not alway stripe across all drives in the set like in a traditional raid set. i.e. It might only use 2+p instead of 8+p as configured — it depends on the size of the current ZFS record size being written out and free space.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: rui@crazybean.net, scott_ribe@elevated-dev.com, pgsql-admin@lists.postgresql.org
Subject: Re: WAL & ZFS
In-Reply-To: <E43F5F43-456E-459D-B0D5-680F599097F9@crazybean.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox