Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RAIDZ space efficiency #475

Closed
wants to merge 5 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions docs/Basic Concepts/RAIDZ.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,20 +51,23 @@ we will allocate on disk:

- one 4K block of data

- one 4K padding block
- one 4K parity block

and usable space ratio will be 50%, same as with double mirror.


Another example for ``ashift=12`` and ``recordsize=128K`` for raidz1 of 3 disks:
Another example for ``ashift=12`` and ``recordsize=128K`` for RAIDZ1 of 3 disks:

- total stripe width is 3

- one stripe can have up to 2 data parts of 4K size because of 1 parity blocks
- one stripe can have up to 2 data parts and 1 parity block, each 4k in size

- we will have 128K/2 = 64 stripes with 8K of data and 4K of parity each
- we have 128k (recordsize) diveded by 8k (two 4k data parts) = 16 stripes

so usable space ratio in this case will be 66%.
- Each of these 16 stripes, has 8k of data and 4k of parity

16 stripes * 12k (data + parity) = 192k.
We write 192k to store 128k, so usable space ratio in this case will be 66%.


The more disks RAIDZ has, the wider the stripe, the greater the space
Expand Down
Loading