Dynamiczne konfigurowanie ról Configure Manager Roles przy użyciu VMM oraz Operations Manager, część 1     Windows Server 2008

Dynamiczne konfigurowanie ról Configure Manager Roles przy użyciu VMM oraz Operations Manager, część 2 Udostępnij na: Facebook

Autor: Chris Adams

Opublikowano: 14 września 2009

Zawartość strony
 Budowanie pliku instalacji bez nadzoru   Budowanie pliku instalacji bez nadzoru
 Od serwera do serwera roli lokacji Configuration Manager w nie więcej niż 10 minut   Od serwera do serwera roli lokacji Configuration Manager w nie więcej niż 10 minut
 Testowanie środowiska z wsparciem dla dynamicznego inicjowania obsługi administracyjnej   Testowanie środowiska z wsparciem dla dynamicznego inicjowania obsługi administracyjnej
 Ze statycznego do dynamicznego   Ze statycznego do dynamicznego
 Testowanie i weryfikacja   Testowanie i weryfikacja
 Łączenie elementów w całość   Łączenie elementów w całość

Budowanie pliku instalacji bez nadzoru

Do kluczowych elementów pliku instalacji bez nadzoru w rozwiązaniu Microsoft należą:

  1. Dodanie lokalnych administratorów
  2. Włączenie zdalnego pulpitu
  3. Wyłączenie dodatkowych zabezpieczeń IE dla administratorów
  4. Ustawienie odpowiedniej rozdzielczości oraz informacji organizacyjnych
  5. Wyłączenie aplikacji Server Manager oraz Initial Configuration Tasks

Te elementy są niezbędne w typowych centrach danych. Istnieje wiele dodatkowych opcji, które zostały omówione w poświęconym narzędziu WAIK dokumencie Unattended Windows Setup Reference to learn how to configure other options.

Rysunek 3 prezentuje plik instalacji bez nadzoru służący do dynamicznego wdrażania ról lokacji Configuration Manager. Przedstawiony fragment dokumentu XML zawiera jedynie wymienione na liście elementy. Cały plik XML został udostępniony w blogu autora SCVMM Sample Unattend.XML for Windows Server 2008 & R2.

<?xml version="1.0" encoding="utf-8"?>

<unattend xmlns="urn:schemas-microsoft-com:unattend">

  <settings pass="specialize">

<component name="Microsoft-Windows-TerminalServices-LocalSessionManager"

           processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"

           language="neutral" versionScope="nonSxS" 

           xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

<fDenyTSConnections>false</fDenyTSConnections>

</component>

<component name="Microsoft-Windows-IE-ESC" processorArchitecture="amd64" 

           publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"

           xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<IEHardenAdmin>false</IEHardenAdmin>

</component>

  </settings>

  <settings pass="oobeSystem">

      <UserAccounts>

<DomainAccounts>

<DomainAccountList wcm:action="add">

<Domain>Contoso</Domain>

<DomainAccount wcm:action="add">

<Name>Chris</Name>

<Group>Administrators</Group>

</DomainAccount>

</DomainAccountList>

</DomainAccounts>

            <AdministratorPassword>

              <Value>Pa$$w0rd!</Value>

              <PlainText>true</PlainText>

            </AdministratorPassword>

      </UserAccounts>

     </component>

  </settings>

  <settings pass="generalize">

    <component name="Microsoft-ServerManager-SvrMgrNc" processorArchitecture="amd64" 

      publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"

      xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

      <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>

    </component>

    <component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64"

      publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"

      xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" 

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

      <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>

    </component>

  </settings>

</unattend>

Rysunek 3: Fragment pliku Unattend.xml.

Należy zapisać powyższy kod w postaci pliku instalacji bez nadzoru w udziale biblioteki. Aby uzyskać dostęp do pliku, trzeba odświeżyć serwer biblioteki, klikając go prawym przyciskiem myszy w konsoli VMM Administrators i wybierając opcję Refresh.

