Konfigurieren von IIS 7.0 oder höher World Wide Web Publishing Service in einem Windows Server 2008, Windows Server 2008 R2 oder Windows Server 2012-Failovercluster

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 970759 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

EINFÜHRUNG

Dieser Artikel beschreibt, wie Microsoft-Internetinformationsdienste (IIS) 7.5 oder IIS 7.0 in einem Windows Server 2008 oder Windows Server 2008 R2-Failovercluster zu konfigurieren. Die Verfahren in diesem Artikel gelten nur für das World Wide Web Publishing Service. Anweisungen zum Konfigurieren des FTP-Publishingdienst in einem Failovercluster finden Sie in:
974603 Gewusst wie: Konfigurieren von FTP-7.5 für IIS 7.0 in einem Windows Server 2008-Failovercluster

Weitere Informationen

In früheren Versionen von Internet Information Services bereitgestellten Microsoft generische Ressource Monitor Komponenten zur Unterstützung der hohen Verfügbarkeit Web Server-Instanzen mithilfe der Microsoft Clustering-Infrastruktur. Benutzerdefinierter Code mussten jedoch war das Potential einer solchen Lösung voll auszuschöpfen. Darüber hinaus hat die allgemeine Skripts, die von Microsoft bereitgestellte Kundenanforderungen nicht erfüllt. Um IIS 7.5 oder IIS 7.0 in einer Clusterumgebung mit Windows Server-Failovercluster zu konfigurieren, müssen Sie eine benutzerdefinierte (Skriptcode) verwenden, um einem solchen Szenario hohe Verfügbarkeit zu aktivieren. Wenn Sie dies tun, können Benutzer das Setup aus, um ihre Anforderungen anpassen. Dies gibt ihnen die vollständige Kontrolle über die Integration hohe Verfügbarkeit von Webanwendungen. Das Skript, das Schnittstellen für die Verwaltung und Überwachung, die in IIS 7.5 und IIS 7.0 eingeführt wurden, bieten darüber hinaus eine umfangreichere Umgebung als zuvor bereitgestellten Skripts.

Hinweis Die IIS 7.0-Installationsdateien fälschlicherweise die clusweb.vbs und Clusftp.vbs-Skriptdateien, die in IIS 6.0 für IIS verwendet werden cluster Verwaltungsaufgaben. Verwenden Sie diese Skripts nicht mit IIS 7.0 oder höher.

Microsoft empfiehlt, dass Administratoren die Verwendung von Netzwerklastenausgleich (NLB, Network Load Balancing) als primäre und bevorzugte Methode zur Verbesserung der Skalierbarkeit und Verfügbarkeit von Webanwendungen und mehreren Servern mit IIS 7.5 IIS 7.0, im Gegensatz zur Verwendung von Failover-Clusterunterstützung sorgfältig. Einer der Vorteile von NLB ist, dass alle Server bei der gleichzeitigen Verarbeitung des eingehenden HTTP-Anforderungen aktiv teilnehmen können. Ein weiterer Vorteil ist, dass in einer Umgebung NLB IIS es viel einfacher zu parallelen Aktualisierungen und Rollbacks unterstützen und gleichzeitig die hohe Verfügbarkeit von Webanwendungen sein kann. Weitere Informationen zur Verwendung von IIS 7.5 oder IIS 7.0 in einem NLB-Umgebung finden Sie unter den folgenden Microsoft-Websites:
http://Learn.IIS.NET/Page.aspx/213/Network-Load-Balancing
http://technet.Microsoft.com/en-us/library/cc770558.aspx
Es ist wichtig zu beachten, dass clustering von IIS mittels clustering die IIS-Dienste nicht immer eine Lösung für hohe Verfügbarkeit für Webanwendungen garantiert. Während die IIS-Dienste (insbesondere der WWW-Dienst) ausgeführt werden können, konnte einen bestimmten Anwendungspool Hostprozess beendet haben, oder die Anwendung möglicherweise internen Server HTTP-Fehler ausgelöst werden. Clustering von Webanwendungen und Überwachung ihrer Gesundheit mithilfe eines benutzerdefinierten Skripts ist der richtige und empfohlene Weg, um einen hohe Verfügbarkeit IIS-Cluster mit Failover-Clusterunterstützung zu erreichen. Es folgt ein Beispielskript, das überwacht den Status eines Anwendungspools zu ermitteln, ob oder nicht gestartet.

