Jak pozbyć się Apacza?

Internet Information Server 5.0 (IIS) to jeden z podstawowych elementów składowych systemu Windows 2000. Jego wdrożenie w firmie POWIETRZE S.A. jest podyktowane chęcią standaryzacji środowiska serwerowego, a także zbliżającą się koniecznością integracji serwera WWW z bazą danych SQL Server.

Internet Information Server 5.0 (IIS) to jeden z podstawowych elementów składowych systemu Windows 2000. Jego wdrożenie w firmie POWIETRZE S.A. jest podyktowane chęcią standaryzacji środowiska serwerowego, a także zbliżającą się koniecznością integracji serwera WWW z bazą danych SQL Server.

Zanim jednak nastąpi taka integracja, konieczna jest migracja serwera Jowisz, pracującego dotychczas pod kontrolą sytemu operacyjnego Red Hat Linux, do Windows 2000 Server. Nie jest to zadanie łatwe, zważywszy że serwera nie można w prosty sposób zaktualizować do Windows 2000. Jedynym rozwiązaniem jest zainstalowanie systemu Microsoftu od nowa i przeniesienie wszystkich dokumentów z serwera Apache działającego na Linuxie do serwera IIS 5.0, który będzie pracował na Windows 2000.

Zadanie to można zrealizować na dwa sposoby: instalując "czystą" kopię Windows 2000 na produkcyjnym serwerze Jowisz lub też instalując "czysty" system Windows 2000 z IIS 5.0 na innym serwerze i przenosząc następnie całą stronę internetową na nową platformę. Pierwsze rozwiązanie jest o tyle lepsze, że nie wymaga dodatkowego serwera niezbędnego w drugim wariancie do przeprowadzenia migracji. Ma ono jednak dwie istotne wady: podczas operacji instalacji nowego i oprogramowania serwera internetowego serwer WWW firmy Powietrze SA będzie niedostępny i - co ważniejsze - operację migracji trzeba będzie przeprowadzić w dużym pośpiechu z koniecznością optymalizowania pracy serwera WWW już podczas pełnienia przez niego funkcji produkcyjnego serwera internetowego (bo innego nie będzie w zanadrzu).

Chociaż jednodniowy brak strony firmy Powietrze SA w Internecie nie jest krytyczny (firma nie prowadzi jeszcze za jej pośrednictwem handlu internetowego), to zarząd firmy, obawiając się niespodziewanego wydłużenia procesu migracji, nie zgodził się na taki wariant, dopuszczając maksymalnie 1-, 2-godzinny przestój w godzinach nocnych. Co gorsza dla informatyków, nie zgodził się również na zakup dodatkowego serwera, który mógłby wspomóc proces migracji.

Rozwiązanie

Informatykom trudno nie zgodzić się z decyzją zarządu firmy. Sami mają świadomość, że te same pliki serwera WWW przeniesione do środowiska Windows 2000 mogą wymagać przeróbek - chociażby w ich nazwach, odwołaniach do plików i katalogów itp. Jest również mało prawdopodobne, aby kilka prostych aplikacji napisanych w języku skryptowym Perl (np. wysyłanie poczty elektronicznej z danymi wpisanymi za pośrednictwem strony WWW) działało poprawnie po przeniesieniu bez zmian ma platformę Windows.

Informatycy firmy Powietrze SA poradzili sobie jednak z problemem zorganizowania dodatkowego serwera. Podczas migracji wykorzystają bowiem serwer Pluton - tymczasowo nie zagospodarowany po przeniesieniu usług serwowania plików na maszynę Neptun (pisaliśmy o tym w artykule Dwa w jednym, czyli sposób na pliki).

