Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Podle čeho identifikuje Failover Cluster disky?
červenec 10
Podle čeho identifikuje Failover Cluster disky?

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!

 

Comments

FC Disk Identification


Ahoj .. Len pre doplnenie ..


"Disk identification is based on either the disk signature in the Master Boot Record or the SCSI inquiry page 0x83 data (VPD), which is an attribute of the LUN..."


Windows Server 2008 Failover Clustering Architecture Overview

http://download.microsoft.com/download/3/B/5/3B51A025-7522-4686-AA16-8AE2E536034D/Windows%20Server%202008%20Failover%20Clustering%20Architecture%20Overview.doc

(Strana 12, cast "Built-in self-healing logic").
Boris on 16.7.2012 8:45

Add Comment

Sorry comments are disable due to the constant load of spam *


Omlouvám se, ale příval spamu nelze kontrolovat, takže mi prosím pošlete email, pokud máte nějaký dotaz, nebo připomínku.

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments