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

Einführung

Dieser Artikel beschreibt, wie Microsoft-Internetinformationsdienste (IIS) 7.5 oder IIS 7.0 in Windows Server 2008 oder Windows Server 2008 R2-Failovercluster konfigurieren. Die Verfahren in diesem Artikel gelten nur für den WWW-Publishingdienst. Anleitung zum Konfigurieren des FTP-Publishingdienst in einem Failovercluster finden Sie in:
974603 wie FTP 7.5 für IIS 7.0 in Windows Server 2008-Failovercluster konfigurieren

Weitere Informationen

In früheren Versionen von Internet Information Services bereitgestellten Microsoft generische Ressource Monitor Komponenten hohe Verfügbarkeit Web Server-Instanzen mithilfe der Microsoft Clustering-Infrastruktur unterstützen. Benutzerdefinierter Code musste jedoch eine derartige Lösung voll auszuschöpfen. Außerdem haben die von Microsoft bereitgestellten generischen Skripts die Anforderungen der Kunden nicht erfüllt. Konfigurieren Sie IIS 7.5 und IIS 7.0 in einer Clusterumgebung mit Windows Server Failover-Clusterunterstützung müssen Sie benutzerdefinierte (Skriptcode) verwenden, um so eine hohe Verfügbarkeit ermöglichen. Wenn Sie dies tun, können Benutzer die Setup, um ihre Bedürfnisse anpassen. Dies gibt ihnen vollständige Kontrolle über die hohe Verfügbarkeit Integration von Web Applications. Das Skript, das Schnittstellen für die Verwaltung und Überwachung in IIS 7.5 und IIS 7.0 eingeführt wurden bieten außerdem eine umfangreichere Umgebung als zuvor bereitgestellten Skripts.

Hinweis IIS 7.0-Installationsdateien enthalten fälschlicherweise die Clusweb.vbs und Clusftp.vbs Skriptdateien, die in IIS 6.0 IIS verwendeten cluster Verwaltungsaufgaben. Verwenden Sie diese Skripts nicht mit IIS 7.0 oder höher.

Microsoft empfiehlt, dass Administratoren die Verwendung von Network Load Balancing (NLB) als primäre und bevorzugte Methode zur Verbesserung der Skalierung und Verfügbarkeit von ASP.NET-Webanwendungen und mehreren Servern mit IIS 7.5 IIS 7.0 anstelle von Failoverclustering sorgfältig. Einer der Vorteile von NLB ist, dass alle Server aktiv die gleichzeitige Verarbeitung von HTTP-Anfragen teilnehmen können. Ein weiterer Vorteil ist, dass in einer Umgebung NLB IIS es leichter zu parallelen Updates und Rollbacks gleichzeitig hohe Verfügbarkeit von ASP.NET-Webanwendungen unterstützen. Weitere Informationen über IIS 7.5 oder IIS 7.0 in einem NLB-Umgebung finden Sie in den folgenden Microsoft-Websites:Es ist wichtig zu beachten, dass clustering von IIS durch clustering die IIS-Dienste nicht immer eine Lösung mit hoher Verfügbarkeit für ASP.NET-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 interne Serverfehler HTTP auslösen. Clustering von ASP.NET-Webanwendungen und überwacht deren Zustand mit einem benutzerdefinierten Skript ist korrekt und empfohlene Weg zu einem Cluster mit hoher Verfügbarkeit IIS mit Failover-Clusterunterstützung. Es folgt ein Beispielskript, das überwacht den Status eines Anwendungspools zu ermitteln, ob oder nicht gestartet.


Gehen Sie folgendermaßen vor, um hohe Verfügbarkeit für IIS 7.0 und 7.5 Webserver Failovercluster konfigurieren. Schritte 3 bis 7 werden im folgenden ausführlich beschrieben.  Das Beispielskript in diesem Artikel als Beispiel für IIS 7.0 und IIS 7.5 IIS 8.0 dienen.
  1. Installieren Sie die Webserverrolle auf allen Clusterknoten. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
  2. Installieren Sie das Failoverclustering-Feature auf allen Clusterknoten, und erstellen Sie den Cluster. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
  3. Richten Sie eine Dateifreigabe für gemeinsame IIS-Konfiguration verwendet wird.
  4. Konfigurieren Sie die gemeinsame IIS-Konfiguration auf allen Clusterknoten.
  5. Konfigurieren Sie IIS Offlinedateien für freigegebene Konfiguration auf allen Clusterknoten.
  6. Die Website (einschließlich des zugeordneten Anwendungspools), und geben Sie den Speicherort des Inhalts auf einem Clusterknoten.
  7. Konfigurieren Sie hohen Verfügbarkeit für Ihre Website erstellen Sie ein Skript im Failovercluster.

