Allowing arbitrary MBR slice alignment
Marcel Moolenaar
marcel at xcllnt.net
Sat Feb 15 17:53:01 UTC 2014
On Feb 14, 2014, at 8:24 AM, Warren Block <wblock at wonkity.com> wrote:
> The Problem
>
> More and more disk devices have native 4K blocks. The ability to align MBR slices to arbitrary values is consequently becoming more important. Misaligned filesystems might read or write at less than half the speed of aligned filesystems on the same disk.
>
> Microsoft recognized this problem, and at least since the release of Vista in 2007, MBR-formatted disks created by Microsoft operating systems have started the first or main filesystem slice at block 2048 (1M). Despite the official standard for MBR alignment to CHS values, this second non-CHS but 4K-aligned de facto standard has become extremely common.
Aligning to 4K *and* CHS is possible. If there are 63 sectors
per track, then a 4K aligned partition that starts at a track
boundary starts in track 8 (LBA 504).
Are you absolutely sure that 4K alignment resulted in non-CHS
alignment?
> When MBR slices are created with gpart(8) on FreeBSD, their starting block and size are silently rounded to multiples of CHS values. This happens even when specific values for -a (alignment) or -b (starting block) are given. This silent rounding violates POLA.
That's argumentative.
> At present, the only way to create an MBR with 4K-aligned slices on FreeBSD is with fdisk(8), a legacy tool.
False. With some math, you can do the same thing with gpart.
What is missing is good behaviour when -a 4K is specified.
> Suggested Solution
>
> gpart(8) should be allowed to override the CHS rounding with -a and -b values when creating MBR slices. If CHS rounding occurs when the options are not given, gpart(8) should give a warning that default values were used to avoid surprising the user.
>
> The warning is really secondary. Primarily and pragmatically, gpart(8) needs the ability to create MBR slices with arbitrary alignment so FreeBSD can deal gracefully with modern storage hardware.
>
There are alternatives to consider:
1. Don't change anything
2. Align to both CHS and the specified alignment (-a).
3. Add an option to allow precise control over the behaviour
and thus avoid causing POLA violations when the MBR scheme
suddenly behaves differently and creates incompatible
slices.
--
Marcel Moolenaar
marcel at xcllnt.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-geom/attachments/20140215/5121f604/attachment.sig>
More information about the freebsd-geom
mailing list