Date: Mon, 27 Jan 2014 09:59:27 +0000 From: Kaya Saman <kayasaman@gmail.com> To: =?ISO-8859-1?Q?Trond_Endrest=F8l?= <Trond.Endrestol@fagskolen.gjovik.no> Cc: freebsd-questions <freebsd-questions@freebsd.org> Subject: Re: ZFS confusion Message-ID: <52E62DFF.3010600@gmail.com> In-Reply-To: <alpine.BSF.2.00.1401270944100.4811@mail.fig.ol.no> References: <52E40C82.7050302@gmail.com> <alpine.BSF.2.00.1401270944100.4811@mail.fig.ol.no>
next in thread | previous in thread | raw e-mail | index | archive | help
Many thanks Trond for the response.... I was getting worried for a sec there :-) On 01/27/2014 09:08 AM, Trond Endrestøl wrote: > On Sat, 25 Jan 2014 19:12-0000, Kaya Saman wrote: > > [...] > No one's answered this, so I'll just give you my 2 cents. > > Triple parity means you're using storage capacity equivalent of three > drives for parity alone. If you use five drives in total, this gives > you 2 drives worth of real data and 3 drives worth of parity. In other > words, you should really consider using a lot more drives when using > triple parity, say nine drives. So, basically if I have (just as silly example); 5x drives of 100MB capacity, this would equal 500MB in total. Meaning that only 200MB would be usable..... Having just done a quick experiment: zpool create test_pool raidz3 /tmp/disk1 /tmp/disk2 /tmp/disk3 /tmp/disk4 /tmp/disk5 I get: test_pool 476M 304K 476M 0% 1.00x ONLINE - then writing a 300M file to pool: dd if=/dev/zero of=/test_pool/file bs=300M count=1 dd: /test_pool/file: No space left on device test_pool 476M 396M 79.8M 83% 1.00x ONLINE - du -sch /test_pool/file 157M /test_pool/file 157M total > > So I guess, now I have to ask; when building a disk pool, what's the best option to go for between capacity and redundancy? In my case I gradually want to expand my storage when I need it, so to maximize capacity RAID0 would be the easiest. This doesn't give me any redundancy however, unless I use RAID1+0 but then I loose physical capacity due to the mirrors. Would it be better to create a raidz1 pool then just add raidz1 pools to the master as time goes by? As in: zpool create test_pool raidz1 /tmp/disk1 /tmp/disk2 /tmp/disk3 /tmp/disk4 /tmp/disk5 zpool add test_pool raidz1 /tmp/disk6 /tmp/disk7 /tmp/disk8 /tmp/disk9 /tmp/disk10 dd if=/dev/zero of=/test_pool/file bs=600M count=1 1+0 records in 1+0 records out 629145600 bytes transferred in 190.069986 secs (3310073 bytes/sec) Then running a 'zpool list' gets: test_pool 952M 751M 201M 78% 1.00x ONLINE - So virtually out of: NAME STATE READ WRITE CKSUM test_pool ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 /tmp/disk1 ONLINE 0 0 0 /tmp/disk2 ONLINE 0 0 0 /tmp/disk3 ONLINE 0 0 0 /tmp/disk4 ONLINE 0 0 0 /tmp/disk5 ONLINE 0 0 0 raidz1-1 ONLINE 0 0 0 /tmp/disk6 ONLINE 0 0 0 /tmp/disk7 ONLINE 0 0 0 /tmp/disk8 ONLINE 0 0 0 /tmp/disk9 ONLINE 0 0 0 /tmp/disk10 ONLINE 0 0 0 errors: No known data errors I have 8 disks usable with 2x disks for parity.... if my understanding is correct. Regards, Kaya
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52E62DFF.3010600>