Proces migracji będzie więc wyglądać następująco. Najpierw system Windows 2000 z serwerem IIS 5.0 zostanie zainstalowany na serwerze Pluton. Następnie informatycy przeniosą zawartość strony internetowej z serwera Jowisz na Pluton, na którym zostanie ona poddana testom i przeróbkom gwarantującym jej poprawne działanie na nowej platformie. Jeśli serwer będzie pracować poprawnie, to poprzez zmianę konfiguracji DNS (przekierowanie adresu WWW.POWIETRZE.COM.PL z serwera Jowisz na Pluton) zostanie wykonana zamiana funkcji . Po tej operacji będą możliwe całkowite wyczyszczenie serwera Jowisz, instalacja na nim systemu Windows 2000 z IIS 5.0 i ponowne przeniesienie zawartości całej strony - tym razem z serwera Pluton na Jowisz. Po końcowych testach będzie można ponownie wykonać zamianę wpisów w DNS i całkowicie wyłączyć serwer Jowisz, przeznaczając go do realizacji innych zadań. Chociaż operacja ta jest czasochłonna, to gwarantuje dwa istotne elementy: dowolnie długi czas na testowanie wydajności pracy serwera, prawidłowość wyświetlania stron internetowych i przystosowanie aplikacji w Perlu do pracy na serwerze Windows 2000 (być może również ich przepisanie do pracy w innym języku skryptowym bardziej "naturalnym" dla systemu Windows 2000) oraz brak jakiegokolwiek przestoju w dostępności strony WWW dla użytkowników Internetu.

Planowanie migracji

Instalacja systemu Windows 2000 wraz z oprogramowaniem serwera internetowego IIS 5.0 na serwerze Pluton nie nastręczyła informatykom trudności (podczas instalacji musieli tylko wybrać dodatkowo instalację serwera SMTP dostępnego w ramach IIS, który jest niezbędny do wysyłania listów elektronicznych za pośrednictwem strony WWW). Serwer ten zainstalowano jako Member Server w domenie Windows 2000, nie przechowywał więc on własnej kopii Active Directory (byłoby to zresztą trudne, zwłaszcza że parametry techniczne serwera Pluton, na którym pracował wcześniej mało wymagający NetWare 3.12, pozostawiają wiele do życzenia).

Proces przenoszenia danych pomiędzy serwerem Apache a IIS 5.0 można zrealizować na dwa sposoby: kopiując dane i ustawienia konfiguracyjne serwera ręcznie lub też korzystając ze specjalnego narzędzia IIS Migration Wizard. Zamiast uciążliwego ręcznego kopiowania plików (poprzez FTP lub z wykorzystaniem mechanizmu SAMBA), informatycy zdecydowali się wybrać zautomatyzowane rozwiązanie.

