Vous êtes sur la page 1sur 12

Database

Mirroring
Prof. dr Borivoje Miloevi

to je to i kako radi?

Koristi dva ili tri servera


Principal server

Primarni server na koga se inicijalno spaja aplikacija


Obrada podataka se vri na ovom serveru

Mirror server

Baza na mirror serveru je nedostupna


Sve promene baze na mirror serveru se vre preko
komunikacije sa principalom odnosno primenom
transaction loga principala
Ukoliko dodje do pada principala, mirror preuzima ulogu
principala

Witness Server

Prati dostupnost (stanje) principala i mirror-a


Kod pada principala, inicira failover

Osnovne karakteristike

Failover moe biti automatski


Failover unutar nekoliko sekundi <3 sec.
Zasniva se na prenosu transakcija
Radi na nivou baze
U mirroru mogu uestvovati samo user
baze
1 na 1 komunikacija (uestvuju dve baze u
mirroringu)
U raunarstvu, failover predstavlja automatsko sviovanje na
redundantni ili standby computer server sistem.

Proces prenosa
Witness
Principal

Mirror

Aplikacija

4
SQL Server

SQL Server

Sigurnost podataka

FULL

Commit transakcije se vri na Principal-u tek


kada stigne potvrda primljene transakcije sa
Mirror servera

OFF

Bez gubitka podataka


Baze su konstantno sinhronizirane (konstantan REDO
na mirror serveru)

Odmah se commit-a transakcija

Ne eka se potvrda prijema transakcije sa Mirror-a


Baze ne moraju biti sinhronizovane
Mogunost gubitka podataka ukoliko Mirror nije
primio sve transakcije u trenutku failover-a

Naini rada

Sinhrono sa automatskim failover-om (high availability)


Najbolja dostupnost
Sigurnost prenosa transakcija Full, garantuje se primena
transakcija sa principala na mirror
Potreban Witness server
Ukoliko su bar dva servera dostupna, baza je na raspolaganju
Sinhrono bez witness-a (high protection)
Sigurnost prenosa transakcija Full
Nema Witness servera
Ukoliko dodje do pada bilo kojeg servera baza nije dostupna
Asinhrono (High Performance)
Nema garancije za sigurnost transakcija (mogu gubitak podataka)
Nema Witness servera
Runi failover (recovery mirror baze)
Alter database AdventureWorks SET PARTNER
FORCE_SERVICE_ALLOW_DATA_LOSS
Koristi se ukoliko sinhroni naini rada dovode do prevelikog pada
performansi

Statusi servera
Principal
Sigur
nost

Stanje pre

Dogaaj Stanje
posle

Kvorum

Prenos
aktivan

Online

Full

Synchronizing

Prenos

Synchronized

Da

Da

Da

Full

Synchronized

Paused

Suspended

Da

Ne

Da

Full

Synchronized

Error on
mirror

Suspended

Da, sa W
Ne

Ne
-

Da
Ne

OFF

Synchronizing

Paused

Suspended

Ne

Da

OFF

Synchronizing

Error on
mirror

Suspended

Ne

Da

OFF

Synchronizing

Mirror
offline

Disconnected

Ne

Da

Mirror
Sigurnost Stanje pre

Dogaaj

Stanje posle

Full

Synchronizing

Prenos

Synchronized

Full

Synchronized

Paused

Suspended

Full

Synchronized

Error on mirror

Suspended

Full

Synchronizing

Principal offline

Disconnected

Off

Synchronizing

Paused

Suspended

Off

Synchronizing

Error on mirror

Suspended

Witness
Stanje pre

Dogaaj

Stanje posle

Connected

Witness offline

Disconnected

Connected

Unable to initialize

Unknown

Funkcionalnosti po edicijama
Feature

Enterprise

Developer

Standard

Workgroup

Express

Partner

DA

DA

DA

NE

NE

Witness

DA

DA

DA

DA

DA

Safety FULL

DA

DA

DA

NE

NE

Safety OFF

DA

DA

NE

NE

NE

Snapshots

DA

DA

NE

NE

NE

Parallel redo

DA

DA

NE

NE

NE

Available
during UNDO

DA

DA

DA

NE

NE

Postavljanje

Trace flag 1400 (-T1400 u parametrima pokretanja


servisa)
Baza na principalu mora biti u FULL recovery modelu.
Baza na mirroru mora biti postavljena kao restore
baze sa principala uz NORECOVERY opciju
Nazivi baza na mirroru i principalu moraju biti
jednaki
Definisanje uloga servera (principal, mirror, witness)
Definisanje endpointa
Kreirati u START stanju ili ih naknadno pokrenuti
Definisanje meusobnog pristupa servera
Windows authentification (trusted domene)
Cerifikati

Dopustiti pristup endpoint-u

Promena timeout parametra

Zato ne?

Pad performansi ili potencijalni gubitak podataka


Samo jedna kopija baze
Nema prenosa metapodataka
Nedostatak kvoruma postavlja bazu offline
Nema kontrole nad vremenom sinhronizacije

Zato da?

Jeftino rijeenje poveanja dostupnosti (jedna licenca Standard?)


Brzi failover (<3 s)
Mogunost automatskog failovera
Nema potrebe za posebnim hardware-om
Redirect na klijentu
Nema single point of failure

Dodatne informacije

http://www.microsoft.com/technet/prodtechnol
/sql/2005/dbmirror.mspx
http://www.databasejournal.com/features/mss
ql/article.php/3440511
http://blogs.msdn.com/sqltips/archive/2005/07
/28/Database_Mirroring.aspx
http://www.microsoft.com/sql/2005/productinf
o/letter.mspx

Vous aimerez peut-être aussi