Date: Wed, 03 Jun 2009 15:23:09 -0500 From: Reid Linnemann <lreid@cs.okstate.edu> To: freebsd-questions <freebsd-questions@freebsd.org> Subject: An adage for gmirror users Message-ID: <4A26DBAD.6000005@cs.okstate.edu>
next in thread | raw e-mail | index | archive | help
I was recently updating my 7-STABLE system from a 7.1-PRERELEASE era tree, and after having quite an unexpected headache doing so I have a few words of wisdom. When updating FreeBSD, treat it like a car and ALWAYS CHECK YOUR MIRRORS! My mirror gm0 consists of two SATA disks, ad4 and ad6. Now, I have a finicky controller that sporadically spits out READ_DMA and READ_DMA48 timeouts inexplicably. So at some point in time immemorial after installing the last kernel, ad4 suffered a number of READ_DMA48 errors and dropped out without being removed from the mirror's provider list . So when I installed my new flashy kernel with all my filesystems mounted, it was put into /boot/kernel on the mirror, which at that point consisted of only ad6. On boot, the loader grabbed the kernel from ad4s1a by default, since that's the first probed disk, and that kernel is not the one I installed to the mirror! It took a little while for that to sink in as I built and rebuilt and re-re-built the kernel, perplexed that not only did my version in uname never changed from 7.1-PRERELEASE, but also that the build number in uname output never changed and I could see the recently written kernel in an ls of /boot/kernel (when all filesystems were mounted). I gmirror forget'ed gm0 and rebuilt ad4, and all was right in the world again. So there you have it, learn from my oblivious mistake and remember to check your mirrors!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A26DBAD.6000005>