Po odświeżeniu plik unattend.xml może zostać dodany do stworzonego wcześniej gościnnego systemu operacyjnego. Należy kliknąć sekcję Answer Files w celu jej zaznaczenia, kliknąć przycisk Browse znajdujący się w oknie po prawej stronie, zlokalizować plik XML i kliknąć przycisk OK.

 Do początku strony Do początku strony

Od serwera do serwera roli lokacji Configuration Manager w nie więcej niż 10 minut

Pokazaliśmy już, jak w efektywny sposób zainstalować nowy serwer Windows na bazie podstawowego obrazu przy użyciu pliku unattend.xml. Chociaż dostępnych jest wiele opcji konfiguracyjnych, jedną z najprzydatniejszych jest funkcja automatycznego logowania oferowana przez narzędzie WAIK. Funkcja ta zapewnia ogromną elastyczność i umożliwia realizację koncepcji inicjowania obsługi administracyjnej w czasie uruchomienia i zgodnie z aktualnymi wymaganiami.

Element <AutoLogon> XML umożliwia konfigurowanie domyślnych poświadczeń logowania i wykorzystuje element LogonCount do określania częstotliwości automatycznego logowania, co umożliwia wyzwalanie "zdarzeń GUIRunOnce". Te ustawienia, przechowywane w ramach profilu gościnnego systemu operacyjnego, są uruchamiane synchronicznie na serwerze po pierwszym logowaniu. Rysunek 4 prezentuje przykładowe scenariusze wykorzystania funkcji GUIRunOnce.

KrokCel
Instalacja funkcji serweraDziałający serwer może wymagać funkcji Windows, takich jak IIS, obsługa klastrów itp.
Konfiguracja funkcjiNiektóre aplikacje wymagają modyfikacji lub dodania ustawień konfiguracyjnych określonych funkcji
Instalacja aplikacjiNiektóre aplikacje wymagają, aby przed ich zainstalowaniem wdrożone zostały inne aplikacje np.SQL Server bądź .NET Framework
Konfiguracja aplikacjiNiektóre aplikacje wymagają, aby przed zakończeniem procesu ich instalacji i udostępnieniem usługi w trybie online przeprowadzona została określona konfiguracja

Rysunek 4: Scenariusze zastosowania funkcji GUIRunOnce

Istnieje tylko kilka możliwości. Ich poznanie stanowi przygotowanie do przekształcania zwykłych serwerów Windows w serwery roli lokacji Configuration Manager 2007, np. punkty dystrybucji, bez pomocy administratora.

Aby zdarzenie GUIRunOnce pojawiało się bez interwencji ze strony użytkownika (tzn. logowania użytkownika), należy dodać mechanizm automatycznego logowania do stworzonego pliku, wstawiając kod XML zaprezentowany na Rysunku 5.

<settings>

<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" 

  publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"

  xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State">

      <AutoLogon>

            <Password>

              <Value>Pa$$w0rd!</Value>

              <PlainText>true</PlainText>

            </Password>

            <Username>administrator</Username>

            <LogonCount>1</LogonCount>

            <Enabled>true</Enabled>

      </AutoLogon>

</settings>

Rysunek 5: Dodawanie elementu AutoLogon do pliku unattend.xml.

Następnie należy skonfigurować funkcję inicjowania obsługi administracyjnej konieczną do odpowiedniego działania systemu lokacji Configuration Manager. Pierwszy krok polega na zidentyfikowaniu, jakie akcje są niezbędne do pełnej instalacji określonego systemu lokacji. Załóżmy na przykład, że w celu pomyślnego stworzenia punktu dystrybucji, trzeba zrealizować określone zadania. Aby osiągnąć ten cel przy pomocy funkcji GUIRunOnce, należy wykonać następujące czynności:

  1. Instalacja usługi IIS
  2. Instalacja funkcji BITS Server
  3. Instalacja rozszerzenia WebDAV
  4. Konfiguracja WebDAV w ustawieniach IIS
  5. Dodanie serwera Central\Primary Site do grupy Local Administrator na serwerze
  6. Wdrożenie systemu lokacji dla punktu dystrybucji
  7. Dodanie wszystkich pakietów do punktu dystrybucji

