[Nottingham] Large disks and storage (md raid)
martin at ml1.co.uk
Thu Sep 10 21:08:36 UTC 2009
>> ... md raid1/raid10f2/raid5 :)
> Which comes to another question... :-)
> From "man 8 mdadm":
> "Use the new version-1 format superblock. This has few restrictions. The
> different subversion store the superblock at different locations on the
> device, either at the end (for 1.0), at the start (for 1.1) or 4K from
> the start (for 1.2)."
> Why would you want the raid superblock to be 4k from the start?
> And for the sake of ssd/stripe alignment, how big is the superblock?
> Why not simply have the superblock at the end (v1.0)?
> Are the later versions actually later versions or just variations for
> the sake of moving the superblock around?
The "what" is nicely explained in "man 4 md" (appended below). That
suggests that for a 1.1 md array, you'll always have a misalignment!
That still leaves all the whys... And why not just set to always use a
1.0 superblock? Why the later versions?
From "man 4 md":
... version 0.90 - has a superblock that is 4K long and is written into
a 64K aligned block that starts at least 64K and less than 128K from the
end of the device (i.e. to get the address of the superblock round the
size of the device down to a multiple of 64K and then subtract 64K). The
available size of each device is the amount of space before the super
block, so between 64K and 128K is lost when a device in incorporated
into an MD array. This superblock stores multi-byte fields in a
processor-dependant manner, so arrays cannot easily be moved between
computers with different processors.
The new format - known as version 1 - has a superblock that is normally
1K long, but can be longer. It is normally stored between 8K and 12K
from the end of the device, on a 4K boundary, though variations can be
stored at the start of the device (version 1.1) or 4K from the start of
the device (version 1.2). This superblock format stores multibyte data
in a processor-independent format and has supports up to hundreds of
component devices (version 0.90 only supports 28).
The superblock contains, among other things:
The manner in which the devices are arranged into the array (linear,
raid0, raid1, raid4, raid5, raid10, multipath).
a 128 bit Universally Unique Identifier that identifies the array that
this device is part of.
martin at ml1.co.uk
More information about the Nottingham