I did set up a new server (with mail, apache and lots of other stuff) and was not aware that the new harddisks of type WD10EARS-00Y5B1 were using 4KB sectors internally. The problem became visible after going live because of the lousy performance of the harddisk drives.
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000efdd0
Device Boot Start End Blocks Id System
/dev/sda1 * 1 262 2104483+ 83 Linux
/dev/sda2 263 52479 419433052+ 83 Linux
/dev/sda3 52480 53132 5245222+ 82 Linux swap / Solaris
/dev/sda4 53133 121601 549977242+ 83 Linux
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0001f15b
Device Boot Start End Blocks Id System
/dev/sdb1 1 256 2056288 83 Linux
/dev/sdb2 257 60000 479893680 83 Linux
/dev/sdb3 60001 60640 5140800 82 Linux swap / Solaris
/dev/sdb4 60641 121602 489671784 83 Linux
Everything is on /dev/sda while /dev/sdb was intended for backup and is available for any purpose right now.
I already did re-partition /dev/sdb with parted-2.2 (compiled from source) and set the alignment starting with sector 64 (instead of the default 63) making sure that the sector count of every partition divides by 8.
Now comes the tricky part: I must partition /dev/sda as well. I can backup everything to /dev/sdb. What is the recommended course of action here? Make sdb active and boot it? That would give me all the time I need to deal with sda. Then reverse again.
Problems lurking:
Any backup of /dev/sda will be outdated soon (running system)
For a rescue DVD, grab the src parted-2.2 rpm from factory Index of /repositories/Base:/System/openSUSE_Factory
Rebuild that locally and use Suse Studio to create a custom rescue
CD/DVD with the items you need?
It can be rebuilt on 11.2 with addition of a newer device-mapper-devel taken from factory but it can’t be installed, because this generates a couple of nasty conflicts with existing stuff (including yast).
Was kind of a deadlock for me. I compiled locally on HD and put parted-2.2 into a safe place under /usr/local. Then I formatted /dev/sdb, put everything from sda on sdb (found that rsync works best), fixed /boot/grub/device.map and menu.lst and /etc/fstab manually and booted server from sdb. Then I could partition sda on the live server, copy things back, fix config again and reboot a second time.
It is absolutely amazing what can de done with linux, including partitioning a live server with the interruption of just 2 reboots. However, I think this is not for the faint of heart.
It would be very good if someone with the required knowledge could package parted-2.2 for openSUSE-11.2. It can possibly be done with --enable-device-mapper=no. I am not going to do it on OBS, because this is a mission critical piece of software and I don’t want to publish stuff which can destroy the whole installation of other users.