SLES11 SP2: first hard disk shows up as /dev/sdb in installationsystem

Hardware: Dell PE R620 with PERC H710 RAID controller
System: SLES11 SP2 x86_64
Within the SUSE installation system the first hard disk (RAID1 on RAID
controller consisting of two SAS disks, no other disks are defined)
shows up as /dev/sdb. However, upon first booting the freshly installed
system the kernel finds the disk as /dev/sda. This messes up the
installation completely, of course, as only the root partition as
defined in grub is found.
Any ideas on how to deal with this other than manually repairing fstab,
grub etc after the initial install?

Günther

Hi Günther,

Within the SUSE installation system the first hard disk […] shows up as /dev/sdb. However, upon first booting the freshly installed
system the kernel finds the disk as /dev/sda.

this is working as expected - device names are not guaranteed in Linux, since… well… way back in time.

Use other persistent names to identify the partition, see the according options (“fstab options”) during file system creation. Typical candidates are UUID and volume label. The former is (probably) unique across all and any device, the latter more readable IMHO.

It then maps to /dev/disk/by-uuid/* (or /dev/disk/by-label/*), labled volumes can be mounted by label name directly, too:

somehost:~ # cat /etc/fstab LABEL=root / ext4 acl,user_xattr 1 1 LABEL=boot /boot ext4 acl,user_xattr 1 2 LABEL=home /home ext4 acl,user_xattr 1 2 LABEL=opt /opt ext4 acl,user_xattr 1 2 LABEL=swap0 swap swap defaults 0 0 LABEL=tmp /tmp ext4 acl,user_xattr 1 2 LABEL=usr /usr ext4 acl,user_xattr 1 2 LABEL=var /var ext4 acl,user_xattr 1 2 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0

Regards,
Jens

jmozdzen wrote:
[color=blue][color=green]

Within the SUSE installation system the first hard disk […] shows[/color]
up as /dev/sdb. However, upon first booting the freshly installed[color=green]
system the kernel finds the disk as /dev/sda.[/color]

this is working as expected - device names are not guaranteed in Linux,
since… well… way back in time.[/color]

Yes, of course it is the SUSE installer that fails here, not the kernel.
Still knowing that it is working as expected does not help me much with
my installation problem.
[color=blue]

Use other persistent names to identify the partition, see the according
options (“fstab options”) during file system creation. Typical
candidates are UUID and volume label. The former is (probably) unique
across all and any device, the latter more readable IMHO.[/color]

Using the UUID in my AUTOYaST files rather than sd* is probably the way
to go, and I will try this on my next test. Still a PITA as I do have
many systems waiting for installation. Sorting out the UUID of every one
of them before doing to installation is not something I’m looking
forward to do.
Any other ideas or suggestions?

Günther

Hi Günther,

[QUOTE=Günther Schwarz;14256]jmozdzen wrote:
[COLOR=blue][COLOR=green]

Within the SUSE installation system the first hard disk […] shows[/COLOR]
up as /dev/sdb. However, upon first booting the freshly installed[COLOR=green]
system the kernel finds the disk as /dev/sda.[/COLOR]

this is working as expected - device names are not guaranteed in Linux,
since… well… way back in time.[/COLOR]

Yes, of course it is the SUSE installer that fails here, not the kernel.[/QUOTE]

I disagree here. If you as the admin decide to use non-persistent device names, I wouldn’t call that any other one’s fault :wink:

[QUOTE=Günther Schwarz;14256]Still knowing that it is working as expected does not help me much with
my installation problem.[/QUOTE]

You didn’t tell you knew about the source of what you’re seeing, so I guessed it would be nice to point out that this behaviour isn’t considered a bug in the Linux community for ages. And there are ways to deal with it - I named two alternative options.

[QUOTE=Günther Schwarz;14256]Using the UUID in my AUTOYaST files rather than sd* is probably the way
to go, and I will try this on my next test. Still a PITA as I do have
many systems waiting for installation. Sorting out the UUID of every one
of them before doing to installation is not something I’m looking
forward to do.
Any other ideas or suggestions?[/QUOTE]

Have you had a look at the various docs floating around, i.e. https://www.suse.com/documentation/sles11/singlehtml/book_autoyast/book_autoyast.html#CreateProfile.Partitioning - it says there’s no need to specify the disk device.

Regards,
Jens

jmozdzen wrote:
[color=blue]

Günther Schwarz;14256 Wrote:[color=green]

jmozdzen wrote:[/color][/color]
[color=blue]
Günther Schwarz;14256 Wrote:[color=green]
Using the UUID in my AUTOYaST files rather than sd* is probably the way
to go, and I will try this on my next test. Still a PITA as I do have
many systems waiting for installation. Sorting out the UUID of every
one
of them before doing to installation is not something I’m looking
forward to do.
Any other ideas or suggestions?[/color]

Have you had a look at the various docs floating around, i.e.
https://www.suse.com/documentation/sles11/singlehtml/book_autoyast/book_autoyast.html#CreateProfile.Partitioning

  • it says there’s no need to specify the disk device.[/color]

Well, I throw in the towel here. Yet another case of RTFM. But anyway,
thank you for the link to the interesting document.
Omitting the entry completely and not wiping out the partition
table does do the trick indeed for my systems. The section has to
be tweaked similarly with the section and proper entries for the
hd(x,y) instructions.

Just for the records the sections for boot and partitioning that work
for me on an Dell PE R620 (PERC H710) which comes with a single
formatted VD with two FAT partitions used by Dell system tools:

hd0 true SUSE Linux Enterprise Server 11 SP2 - 3.0.13-0.27 true (hd0,2)/message 3 8 grub resume=/dev/vg1/swap splash=silent crashkernel=128M-:64M showopts (hd0,2)/vmlinuz-3.0.13-0.27-default 1 (hd0,2)/initrd-3.0.13-0.27-default 0 SUSE Linux Enterprise Server 11 SP2 - 3.0.13-0.27 linux /dev/vg1/root image 0x314 showopts ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe (hd0,2)/vmlinuz-3.0.13-0.27-default (hd0,2)/initrd-3.0.13-0.27-default 1 Failsafe -- SUSE Linux Enterprise Server 11 SP2 - 3.0.13-0.27 failsafe /dev/vg1/root image 0x314 false all false false false false 1 false false false false false 2 false true false ext2 true acl,user_xattr false /boot uuid 131 3 false 192m true false ext3 false false vg1 uuid 142 4 false max CT_DISK all /dev/vg1 true true false xfs true defaults false root / device 131 false 20g 4M CT_LVM all

Günther

Hi Günther,

thank you for reporting back and sharing your config - I’m sure this will help others, not only in case of similar errors, but as a starting point for a first own configuration, too!

Regards,
Jens

jmozdzen wrote:
[color=blue]

thank you for reporting back and sharing your config - I’m sure this
will help others, not only in case of similar errors, but as a starting
point for a first own configuration, too![/color]

That was my intention. There is not that much information until now for
AUTOYaST in this section. So my laziness with respect to reading manuals
might result in something useful. Thank for very much again for pointing
me in the right direction.

Günther