Mailinglist Archive: opensuse-features (291 mails)

< Previous Next >
[openFATE 306443] Update yast partitioner to leverage latest upstream parted 2.1 to use hardware topology
  • From: fate_noreply@xxxxxxx
  • Date: Wed, 19 May 2010 00:18:00 +0200 (CEST)
  • Message-id: <feature-306443-27@xxxxxxxxxxxxxx>
Feature changed by: Greg Freemyer (gregfreemyer)
Feature #306443, revision 27
Title: Update yast partitioner to leverage latest upstream parted 2.1
to use hardware topology

openSUSE-11.2: Rejected by Andreas Jaeger (a_jaeger)
reject date: 2009-08-11 15:45:20
reject reason: Too late for openSUSE 11.2
Priority
Requester: Important

openSUSE-11.3: Evaluation
Priority
Requester: Important

Requested by: Dean Giles (dgiles)

Description:
parted creates partitions which are automatically assigned 63 sectors
per track. Hardware, such as HP raid devices, advertise that they want
32 sectors per track. It advertises that through ioctl HDIO_GETGEO.
fdisk can utilize the hardware reported sectors per track. parted needs
to be changed to do the same. See bug # 501152.
Dean
parted 2.1 supposidely now supports various topology calls via sysfs,
block device ioctls, libblkid, etc and attempts to align at least the
first partition per the hardware topology.
The yast partitioner now needs to be updated to leverage this new
functionality.  I suggest a UI change to allow the user to select how
the new --align parameter is set.
Greg

Discussion:
#1: Jan Engelhardt (jengelh) (2009-10-15 21:25:15)
SPT is meaningless with modern disks (especially metadevices such as
combined disks to a raid); furthermore modern operating systems only
use LBA; CHS is only for terribly old disks and for partitioning MSDOS
ptabs.

#3: Jan Engelhardt (jengelh) (2010-02-14 21:16:57) (reply to #1)
Especially since harddisks themselves usually lie about their geometry.
# hdparm -I /dev/sda
ATA device, with non-removable media
        Model Number:       WDC WD400EB-00CPF0
        Serial Number:      WD-WCAAT5461367
        Firmware Revision:  06.04G06
Standards:
        Supported: 5 4 3
        Likely used: 6
Configuration:
        Logical         max     current
        cylinders       16383   4047
        heads           16      16
        sectors/track   63      255
Let's dissect that. 16 Heads would indicate 8 platters (both sides are
written), which is not in line with reality (2-4 platters is more
common when you open a disk case). Furthermore, 63 or 255 SPT is pretty
inaccurate for at least one area of the disk, given that disks use
Zoned Recording these days.
And then come RAID devices. fdisk reports them as 2 heads, 4 SPT, 32720
cyls (for a 128 MB test vol). 4 spt... As if! Did I mention SSDs yet?

#2: Stephan Kulow (coolo) (2010-02-08 11:23:14)
I would think this should go to the upstream project. I don't see us
doing such things against parted project.

#4: Greg Freemyer (gregfreemyer) (2010-02-15 21:36:52)
I think this should be re-opened.
I agree that part of the work should come from the parted upstream, but
the issue applies to ALL partitions created/proposed via opensuse
during install time. I really doubt that parted is responsible for
creating the full opensuse partitioning proposal.
==> details
If anyone does decide to look into this they need to ignore the
HDIO_GETGEO ioctl.  It is no longer the official kernel source for this
information.
As documented in the kernel under Documentation/ABI/testing/sysfs-
block, the correct place to get partition alignment info is /sysfs.
Especially with the advent of 4K physical sector HDDs this past fall it
is critical that the partitions align with the physical sectors or else
you get the highly unoptimal situation that updating a single 4K kernel
page to disk causes two 4K sectors to be updated.
Thus in the optimumly aligned case it is one i/o to update a 4K kernel
page out to a 4K physical sector.  In the non-aligned case it is four
i/o's.  Most of the work is in the HDD controller, but it takes real
world milliseconds non-the-less:
HDD controller read physical sector 1,
HDD controller read physical sector 2,
HDD controller modify the sector 1 & 2 data, 
HDD controller write physical sector 1
HDD controller write physical secotr 2
Thus it is important that the opensuse proposed partition scheme for
these drives propose partitions that align with the physical sectors of
these drives.


