Microsoft Exchange Server 2007 – část II.

V minulém díle jsem se vám snažil představit jednotlivé role, které Exchange Server 2007 používá. Tentokrát bych se chtěl hlavně zaměřit na novinky v architektuře programu (přechod na platformu x64) a správu celého prostředí pomocí Windows PowerShell.

Platforma x64
Toto téma hned od počátku vyvolávalo velkou řadu otázek a mnoho spekulací. Pojďme se tedy na něj podívat dostatečně detailně a bez jakýchkoli předsudků. Už v rané fázi betatestování, bylo rozhodnuto, že 32-bitová architektura Exchange Serveru již nadále nevyhovuje a že bude vyvíjena pouze verze pro systémy x64. Důvodů pro toto rozhodnutí je mnoho, uvedu proto pouze ty nejdůležitější:

  • Z hlediska přístupu k Exchange Serveru výrazně vzrostl počet současně přistupujících klientů. Uživatel nezřídka používá zároveň Outlook klienta (včetně přístupu pomocí Outlook Anywhere), mobilní zařízení s ActiveSync, Outlook Web Access (OWA) a další.
  • Z hlediska bezpečnosti, se stále více setkáváme s masivním nasazením šifrovacích technologií, jakými jsou např. SSL a IPSec.
  • Pravděpodobně ale tím, co zatěžuje Exchange Server nejvíce, je správa dat v emailových schránkách. Uživatelé dnes naprosto běžně posílají mnoho zpráv s přílohami o velikosti několika megabajtů, standardem velikosti emailové schránky ve firemním prostředí se stalo 200MB (u některých řešení až 2GB).

To vše dohromady, představuje zvýšené nároky na výkon systému a hlavně operační paměti (RAM). S přechodem na platformu x64 se výrazně navyšuje velikost paměti, kterou může Exchange Server adresovat. Ze 4GB na 32-bitovém systému až na teoretických 18EG na systému x64.

32-bit = 2^32 = 4 GB
64-bit = 2^64 = 18 Exabyte

Lidově řečeno, na 32-bitových Exchange Serverech nemělo cenu kupovat více, než 4GB paměti, protože ji Exchange stejně neuměl adresovat/využít. Na výpočet optimální velikosti paměti (RAM) můžete použít následující rovnici:

  • Exchange (2GB) + počet MBX * typ uživatele (light = 2MB / normal = 3,5MB / heavy = 5MB)
  • Exchange (2GB) + 500 MBX * normální uživatel (3,5MB) = 3798MB RAM

Pokud budeme vycházet z této rovnice, znamená to, že jakmile se zvýší počet klientů, budu muset stavět další a další Exchange Servery. To ale stojí firmu velké prostředky – hardware, licence, správa serverů, atd. V Exchange Serveru 2007 mohu díky architektuře x64 a hlavně větší adresovatelnosti paměti, provozovat větší množství uživatelů na jednom serveru a výrazně tak v těchto oblastech ušetřit. Seznam podporovaných procesorů společností Intel a AMD naleznete zde:

Intel -> EM64T (www.intel.com/technology/64bitextensions); AMD -> AMD64 (www.amd.com/amd64).

S pamětí u Exchange Serveru je to ale mnohem složitější (a také zajímavější) povídání. Účelem tohoto článku není zabřednout do technických podrobností, takže jen velice obecně. Díky tomu, že Exchange Server 2007 již nemá limity 32-bitové architektury, může adresovat mnohem více paměti a to dokonce i na stejném hardwaru (tedy do velikosti 4GB RAM). To v praxi znamená hlavně úsporu vstupně/výstupních operacích (čtení/zápis) na discích používaných Exchange Serverem. Testy prokázaly, že se může jednat až o 70% navýšení těchto diskových hodnot! Kdo někdy konfiguroval Exchange Server a zabýval se optimalizací diskového subsystému, tak mi dá za pravdu, že se jedná o obrovské číslo, které by rozhodně nemělo uniknout vaší pozornosti!


