Recently while working on a system that uses EMC PowerPath, I ran into a little issue after rebooting.
fsck.ext3: No such file or directory while trying to open /dev/emcpowera1 /dev/emcpowera1: The superblock could not be read or does not describe a correct ext2 filesystem.
The root cause of this issue is pretty simple when a Linux system boots it performs file system checks on file systems listed within the
/etc/fstab file. When my system reached the
/boot file system which has a device of
/dev/emcpowera1, it could not find that device. Therefore the system could not perform a check and went into maintenance mode.
/dev/emcpowera1 is not found is because PowerPath has not started yet. When a Red Hat based system is booting after the init process is spawned it will execute the
/etc/rc.sysinit script. Within that file are the commands to both start PowerPath and run a file system check on all of the file systems listed in
# grep Power rc.sysinit # Configure and initialize PowerPath. if [ -f /etc/init.d/PowerPath ]; then /etc/init.d/PowerPath start
Unfortunately the snippet that starts PowerPath is listed after the file system checks are initiated.
The resolution for this problem is simple; disable boot time file system checks on anything that references an EMC PowerPath device. To do this I will edit the
/etc/fstab and change the
passno field to 0
# vi /etc/fstab
#device mount_point fstype options dump_freq passno /dev/emcpowera1 /boot ext3 defaults 1 2
#device mount_point fstype options dump_freq passno /dev/emcpowera1 /boot ext3 defaults 0 0
Now the next time the system boots it will skip the
/boot file system check and boot without any errors.
As a note: I also changed the
dump_freq to 0 on my system not because I had to for file system checks but because in my environment I will not need any dump backups of the file system.