<br><br><div class="gmail_quote">On Thu, May 19, 2011 at 8:22 AM, George N. White III <span dir="ltr"><<a href="mailto:gnwiii@gmail.com">gnwiii@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, May 18, 2011 at 11:35 PM, D G Teed <<a href="mailto:donald.teed@gmail.com">donald.teed@gmail.com</a>> wrote:<br>
<br>
> [...]<br>
<div class="im">> Partitioning has come up as an issue I was not aware of before.  They<br>
> require<br>
> partitions to be on certain boundaries with the Western Digital "Advanced<br>
> Format"<br>
> and the move to 4KB blocksize.  Western Digital's info on it for Linux is<br>
> rather lean.<br>
> I found a nice page telling us how to do the math in fdisk and illustrating<br>
> the performance difference in having the partitions sitting at the right<br>
> boundaries.<br>
><br>
> <a href="http://linuxconfig.org/linux-wd-ears-advanced-format" target="_blank">http://linuxconfig.org/linux-wd-ears-advanced-format</a><br>
><br>
> Note how when using multiple partitions, the next start block must be 8<br>
> greater<br>
> than the previous end block.  This becomes a gap of 64 with logical<br>
> partitions,<br>
> including a gap of 64 prior to the first partition in the extended<br>
> partition.<br>
><br>
> Is there something like this happening with Seagate or others?<br>
<br>
</div>Yes -- "Advance Format" is an industry-wide initiative.<br>
<br>
<<a href="http://ubuntuforums.org/showthread.php?t=1619186" target="_blank">http://ubuntuforums.org/showthread.php?t=1619186</a>> indicates that<br>
Ubuntu 10.04 and<br>
later should handle Advance Format disks, and has a link to a nice<br>
DeveloperWorks article:<br>
<<a href="http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/" target="_blank">http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/</a>><br>
<br>
See <<a href="http://en.wikipedia.org/wiki/Advanced_Format" target="_blank">http://en.wikipedia.org/wiki/Advanced_Format</a>>, which says:<br>
<br>
"When using Advanced Format drives with legacy operating systems, it<br>
is important to realign the disk drive using software provided by the<br>
hard disk manufacturer. Disk realignment is necessary to avoid a<br>
performance degrading condition known as cluster straddling where a<br>
shifted partition causes filesystem clusters to span multiple physical<br>
disk sectors. Since cluster to sector alignment is determined when<br>
creating hard drive partitions, the realignment software is used<br>
"after" partitioning the disk. This can help reduce the number of<br>
unaligned writes generated by the computing ecosystem. "<br>
<br>
In particular: <<a href="http://lwn.net/Articles/377897/" target="_blank">http://lwn.net/Articles/377897/</a>> discusses the<br>
implications for linux.  Most of the problems appear to come when<br>
Windows XP partitions are needed on a disk shared with linux.<br></blockquote></div><br>Linux has problems all on its own.  fdisk found in Debian squeeze<br>defaults to creating the first partition at sector 63, violating<br>
the divisible by 8 rule.  I don't know what the installers from<br>various distros do.  <br><br>Western Digital's site makes it sound like things are<br>well under control in any modern Linux distro, but<br>my experience with the defaults of gparted or fdisk<br>
shows this isn't  what you get.  You need to manually<br>control and not accept defaults.  <br><br>The IBM article states gparted must be used with <br>"Round to cylinders" option unchecked (not intuitive at all),<br>
and if using fdisk, the flags -H 224 -S 56 are required if you<br>are not going to verify all the numbers manually in fdisk<br>run without these options.<br><br>I just tried fdisk with these funky options, creating<br>an 8GB partition for sdb1 and got this result (fdisk -lu ):<br>
   Device Boot      Start         End      Blocks   Id  System<br>/dev/sdb1              56    16783871     8391908   83  Linux<br><br>The start sector defaulted to less than 64.  I thought perhaps it<br>would also choose an end sector divisible by 8.<br>
<br>gparted no longer has "Round to Cylinders", but now shows<br>"Align to:" with options MiB, Cylinder and None.  I selected MiB,<br>provided the first partition with 2 MiB gap before it starts, and added<br>
a second partition of swap without telling gparted to leave a gap<br>( to see if it adds the 8 sectors as advised in the <a href="http://linuxconfig.org">linuxconfig.org</a><br>article).  The results were not the best:<br>
<br>fdisk -lu /dev/sdb<br><br>Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes<br>255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors<br>Units = sectors of 1 * 512 = 512 bytes<br>Sector size (logical/physical): 512 bytes / 512 bytes<br>
I/O size (minimum/optimal): 512 bytes / 512 bytes<br>Disk identifier: 0x0001dd4d<br><br>   Device Boot      Start         End      Blocks   Id  System<br>/dev/sdb1            4096    16388095     8192000   83  Linux<br>Partition 1 does not end on cylinder boundary.<br>
/dev/sdb2        16388096    22532095     3072000   82  Linux swap / Solaris<br><br>Looks like I will be doing this manually as per the <a href="http://linuxconfig.org">linuxconfig.org</a> article,<br>or something.<br><br>
fdisk has a -b option for blocksize.  If I set that to 4096 and include<br>the -H 224 -S 56 options, I get "Floating point exception" when<br>making a new primary partition (after the first prompt for partition number).<br>
<br>I don't see any articles suggesting the larger blocksize be set up<br>within fdisk with -b.  Would have thought this would match.<br><br>There are a lot of articles out there saying different things. Some people believe<br>
-c on fdisk is all you need.<br><br>Thankfully when we chuck a bunch of these into hardware RAID<br>and use them they are using the whole disk and we don't have<br>this step.<br><br><br>