Te zadania należy wykonać w odpowiedniej kolejności, ponieważ kolejne kroki bazują na pomyślnym ukończeniu poprzednich. Rysunek 6 zawiera instrukcje, która pozwalają zrealizować poszczególne zadania.

KrokPolecenie
Instalacja IISserverMgrCmd –install IIS –allSubFeatures
Instalacja BitsserverMgrCmd –install BITS
Instalacja WebDAVMsiexec –qna webdav.msi
Konfiguracja WebDAVCmd –c \\server\share\scripts\ConfigureDP.bat
Przekształcenie serwera lokacji w Local AdminNet localgroup –add domain\siteservername$ administrators
Wdrożenie systemu lokacji i roliCmd –c \\server\share\scripts\DeployDP.vbs
Rozmieszczenie pakietówCmd –c \\server\share\scripts\DeployPackages.vbs

Rysunek 6: Tworzenie punktu dystrybucji Configuration Manager.

Zaprezentowane na Rysunku 6 skrypty ConfigureDP.bat, DeployDP.vbs oraz DeployPackages.vbs znajdują się w opublikowanym na blogu autora artykule Dynamically Deploying ConfigMgr Site Roles using Scripts.

 Do początku strony Do początku strony

Testowanie środowiska z wsparciem dla dynamicznego inicjowania obsługi administracyjnej

Po skonstruowaniu fundamentów należy przygotować się na dodatkowe wyzwania, ponieważ rzadko zdarza się, aby za pierwszym razem wszystko działało poprawnie. Cały urok polega na tym, że gdy rozwiązanie zacznie już działać, w przyszłości będzie wymagało co najwyżej niewielkich zmian.

Kolejne zadanie to analiza procesu instalacji i sprawdzenie czasu jego trwania. Od czasu pełnej instalacji (aż do momentu udostępnienia usług w trybie online) w dużym stopniu zależy poziom zadowolenia użytkowników.

Następnie należy przetestować proces instalacji przy użyciu skryptu Windows PowerShell lub konsoli VMM Administration Console. Najprostsza metoda polega na wykorzystaniu konsoli Administration Console, chociaż to właśnie skrypty Windows PowerShell służą do realizowania dynamicznego inicjowania obsługi administracyjnej. Aby przetestować mechanizm inicjowana obsługi administracyjnej, należy postępować zgodnie z poniższą instrukcją:

  1. Otworzyć konsolę VMM Administration Console
  2. Kliknąć opcję New Virtual Machine w menu Action
  3. Wybrać opcję tworzenia na podstawie szablonu oraz zaznaczyć odpowiedni szablon w oparciu o profil sprzętu oraz gościnnego systemu operacyjnego
  4. Wybrać odpowiedni host
  5. Wybrać opcję automatycznego uruchomienia i zapisywania stanu
  6. Kliknąć pole wyboru, aby automatycznie uruchomić maszynę wirtualną po jej stworzeniu
  7. Kliknąć przycisk Create

W zależności od rozmiaru obrazu podstawowego proces instalacji powinien zająć od 5 do 15 minut. Po ukończeniu instalacji należy uzyskać dostęp do serwera za pośrednictwem pulpitu zdalnego lub konsoli Administration Console. W tym celu należy zaznaczyć maszynę wirtualną w konsoli, kliknąć ją prawym przyciskiem myszy i wybrać opcję "Connect to virtual machine". Następnie należy sprawdzić, czy efekty konfiguracji są zgodne z oczekiwaniami.

 Do początku strony Do początku strony

Ze statycznego do dynamicznego

