Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jun 2010 06:59:03 +1000
From:      Antony Mawer <lists@mawer.org>
To:        Scott Long <scottl@samsco.org>
Cc:        oizs <oizs@freemail.hu>, Steven Hartland <killing@multiplay.co.uk>, freebsd-current@freebsd.org
Subject:   Re: Dell Perc 5/i Performance issues
Message-ID:  <AANLkTikT2O_9k5nsUbqpIOWXZqyMY-VZwmwL-u-H4XDL@mail.gmail.com>
In-Reply-To: <A799F335-8EA0-4A3D-9A96-A8BE4F1C9D5B@samsco.org>
References:  <4C1AB4C0.4020604@freemail.hu> <A594C946-32C0-4C4A-AA37-0E81D270162A@mac.com> <4C1B3792.9000007@freemail.hu> <AANLkTimsHZLREByndqXEjt2yjdvOYVV7Rnw8AMjqxYIl@mail.gmail.com> <4C1C0ED9.8090103@freemail.hu> <2F904ED8-BC95-459F-8536-A889ADDA8D31@samsco.org> <0B4F09B43AE84F24954E3B940FA0ECBB@multiplay.co.uk> <A799F335-8EA0-4A3D-9A96-A8BE4F1C9D5B@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 21, 2010 at 4:50 AM, Scott Long <scottl@samsco.org> wrote:
> I just set up a machine with the following GPT scheme:
>
> =3D> =A0 =A0 =A0 =A034 =A05853511613 =A0mfid0 =A0GPT =A0(2.7T)
> =A0 =A0 =A0 =A0 =A034 =A0 =A0 =A0 =A0 128 =A0 =A0 =A01 =A0freebsd-boot =
=A0(64K)
> =A0 =A0 =A0 =A0 162 =A0 =A0 =A0 =A0 862 =A0 =A0 =A0 =A0 - free - =A0(431K=
)
> =A0 =A0 =A0 =A01024 =A0 =A0 2097152 =A0 =A0 =A02 =A0freebsd-ufs =A0(1.0G)
> =A0 =A0 2098176 =A0 =A0 4194304 =A0 =A0 =A03 =A0freebsd-swap =A0(2.0G)
> =A0 =A0 6292480 =A0 =A0 2097152 =A0 =A0 =A04 =A0freebsd-ufs =A0(1.0G)
> =A0 =A0 8389632 =A0 104857600 =A0 =A0 =A05 =A0freebsd-ufs =A0(50G)
> =A0 113247232 =A05740264414 =A0 =A0 =A06 =A0freebsd-ufs =A0(2.7T)
> =A05853511646 =A0 =A0 =A0 =A0 =A0 1 =A0 =A0 =A0 =A0 - free - =A0(512B)
>
> After the first partition, I created a deliberate gap for alignment, refl=
ected in the second line. =A0The third line shows a starting offset of sect=
or 1024, which is 512KB. =A0This should be a good generic start point for m=
ost RAID geometries with a stripe size <=3D 512KB. =A0The rest are normal /=
, swap, /var, /usr and /opt partitions. =A0The single free sector on the fi=
nal line is probably a calculation error on my part, there's no particular =
reason for it.
>
> The gpart man page has good descriptions on how to create partitions and =
make the GPT scheme bootable. =A0It's not very automated, you'll need to ha=
ve a calculator handy, but it works.

I scripted this as part of our custom installer - it uses the  same
1MB offset that Vista/Win7 do which should align for anything with a
<=3D 1MB stripe size:


    # Device to partition
    diskdev=3D"/dev/da0"

    # First partition offset in 512-byte sectors. This should be aligned wi=
th
    # any RAID stripe size for maximum performance. 2048 aligns the partiti=
on
    # start boundary at the 1MiB, consistent with Vista/Windows 7. This sho=
uld
    # match all common stripe sizes such as 64kb, 128kb and 256kb.
    root_offset=3D"2048"

    # Boot partition offset. This sits just before our first root partition=
 and
    # stores the boot loader which is used to load the OS.
    boot_offset=3D"2032"

    # Initialise the disk with a GPT partition table
    gpart create -s gpt $diskdev

    #
    # System disk partitioning layout
    #
    gpart add -l boot -t freebsd-boot -s 16 -b $boot_offset $diskdev   # bo=
ot p1
    gpart add -l root -t freebsd-ufs  -s 2G -b $root_offset $diskdev   # / =
   p2
    gpart add -l swap -t freebsd-swap -s 4G                 $diskdev   # sw=
ap p3
    gpart add -l var  -t freebsd-ufs  -s 4G                 $diskdev   # /v=
ar p4
    gpart add -l usr  -t freebsd-ufs                        $diskdev   # /u=
sr p5

    # Install the gpt boot code (pmbr into the PMBR, gptboot into our
boot partition p1)
    gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 $diskdev

    # Make the first partition active
    # (required for older BIOSes to boot from the GPT PMBR)
    echo 'a 1' | fdisk -f - $diskdev

gpart is smart enough to figure out most of the math for you these days...

-- Antony



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTikT2O_9k5nsUbqpIOWXZqyMY-VZwmwL-u-H4XDL>