Gehen Sie folgendermaßen vor, um hohen Verfügbarkeit für IIS 7.0 und 7.5 Webservern mit Failover-Clusterunterstützung zu konfigurieren. Schritte 3 bis 7 werden im folgenden genauer beschrieben.  Das Beispielskript weiter unten in diesem Artikel kann als ein Beispiel für IIS 7.0 und IIS 7.5, 8.0 IIS verwendet werden.
  1. Installieren Sie die Webserverrolle auf allen Knoten im Cluster. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
    http://technet.Microsoft.com/en-us/library/cc771752.aspx
  2. Installieren Sie die Failover-clustering-Funktion auf allen Knoten im Cluster, und erstellen Sie den Cluster. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
    http://technet.Microsoft.com/en-us/library/dd197477.aspx
  3. Richten Sie eine Dateifreigabe, die für die gemeinsame IIS-Konfiguration verwendet werden.
  4. Konfigurieren Sie die freigegebene IIS-Konfiguration auf allen Knoten im Cluster.
  5. Konfigurieren Sie IIS Offlinedateien für freigegebene Konfiguration auf allen Knoten im Cluster.
  6. Konfigurieren Sie die Website (einschließlich des zugehörigen Anwendungspools), und geben Sie den Speicherort des Inhalts auf einem Clusterknoten.
  7. Hohen Verfügbarkeit für Ihre Website durch Erstellen eines generischen Skripts in Failover-Clusterunterstützung zu konfigurieren.

Richten Sie eine Dateifreigabe, die für die gemeinsame IIS-Konfiguration verwendet werden

  1. Erstellen Sie einen Benutzer, der die Freigabe zugreifen, die für die freigegebenen IIS-Konfiguration verwendet wird.
  2. Erstellen Sie die Dateifreigabe. Diese Freigabe wird verwendet werden, um gemeinsame IIS-Konfiguration zu speichern, die von IIS auf allen Clusterknoten gemeinsam genutzt werden wird. Es gibt mehrere Möglichkeiten:
    • Erstellen Sie auf einem eigenständigen Server, der nicht Teil des Failover-Cluster ist eine Dateifreigabe.
    • Erstellen Sie eine hohe Verfügbarkeit Dateifreigabe, auf einem anderen Windows Server-Failovercluster. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
      http://technet.Microsoft.com/en-us/library/cc731844.aspx
    • Erstellen Sie auf der gleichen Failover-Cluster, auf denen der Hochverfügbarkeits-Website gehostet wird eine hohe Verfügbarkeit Dateifreigabe. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
      http://technet.Microsoft.com/en-us/library/cc731844.aspx
  3. Legen Sie die Berechtigungen für die Freigabe, die Sie in Schritt 2 erstellt haben. Gewähren Sie dem Benutzer, den Sie in Schritt 1 Vollzugriff auf die Dateifreigabe und NTFS-Berechtigungen erstellt.
  4. Bestätigen Sie, dass alle Clusterknoten auf die Dateifreigabe durchsuchen können. Der Pfad zu der Dateifreigabe \\<fileserver>\<share>.</share> </fileserver>

Konfigurieren Sie gemeinsame IIS-Konfiguration auf allen Knoten im cluster

Hinweis Es liegt ein Problem mit freigegebenen IIS-Konfiguration auf Windows 2008 Server aufgrund fehlender Berechtigungen für die Anwendung Host-Hilfsdienst. Für gemeinsam genutzte Konfiguration arbeiten müssen Sie diese Schritte ausführen, beim Einrichten von freigegebenen IIS-Konfiguration auf Windows 2008 Server.
  1. Öffnen einer administrativen Eingabeaufforderung.
  2. Führen Sie den folgenden Befehl aus:
    NET Stop apphostsvc
  3. Führen Sie den folgenden Befehl aus:
    SC Privs Apphostsvc SeChangeNotifyPrivilege/SeTcbPrivilege/SeImpersonatePrivilege
  4. Führen Sie den folgenden Befehl aus:
    Net Start apphostsvc