Do tej pory zademonstrowany został mechanizm statycznego inicjowania obsługi administracyjnej. Dynamizacja tego procesu oznacza, że infrastruktura powinna zapewniać możliwość monitorowania aplikacji i podejmowania ustalonych działań dostosowanych do aktualnych potrzeb.

W dotychczasowej części artykułu pokazano, że można w efektywny sposób zainicjować obsługę administracyjną systemu lokacji Configuration Manager oraz roli przy użyciu VMM. Końcowy krok polega na zintegrowaniu systemów VMM oraz System Center Operations Manager 2007, aby maszyny wirtualne mogły rozwijać się i kurczyć w zależności od aktualnych wymagań.

Instrukcje dotyczące integracji programu Operations Manager 2007 z VMM można znaleźć w artykule Configuring Operations Manager Integration with VMM 2008. Dzięki integracji alerty monitorujące oferowane przez system Operations Manager mogą realizować zadania przy użyciu interfejsów Windows PowerShell VMM np. tworzyć serwery dostarczające usługi do klientów.

Przykład ilustrujący, w jaki sposób zrealizowaliśmy ten proces w infrastrukturze Configuration Manager firmy Microsoft, może pomóc w przeprowadzaniu integracji w innych środowiskach.

Na początku sprawdziliśmy, czy Operations Manager właściwie identyfikuje serwery oferujące usługi, takie jak punkty dostarczania, aby można było zastosować mechanizm kierowania (ang. targeting). Aby uprościć ten proces, wstawiliśmy funkcję GUIRunOnce, która dodała określone klucze rejestru i ich wartości na serwerze. Dzięki temu, gdy agent Operations Manager został zainstalowany, specyficzny typ roli był oznakowany i mógł zostać zidentyfikowany. Na przykład umieściliśmy w kluczu HKLM\Software\Microsoft\TechNetMag wartość ContosoDP o nazwie ContosoDP, która stanowi DWORD typu 0.

Fragment kodu XML z pakietu Management Pack można znaleźć w artykule Building a “Sample” SCOM Management Pack for Dynamically Building Virtual Machines based on Performance of physical or virtual machines. Nosi on nazwę "DynamicDP" i w tym przypadku prowadzi do stworzenia nowego punktu dystrybucji. W celach demonstracyjnych skonfigurowaliśmy niskie wartości dla połączeń i mechanizmu próbkowania. W rzeczywistym środowisku należałoby dostosować te wartości w oparciu o dane dotyczące wydajności.

Pakiet Management Pack System Center Operations Manager o nazwie DynamicDP posiada zasadę Discovery (odkrywanie), która odczytuje klucz rejestru stworzony dla każdego punktu dystrybucji Configuration Manager w środowisku produkcyjnym. Stworzyliśmy także regułę, która monitoruje wybrane liczniki wydajności, takie jak równoległe połączenia usługi sieci Web IIS. Przekroczenie wartości progowej powoduje wygenerowanie alertu. Alert zmienia stan maszyny wirtualnej z Healthy (Prawidłowy) na Critical (Krytyczny). W ten sposób dochodzimy do akcji odzyskiwania. Odpowiednie kroki zostały zademonstrowane na Rysunku 7.

Dynamiczny proces monitorowania i inicjowania obsługi administracyjnej

Rysunek 7: Dynamiczny proces monitorowania i inicjowania obsługi administracyjnej.

Następnie stworzyliśmy własny, niestandardowy pakiet Management Pack przy użyciu konsoli Operations Manager Authoring Console. Pakiet monitorował jednoczesne połączenia IIS dla punktu dystrybucji. Gdyby ich liczba przekroczyła określony limit, usługa wysłałaby alert.

 Do początku strony Do początku strony

Testowanie i weryfikacja

Aby upewnić się, że komponenty środowiska działają zgodnie z oczekiwaniami projektu Microsoft, należy zwiększyć liczbę połączeń z punktem dystrybucji Configuration Manager, co spowoduje wzrost liczby alertów. Powinna nastąpić zmiana stanu z Healthy na Critical. Można przeprowadzić ten test przy użyciu narzędzia HTTP, takiego jak TinyGet, które przesyła żądania na serwer sieci Web, generując wiele połączeń.

