IIS 6.0: Migrieren und konsolidieren

Höhere Sicherheit und mehr Stabilität im Betrieb sind zwei der Hauptgründe, warum man seine alte IIS-Installation auf IIS 6.0 migrieren sollte.

Artikel erschienen in Swiss IT Magazine 2004/16

     

Trotz der Tatsache, dass Windows Server 2003 bereits seit fast anderthalb Jahren auf dem Markt ist, werden noch viele Windows Server unter Windows 2000 oder gar NT 4.0 betrieben. Gründe, um die Migration auf den neuesten Release hinauszuschieben, gibt es zur Genüge: Eingefrorene IT-Budgets oder das Abwarten des ersten Services Pack sind nur zwei davon. Auf der anderen Seite gibt es aber auch hinreichende Gründe, einen bestehenden Windows Server auf die 2003er Version zu migrieren. Dazu gehört vor allem die stark erhöhte Sicherheit, die in allen Komponenten des Windows Server Einzug gehalten hat.
Einer der Windows-Dienste, der am meisten von den Security-Verbesserungen profitiert hat, ist der Internet Information Server 6.0 (IIS 6.0), der gegenüber seinem Vorgänger IIS 5.0 wesentlich weniger Angriffsflächen für böswillige Attacken bietet. Weitere Argumente, die für einen Umstieg auf IIS 6.0 sprechen, sind nativer Support für das .Net Framework, bessere Performance, höhere Verfügbarkeit und mehr Stabilität beim gleichzeitigen Betrieb von mehreren Websites auf demselben Server. In unserer zweiteiligen Miniserie zu IIS 6.0 befassen wir uns zunächst mit den Migrations- und Konsolidierungsmöglichkeiten von Microsofts Webserver. Im zweiten Teil, der in der nächsten Ausgabe erscheint, geht es um Sicherheit und zuverlässigen Betrieb.


Die neue Architektur von IIS 6.0

Um die Verbesserungen punkto Konsolidierung und Sicherheit aufzeigen zu können, ist ein kleiner Exkurs über die unterschiedlichen Architekturen von IIS 5.0 und 6.0 notwendig. Version 5.0 verfügt über ein eher instabiles Prozessmodell, das in den drei unterschiedlichen Modi «In-Process», «Pooled Out-of-Process» und «Isolated Out-of-Process» betrieben werden kann. Die beiden ersten Modi bieten wenig Stabilität, da die unterschiedlichen Websites im selben Prozess abgespielt und nicht voneinander abgeschottet werden. Stürzt eine Webapplikation ab, werden deshalb auch die übrigen Webanwendungen oder gar der komplette Webserver in Mitleidenschaft gezogen. Mehr Stabilität bringt bei IIS 5.0 nur das «Isolated Out-of-Process»-Verfahren, das die einzelnen Websites voneinander isoliert. Wegen des hohen Bedarfs an Ressourcen und den Einbussen bei der Performance ist dieser Modus bei den Administratoren aber nicht sonderlich beliebt.






Für IIS 6.0 hat Microsoft das Prozessmodell komplett überarbeitet. Mit dem sogenannten Worker Process Model kann nun jede Webanwendung in einem von anderen Applikationen abgeschotteten Applikationspool abgespielt werden. Für jeden Applikationspool wird ein eigener Worker Process (W3WP.EXE) gestartet, der jeder Anwendung eine eigene isolierte Umgebung mit den notwendigen Ressourcen zur Verfügung stellt. Werden beispielsweise zwei unterschiedliche ASP.Net-Anwendungen parallel ausgeführt, erhalten beide einen dedizierten Bereich mit eigener ASP.Net Engine, ISAPI- Filtern und -Extensions sowie eigener Common Language Runtime (CLR).


Konsolidieren mit Applikationspools

Dank dem Konzept der Applikationspools können neu mit IIS 6.0 viel mehr Webanwendungen parallel auf einem Server betrieben werden. Wer eine grosse Zahl von Websites auf verschiedenen Servern betreibt, sollte bei einer Migration auch die Konsolidierung seiner Webserver in Erwägung ziehen. Die Verringerung der Serverzahl spart nicht nur Betriebs- und Lizenzkosten, sondern erleichtert auch die Administration enorm.
Applikationspools lassen sich per IIS-Manager über die Properties des Zweigs Application Pools via New, Application Pool… einrichten. Anschliessend können die einzelnen Websites den Applikationspools zugewiesen werden. Das geschieht jeweils über den Eigenschaftendialog der Websites via Home Directory, Application Pool.






Da jeder Applikationspool den Speicherbedarf des Systems in die Höhe treibt, können einem Pool auch mehrere Webanwendungen zugewiesen werden. Denn bei weniger kritischen Anwendungen (z.B. Websites mit statischen HTML-Seiten) ist es nicht in jedem Fall sinnvoll, jeder Site einen separaten Pool zur Verfügung zu stellen. Ausserdem erhält der Administrator dadurch eine weitere Möglichkeit, die Performance seines Webservers zu tunen. Für jeden Worker Process kann exakt definiert werden, wie stark er die CPU auslasten darf. Auf einem Multiprozessorsystem kann ein Applikationspool sogar einer separaten CPU zugewiesen werden.
Interessant ist auch das Konzept der sogenannten Web Gardens: Dabei handelt es sich um ein Verfahren, das an eine Web Farm erinnert, mit der Ausnahme, dass mehrere Instanzen einer Website auf demselben Server betrieben werden. Dazu werden in einem Pool mehrere Worker- Prozesse mit den entsprechenden Instanzen der Webanwendungen gestartet.
Der Vorteil der Web Gardens ist, dass Webzugriffe gleichmässig auf die verschiedenen Prozesse verteilt werden, wodurch die Response-Rate erhöht wird.