ProLiantDL385 2 Dual-Core CPU (2.2GHz), 4-8GB RAM, 1500MMB3 users, U320 SCSI 24 DB disks, 4 Logs, Search/Indexing=OFF

A jak je to tedy s 32-bitovou verzí? Existuje! Že je to pro vás překvapení? Důvod je jasný. Microsoft dnes nenabízí možnost vytvoření x64 virtuálního prostředí – a to ani ve Virtual PC, ani ve Virtual Serveru. Na to si musíme počkat až do uvedení Windows „Longhorn“ Serveru (respektive ještě o chvilku déle). Tato verze tedy vznikla pouze a jenom za účelem testování na současném (fyzickém i virtuálním), 32-bitovém hardwaru. Má také mnohá omezení. To nejzásadnější spočívá v tom, že se tato edice nedá zalicencovat/koupit! Je určena pouze a jen pro testovací účely a do produkčního prostředí nepatří! Jediné, co je z 32-bitového Exchange Serveru 2007 podporováno i v produkčním prostředí je administrátorské rozhranní (správa např. z 32-bitových Windows XP) a případné rošíření schéma Active Directory (např. možnost rozšíření schéma provést na 32-bitovém doménovém řadiči).

Pokud se na tento revoluční krok podívám z pohledu administrátora, myslím, že se jedná o jednoznačný posun dopředu a že přechod na novou platformu je rozhodně krokem přínosným. Nicméně z pohledu managementu, zde nyní vidím i určitá úskalí, která může odstranit pouze a jenom čas. Na platformě x64 se asi budeme ještě nějakou dobu zabývat absencí ovladačů k některému hardwaru, to samé bude platit o podpůrném softwaru pro Exchange Server. Tedy antivirová řešení, backup produkty, atd. Největší dodavatelé již zareagovali, uvidíme jak dlouho to bude ještě trvat, než provozování Windows Server x64 bude naprosto normální a běžné.

Správa Exchange: GUI a Windows PowerShell
Kromě přechodu na platformu x64, v sobě Exchange Server 2007 skrývá ještě jednu, opravdu velkou novinku. A tou je přesun správy produktu z grafického rozhraní (GUI) do Windows PowerShellu. Toto je opravdová revoluce v administraci (nejen) Exchange Serveru.