Nach dem Ausführen dieser Schritte auf jedem Windows 2008 Server im Cluster weiterhin Einrichten von freigegebenen IIS-Konfiguration wie beschrieben in diesem Abschnitt.

Exportieren Sie gemeinsam genutzte Konfiguration auf einem der Clusterknoten auf die Dateifreigabe:
  1. Navigieren Sie zu Verwaltung, und klicken Sie dann auf Internet Information Services (IIS) Manager.
  2. Klicken Sie im linken Bereich auf den Knoten Servername.
  3. Doppelklicken Sie auf Gemeinsam genutzte Konfiguration das Symbol.
  4. Klicken Sie auf der Seite Freigegebene Konfiguration Konfiguration exportieren Klicken Sie im Dialogfeld Aktionen Bereich (rechter Fensterbereich) auf Konfigurationsdateien aus dem lokalen Computer an einen anderen Speicherort exportieren.
  5. In der Konfiguration exportieren Klicken Sie im Dialogfeld geben Sie den Pfad der Datei freigeben)\\<fileserver>\<share></share></fileserver>) in der Physischer Pfad im Feld.
  6. Klicken Sie auf Verbinden Sie sich als, und geben Sie dann den Benutzernamen und das Kennwort für das Benutzerkonto, das Zugriff auf die Freigabe in das gemeinsam genutzte Konfiguration gespeichert ist, und klicken Sie dann auf OK. Dieses Konto wird verwendet werden, auf die Freigabe zugreifen. Sie sollten ein eingeschränkte Active Directory-Konto verwenden, das nicht der Domänenadministrator ist.
  7. In der Konfiguration exportieren im Dialogfeld ein Kennwort, das verwendet werden, die Verschlüsselungsschlüssel zu schützen, und klicken Sie dann auf OK.
  8. Auf der Gemeinsam genutzte Konfiguration Seite, klicken Sie auf der Freigegebene Konfiguration aktivieren das Kontrollkästchen.
  9. Geben Sie den physikalischen Pfad, das Benutzerkonto und das Kennwort, das Sie zuvor eingegeben haben, und klicken Sie dann auf Anwenden Klicken Sie im Dialogfeld Aktionen Bereich.
  10. In der Kennwort für Verschlüsselungsschlüssel ein Kennwort, die Sie zuvor eingerichtet haben, und klicken Sie dann auf den Chiffrierschlüssel OK.
  11. In der Gemeinsam genutzte Konfiguration Klicken Sie im Dialogfeld klicken Sie auf OK.
  12. Klicken Sie auf OK.
Verwenden Sie auf jedem der anderen Clusterknoten die gemeinsam genutzte Konfiguration, die Sie gerade auf die Dateifreigabe exportiert:
  1. Navigieren Sie zu Verwaltung, und klicken Sie dann auf Internet Information Services (IIS) Manager.
  2. Klicken Sie auf den Knoten Servername.
  3. Doppelklicken Sie auf Gemeinsam genutzte Konfiguration das Symbol.
  4. Auf der Gemeinsam genutzte Konfiguration Seite, klicken Sie auf der Freigegebene Konfiguration aktivieren das Kontrollkästchen.
  5. Geben Sie den physischen Pfad der Datei Share (\\<fileserver>\<share></share></fileserver>), das Benutzerkonto und das Kennwort, das Sie zuvor eingegeben, und klicken Sie dann auf Anwenden Klicken Sie im Dialogfeld Aktionen Bereich.
  6. In der Kennwort für Verschlüsselungsschlüssel ein Kennwort, die Sie zuvor eingerichtet haben, und klicken Sie dann auf den Chiffrierschlüssel OK.
  7. In der Gemeinsam genutzte Konfiguration Klicken Sie im Dialogfeld klicken Sie auf OK.
  8. Klicken Sie auf OK.
Hinweis Weitere Informationen zum Einrichten von freigegebener Konfigurationen in IIS finden Sie auf der folgenden Microsoft-Website:
http://Learn.IIS.NET/Page.aspx/264/Shared-Configuration