Richten Sie eine Dateifreigabe für gemeinsame IIS-Konfiguration verwendet wird

  1. Erstellen Sie einen Benutzer, der auf die Freigabe, die für die gemeinsame IIS-Konfiguration verwendet werden.
  2. Erstellen der Dateifreigabe. Diese Freigabe verwendet gemeinsame IIS-Konfiguration zu speichern, die von IIS auf allen Clusterknoten gemeinsam genutzt werden. Es gibt mehrere Optionen:
    • Erstellen Sie auf einem eigenständigen Server, der nicht Teil des Failover-Cluster ist eine Dateifreigabe.
    • Auf anderen Windows Server-Failovercluster Erstellen einer Dateifreigabe für hohe Verfügbarkeit. Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
    • Erstellen Sie in den Failovercluster, der hohe Verfügbarkeit Website hostet eine hohe Verfügbarkeit Dateifreigabe Weitere Informationen finden Sie auf der folgenden Microsoft-Website:
  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 Berechtigungen für Vollzugriff auf die Dateifreigabe erstellt.
  4. Bestätigen Sie, dass alle Clusterknoten zur Dateifreigabe durchsuchen können. Der Pfad zu der Dateifreigabe \\ < Dateiserver > \ < Freigabe >.

Konfigurieren Sie die gemeinsame IIS-Konfiguration auf allen Clusterknoten

Hinweis Es ist ein Problem mit IIS gemeinsame Konfiguration unter Windows 2008 Server durch fehlende Berechtigungen für die Anwendung Host-Hilfsdienst. Für freigegebene Konfiguration funktioniert müssen Sie folgendermaßen beim gemeinsamen IIS-Konfiguration auf Windows 2008 Server einrichten.
  1. Öffnen Sie ein administrative Eingabeaufforderungsfenster.
  2. Führen Sie den folgenden Befehl ein:
    Net Stop apphostsvc
  3. Führen Sie den folgenden Befehl ein:
    SC Zugriffsrechte: Apphostsvc SeTcbPrivilege/SeChangeNotifyPrivilege/SeImpersonatePrivilege
  4. Führen Sie den folgenden Befehl ein:
    Net Start apphostsvc

Nachdem Sie diese Schritte auf jedem Windows 2008 Server im Cluster fortfahren Sie IIS gemeinsame Konfiguration wie in diesem Abschnitt.

Exportieren Sie auf einem Clusterknoten gemeinsame Konfiguration auf die Dateifreigabe:
  1. Navigieren Sie zu Verwaltungund dann auf Internet Information Services (IIS) Manager.
  2. Klicken Sie im linken Bereich auf den Knoten des Servers.

  3. Doppelklicken Sie auf Freigegebene Konfiguration .
  4. Klicken Sie auf der Seite freigegebene Konfiguration auf Export Configuration Aktionen (rechten) Konfigurationsdateien exportieren vom lokalen Computer an einen anderen Speicherort.
  5. Klicken Sie im Dialogfeld Export-Konfiguration Geben Sie den Pfad der Dateifreigabe (\\ < Dateiserver > \ < Freigabe >) im physischen Pfad .
  6. Klicken Sie auf Verbinden als, und geben Sie den Benutzernamen und das Kennwort für das Benutzerkonto, das Zugriff auf die Freigabe in die gemeinsame Konfiguration wird gespeichert und dann auf OK. Dieses Konto wird Zugriff auf die Freigabe verwendet werden. Sie sollten ein eingeschränkte Active Directory-Konto verwenden, das kein Domänenadministrator ist.
  7. Geben Sie im Dialogfeld Export-Konfiguration ein Kennwort, das zum Schützen der Verschlüsselungsschlüssel verwendet werden, und klicken Sie auf OK.
  8. Auf der Seite Freigegebene Konfiguration aktivieren Sie das Kontrollkästchen gemeinsame Konfiguration aktivieren .
  9. Geben Sie den physischen Pfad, das Benutzerkonto und das zuvor eingegebene Kennwort, und klicken Sie im Aktionsbereich auf Übernehmen .
  10. Klicken Sie im Dialogfeld Schlüssel Verschlüsselungskennwort Geben Sie das Verschlüsselungsschlüssel-Kennwort, das Sie zuvor festgelegt und klicken Sie dann auf OK.
  11. Klicken Sie im Dialogfeld Freigegebene Konfiguration klicken Sie auf OK.
  12. Klicken Sie auf OK.
