čtvrtek 6. října 2016

MS Exchange Server 2016 - DAG (díl 13)

V případě, že máme 2 a více MS Exchange Serverů 2016 asi budeme chtít vytvořit vysokou dostupnost (respektive ... kvůli tomu pořizujeme licence a to vše konfigurujeme).

Pokud máme jen jeden MS Exchange Server 2016 můžeme tuto kapitolu (mých konfiguračních poznámek) úplně klidně přeskočit.

Opět vše budeme provádět v PowerShellu (pokud není uvedeno jinak).

Úvodní kontrola

  • Úplně začátek se přesvědčíme, že na všech serverech, kde je instalován MS Exchange Server 2016 je v lokální skupině Administrators také člen Exchange Trusted Subsystem.
  • A totéž platí i pro Windows Server, který bude v roli svědka ... tedy Witness Serveru (tedy musí mít v lokální skupině Administrators člena Exchange Trusted Subsystem)

Dále zkontrolujeme v Active Directory, že skupina Exchange Trusted Subsystem obsahuje za členy nové MS Exchange Server 2016

Předpoklady pro konfiguraci DAG:
  • všechny mailbosx servery musí být ve stejné doméně
  • vytvořené mailbox databáze
  • databáze musí mít jedinečné jméno
  • databáze musí být přesunuty do cílových úložných cest
  • databáze jsou na lokálních discích serveru
  • musíme mít k dispozici jeden další MS Windows server (ne doménový řadič), který nám bude sloužit jako svědek (Witness server)
  • stejnou pasivní kopii databáze nelze vytvořit na serveru, kde je již stejná aktivní databáze
  • MS Exchange Server 2016 nemůže být instalován na MS Windows server s rolí řadič domény

DAG a vysoká dostupnost
  • DAG provádí pouze vysokou dostupnost pouze pro roli mailbox (mailbox databáze)
  • Pro roli klientských přístupových služeb (Client Access Services ...OWA, Outlook, ActiveSync atd) nelze použít DAG (pro toto je nutno použít Network Load Ballancer).
  • DAG by měl mít lichý počet serverů
  • Máli DAH sudý počet server je nutno použít svědka (Windows server) se souborovým sdílením
DAG a požadavky na síťování
  • je doporučeno mít vytvořen další síťový adapter a vlastní síť minimálně 1 Gbps (ideálně 10 Gbps)
  • každý člen DAG musí mít shodný počet síťových adaptérů a sítí
  • síťová latence musí být nižší než 500 ms
  • Automatic Private IP Addressing (APIPA) pro DAG členy není podporováno (TCP/IP adresování bez DHCP serveru)

DAG budeme vytvářet v konfiguraci DAG-IP less ... tedy:
  • bez IP adresy
  • bez Cluster Administrative Access Point (CAAP)
  • bez Computer Object in Active Directory
Poznámka:
Pro jistotu si zkontrolujeme, že Backup Software umí tuto konfiguraci zazálohovat (pokud pracujeme se scénářem Exchange with Backup).


# Úvod
  CLS
  Remove-Variable -Name * -ErrorAction SilentlyContinue
  Add-PsSnapin Microsoft.Exchange.Management.PowerShell.E2010

# Tento script vytvoří DAG, vytvoří kopie databází
# Tento script je pro 2 členské servery a 2 databáze

# DEFINICE
  $exsrv16a = "EXSRV16a"
  $exsrv16b = "EXSRV16b"
  $exsrv16a_mbxdtb1 = "2016-am"
  $exsrv16a_mbxdtb2 = "2016-nz"
  
  $dag16 = "EXSRV16DA" # jméno může být maximálně 15 znaků
  $witnesssrv = "DC.firma.cz"
  #$witnessdir = "c:\DAG" # pokud nezadáme bude použito: %SystemDrive%\DAGFileShareWitnesses\<DAG FQDN>
  $filesystem = "NTFS" # další hodnota: REFS
  
# Seznam všech mailbox databází na serverech MS Exchange Server 2016
  Write-Host "Seznam databází na serveru $exsrv16a : " -ForegroundColor Yellow
  Get-MailboxDatabase -Server $exsrv16a | fl name,edbfilepath,logfolderpath
  Write-Host "Seznam databází na serveru $exsrv16b : " -ForegroundColor Yellow
  Get-MailboxDatabase -Server $exsrv16b | fl name,edbfilepath,logfolderpath

# Vytvoření DAG bez IP adresy
  Write-Host "Vytvářím DAG" -ForegroundColor Yellow
  New-DatabaseAvailabilityGroup -Name $dag16 -WitnessServer $witnesssrv -FileSystem $filesystem -WitnessDirectory $witnessdir -DatabaseAvailabilityGroupIPAddresses ([System.Net.IPAddress]::None)

# Přidání všech MS Exchange Serverů 2016 do DAG
  Add-DatabaseAvailabilityGroupServer -Identity $dag16 -MailboxServer $exsrv16a
  Add-DatabaseAvailabilityGroupServer -Identity $dag16 -MailboxServer $exsrv16b

# Stav DAG
  Write-Host "Stav Clusteru" -ForegroundColor Yellow
  Get-Cluster | Get-ClusterNode
  Write-Host "Jméno Clusteru" -ForegroundColor Yellow
  Get-Cluster

  Write-Host "Stav DAG" -ForegroundColor Yellow
  Get-DatabaseAvailabilityGroup $dag16 -Status
  Write-Host "Stav Witness Server" -ForegroundColor Yellow
  Get-DatabaseAvailabilityGroup $dag16 -Status | fl *witness*
  
# Seznam Mailbox databazí
  Get-MailboxDatabase | sort Name
  
# Kopie mailbox databáze - databáze 1
  Add-MailboxDatabaseCopy -Identity $exsrv16a_mbxdtb1 -MailboxServer $exsrv16b
  Start-Sleep 56
  (Get-Service -Name MSExchangeIS -ComputerName $exsrv16b).Stop()
  Start-Sleep 5
  (Get-Service -Name MSExchangeIS -ComputerName $exsrv16b).Start()
  start-sleep 56

# Mailbox databáze status - databáze 1
  Write-Host "Stav databází na server $exsrv16a :" -ForegroundColor Yellow
  Get-MailboxDatabaseCopyStatus –Server $exsrv16a | sort name
  Write-Host "Stav databází na server $exsrv16b :" -ForegroundColor Yellow
  Get-MailboxDatabaseCopyStatus –Server $exsrv16b | sort name

# Kopie mailbox databáze - databáze 1
  Add-MailboxDatabaseCopy -Identity $exsrv16a_mbxdtb2 -MailboxServer $exsrv16b
  Start-Sleep 56
  (Get-Service -Name MSExchangeIS -ComputerName $exsrv16b).Stop()
  Start-Sleep 5
  (Get-Service -Name MSExchangeIS -ComputerName $exsrv16b).Start()
  start-sleep 56

# Mailbox databáze status databáze 2
  Write-Host "Stav databází na server $exsrv16a :" -ForegroundColor Yellow
  Get-MailboxDatabaseCopyStatus –Server $exsrv16a | sort name
  Write-Host "Stav databází na server $exsrv16b :" -ForegroundColor Yellow
  Get-MailboxDatabaseCopyStatus –Server $exsrv16b | sort name



Žádné komentáře:

Okomentovat