Operating System - Linux
1829921 Members
2417 Online
109993 Solutions
New Discussion

Re: Disk not mounting at boot

 
SOLVED
Go to solution
fawrell
Advisor

Disk not mounting at boot

Hello.

We have recently added new HP P600 raid controller into our server and configured 2 logical drives on it. First is for Oracle database, second has 1 partition with ext3 filesystem on it. We added an entry into /etc/fstab, so the second LD with the ext3 partition can be mounted on boot time. But the boot process crashes on mounting this filesystem with error message:

Mount failed
Device /dev/cciss/c0d1p1 does not exist.

and we are asked to log into rescue console. But when we log in and run mount –a command, the filesystem gets mounted, so it looks like fstab entry is correct, but the device does not exist. How is this possible?

Our root filesystem is on Adaptec 2200S raid controllers logical drive. The LD has 2 other partitions, that are mounted on boot time. Mounting these partitions on boot time works without trouble. Adaptec controller nor the HP aren‘t reporting any errors. (Checked trough arcconf and HP ADU)

How it is possible that on mount time the /dev entries for logical drives on HP raid controller do not exist, but for Adaptec raid controller they do exist? And how to repair this problem?

We are running on RHEL 4 x64, kernel 2.6.9-34.ELsmp x64

Thank you for your time.
6 REPLIES 6
Stephen P. Schaefer
Frequent Advisor

Re: Disk not mounting at boot

Hypothesis: the cciss driver is not installed into the kernel at the point where /etc/fstab gets processed, but does come in later. In my system I have no adaptec controller, but I do have a variant of the P600, and my /etc/modprobe.conf reads, in part

alias scsi_hostadapter cciss
alias scsi_hostadapter1 ata_piix

Check your /etc/modprobe.conf to see what's listed there. Good luck.
fawrell
Advisor

Re: Disk not mounting at boot

Ty for your answer.

I checked my modprobe.conf and there is this:

alias scsi_hostadapter aacraid
alias scsi_hostadapter1 cciss

So when we think the way that the controller discovery comes after the mounting, if I change the modprobe.conf and move the P600 controller to first line and Adaptec to second like this:

alias scsi_hostadapter1 cciss
alias scsi_hostadapter aacraid

will this have some inpact on time when the controller is discovered, or the modules are loaded paralell so there will be no difference?
Matti_Kurkela
Honored Contributor
Solution

Re: Disk not mounting at boot

The boot scripts will load the modules aliased to scsi_hostadapter* names in specific order: first "scsi_hostadapter", then "scsi_hostadapter1", then "scsi_hostadapter2" if it exists, etc. Changing only the order of the lines in the modprobe.conf file is not going to make a difference: you must change the number suffixes of the alias names.

My guess is, if you have a large RAID set on the P600 controller, the cciss module might take more time to start up than the scripts expect. In this case, changing the load order of the scsi_hostadapter modules *might* help. Because the cciss module will present disks as /dev/cciss/* devices and the aacraid modules as /dev/sd* (if I recall correctly), the change should not cause your devices to be re-ordered either.

To make the cciss driver load first, change the scsi_hostadapter aliases in /etc/modprobe.conf to:

alias scsi_hostadapter cciss
alias scsi_hostadapter1 aacraid

Remember that you will have to re-create your initrd for the changes to take effect: the scsi_hostadapter modules are included in the initrd and loaded before the root filesystem is mounted, so the early startup script cannot simply read /etc/modprobe.conf directly. The mkinitrd script will extract the boot-essential modules and their options from /etc/modprobe.conf and include them to initrd.

Example:
mv /boot/initrd-2.6.9-34.ELsmp.img /boot/initrd-2.6.9-34.ELsmp.img.old
mkinitrd -v /boot/initrd-2.6.9-34.ELsmp.img 2.6.9-34.ELsmp

If my guess about the nature of your problem is correct, it could also be fixed by introducing a suitable delay to the boot sequence after the modules are loaded, but before the filesystems are mounted. As the problematic filesystem is a non-root filesystem, initrd modifications might not be necessary: you might be able to solve this by adding a suitable "sleep " command to the appropriate location in script /etc/rc.d/rc.sysinit.

I don't have access to a RHEL 4 system at the moment, so unfortunately I cannot find the right spot for you. But it should be fairly obvious as you read the rc.sysinit script.

MK
MK
fawrell
Advisor

Re: Disk not mounting at boot

Hey.
Sorry for a bit late reply.

So we tried to add "sleep 10" command before the mounting in rc.sysinit and it worked well. No more trouble with the mounting.

I was thinking about the inird thing and checked, if the cciss driver is in the initrd. But it is not. Well the P600 controller was added later and there is no root disk on it so no need to have it there. But adding it into initrd might be pretty big time boost for it right?

So for adding the cciss driver I need to just run the mkinirtd command you wrote and it will go trough the modprobe.conf and add the driver and loading of it there?

Thank you.
Matti_Kurkela
Honored Contributor

Re: Disk not mounting at boot

[cciss driver not in initrd]

> But adding it into initrd might be pretty big time boost for it right?

Yes. All the scsi_hostadapter drivers are loaded before the root filesystem check starts, so that should give cciss plenty of time to start up.

> So for adding the cciss driver I need to just run the mkinirtd command you wrote and it will go trough the modprobe.conf and add the driver and loading of it there?

Yes. The mkinitrd command (actually it is a script) will read modprobe.conf looking for modules that might be required for booting the system.

It will pick up all modules aliased to names like "scsi_hostadapter*", the module for the root filesystem type, and device-mapper modules (for disk encryption, LVM, multipathing or software RAID). It will also detect quite a few other conditions (root filesystem on NFS/USB/Firewire/iSCSI etc.) and add the appropriate modules. It will also build up the initrd boot script as appropriate.

MK
MK
fawrell
Advisor

Re: Disk not mounting at boot

Ok I will play around the ininrd.

Thanks for your help!