Verwenden Sie auf allen anderen Clusterknoten freigegebene Konfiguration, die nur auf die Dateifreigabe exportiert:
  1. Navigieren Sie zu Verwaltungund dann auf Internet Information Services (IIS) Manager.
  2. Klicken Sie auf den Knoten des Servers.

  3. Doppelklicken Sie auf Freigegebene Konfiguration .
  4. Auf der Seite Freigegebene Konfiguration aktivieren Sie das Kontrollkästchen gemeinsame Konfiguration aktivieren .
  5. Geben Sie den physischen Pfad der Dateifreigabe (\\ < Dateiserver > \ < Freigabe >), das Benutzerkonto und das Kennwort, die Sie zuvor, und klicken Sie im Aktionsbereich auf Übernehmen .
  6. Klicken Sie im Dialogfeld Schlüssel Verschlüsselungskennwort Geben Sie das Verschlüsselungsschlüssel-Kennwort, das Sie zuvor festgelegt und klicken Sie dann auf OK.
  7. Klicken Sie im Dialogfeld Freigegebene Konfiguration 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:

Konfigurieren von IIS Offlinedateien für freigegebene Konfiguration auf allen Clusterknoten

Aktivieren Sie auf jedem Clusterknoten Offlinedateien:
  1. Installieren von Desktop Experience
    1. Navigieren Sie zu Verwaltung, und klicken Sie auf Server-Manager.
    2. Klicken Sie im linken Bereich auf Funktionen.
    3. Klicken Sie im rechten Fensterbereich auf Features hinzufügen .
    4. Aktivieren Sie das Kontrollkästchen Desktop Experience .
    5. Klicken Sie auf Installieren , um Desktop Experience zu installieren.
    6. Starten Sie den Computer neu.
  2. Öffnen Sie im Bedienfeld Offlinedateien.
  3. Klicken Sie auf Offlinedateien aktivieren. Den Computer zu diesem Zeitpunkt nicht neu.
  4. Sicherstellen, dass der Cache auf 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. Maustaste auf die Freigabe, die die gemeinsame IIS-Konfiguration enthält und klicken Sie dann auf Immer Offline verfügbar.
    Hinweis , wenn die Dateifreigabe hohe Verfügbarkeit in den Failovercluster einrichten, die IIS-Knoten als Host fungiert, erscheint die Option immer Offline verfügbar nicht, Rechtsklick auf die Freigabe Wenn Clusterknoten sind auf hohe Verfügbarkeit Dateiserver befindet. Sie müssen hoch verfügbaren Datei-Server-Anwendung auf einen anderen Knoten verschieben.
  7. Öffnen Sie im Bedienfeld Offlinedateien. Öffnen des Synchronisierungscentersauf und klicken Sie dann auf Zeitplan.

  8. Planen Sie eine Offlinedatei synchronisieren für jeden Tag oder entsprechend der Anforderung. Sie können auch offline synchronisieren, um alle paar Minuten konfigurieren... Auch wenn Sie nicht von einem Planer in der Datei "applicationHost.config" ändern festlegen, wird die Änderung auf dem Webserver.
Hinweis Weitere Informationen zum Konfigurieren von Offlinedateien für eine gemeinsam genutzte Konfiguration in IIS finden Sie auf der folgenden Microsoft-Website:

Die Website (einschließlich des zugeordneten Anwendungspools) und geben Sie den Speicherort des Inhalts auf einem Clusterknoten

Suchen Sie Clusterknoten, der die Cluster-Datenträgerressource besitzt, werden die Inhaltsdateien gespeichert:
  1. Navigieren Sie zu Verwaltungund dann auf Failover Cluster-Manager.

  2. Verbinden Sie mit dem Cluster. Werden auf einem Clusterknoten wird der Cluster automatisch in der Liste angezeigt.
  3. Finden Sie unter Speichernder Ressource auf der Inhalt der Webseite befinden. Erweitern Sie dazu im Speicherbaum für die Ressource. Stellen Sie sicher, dass der Speicher nicht von anderen Hochverfügbarkeits-Anwendung im Cluster verwendet wird. Finden Sie den Speicher unter den Verfügbaren Speicher.
  4. Hinweis den Clusterknoten, auf dem die Ressource online ist. Konfigurieren Sie IIS auf dem Clusterknoten.
  5. Hinweis der Name der Datenträgerressource Cluster. Dies ist die Inhaltsdateien verwendet.
