Fixing server for 4KB sectors

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.

Present situation: openSUSE 11.2 i586, 4 GB RAM, 2x 1TB HDD

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.

/dev/sda1 = /boot
/dev/sda2 = /
/dev/sda3 = swap
/dev/sda4 = /home

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)

Rescue DVD only offers parted-1.9.0

Many more …

How would you do it?

Hi
For a rescue DVD, grab the src parted-2.2 rpm from factory
http://download.opensuse.org/repositories/Base:/System/openSUSE_Factory
Rebuild that locally and use Suse Studio to create a custom rescue
CD/DVD with the items you need?


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.45-0.1-default
up 2 days 8:29, 3 users, load average: 0.92, 1.04, 0.61
GPU GeForce 8600 GTS Silent - CUDA Driver Version: 195.36.15

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.