Microsoft SQL Server 2005 – High Availability

sqlserver2005 Server Failover Clustering

– Microsoft Cluster Service (vyzaduje domenu)

– daji se udelat i ve 2 domenach (ale musi byt v jednom forestu, nebo musi mit obousmerny trust) – best practice je mit je v jedne domene (nejlepe aby je overoval jeden DC)

– je pouze na OS Enterprise a na SQL Standard a Enterprise (v 1 licenci 2 cluster nody)

– na W2K3 max. 8 cluster nods

– podminky: supported hw, identicke nody v clusteru (vse!!! ~ hw i sw), sdilene disky (se SCSI identifikaci, = fibre channel (limitovan delkou ~ max. 10/100km), = iSCSI (sitove SCSI))

– postup: nainstaluji cluster service na jeden nod, pote na druhy, pak vytvorim pouze 1 cluster resource grooup (s netbios name, IP adress, min. 1 shared HDD)

– pri presunu clusteru se presouvaji i sys db

– protoze ale startuji i sluzby SQL a dela se restore, tak presun cluster nodu trva dlouho (dle MS do 2 s, ve skutecnosti i 2-3min.)

nebo

Database Mirroring

– kazdy cluster nod ma svuj HDD

– pouze mezi 2 sql servery (principal – mirror)

– pri presunu clusteru se nepresouvaji sys db a userdb, ktere nemaji full recovery model

– presun clusteru je prakticky okamzity

– az od SQL SP1

– identicke verze SQL vyzaduje (pouze witness muze mit jinou)

– vznikla puvodne z log shippingu (backup-restore t-logu zpusob pomoci jobu)

– pouziva tzv. listener a pomoci neho si vymenuji db data (rozdil oproti replikaci je to, ze ten druhy server neni aktivni (=> neplatim dalsi licenci), neco jako active/passive)

– ten neaktivni sql server se nazyva "Hot Standby"

– 3rezimy:

– high availability (vyuziva 3. server, tzv. Witness (svedek), ktery kontroluje stav mirroringu a pripadne zbudi standby server)

=> automaticky failover

– high protection

– high performance

– nastavuji cele pres SSMS pres wizard (pres TSQL: CREATE ENDPOINT) – na kazdem serveru to musim udelat

– vyzadovan FQDN (name+suffix)

– pokud nemam witness server, tak mohu udelat presun manualne pomoci ALTER DATABASE (pokud nemam aktualni data, neprobehl presun dat posledni, tak se da spustit i FORCE)

– vyhodou je to, ze pokud aplikace pouziva SQLAgenta nebo .NET2.0 (a vyssi), tak se aplikace automaticky prepoji na funkcni SQL serverv mirroru

– pri nastavovani musim byt dbo a sysadmin

-1. udelam backup db z principal

-2. udelam restore db na mirroru s option NORECOVERY (non-operational)

-3. na principal dam Database – properties – mirroring – configure security – nakonci dat DO NOT START

-4. po dokonceni wizardu si dat pozor na to co se doplnilo do principal, mirror, witness – musi tam byt FQDN !!!

-5. Start mirroring

– behem mirroringu se tsql provadi i nad mirrorovanou db (ta se zmeni do stavu Synchronizing), v tuto chvili si neda do principal db zapisovat; to se da az mirror db nahlasi ze Synchronized (rezim Full Safety) – presne info na http://download.microsoft.com/download/4/7/a/47a548b9-249e-484c-abd7-29f31282b04d/DBM_Best_Pract.doc , ktere uvadi best practice

– tzn. zjistit jako mam sirku pasma, zajistit si ji pote pomoci QOS a pote zajistit nizkou latency

– po zruseni mirroringu se nesmazou endpointy (musi se odstranit rucne DROP ENDPOINT nebo pres SSMS delete endpoint)

</p>
Written on January 1, 2010