Co je tedy Windows PowerShell? Administrátor by vám na to řekl: vynikající příkazová řádka, která nemá skoro žádné limity. Naopak programátor by na to nejspíše odvětil: programovací jazyk postavený nad .NET Framework 2.0. Pravdu budou mít oba. Záleží na tom, jak jej hodláte využívat. Nemá cenu popisovat tento velmi významný produkt podrobněji (existuje nezávisle na Exchange Serveru), nejlepší bude si o něm něco bližšího přečíst a nastudovat. Můžete začít např. zde: Blog of Windows PowerShell team (https://blogs.msdn.com/powershell). Poznámka: Windows PowerShell se v budoucnu plánuje jako administrátorské rozhranní i pro nové verze dalších Microsoft serverů (nový MOM, či SMS).

Co je tedy na administraci Exchange Serveru tak revolučního? Jednoznačně to, že grafické rozhranní (GUI) pouze vykonává příkazy PowerShellu. Nic víc. Jinými slovy – bez GUI se obejdete. Bez PowerShellu nikoliv. GUI je určeno jen a pouze pro základní úkony, zatímco PowerShell je určen na všechno! Z toho také vyplývá, že jakmile budete někdy v budoucnu hledat, jak nastavit něco, co nebudete moci nalézt v grafické konzoli, musíte do PowerShellu a nalést zde potřebný příkaz. Ano, pravděpodobně budete muset otevřít help a s příkazem se podrobněji seznámit.


 
Pojďme se tedy rychle podívat na některé ukázky Windows PowerShellu a něco málo si i vysvětlit. Příkazy, tak jak je známe z příkazové řádky se zde nazývají CMDLet. Jsou složeny vždy ze slovesa a podstatného jména. Tedy například příkaz, který mi vylistuje všechny CMDLety spojené s Exchange Serverem vypadá takto: „get-excommand“. Dejme tomu, že vás zaujme příkaz „get-user“ a rádi byste o něm věděli něco bližšího. Zkuste „get-help get-user“. Nebo byste rádi nalezli všechny příkazy, které se zabývají certifikáty? Není nic snazšího než: „get-help *cert*“.

Ukázky sloves:
Update; New; Get; Remove; Set; Add; Enable; Mount; Dismount; Disable; Test

Ukázky podstatných jmén:
Mailboxdatabase; Storagegroup; Sendconnector; Umautoattendant; Transportagent; Mobiledevice; Systemhealth; Servicehealth; Journalrule; MAPIconectivity; Distributiongroup

Za těmito slovesy a podstatnými jmény se ještě vyskytují další parametry, které mohou být povinné (je nutné je zadat), nebo volitelné.
Sloveso Podstatné jméno Parametry 
Get                User                              -Identity
                                                          -ExternalEmailAddress

Na příkladu potom:
Enable-mailuser –Identity Martin -ExternalEmailAddress martin@pavlis.net

Pokud bych chtěl založit emailovou schránku pro uživatele „Martin“ na serveru „PRAHAMBX“ v databázi „DB1“, použiji tento příkaz:
Enable-Mailbox –Identity Martin -Database „PRAHAMBX\DB1“

Výtečné ale je, že výstup z jednoho příkazu mohu použít jako vstup dalšího. Mohu si takto vylistovat všechny schránky na serveru „BRNOEX“ a zároveň je přesunout na server „PRAHAMBX“ do databáze „DB1“:
Get-Mailbox –server BRNOEX | move-mailbox –targetDatabase „PRAHAMBX\DB1“

Vynikající jsou i parametry Confirm a WhatIf. Parametr Confirm po vás vyžaduje potvrzení každé prováděné operace – to má své výhody v situacích, kdy např. něco odstraňujete a chcete mít úplnou jistotu, že se nestane něco nesprávného. Následující příkaz získává nejprve seznam všech dostupných Storage Group, následně z nich vybírá tu, která se jmenuje „temp“ a tuto odstraňuje. Použití parametru Confirm si ale vynutí potvrzení této akce:
Get-StorageGroup | where { $_.Name –imatch“temp” } | Remove-StorageGroup –confirm

Naopak parametr WhatIf simuluje (!) provedení příkazu a informuje vás o jeho úspěšnosti. Skvělé pro situace, kdy např. teprve v noci chcete provést nějaký příkaz. S parametrem WhatIf si vše otestujete přes den a pokud je vše v pořádku víte, že script pouštěný v noci proběhne tak, jak má:
Remove-PublicFolderDatabase "FiremniVerejneSlozky“ –whatif

A tak bych mohl pokračovat dál a dál. To už ale nechám na vás. Doufám, že vás Windows PowerShell zaujal – mě rozhodně. Ze začátku to sice chce trochu trpělivosti, ale jakmile se jednou trochu prokousáte základy, zjistíte, že některé věci jsou tak jednoduché, že předchozí administrátorské nástroje vám budou připadat nedostatečné. Uvidíte...

Tolik tedy druhý článek z chystané série o Microsoft Exchange Server 2007. V další části se budu snažit popsat novinky v instalaci, potřebné podmínky, které musí být pro instalaci splněny a také velmi oblíbené téma migrace z předchozích verzí. Lahůdkou na závěr bude objasnění licencování.

Čtete Technet CZSK blog zde: https://blogs.technet.com/technetczsk

Martin Pavlis (Microsoft MVP)
https://www.pavlis.net

Link: Microsoft Exchange Server 2007 - část I. (MS Technet)