Migration von IIS 5.0

Wer IIS 4.0 oder IIS 5.0 auf Version 6.0 migrieren will, hat grundsätzlich zwei Möglichkeiten: Einerseits kann der alte Server direkt mit dem Setup-Programm von Windows Server 2003 aktualisiert werden. Bei diesem Prozess werden auch alle Websites automatisch auf IIS 6.0 umgestellt. Andererseits gibt es ein Migrations Tool, mit dem Sites von einem anderen Webserver auf IIS 6.0 übertragen werden können.





Das erstgenannte Verfahren ist nicht unbedingt zu empfehlen, da hier Legacy-Komponenten und zum Teil auch Altlasten des NT-4.0- oder Windows-2000-Servers mitgeschleppt werden. Besser ist es, den Windows Server 2003 komplett neu aufzusetzen und die Websites mit dem IIS 6.0 Migration Tool zu übernehmen. Mit dem Migrations-Werkzeug können auch Sites transferiert werden, die unter IIS 4.0, 5.0, oder 5.1 arbeiten. Auch ein Transfer zwischen zwei IIS-6.0-Servern ist möglich, so dass das Tool auch generell für den Umzug von Websites von einem Server auf einen anderen herangezogen werden kann.
Das IIS 6.0 Migration Tool ist ein Kommandozeilenwerkzeug, das im IIS 6.0 Resource Kit enthalten ist und kostenlos aus dem Downloadbereich von Microsoft heruntergeladen werden kann. Um beispielsweise Website1 von Server1 nach Server2 zu transferieren (die notwendigen Berechtigungen auf beiden Servern vorausgesetzt), muss auf Server2 folgendes Kommando eingegeben werden:





iismt Server1 W3CSVC/1




Standardmässig migriert das Werkzeug den gesamten Content der Site, alle Zugriffsberechtigungen sowie die Metabase-Konfiguration und stellt allfällige Einstellungen für die Applikationsisolation unter IIS 4.0 oder 5.0 auf die neuen Applikationspools um. Mit Optionsbefehlen kann das Tool auch angewiesen werden, den Pfad des Web-Root-Verzeichnisses auf dem Zielserver zu ändern, die FrontPage Extensions zuzufügen, IP-Adressen, Port und Host-Header-Informationen anzupassen und die Site ID zu verändern.



Die neue Architecktur von IIS 6.0


IIS 5 Isolation Mode

Um die Rückwärtskompatibilität gewährleisten zu können, verfügt IIS 6.0 alternativ zum Worker-Process-Modell über den IIS 5 Isolation Mode. Dieser erlaubt es, IIS 6.0 in einem der drei Modi von IIS 5.0 zu betreiben und ist für Applikationen gedacht, die IIS-5.0-Komponenten (z.B. DLLhost.exe) benötigen, die unter der neuen Architektur nicht mehr verfügbar sind. Beim Upgrade eines alten Windows Server auf Windows Server 2003 wird IIS 6.0 automatisch in den IIS 5.0 Isolation Mode geschaltet, damit die migrierten Websites problemlos arbeiten.
Da mit dem IIS 5 Isolation Mode aber auch die vielen Vorteile der neuen IIS-6.0-Architektur wieder verlorengehen, sollte man nach erfolgter Migration auf jeden Fall in den Worker Process Mode umschalten, sofern keine Inkompatibilitäten vorliegen. Ausserdem kann es sich lohnen, nichtkompatible Webanwendungen an IIS 6.0 anzupassen, um von den neuen Stabilitätsvorteilen profitieren zu können. Der Switch zum Einstellen des Betriebsmodus befindet sich in den Eigenschaften des Zweigs Web Sites im Register Service.


Bestehende Server-Umgebungen

Wer nur seinen Webserver, nicht aber die übrige Windows-Server-Infrastruktur auf Windows Server 2003 migrieren möchte, kann das problemlos tun. Windows Server 2003 lässt sich ohne weiteres als Member Server in einer NT-4-Domäne oder in einer Active-Directory-Umgebung eines Windows 2000 Server betreiben. Und wer seinen Server ausschliesslich als Webserver betreiben will, kann getrost zur Windows Server 2003 Web Edition greifen und Lizenzkosten sparen. Punkto IIS-Funktionalität und Performance bietet diese keinerlei Einschränkungen, darf aber gemäss den Lizenzbestimmungen nicht für andere Zwecke (Datenbankserver, Mailserver etc.) genutzt werden.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Aus welcher Stadt stammten die Bremer Stadtmusikanten?
GOLD SPONSOREN
SPONSOREN & PARTNER