Konfigurieren Sie IIS Offlinedateien für freigegebene Konfiguration auf allen Knoten im cluster

Aktivieren Sie auf jedem Clusterknoten Offlinedateien:
  1. Installieren von Desktop Experience
    1. Navigieren Sie zu Verwaltung, und klicken Sie dann auf Server-Manager.
    2. Klicken Sie im linken Bereich auf Features.
    3. Klicken Sie auf Hinzufügen von Features im rechten Fensterbereich.
    4. Aktivieren Sie das Desktop Experience das Kontrollkästchen.
    5. Klicken Sie auf Installieren um Desktop Experience zu installieren.
    6. Starten Sie den Computer neu.
  2. Öffnen Sie in der Systemsteuerung Offline-Dateien.
  3. Klicken Sie auf Aktivieren Sie Offlinedateien. Starten Sie den Computer zu diesem Zeitpunkt nicht neu.
  4. Stellen Sie sicher, dass der Cache wird schreibgeschützt. Führen Sie hierzu den folgenden Befehl in einem erhöhten Cmd -Fenster:
    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f 
    
  5. Starten Sie den Computer neu.
  6. Wechseln Sie zu der Dateiserver vom Computer. Mit der rechten Maustaste der Freigabe, die gemeinsame IIS-Konfiguration enthält, und klicken Sie dann auf Immer verfügbar Offline.
    Beachten Sie , dass wenn Sie die Dateifreigabe, hohe Verfügbarkeit auf der gleichen Failover-Cluster einrichten, die IIS-Knoten hostet, wird die Option immer Offline verfügbar nicht angezeigt, bei einem Rechtsklick auf die Freigabe, wenn der Cluster-Knoten, den Sie den hochverfügbare Dateiserver hostet. Sie müssen die hoch verfügbaren Datei-Server-Anwendung auf einen anderen Knoten verschieben.
  7. Öffnen Sie in der Systemsteuerung Offline-Dateien. Klicken Sie auf Synchronisierungscenter öffnen, und klicken Sie dann auf Zeitplan.
  8. Planen Sie eine Offlinedatei synchronisieren, für jeden Tag oder entsprechend der Anforderung. Sie können auch die Offlinesynchronisierung führen alle paar Minuten konfigurieren... Auch wenn Sie keinen Planer einrichten Wenn Sie etwas in der Datei Applicationhost.config ändern, wird die Änderung auf dem Webserver.
Hinweis Weitere Informationen zum Konfigurieren von Offlinedateien für freigegebene Konfiguration in IIS finden Sie auf der folgenden Microsoft-Website:
http://Learn.IIS.NET/Page.aspx/212/Offline-Files-for-Shared-Configuration

Konfigurieren Sie die Website (einschließlich des zugehörigen Anwendungspools), und geben Sie den Speicherort des Inhalts auf einem Clusterknoten

Suchen Sie Cluster-Knoten, der der Cluster-Datenträgerressource, in denen die Inhaltsdateien befinden werden:
  1. Navigieren Sie zu Verwaltung, und klicken Sie dann auf Failovercluster-Manager.
  2. Verbinden Sie mit dem Cluster. Wenn Sie auf einem der Clusterknoten sind, wird der Cluster automatisch in der Liste angezeigt.
  3. Klicken Sie unter Speicher, suchen Sie die Datenträgerressource, auf dem die Webseiteninhalte befinden wird. Dazu erweitern Sie im Speicherbaum für die Ressource. Stellen Sie sicher, dass der Speicher nicht von anderen Hochverfügbarkeits-Anwendung auf dem Cluster verwendet wird. Sie finden die Speicherung unter Verfügbarer Speicher.
  4. Beachten Sie den Cluster-Knoten, auf dem diese Ressource online ist. Konfigurieren Sie IIS auf dem Clusterknoten.
  5. Beachten Sie den Clusternamen für Datenträger-Ressource. Sie verwenden diese die Inhaltsdateien.
