Root partition on gmirror, provider not being created at boot time...
Modulok <modulok <at> gmail.com>
2007-09-05 02:12:25 GMT
A. BACKGROUND -- For the impatient, skip to the last paragraph in section B.
I'm experimenting with gmirror on the root partition on a test system
running FreeBSD 6.1-RELEASE. I have two physical disks on the same IDE
header (primary master and primary slave). The disks are jumpered
correctly, the cables are good, the headers are functioning - both
disks are accessible, operational and detected by FreeBSD.
A gmirror was setup using /dev/ad0 as the first consumer. (The debug
kernel state, kern.geom.debugflags=16 was set to permit using an
already mounted device as a consumer.) The mirror was successfully
created, I then inserted an additional consumer /dev/ad1. The array
auto-synchronized. I edited /etc/fstab and /boot/loader.conf to
automatically load the geom_mirror.ko modules and mount the file
systems from their respective geom providers. After rebooting the
system everything still works and root is mounted from its geom
provider, /dev/mirror/gm0s1a, correctly. Everything works. Now let's
try to break it....
I simulated a disk failure on the primary slave disk, by physically
disconnecting the power input and booting the system. This is where I
run into problems:
1. The BIOS complains of a disk error, but otherwise continues to boot.
2. The master boot record is found on the primary master and the the
boot manger is executed.
3. loader(8) is found and presents its menu, it starts the automatic
boot sequence with the GENERIC kernel.
5. After the kernel probes for various devices, "Trying to mount root
from ufs:/dev/mirror/gm0s1a", fails and I am prompted for the location