Konfigurieren Sie auf dem Clusterknoten, auf dem die Ressource online ist den Webserver für Websiteinhalte freigegebenen verwenden:
  1. Navigieren Sie zu Verwaltungund dann auf Internet Information Services (IIS) Manager.
  2. Erweitern Sie im linken Bereich den Knoten des Servers.

  3. Erweitern Sie Standorte, und klicken Sie unter Seitenauf der Website, die Sie konfigurieren.
  4. Wählen Sie im rechten Bereich Advanced Settings unter Website verwalten.
  5. Suchen Sie die Eigenschaft Physischen Pfad unter General Settings, und geben Sie den Speicherort die Inhaltsdateien gespeichert. Dies ist der Speicherort der Cluster-Datenträgerressource, die in Schritt 5 des vorherigen Verfahrens angegeben.
  6. Klicken Sie auf OK.

Konfigurieren Sie hohen Verfügbarkeit für Ihre Website erstellen Sie ein Skript im Failovercluster-Manager

Im letzten Schritt konfigurieren Sie hohen Verfügbarkeit für IIS-Webserver, die generische Skriptressource, mit der Überwachung der Website und den Anwendungspool für die Website, einrichten:
  1. Auf jedem Clusterknoten Windows\System32\inetsrv\Clusweb7.vbs soll das Skript am Ende dieses Artikels.
  2. Das Skript überwacht standardmäßig eine Website mit dem Namen "Standardwebsite" und einen Anwendungspool mit dem Namen "DefaultAppPool". Ist dies nicht die richtige Website und den Anwendungspool, ändern Sie die Name des Standorts und APP_POOL_NAME Variablen. Stellen Sie sicher, dass die Website und den Anwendungspool im Skript auf allen Clusterknoten vorhanden. Beachten Sie, dass die Namen beachtet werden.
  3. Navigieren Sie zu Verwaltungund dann auf Failover Cluster-Manager.
  4. Verbinden Sie mit dem Cluster. Werden auf einem Clusterknoten wird der Cluster automatisch in der Liste angezeigt.
  5. Maustaste auf Cluster, und klicken Sie dann auf einen Dienst oder eine Anwendung. Ein Assistent erstellt die Arbeitslast hohe Verfügbarkeit.
  6. Klicken Sie auf Allgemeines Skript.
  7. Wählen Sie die Skriptdatei aus dem folgenden Pfad: %systemroot%\System32\Inetsrv\clusweb7.vbs
  8. Legen Sie den Namen (Client Access Point, CAP) auf den Namen der Website, mit denen Clients Hochverfügbarkeits-Website herstellen. Geben Sie statische IP-Adressen für die Website CAP verwenden. Wenn Sie DHCP verwenden, wird diese Option nicht angezeigt.
  9. Wählen Sie im Schritt Speicher auswählen den freigegebenen Clusterdatenträger auf dem die Inhaltsdateien gespeichert. Der Speicher sollte nicht von anderen Hochverfügbarkeits-Anwendung auf dem Cluster. Beachten Sie, dass wenn die Dateifreigabe für gemeinsame IIS-Konfiguration verwendet wird auf demselben Cluster gehostet wird, eine andere Ressource hier verwendet werden soll.
  10. Nach der Bestätigung der Assistent erstellt die Clustergruppe Clusterressourcen und die Abhängigkeit zwischen den Ressourcen und Ressourcen online schalten.
Hinweis Um mehrere hohe Verfügbarkeit von Websites in den Failovercluster hosten, dieselben Schritte wie oben beschrieben. Jedoch verwenden Sie eine andere Datei für jede Website und anderen gruppierten freigegebenen Speicher. Beispielsweise in % systemroot%\System32\Inetsrv verwenden Sie clusweb7.vbs für die erste Website, clweb7-2.vbs für den zweiten clweb7-3.vbs für die dritte usw. Jede Skriptdatei überwacht eine andere Website und den Anwendungspool.

Wichtigedas folgende Skript Beispiel nur Zwecken und von Microsoft nicht ausdrücklich unterstützt. Dieses Skript in einer Clusterumgebung IIS 7.0, IIS 7.5 oder IIS 8.0 verwendet 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

Artikelnummer: 970759 – Letzte Überarbeitung: 17.02.2017 – Revision: 2

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 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Standard, Windows Server 2012 Standard, 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

Feedback