#5: Greg Freemyer (gregfreemyer) (2010-02-17 19:23:10)
Per <
http://old.nabble.com/parted-2.1-released--stable--td26878024.html>
(http://old.nabble.com/parted-2.1-released--stable--td26878024.html%
3E) the upstream work is done as of parted 2.1 which is two months
old.  I don't know if that's in factory yet or not.
Now Opensuse needs to invoke it correctly.  I would like to see --
align=optimal used.
== specific new parted feature
** New features
  new --align=<align> commandline option which can have the following
values:
none:     Use the minimum alignment allowed by the disk type  
cylinder: Align partitions to cylinders (the default)  
minimal:  Use minimum alignment as given by the disk topology
information  
optimal:  Use optimum alignment as given by the disk topology
information  
The minimal and optimal  values will use layout information provided by
the   disk to align the logical partition table addresses to actual
physical   blocks on the disks. The mininal value uses the minimum
aligment needed to   align the partition properly to physical blocks,
which avoids performance   degradation. Where as the optimal value uses
a multiple of the physical   block size in a way that guarantees
optimal performance.   The min and opt values will only work when
compiled with   libblkid >= 2.17 and running on a kernel >= 2.6.31,
otherwise they will   behave as the none --align value.
===

#6: Petr Uzel (puzel) (2010-02-18 12:15:05) (reply to #5)
parted-2.1 should get to Factory in a one or two weeks (the package is
ready in my home project, but we have to wait until device-mapper gets
updated).

#8: Petr Uzel (puzel) (2010-03-02 12:05:38) (reply to #6)
Last week parted-2.2 was released, which changed the default alignment
option for newly created partitions to optimal (--align=optimal). I'm
still waiting for DM update (without it parted won't compile) - I'll
try push this forward. As soon as new DM gets to Factory, I'll push
parted-2.2.

#10: Arvin Schnell (aschnell) (2010-03-16 12:38:23) (reply to #8)
AFAIS parted needs libblkid with topology support for correct alignment
(so util-linux >= 2.17 is required).

#12: Greg Freemyer (gregfreemyer) (2010-04-01 23:35:04) (reply to #10)
Petr,    Can we get an update on this going into factory?  Milestone 5
is rapidly approaching and after that is feature freeze I believe.  Has
the DM update gone in?  I believe factory is already at util-linux
2.17

#13: Petr Uzel (puzel) (2010-04-02 14:52:50) (reply to #12)
Parted-2.2 just submitted to Factory.

#7: Richard Bos (rbos) (2010-02-25 11:31:50)
See http://bugzilla.novell.com/show_bug.cgi?id=582932 for a use case
( Make sure that 4k based block hard drives are supported correctly by
e.g. YaST2 partitioner)


#9: Steve Perkins (steve_perkins) (2010-03-15 18:27:10)
I have checked out FC11.3 M3 and I would not say that this is
"resolved". Installing on WD10-EARS drive defaulted to partitions all
misaligned to 4K boundaries: sda1        63     4209029  swap
sda2   4209030    46154744  / sda3  46154745  1953520064  /home The
installation completes but the misalignment will mean write performance
is not optimised. FC13 M3 has: util-linux-ng   2.17.1 - OK, includes
alignment aware fdisk parted           1.9.0 - not alignment aware,
suggest 2.2+ mke2fs          1.41.9 - no misalignment warning - suggest
1.41.10-5+ kernel has correct sysfs parameters. The use of 4K sectors
internally will become standard for all disk drives over the next few
years and it would be good to get FC11.3 set up for optimum
performance. As Richard notes, manual configuration of partitions will
work fine but a casual user won't do this. Can we get YaST2 to align
partitions to the optimum boundaries please? Regards
Steve

#11: Ralph Ulrich (ulenrich) (2010-03-17 23:06:04)
Since Vista there is no more a compatible way to partition your
harddisk. Win7 needs
1MB free space before first primary partition and 1MB free space before
every first logical disk.
And it needs endings of partitions at MB boundaries.
I did as usual:
1. Laptop recovery 12GB
2. Win7 starter 100 MB
3. Win7 ntfs 100GB
4. extended partition
/dev/sda5 swap 5GB
/dev/sda6 root 30GB
/dev/sda7 home 60GB
And a grub into MBR. After using Win7 to format an usb stick the grub
bootloader was not started any more...

+ #14: Greg Freemyer (gregfreemyer) (2010-05-18 00:54:00)
+ This supposidely went into milestone 5.  (ie. Yast2 partitioner should
+ now align to 4k sector drives as well as to mdraid arrays.)
+ Has anyone had a chance to test it? 
+  



--
openSUSE Feature:
https://features.opensuse.org/306443

< Previous Next >
This Thread
  • No further messages