IIS Migration Wizard to oprogramowanie dostępne na płycie CD-ROM dołączanej do zestawu 7 książek o wspólnym tytule Windows 2000 Server Resource Kit. Oprócz niego na tej samej płycie można znaleźć kilkadziesiąt innych narzędzi wspomagających pracę administratorów Windows 2000. Nic więc dziwnego, że chociaż pakiet kosztuje ok. 300 USD, informatycy firmy Powietrze SA zdecydowali się go nabyć (zresztą po znacznie obniżonej cenie 175 USD, którą proponuje księgarnia internetowahttp://www.bookpool.com).

IIS Migration Wizard umożliwia zautomatyzowaną migrację (pomiędzy dwoma serwerami) oprogramowania serwera WWW Apache HTTP Server 1.3, Netscape Enterprise Server 3.5, IIS 4.0 i IIS 5.0 do serwera IIS 5.0. W procesie migracji serwera internetowego firmy Powietrze SA narzędzie to będzie wykorzystane dwukrotnie: aby migrować z Apache pracującego na serwerze Jowisz na IIS 5.0 na serwer Pluton, a później, by skopiować zawartość serwera IIS 5.0 z Plutona na przeinstalowany już serwer Jowisz, na którym również będzie pracować IIS 5.0.

Migracja

IIS Migration Wizard składa się z 2 komponentów instalowanych odpowiednio na serwerze Apache oraz na serwerze Windows 2000 z oprogramowaniem IIS 5.0. Komponent źródłowy instalowany na serwerze Jowisz wymaga, by na tym samym serwerze był zainstalowany Perl 5.0. Pobrać go można spod adresuhttp://www.activestate.com.

Zanim zostanie przeprowadzony proces przenoszenia strony internetowej pomiędzy serwerami, konieczne jest sprawdzenie, czy struktura plików na serwerze unixowym odpowiada konwencjom w nazewnictwie plików w systemie Windows. Przykładowo: Unix dopuszcza istnienie w jednym katalogu plików o takich samych nazwach, jeśli są one zapisane w inny sposób z użyciem małych i wielkich liter. System Windows nie zwraca uwagi na wielkość liter i dlatego 2 pliki o takich samych nazwach uzna za zduplikowane i w procesie migracji skopiuje tylko 1 z nich. Konieczna jest także przed migracją zmiana nazw plików, w których występują niedozwolone, z punktu widzenia systemu Windows, znaki, np. ? \ / : * itp.

Inicjacja migracji odbywa się z poziomu przeglądarki internetowej (poprzez podanie adresu programu migracyjnego zainstalowanego na serwerze linuxowym). Po jej zakończeniu na serwerze Neptun zostanie stworzony nowy wirtualny serwer WWW, który będzie lustrzaną kopią serwera internetowego, pracującego na serwerze Pluton. IIS Migration Wizard przenosi zdecydowaną większość ustawień konfiguracyjnych niezbędnych do pracy serwera, łącznie z nadaniem odpowiednich uprawnień (np. Execute) dla katalogów, w których znajdują się aplikacje internetowe. Jedynym problemem, jaki po migracji będzie mieć firma Powietrze SA, to zweryfikowanie, czy strona internetowa funkcjonuje poprawnie, i zmodyfikowanie wszystkich skryptów w Perlu tak, by poprawnie pracowały na nowej platformie.

Dopieszczanie

IIS 5.0 wbudowany w system Windows 2000 w wersji serwerowej nie obsługuje standardowo skryptów pisanych w języku Perl. Wymaga do tego zainstalowania oddzielnego interpretera, który jest dostępny zarówno na płycie z zestawu Windows 2000 Server Resource Kit, jak i pod adresemhttp://www.activestate.com.

Jak się okazało, skrypt w Perlu przeznaczony do wysyłania listów elektronicznych, zawierających dane wpisane za pośrednictwem formularzy umieszczonych na serwerze, nie funkcjonował po przeniesieniu go na serwer Windows 2000. Chociaż składnia wszystkich poleceń była prawidłowa, to skrypt nie mógł znaleźć programu odpowiadającego za stworzenie listu. Takim programem w środowisku Windows jest np. BLAT.EXE, który jest dostępny w ramach Resource Kit. Po zmianie nazwy unixowego programu wysyłającego (mailer) na BLAT.EXE, skrypt funkcjonował już w pełni poprawnie.

Poza małymi zmianami, np. w ścieżkach dostępu do plików, strona internetowa nie wymagała dodatkowych, większych poprawek. Informatycy zmodyfikowali jeszcze parametry dotyczące tworzenia loga systemowego, nadali serwerowi nowy numer IP i po kilkudniowej obserwacji poprawności pracy serwera zdecydowali się zmodyfikować wpis w DNS w taki sposób, by pokazywał nowy serwer.

Po wyłączeniu serwera Pluton przeprowadzili również na nim instalację serwera Windows 2000 i IIS 5.0 w identyczny sposób, jak kilka dni wcześniej na Neptunie, i korzystając z tego samego narzędzia IIS Migration Wizard, przenieśli stronę internetową ponownie na serwer Pluton. Po zmianie konfiguracji DNS (zarówno zewnętrznego, jak i wewnętrznego) można było wyłączyć serwer Neptun.