Następujący skrypt TinyGet wygeneruje wysoką liczbę połączeń (60) z dużym plikiem (300 KB) o nazwie test.txt:

C:\>tinyget5 -h -status:200 -SRV:localhost -uri:/test.txt -x:60 -l:5000 -o

Po potwierdzeniu prawidłowej pracy pakietu Management Pack należy opracować akcję przywracania. Rozpoczynamy od niewielkiej akcji przywracania np. stworzenia pliku tekstowego. Akcja przywracania pakietu Management Pack określa akcję naprawczą, która ma zostać przeprowadzona na serwerze RMS Configuration Manager zintegrowanym z VMM. W rozwiązaniu Microsoft stworzyliśmy na serwerze Configuration Manager katalog o nazwie "recovery", który zawiera folder DP z dwoma plikami: dp_recovery.cmd oraz dp_recovery.ps1. Poniższy przykład stanowi fragment kodu dp_recovery.cmd, który dokonuje integracji ze skryptem Windows PowerShell w celu stworzenia maszyny wirtualnej:

time /t >>c:\temp\dplog.txt

C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft System Center 

Virtual Machine Manager 2008 R2\bin\cli.psc1" -command ".\dp_recovery.ps1 -VMMSERVER:localhost -VMNAME:mydynamicVM"

To polecenie odzyskiwania załaduje konsolę VMM Windows PowerShell i wywoła skrypt odzyskiwania.

Na zakończenie należy skonfigurować system Configuration Manager tak, aby podejmował on odpowiednią akcję w przypadku wystąpienia awarii. Rozwiązanie wykorzystuje ustawienia Channel, Subscription oraz Notification systemu Configuration Manager i umożliwia generowanie odpowiednich zadań w odpowiedzi na alert. Artykuł, który zawiera wprowadzenie do technik konfigurowania odpowiednich ustawień kanału, subskrypcji oraz powiadomienia, jest dostępny na blogu autora Building a “Sample” SCOM Management Pack for Dynamically Building Virtual Machines based on Performance of physical or virtual machines.

 Do początku strony Do początku strony

Łączenie elementów w całość

Procesy konfigurowania serwerów fizycznych oraz wirtualnych są do siebie podobne, aczkolwiek istnieją pewne istotne różnice. Odpowiednie planowanie i przygotowania pozwalają oszczędzić wiele czasu, ponieważ wdrożenia serwerów powoli przechodzą do przeszłości, dzięki czemu specjaliści IT mogą skoncentrować się na skalowaniu zasobów z myślą o wspieraniu wybranych usług.

W firmie Microsoft odkryliśmy mechanizm szybkiego i efektywnego skalowania usług klienckich Configuration Manager, takich jak Management Points, Distribution Points oraz Software Update Points z wykorzystaniem metod przedstawionych w tym artykule. Dynamiczne inicjowanie obsługi administracyjnej stanowi doskonałą technikę, która umożliwia systemowi rozszerzanie się oraz kurczenie w zależności od potrzeb. Dzięki temu zespół IT może zająć się na optymalizowaniem wydajności oraz opracowywaniem kryteriów właściwego stanu systemu, które wywołują odpowiednie akcje. W efekcie poświęcając mniej czasu na reaktywne techniki, które są nadal stosowane w wielu infrastrukturach IT.

O autorze

Chris Adams pełni funkcję głównego menedżera programu w dziale Management & Services w firmie Microsoft. Specjalizuje się w rozwiązaniach System Center Configuration Manager oraz System Center Virtual Machine Manager.

 Do początku strony Do początku strony

Dynamiczne konfigurowanie ról Configure Manager Roles przy użyciu VMM oraz Operations Manager, część 1     Windows Server 2008