Je zajímavá otázka, podle čeho Failover Cluster identifikuje disky, připojené k jednotlivým uzlům (node). Tahle otázka je podstatnější v případě, že chcete nasadit multi-site cluster s nějakou hardware replikací disků mezi dvěma nezávislými poli. Ale k tomu později.
Nevěděl jsem to a nepodařilo se mi to nikde přesně najít, tak jsem si to zjistil pokusem.
Identifikace jednoho disku na společné sběrnici
Nejprve základní úvahy. Představte si dvouuzlový (two node) cluster. Ten má například dva disky (budu to nazývat LUNy) připojené ze stejného diskového pole.
Na obou nodách máte oba dva LUNy připojeny, jenom jsou nejspíš Offline. Abychom si nezpůsobili nějaký problém se souborovým systémem. Vzhledem k tomu, že každý tento LUN je na stejné sběrnici, bude mít každý stejnou identifikaci na obou nodách - tedy něco jako Bus 0, Target 0, LUN1 a Bus 0, Target 0, LUN2 například.
Stejně tak na tom každém LUNu jsou už nějaká data. Disky musí být inicializovány - to znamená, že mají MBR (Master Boot Record), nebo GPT (GUID Partition Table) tabulku. Tyto dva systémové záznamy mají v sektoru 0 uloženou osmibajtovou signaturu (disk signature) - prostě náhodné číslo, které by mělo unikátně identifikovat disky. GPT má ještě také svůj diskový GUID, takže 128 bajtové číslo sloužící k tomu stejnému.

Takže vzniká otázka - jak Failover Cluster pozná, z pohledu každé nody, který disk má připojit a odpojit při failover. Aby se nestalo to, že když z jedné nody přechází dva disky, že by se na druhé straně připojily "do kříže".
Tak logicky si na sdílené sběrnici může vybrat buď signaturu, nebo sběrnicové ID, nebo oboje. Je mi to asi jedno. Ale to se mi nehodí u multi-site clusteru. Tam bych to rád věděl přesně.
Multisite Cluster
Windows Server 2008 Failover Clustering jako první podporuje multi-site cluster. Prostě máte na dvou místech v různých sítích nějaké nody clusteru. Řekněme, že storage sběrnice není společná. Něco jako na obrázku:

Máte tedy něco takového, že dvě samostatná pole obsahují každé jen jeden LUN. Každé to pole je připojeno přes samostnou storage sběrnici k jedné z nod. Obsahy těch LUNů se replikují nějakou jinou metodou, nemusí jít přímo o samostatnou replikační sběrnici - mohli bychom to brát tak, že prostě ty disky replikujete ručně.
V tomhle případě (a v obrázku je to také tak), může mít každý LUN jiné číslo (teď se to dá ještě nastavit ručně). Ale disková signatura bude na obou stranách stejná.
Jiná situace by mohla být, pokud se ta dvě pole replikují přes společnou sběrnici. To způsobí, že LUNy budou muset mít jinou sběrnicovou adresu velmi pravděpodobně (ne tak u iSCSI za všech okolností):

Pojede to tedy s tím druhým řešením? To znamená - NodeA má připojen disk LUN1, SignatureA a NodeB má připojen disk LUN2, SignatureA (stejné signatury, ale jiné LUN IDčka).
Vyzkoušeno a potvrzeno
Pojede. Failover Cluster identifikuje disky pomocí jejich diskových signatur. Pouze signatury. ID zařízení na sběrnici ho nezajímá. Stačí tedy, aby ty dva LUNy obsahovaly stejnou signaturu a fičíme!