Konfigurieren Sie auf dem Clusterknoten, auf dem die Ressource online ist den Webserver so verwenden Sie den freigegebenen Datenträger für den Inhalt der Website:
  1. Navigieren Sie zu Verwaltung, und klicken Sie dann auf Internet Information Services (IIS) Manager.
  2. Erweitern Sie im linken Bereich den Knoten Servername.
  3. Erweitern Sie Websites, und klicken Sie unter Websites, klicken Sie auf die Website, die Sie konfigurieren.
  4. Wählen Sie im rechten Fensterbereich Erweiterte Einstellungen Klicken Sie unter Website verwalten.
  5. Suchen Sie die Physischer Pfad unter-Eigenschaft Allgemein Einstellungen, und geben Sie an der Stelle, wo sich die Website-Content-Dateien befinden. Dies ist der Speicherort der Cluster-Datenträgerressource, die Sie in Schritt 5 von der vorherigen Prozedur notiert haben.
  6. Klicken Sie auf OK.

Konfigurieren Sie hohen Verfügbarkeit für Ihre Website durch Erstellen eines generischen Skripts im Failovercluster-Manager

Für den letzten Schritt zum Konfigurieren der hohen Verfügbarkeit für IIS-Webservern, richten Sie die Ressource für allgemeines Skript, die zum Überwachen der Website und der Anwendungspool für die Website verwendet werden:
  1. Kopieren Sie das Skript am Ende dieses Artikels auf jedem Clusterknoten auf Windows\System32\inetsrv\Clusweb7.vbs.
  2. Standardmäßig überwacht das Skript eine Website mit dem Namen "Default Web Site" und ein Anwendungspool mit dem Namen "DefaultAppPool". Ist dies nicht die richtige Website und der Anwendungspool, die Name des Standorts und APP_POOL_NAME -Variablen zu ändern. Stellen Sie sicher, dass der gleichen Website und der Anwendungspool im Skript auf allen Knoten im Cluster vorhanden sind. Beachten Sie, dass die Groß-und Kleinschreibung berücksichtigt sind.
  3. Navigieren Sie zu Verwaltung, und klicken Sie dann auf Failovercluster-Manager.
  4. Verbinden Sie mit dem Cluster. Wenn Sie auf einem der Clusterknoten sind, wird der Cluster automatisch in der Liste angezeigt.
  5. Mit der rechten Maustaste des Clusters, und klicken Sie dann auf Konfigurieren eines Diensts oder einer Anwendung. Ein Assistent erstellt die Arbeitslast für hohe Verfügbarkeit.
  6. Klicken Sie auf Allgemeines Skript.
  7. Wählen Sie die Skriptdatei aus den folgenden Pfad: %systemroot%\System32\Inetsrv\clusweb7.vbs
  8. Legen Sie den Namen (Client Access Point, CAP), um den Namen der Website, den Clients verwenden, um die hohe Verfügbarkeit-Website herstellen. Geben Sie die statische IP-Adressen für die Website CAP verwenden. Wenn Sie DHCP verwenden, wird diese Option nicht angezeigt.
  9. Auf der Speicher auswählen Schritt: Wählen Sie aus den freigegebenen Clusterdatenträger auf dem die Inhaltsdateien befinden. Der Speicher sollte nicht von anderen Hochverfügbarkeits-Anwendung auf dem Cluster. Beachten Sie, dass wenn die Dateifreigabe, die für die freigegebenen IIS-Konfiguration verwendet wird, die auf demselben Cluster gehostet wird, eine anderen Datenträgerressource hier verwendet werden soll.
  10. Nachdem Sie die Einstellungen zu bestätigen, wird der Assistent die Clustergruppe, Clusterressourcen und Abhängigkeiten zwischen den Ressourcen erstellen und die Ressourcen online schalten.
Hinweis Um mehrere hohen Verfügbarkeit von Websites auf der gleichen Failover-Cluster hosten möchten, folgen Sie den gleichen Schritten wie oben beschrieben. Verwenden Sie jedoch eine andere Skriptdatei für jede Website und anderen gruppierten freigegebenen Speicher. Z. B. in % systemroot%\System32\Inetsrv, verwenden Sie clusweb7.vbs für die erste Website, clweb7-2.vbs für die zweite, clweb7-3.vbs für die dritte usw. Jede Skriptdatei überwacht eine andere Website und einen Anwendungspool.

