Search Postgresql Archives

Linux hard drive/device nodes for a Postgres RAID array

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all, I apologize for asking a Linux question here in the postgres list, but I figure somebody here must know the answer, or a better place to ask it.

I am building an x86_64 postgres server (see, it isn't JUST about Linux :-) with SATA drives and I want to use software RAID for my postgres storage.

When Linux boots, it finds all the drives in the system and assigns device numbers to them, apparently in the order found. So, the first drive (on SATA port 0 for example) become SDA, the second becomes SDB, and so on. If you have say, four drives, on ports 0,1,2,3, everything works fine and you get SDA,SDB,SDC,SDD.

But now, pull the drive from port 2 and boot the system. You will now have SDA,SDB,SDC. The kernel will now fail BOTH of the last two drives from the RAID array. The one that was SDC is gone, and obviously fails. The one that was SDD is now SDC, so its ID doesn't match what the kernel thought it should be, so it fails it too. If you kill the FIRST drive in the array, I believe the entire array becomes inoperable because of the resulting shift and ID mismatch.

So the question is, is there some way to "pin" a drive to a device mapping? In other words, is there a way to force the drive on port 0 to always be SDA, and the drive on port 2 to always be SDC, even if the drive on port 1 fails or is pulled?

-Glen


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux