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>