This is driving me mad, so bear with me. I'm not sure this is a Slackware issue, in fact I'm sure it's not, but you all have helped me in the past so it seems like a good place to start. Also, I don't really know exactly how much of this information will be completely relevant to my problem, but I really can't pin it down.
My server is running 64 bit Slackware 13. It was running fine, mainly just serving files on the LAN, with some occasional SSH activity. I was slowly moving hard drives to it from my desktop system (all 1 or 2 terabyte drives). They were previously formatted with NTFS and were filled with files, so it took me a while to move data around, format a drive, and copy the data back. I decided to use ext4, for no particular reason other than it was the newest, so if I end up having to reformat these again, I'm open to using another filesystem. Right now, I've got two 2TB drives and three 1TB drives, but one of those is still NTFS, so it is of no concern at the moment.
At this point, I had just added the two 2TB drives to the system. These happened to be the new WD Advanced Format drives with 4k sectors. I found a way to manipulate fdisk so it would start the partition on the correct cylinder or whatever to take advantage of the new format. I also ended up using GPT instead of MBR because it had more usable space. So I had the following setup:
two 2TB drives, GPT, ext4, 4k sectors
two 1TB drives, GPT, ext4
one 1TB drive, MBR, NTFS (not important)
This setup was working fine for a few days until I had to take the server down to move some wires around. When I booted the server back up, I discovered the two 2TB drives were missing. They showed up in /dev but wouldn't mount. The boot script reported this for both drives:
mount: special device LABEL=/Caviar2G.0 does not exist
mount: special device LABEL=/Caviar2G.1 does not exist
I was using the disk label identifier to mount at boot, so I tried manually mounting using the actual device name and even created new directories to mount them in, but nothing worked. I always get the follong error:
# mount /dev/sdb1 /media/tmp
mount: No such file or directory
I tried booting to the latest Ubuntu live CD (10.04) and found a different problem. In Ubuntu (and Fedora 12), both 2TB drives show up and mount, but the two ext4 1TB drives don't. What's weird is, in Slackware, I would get something like this:
# ls /dev/sd*
sda sda1 sdb sdb1 sdc sdc1 sdd sdd1 sde sde1
But in Ubuntu I would get:
# ls /dev/sd*
sda sdb sdc sdc1 sdd sdd1 sde sde1
In other words, it didn't even recognise a partition on the missing drives. But it did show up in hdparm and fdisk. I thought it might be an issue with the newest kernel, but I don't think that is the issue either. So far I've tried the following:
Slackware 13, 22.214.171.124, both 2TB drives are missing
Ubuntu 10.04, 2.6.32, both 1TB drives are missing
Fedora 12, 126.96.36.199 & 188.8.131.52, both 1TB drives are missing
Knoppix 6.2.1, 184.108.40.206, both 2TB drives are missing
One of my first thoughts after the initial reboot was that maybe the 500W power supply was not strong enough to spin up seven hard drives (5 storage + 2 OS drives) at the same time (I had added each of the storage drives while the system was up). But this wasn't supported by two things. First, the same two hard drives were missing on each OS every time. And second, every drive shows up during POST and in the BIOS. Just to be sure, I gutted the system, powering only one drive at a time and the same drives always failed to show up. I moved the SATA power connectors and data cables around as well. So I've pretty much ruled out hardware.
The thing is, I can access all my data from at least one OS, just not at the same time. So reformatting is not going to be a problem if it comes to that. I just don't understand what is going on. This was all working at one point, so expect there is a way to fix it, but I'm at a loss.
I think I included all the relevant information, but let me know if anything needs clarifying. Thanks for reading.