A little background... I work on a system that uses PXE booting for the majority of the nodes. Several of these nodes have local hard drives that are used for persistent storage of data needed for archival purposes. There are specific circumstances under which these nodes need to rebuild the hard disk array and reformat the partitions in order to clear out data that is no longer necessary / applicable (I don't write the software, I just have to make it work).
The problem I'm running into is that when the node needs to rebuild the drives, it stops the normally running application and starts a special "build" application which handles the drive rebuild and reformat. At some point in there, the drives become no longer visible to the OS (running fdisk -l
shows no drives) and when the "build" application tries to run, it fails. The only solution is to reboot the box, at which time the drives are again recognized and the build application can do its job.
What I'm wondering is if there is a way to force the OS to re-inspect the system for drives after they go missing.
We're using Redhat 5.2 with the stock 2.6.18-92 kernel (with many unnecessary kernel modules pared out to keep the diskless image's size manageable). The hard drives are two 300GB SAS drives and the software uses mdadm to create a few RAID0 arrays and formats them as ext3.