mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-25 23:52:17 +00:00
btrfs-progs: docs: update mkfs blockgroup description
- add raid1c34 - add utilization to the overview table - wording updates Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
95117cbd4a
commit
899977cd18
@ -29,7 +29,7 @@ mkfs.btrfs uses the entire device space for the filesystem.
|
|||||||
*--checksum <type>*::
|
*--checksum <type>*::
|
||||||
Specify the checksum algorithm. Default is 'crc32c'. Valid values are 'crc32c',
|
Specify the checksum algorithm. Default is 'crc32c'. Valid values are 'crc32c',
|
||||||
'xxhash', 'sha256' or 'blake2'. To mount such filesystem kernel must support the
|
'xxhash', 'sha256' or 'blake2'. To mount such filesystem kernel must support the
|
||||||
checksums as well.
|
checksums as well. See 'CHECKSUM ALGORITHMS' in `btrfs`(5).
|
||||||
|
|
||||||
*-d|--data <profile>*::
|
*-d|--data <profile>*::
|
||||||
Specify the profile for the data block groups. Valid values are 'raid0',
|
Specify the profile for the data block groups. Valid values are 'raid0',
|
||||||
@ -266,26 +266,28 @@ PROFILES
|
|||||||
|
|
||||||
There are the following block group types available:
|
There are the following block group types available:
|
||||||
|
|
||||||
[ cols="^,^,^,^,^",width="60%" ]
|
[ cols="<,^,^,^,>,^",width="60%" ]
|
||||||
|=============================================================
|
|=============================================================
|
||||||
.2+^.<h| Profile 3+^.^h| Redundancy .2+^.<h| Min/max devices
|
.2+^.<h| Profile 3+^.^h| Redundancy .2+^.<h| Space utilization .2+^.<h| Min/max devices
|
||||||
^.^h| Copies ^.^h| Parity ^.<h| Striping
|
^.^h| Copies ^.^h| Parity ^.<h| Striping
|
||||||
| single | 1 | | | 1/any
|
| single | 1 | | | 100% | 1/any
|
||||||
| DUP | 2 / 1 device | | | 1/any ^(see note 1)^
|
| DUP | 2 / 1 device | | | 50% | 1/any ^(see note 1)^
|
||||||
| RAID0 | | | 1 to N | 2/any
|
| RAID0 | | | 1 to N | 100% | 2/any
|
||||||
| RAID1 | 2 | | | 2/any
|
| RAID1 | 2 | | | 50% | 2/any
|
||||||
| RAID10 | 2 | | 1 to N | 4/any
|
| RAID1C3 | 3 | | | 33% | 3/any
|
||||||
| RAID5 | 1 | 1 | 2 to N - 1 | 2/any ^(see note 2)^
|
| RAID1C4 | 4 | | | 25% | 4/any
|
||||||
| RAID6 | 1 | 2 | 3 to N - 2 | 3/any ^(see note 3)^
|
| RAID10 | 2 | | 1 to N | 50% | 4/any
|
||||||
|
| RAID5 | 1 | 1 | 2 to N-1 | (N-1)/N | 2/any ^(see note 2)^
|
||||||
|
| RAID6 | 1 | 2 | 3 to N-2 | (N-2)/N | 3/any ^(see note 3)^
|
||||||
|=============================================================
|
|=============================================================
|
||||||
|
|
||||||
WARNING: It's not recommended to build btrfs with RAID0/1/10/5/6 profiles on
|
WARNING: It's not recommended to create filesystems with RAID0/1/10/5/6
|
||||||
partitions from the same device. Neither redundancy nor performance will be
|
profiles on partitions from the same device. Neither redundancy nor
|
||||||
improved.
|
performance will be improved.
|
||||||
|
|
||||||
'Note 1:' DUP may exist on more than 1 device if it starts on a single device and
|
'Note 1:' DUP may exist on more than 1 device if it starts on a single device and
|
||||||
another one is added. Since version 4.5.1, *mkfs.btrfs* will let you create DUP
|
another one is added. Since version 4.5.1, *mkfs.btrfs* will let you create DUP
|
||||||
on multiple devices.
|
on multiple devices without restrictions.
|
||||||
|
|
||||||
'Note 2:' It's not recommended to use 2 devices with RAID5. In that case,
|
'Note 2:' It's not recommended to use 2 devices with RAID5. In that case,
|
||||||
parity stripe will contain the same data as the data stripe, making RAID5
|
parity stripe will contain the same data as the data stripe, making RAID5
|
||||||
@ -293,7 +295,75 @@ degraded to RAID1 with more overhead.
|
|||||||
|
|
||||||
'Note 3:' It's also not recommended to use 3 devices with RAID6, unless you
|
'Note 3:' It's also not recommended to use 3 devices with RAID6, unless you
|
||||||
want to get effectively 3 copies in a RAID1-like manner (but not exactly that).
|
want to get effectively 3 copies in a RAID1-like manner (but not exactly that).
|
||||||
N-copies RAID1 is not implemented.
|
|
||||||
|
'Note 4:' Since kernel 5.5 it's possible to use RAID1C3 as replacement for
|
||||||
|
RAID6, higher space cost but reliable.
|
||||||
|
|
||||||
|
PROFILE LAYOUT
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
For the following examples, assume devices numbered by 1, 2, 3 and 4, data or
|
||||||
|
metadata blocks A, B, C, D, with possible stripes eg. A1, A2 that would be
|
||||||
|
logically A, etc. For parity profiles PA and QA are parity and syndrom,
|
||||||
|
associated with the given stripe. The simple layouts single or DUP are left
|
||||||
|
out. Actual physical block placement on devices depends on current state of
|
||||||
|
the free/allocated space and may appear random. All devices are assumed to be
|
||||||
|
present at the time of the blocks would have been written.
|
||||||
|
|
||||||
|
RAID1
|
||||||
|
|
||||||
|
[ cols="^,^,^,^",width="50%", options="header" ]
|
||||||
|
|===
|
||||||
|
| device 1 | device 2 | device 3 | device 4
|
||||||
|
| A | D | |
|
||||||
|
| B | | | C
|
||||||
|
| C | | |
|
||||||
|
| D | A | B |
|
||||||
|
|===
|
||||||
|
|
||||||
|
RAID1C3
|
||||||
|
|
||||||
|
[ cols="^,^,^,^",width="50%", options="header" ]
|
||||||
|
|===
|
||||||
|
| device 1 | device 2 | device 3 | device 4
|
||||||
|
| A | A | D |
|
||||||
|
| B | | B |
|
||||||
|
| C | | A | C
|
||||||
|
| D | D | C | B
|
||||||
|
|===
|
||||||
|
|
||||||
|
RAID0
|
||||||
|
|
||||||
|
[ cols="^,^,^,^",width="50%", options="header" ]
|
||||||
|
|===
|
||||||
|
| device 1 | device 2 | device 3 | device 4
|
||||||
|
| A2 | C3 | A3 | C2
|
||||||
|
| B1 | A1 | D2 | B3
|
||||||
|
| C1 | D3 | B4 | D1
|
||||||
|
| D4 | B2 | C4 | A4
|
||||||
|
|===
|
||||||
|
|
||||||
|
RAID5
|
||||||
|
|
||||||
|
[ cols="^,^,^,^",width="50%", options="header" ]
|
||||||
|
|===
|
||||||
|
| device 1 | device 2 | device 3 | device 4
|
||||||
|
| A2 | C3 | A3 | C2
|
||||||
|
| B1 | A1 | D2 | B3
|
||||||
|
| C1 | D3 | PB | D1
|
||||||
|
| PD | B2 | PC | PA
|
||||||
|
|===
|
||||||
|
|
||||||
|
RAID6
|
||||||
|
|
||||||
|
[ cols="^,^,^,^",width="50%", options="header" ]
|
||||||
|
|===
|
||||||
|
| device 1 | device 2 | device 3 | device 4
|
||||||
|
| A2 | QC | QA | C2
|
||||||
|
| B1 | A1 | D2 | QB
|
||||||
|
| C1 | QD | PB | D1
|
||||||
|
| PD | B2 | PC | PA
|
||||||
|
|===
|
||||||
|
|
||||||
DUP PROFILES ON A SINGLE DEVICE
|
DUP PROFILES ON A SINGLE DEVICE
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user