Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jul 2009 10:19:00 +0200
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        cooper <bo.coopci@gmail.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: About RAIDZ geometry
Message-ID:  <20090729081900.GC1586@garage.freebsd.pl>
In-Reply-To: <4A6E970A.1060503@gmail.com>
References:  <4A6E970A.1060503@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--nFreZHaLTZJo0R7j
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jul 28, 2009 at 02:13:30PM +0800, cooper wrote:
> Hi folks,
>=20
> Now that ZFS has been ported to FreeBSD, I think it's proper to ask
> these questions in this mailing list.
>=20
> Is there any detailed documentation about RAIDZ geometry? I has been
> wandering how zfs remembers which disk sectors are for data and which
> ones are for parity.
>=20
> They claimed "Every block is its own RAID-Z stripe" does that mean zfs
> writes exactly one block in every vdev_raidz_io_start if the io type of
> the zio is write?
>=20
> And also claimed "You have to traverse the filesystem metadata to
> determine the RAID-Z geometry" where is this metadata stored?

If you have file system separated from volume manager doing RAID, the
volume manager has no knowledge where the live data is, etc.

Imagine a ZFS 5-disks RAIDZ1 configuration:

	disk0	disk1	disk2	disk3	disk4

ZFS' file system level wants to store two sectors of data so it sends
1kB of data to lower ZFS layers. You then get something like this:

	disk0	disk1	disk2	disk3	disk4

	data0	data1	parity01

Now ZFS wants to store one sector and you get this:

	disk0	disk1	disk2	disk3	disk4

	data0	data1	parity01 data2	parity2

ZFS can do that, because he knows where and how to read the data back
(its a file system and volume manager). ZFS will never try to read three
sectors as one block of data.

This is impossible to do when file system is separated from volume
manager.

--=20
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd@FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

--nFreZHaLTZJo0R7j
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFKcAX0ForvXbEpPzQRAoRMAJ0arT2tov9eIAdAXWCsAkmCvEAn8ACZAfEQ
s3m4ujNZFoXS9vTiJ8ylK08=
=VROf
-----END PGP SIGNATURE-----

--nFreZHaLTZJo0R7j--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090729081900.GC1586>