Wichtigedem folgenden Skript Beispiel dient nur zur und von Microsoft nicht explizit unterstützt. Verwendung dieses Skripts in einer Clusterumgebung IIS 7.0, IIS 7.5 oder IIS 8.0 ist auf eigene Gefahr.
'<begin script sample>


'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another web site, change the SITE_NAME below
'To monitor another application pool, change the APP_POOL_NAME below
'More thorough and application-specific health monitoring logic can be added to the script if needed

Option Explicit

DIM SITE_NAME
DIM APP_POOL_NAME
Dim START_WEB_SITE
Dim START_APP_POOL
Dim SITES_SECTION_NAME
Dim APPLICATION_POOLS_SECTION_NAME
Dim CONFIG_APPHOST_ROOT
Dim STOP_WEB_SITE


'Note:
'Replace this with the site and application pool you want to configure high availability for
'Make sure that the same web site and application pool in the script exist on all cluster nodes. Note that the names are case-sensitive.
SITE_NAME = "Default Web Site"
APP_POOL_NAME = "DefaultAppPool"

START_WEB_SITE = 0
START_APP_POOL = 0
STOP_WEB_SITE  = 1
SITES_SECTION_NAME = "system.applicationHost/sites"
APPLICATION_POOLS_SECTION_NAME = "system.applicationHost/applicationPools"
CONFIG_APPHOST_ROOT = "MACHINE/WEBROOT/APPHOST"

'Helper script functions


'Find the index of the website on this node
Function FindSiteIndex(collection, siteName)

    Dim i

    FindSiteIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = siteName Then
            FindSiteIndex = i
            Exit For
        End If		 
    Next

End Function


'Find the index of the application pool on this node
Function FindAppPoolIndex(collection, appPoolName)

    Dim i

    FindAppPoolIndex = -1    

    For i = 0 To (CInt(collection.Count) - 1)
        If collection.Item(i).GetPropertyByName("name").Value = appPoolName Then
            FindAppPoolIndex = i
            Exit For
        End If		 
    Next

End Function

'Get the state of the website
Function GetWebSiteState(adminManager, siteName)

    Dim sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set sitesSection = adminManager.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, siteName)
    If index = -1 Then
        GetWebSiteState = -1
    End If	    

    Set siteSection = sitesSectionCollection(index)

    GetWebSiteState = siteSection.GetPropertyByName("state").Value

End Function

'Get the state of the ApplicationPool
Function GetAppPoolState(adminManager, appPool)

    Dim configSection, index, appPoolState

    set configSection = adminManager.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)
    index = FindAppPoolIndex(configSection.Collection, appPool)

    If index = -1 Then
        GetAppPoolState = -1
    End If	    

    GetAppPoolState = configSection.Collection.Item(index).GetPropertyByName("state").Value
End Function


'Start the w3svc service on this node
Function StartW3SVC()

    Dim objWmiProvider
    Dim objService
    Dim strServiceState
    Dim response

    'Check to see if the service is running
    set objWmiProvider = GetObject("winmgmts:/root/cimv2")
    set objService = objWmiProvider.get("win32_service='w3svc'")
    strServiceState = objService.state

    If ucase(strServiceState) = "RUNNING" Then
        StartW3SVC = True
    Else
        'If the service is not running, try to start it
        response = objService.StartService()

        'response = 0  or 10 indicates that the request to start was accepted
        If ( response <> 0 ) and ( response <> 10 ) Then
            StartW3SVC = False
        Else
            StartW3SVC = True
        End If
    End If
    
End Function


'Start the application pool for the website
Function StartAppPool()

    Dim ahwriter, appPoolsSection, appPoolsCollection, index, appPool, appPoolMethods, startMethod, callStartMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")

    Set appPoolsSection = ahwriter.GetAdminSection(APPLICATION_POOLS_SECTION_NAME, CONFIG_APPHOST_ROOT)       
    Set appPoolsCollection = appPoolsSection.Collection

    index = FindAppPoolIndex(appPoolsCollection, APP_POOL_NAME)
    Set appPool = appPoolsCollection.Item(index)
    
    'See if it is already started
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
        Exit Function
    End If

    'Try To start the application pool
    Set appPoolMethods = appPool.Methods
    Set startMethod = appPoolMethods.Item(START_APP_POOL)
    Set callStartMethod = startMethod.CreateInstance()
    callStartMethod.Execute()
    
    'If started return true, otherwise return false
    If appPool.GetPropertyByName("state").Value = 1 Then
        StartAppPool = True
    Else
        StartAppPool = False
    End If

