dm raid: document RAID 4/5/6 discard support
For RAID 4/5/6 data integrity reasons 'discard_zeroes_data' must work properly. Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
bd49784fd1
commit
f15f4d7200
|
@ -209,6 +209,37 @@ include:
|
||||||
"repair" - Initiate a repair of the array.
|
"repair" - Initiate a repair of the array.
|
||||||
"reshape"- Currently unsupported (-EINVAL).
|
"reshape"- Currently unsupported (-EINVAL).
|
||||||
|
|
||||||
|
|
||||||
|
Discard Support
|
||||||
|
---------------
|
||||||
|
The implementation of discard support among hardware vendors varies.
|
||||||
|
When a block is discarded, some storage devices will return zeroes when
|
||||||
|
the block is read. These devices set the 'discard_zeroes_data'
|
||||||
|
attribute. Other devices will return random data. Confusingly, some
|
||||||
|
devices that advertise 'discard_zeroes_data' will not reliably return
|
||||||
|
zeroes when discarded blocks are read! Since RAID 4/5/6 uses blocks
|
||||||
|
from a number of devices to calculate parity blocks and (for performance
|
||||||
|
reasons) relies on 'discard_zeroes_data' being reliable, it is important
|
||||||
|
that the devices be consistent. Blocks may be discarded in the middle
|
||||||
|
of a RAID 4/5/6 stripe and if subsequent read results are not
|
||||||
|
consistent, the parity blocks may be calculated differently at any time;
|
||||||
|
making the parity blocks useless for redundancy. It is important to
|
||||||
|
understand how your hardware behaves with discards if you are going to
|
||||||
|
enable discards with RAID 4/5/6.
|
||||||
|
|
||||||
|
Since the behavior of storage devices is unreliable in this respect,
|
||||||
|
even when reporting 'discard_zeroes_data', by default RAID 4/5/6
|
||||||
|
discard support is disabled -- this ensures data integrity at the
|
||||||
|
expense of losing some performance.
|
||||||
|
|
||||||
|
Storage devices that properly support 'discard_zeroes_data' are
|
||||||
|
increasingly whitelisted in the kernel and can thus be trusted.
|
||||||
|
|
||||||
|
For trusted devices, the following dm-raid module parameter can be set
|
||||||
|
to safely enable discard support for RAID 4/5/6:
|
||||||
|
'devices_handle_discards_safely'
|
||||||
|
|
||||||
|
|
||||||
Version History
|
Version History
|
||||||
---------------
|
---------------
|
||||||
1.0.0 Initial version. Support for RAID 4/5/6
|
1.0.0 Initial version. Support for RAID 4/5/6
|
||||||
|
|
Loading…
Reference in New Issue