End Function


'Start the website
Function StartWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    if siteSection.GetPropertyByName("state").Value = 1 Then
        'Site is already started
        StartWebSite = True
        Exit Function
    End If

    'Try to start site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(START_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

    'Check to see if the site started, if not return false
    If siteSection.GetPropertyByName("state").Value = 1 Then
        StartWebSite = True
    Else
        StartWebSite = False
    End If

End Function


'Stop the website
Function StopWebSite()

    Dim ahwriter, sitesSection, sitesSectionCollection, siteSection, index, siteMethods, startMethod, executeMethod, autoStartProperty
    Set ahwriter = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
    Set sitesSection = ahwriter.GetAdminSection(SITES_SECTION_NAME, CONFIG_APPHOST_ROOT)
    Set sitesSectionCollection = sitesSection.Collection

    index = FindSiteIndex(sitesSectionCollection, SITE_NAME)
    Set siteSection = sitesSectionCollection(index)

    'Stop the site
    Set siteMethods = siteSection.Methods
    Set startMethod = siteMethods.Item(STOP_WEB_SITE)
    Set executeMethod = startMethod.CreateInstance()
    executeMethod.Execute()

End Function



'Cluster resource entry points. More details here:
'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx

'Cluster resource Online entry point
'Make sure the website and the application pool are started
Function Online( )

    Dim bOnline
    'Make sure w3svc is started
    bOnline = StartW3SVC()

    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because w3svc could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the application pool is started
    bOnline = StartAppPool()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the application pool could not be started."
        Online = False
        Exit Function
    End If


    'Make sure the website is started
    bOnline = StartWebSite()
    If bOnline <> True Then
        Resource.LogInformation "The resource failed to come online because the web site could not be started."
        Online = False
        Exit Function
    End If

    Online = true 

End Function

 
'Cluster resource offline entry point
'Stop the website
Function Offline( )

    StopWebSite()
    Offline = true

End Function


'Cluster resource LooksAlive entry point
'Check for the health of the website and the application pool
Function LooksAlive( )

    Dim adminManager, appPoolState, configSection, i, appPoolName, appPool, index

    i = 0
    Set adminManager  = CreateObject("Microsoft.ApplicationHost.AdminManager")
    appPoolState = -1

    'Get the state of the website
    if GetWebSiteState(adminManager, SITE_NAME) <> 1 Then
        Resource.LogInformation "The resource failed because the " & SITE_NAME & " web site is not started."
        LooksAlive = false
        Exit Function
    End If


    'Get the state of the Application Pool
     if GetAppPoolState(adminManager, APP_POOL_NAME) <> 1 Then
         Resource.LogInformation "The resource failed because Application Pool " & APP_POOL_NAME & " is not started."
         LooksAlive = false  
	 Exit Function
     end if

     '  Web site and Application Pool state are valid return true
     LooksAlive = true
End Function


'Cluster resource IsAlive entry point
'Do the same health checks as LooksAlive
'If a more thorough than what we do in LooksAlive is required, this should be performed here
Function IsAlive()   

    IsAlive = LooksAlive

End Function


'Cluster resource Open entry point
Function Open()

    Open = true

End Function


'Cluster resource Close entry point
Function Close()

    Close = true

End Function


'Cluster resource Terminate entry point
Function Terminate()

    Terminate = true

End Function
'<end script sample>

Eigenschaften

Artikel-ID: 970759 - Geändert am: Montag, 18. März 2013 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Information Services 8.0
  • Microsoft Internet Information Services 7.5
  • Microsoft Internet Information Services 7.0
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Standard
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 Service Pack 2
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
Keywords: 
kbclustering kbhowto kbsurveynew kbmt KB970759 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 970759
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com