Configurando o Serviço de Publicação da World Wide Web do IIS em um cluster de failover do Windows Server

Este artigo descreve como configurar o W3SVC ( Serviços de Informações da Internet da Microsoft World Wide Web Publishing Service) do Serviços de Informações da Internet da Microsoft (IIS) em um WSFC (cluster de failover do Windows Server).

Versão original do produto: Windows Server 2008 e versões posteriores, Serviços de Informações da Internet 8.0 e versões posteriores
Número KB original: 970759

Introdução

Os procedimentos neste artigo se aplicam somente ao World Wide Web Publishing Service. Para obter instruções sobre como configurar o serviço de Publicação FTP em um cluster de failover, consulte Como configurar o FTP para IIS em um cluster de failover do Windows Server.

Mais informações

Em versões anteriores dos Serviços de Informações da Internet, a Microsoft forneceu componentes genéricos do monitor de recursos para dar suporte a instâncias de servidor Web de alta disponibilidade usando a infraestrutura do Microsoft Clustering. No entanto, o código personalizado era necessário para compreender totalmente o potencial dessa solução. Além disso, os scripts genéricos fornecidos pela Microsoft não atendem às necessidades do cliente. Para configurar o IIS 7.0 ou uma versão posterior em um ambiente clusterizado que usa o clustering de failover do Windows Server, você precisa usar um código personalizado (script) para habilitar um cenário de alta disponibilidade. Quando você faz isso, os usuários podem personalizar a configuração para atender às suas necessidades. que lhes dá controle total sobre a integração de alta disponibilidade de aplicativos Web. Além disso, as interfaces de script para administração e monitoramento que foram introduzidas no IIS 7.0 fornecem um ambiente mais avançado do que os scripts fornecidos anteriormente.

Observação

Os arquivos de instalação do IIS 7.0 incluem incorretamente os arquivos de scriptClusweb.vbse Clusftp.vbs usados no IIS 6.0 para tarefas administrativas de cluster do IIS. Não use esses scripts com o IIS 7.0 ou uma versão posterior.

Recomendamos que os administradores avaliem cuidadosamente o uso do NLB (Balanceamento de Carga de Rede) como o método principal e preferencial para melhorar a escalabilidade e a disponibilidade de aplicativos Web com vários servidores executando o IIS 7.0 ou uma versão posterior, em vez de usar o clustering de failover. Um dos benefícios do NLB é que todos os servidores podem participar ativamente da manipulação simultânea de solicitações HTTP (HyperText Transfer Protocol) de entrada. Outro benefício é que, em um ambiente IIS NLB, pode ser muito mais fácil dar suporte a atualizações sem interrupção e reversões, enquanto ainda fornece alta disponibilidade de aplicativos Web. Para obter mais informações sobre como usar o IIS 7.0 ou uma versão posterior em um ambiente NLB, consulte os seguintes artigos:

É importante considerar que o clustering do IIS por meio do clustering dos serviços do IIS nem sempre garante uma solução de alta disponibilidade para aplicativos Web. Embora os serviços do IIS (especificamente o serviço WWW) possam estar em execução, o processo de hospedagem de um pool de aplicativos específico pode ter terminado ou o aplicativo pode estar gerando erros HTTP internos do servidor. Agrupar os aplicativos Web e monitorar sua integridade usando um script personalizado é a maneira correta e recomendada de obter um cluster IIS de alta disponibilidade usando clustering de failover. Veja abaixo um script de exemplo que monitora o estado de um pool de aplicativos para determinar se ele foi iniciado ou não.

Para configurar a alta disponibilidade para o IIS 7.0 ou um servidor Web de versão posterior usando clustering de failover, siga estas etapas. As etapas 3 a 7 são descritas mais detalhadamente abaixo. O script de exemplo mais adiante neste artigo pode ser usado como um exemplo para o IIS 7.0 ou uma versão posterior.

  1. Instale a função de Servidor Web em todos os nós de cluster. Para obter detalhes, consulte o Guia de Implantação do IIS 7.
  2. Instale o recurso de clustering de failover em todos os nós de cluster e crie o cluster. Para obter detalhes, consulte o Guia de Implantação de Cluster de Failover.
  3. Configure um compartilhamento de arquivos que será usado para a configuração compartilhada do IIS.
  4. Configure a configuração compartilhada do IIS em todos os nós de cluster.
  5. Configure arquivos offline do IIS para configuração compartilhada em todos os nós de cluster.
  6. Configure o site (incluindo o pool de aplicativos associado) e especifique o local de seu conteúdo em um nó de cluster.
  7. Configure a alta disponibilidade para seu site criando um script genérico no clustering de failover.

Configurar um compartilhamento de arquivos que será usado para a configuração compartilhada do IIS

  1. Crie um usuário que acessará o compartilhamento que será usado para a configuração compartilhada do IIS.
  2. Crie o compartilhamento de arquivos. Esse compartilhamento será usado para armazenar a configuração compartilhada do IIS que será compartilhada entre o IIS em todos os nós de cluster. Há várias opções:
  3. Defina as permissões no compartilhamento que você criou na etapa 2. Dê ao usuário que você criou na etapa 1 permissões de Controle Total para o compartilhamento de arquivos e permissões NTFS.
  4. Confirme se todos os nós de cluster podem navegar até o compartilhamento de arquivos. O caminho para o compartilhamento de arquivos é \\<fileserver>\<share>.

Configurar a configuração compartilhada do IIS em todos os nós de cluster

Observação

Há um problema com a configuração compartilhada do IIS no Windows 2008 Server devido a privilégios ausentes para o Application Host Helper Service. Para que a configuração compartilhada funcione, você deve seguir estas etapas ao definir a configuração compartilhada do IIS no Windows 2008 Server.

  1. Abra um prompt de comando administrativo.

  2. Execute o seguinte comando:

    net stop apphostsvc
    
  3. Execute o seguinte comando:

    sc privs apphostsvc SeChangeNotifyPrivilege/SeTcbPrivilege/SeImpersonatePrivilege
    
  4. Execute o seguinte comando:

    net start apphostsvc
    

Depois de concluir essas etapas em cada Servidor do Windows 2008 no cluster, continue definindo a configuração compartilhada do IIS, conforme descrito nesta seção.

Em um dos nós de cluster, exporte a configuração compartilhada para o compartilhamento de arquivos:

  1. Navegue até Ferramentas Administrativas e selecione o Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel esquerdo, selecione o nó de nome do servidor.
  3. Clique duas vezes no ícone configuração compartilhada .
  4. Na página Configuração Compartilhada, selecione Exportar Configuração no painel Ações (o painel direito) para exportar os arquivos de configuração do computador local para outro local.
  5. Na caixa de diálogo Exportar Configuração , digite o caminho do compartilhamento de arquivos (\\<fileserver>\<share>) na caixa Caminho físico.
  6. Selecione Conectar como e digite o nome de usuário e a senha da conta de usuário que tem acesso ao compartilhamento no qual a configuração compartilhada está armazenada e, em seguida, selecione OK. Essa conta será usada para acessar o compartilhamento. Você deve usar uma conta restrita do Active Directory que não seja o administrador de domínio.
  7. Na caixa de diálogo Exportar Configuração , digite uma senha que será usada para proteger as chaves de criptografia e selecione OK.
  8. Na página Configuração Compartilhada , marque a caixa de seleção Habilitar configuração compartilhada.
  9. Digite o caminho físico, a conta de usuário e a senha que você inseriu anteriormente e selecione Aplicar no painel Ações.
  10. Na caixa de diálogo Senha de Chaves de Criptografia, digite a senha da chave de criptografia que você definiu anteriormente e selecione OK.
  11. Na caixa de diálogo Configuração Compartilhada, selecione OK.
  12. Selecione OK.

Em cada um dos outros nós de cluster, use a configuração compartilhada que você acabou de exportar para o compartilhamento de arquivos:

  1. Navegue até Ferramentas Administrativas e selecione o Gerenciador dos Serviços de Informações da Internet (IIS).
  2. Selecione o nó de nome do servidor.
  3. Clique duas vezes no ícone configuração compartilhada .
  4. Na página Configuração Compartilhada , marque a caixa de seleção Habilitar configuração compartilhada.
  5. Digite o caminho físico do compartilhamento de arquivos (\\<fileserver>\<share>), a conta de usuário e a senha que você inseriu anteriormente e selecione Aplicar no painel Ações.
  6. Na caixa de diálogo Senha de Chaves de Criptografia, digite a senha da chave de criptografia que você definiu anteriormente e selecione OK.
  7. Na caixa de diálogo Configuração Compartilhada, selecione OK.
  8. Selecione OK.

Observação

Para obter mais informações sobre como configurar configurações compartilhadas no IIS, visite Configuração Compartilhada.

Configurar Arquivos Offline do IIS para configuração compartilhada em todos os nós de cluster

Em cada nó de cluster, habilite Arquivos Offline:

  1. Instalar a Experiência Desktop

    1. Navegue até Ferramentas Administrativas e selecione Gerenciador do Servidor.
    2. No painel esquerdo, selecione Recursos.
    3. Selecione Adicionar Recursos no painel direito.
    4. Siga um dos procedimentos a seguir, conforme apropriado para sua versão do Windows:
      • Por Windows Server 2016, visite Instalar Servidor com Experiência Desktop.
      • Para o Windows Server 2102 e 2012 R2, escolha Experiência Desktop em Interfaces do Usuário e Infraestruturas na lista de recursos.
      • Para o Windows Server 2008 e 2008 R2, escolha Experiência Desktop.
    5. Selecione Instalar para instalar a Experiência Desktop.
    6. Reinicie o computador.
  2. Siga um destes procedimentos:

    • Por Windows Server 2012, 2012 R2 e 2016, selecione a Central de Sincronização no Painel de Controle e, em seguida, selecione Gerenciar arquivos offline.
    • Para o Windows Server 2008 e 2008 R2, selecione Arquivos Offline Painel de Controle.
  3. Selecione Habilitar Arquivos Offline. Não reinicie o computador no momento.

  4. Verifique se o cache está definido como somente leitura. Para fazer isso, execute o seguinte comando em um prompt de cmd com privilégios elevados:

    REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f
    
  5. Reinicie o computador.

  6. Navegue até o servidor de arquivos do computador. Clique com o botão direito do mouse no compartilhamento que contém a configuração compartilhada do IIS e selecione Sempre Disponível Offline.

    Observação

    Se você configurar o compartilhamento de arquivos para estar altamente disponível no mesmo cluster de failover que hospeda nós do IIS, a opção Offline Sempre Disponível não aparecerá quando você clicar com o botão direito do mouse no compartilhamento se o nó de cluster em que você está hospedando o servidor de arquivos altamente disponível. Você precisará mover o aplicativo de servidor de arquivos de alta disponibilidade para outro nó.

  7. No Painel de Controle, abra Arquivos Offline. Selecione Abrir Central de Sincronização e, em seguida, selecione Agendar.

  8. Agende uma sincronização de arquivos offline para todos os dias ou de acordo com seus requisitos. Você também pode configurar a sincronização offline para ser executada a cada poucos minutos. Mesmo que você não configure um agendador, quando você altera algo no arquivo Applicationhost.config, a alteração é refletida no servidor Web.

Observação

Para obter mais informações sobre como configurar arquivos offline para uma configuração compartilhada no IIS, consulte Arquivos Offline para Configuração Compartilhada.

Configurar o site e especificar o local de seu conteúdo em um nó de cluster

Localize o nó de cluster que possui o recurso de disco de cluster onde os arquivos de conteúdo do site permanecerão:

  1. Navegue até Ferramentas Administrativas e selecione Gerenciador de Cluster de Failover.
  2. Conecte-se ao cluster. Se você estiver em um dos nós de cluster, o cluster aparecerá na lista automaticamente.
  3. Em Armazenamento, localize o recurso de disco no qual o conteúdo da página da Web residirá. Para fazer isso, expanda a árvore de armazenamento para o recurso de disco. Verifique se o armazenamento não é usado por nenhum outro aplicativo de alta disponibilidade no cluster. Você encontrará o armazenamento em Armazenamento Disponível.
  4. O nó de cluster no qual esse recurso está online. Você configurará o IIS nesse nó de cluster.
  5. O nome do recurso de disco de cluster.

Você usará isso para os arquivos de conteúdo. No nó de cluster no qual o recurso está online, configure o servidor Web para usar o disco compartilhado para conteúdo do site:

  1. Navegue até Ferramentas Administrativas e selecione o Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel esquerdo, expanda o nó de nome do servidor.
  3. Expanda Sites e, em Sites, selecione o site que você está configurando.
  4. No painel direito, selecione Configurações Avançadas emGerenciar Site.
  5. Localize a propriedade Caminho Físico em Configurações Gerais e digite o local onde os arquivos de conteúdo do site estão localizados. É o local do recurso de disco de cluster que você anoembrou na etapa 5 do procedimento anterior.
  6. Selecione OK.

Configurar a alta disponibilidade para seu site criando um script genérico no Gerenciador de Cluster de Failover

Para a última etapa para configurar a alta disponibilidade para servidores Web do IIS, configure o recurso de script genérico que será usado para monitorar o site e o pool de aplicativos para o site:

  1. Em cada nó de cluster, copie o script fornecido no final deste artigo para Windows\System32\inetsrv\Clusweb7.vbs.

  2. Por padrão, o script monitora um site chamado Site Padrão e um pool de aplicativos chamado DefaultAppPool. Se esses não forem o site e o pool de aplicativos corretos, altere as SITE_NAME and APP_POOL_NAME variáveis. Verifique se o mesmo site e pool de aplicativos no script existem em todos os nós de cluster.

    Observação

    Os nomes diferenciam maiúsculas de minúsculas.

  3. Navegue até Ferramentas Administrativas e selecione Gerenciador de Cluster de Failover.

  4. Conecte-se ao cluster. Se você estiver em um dos nós de cluster, o cluster aparecerá na lista automaticamente.

  5. Siga um destes procedimentos:

    • Por Windows Server 2012, 2012 R2 e 2016, clique com o botão direito do mouse em Funções e selecione Configurar Função para criar.
    • Para o Windows Server 2008 e 2008 R2, clique com o botão direito do mouse no cluster e selecione Configurar um Serviço ou Aplicativo. Um assistente cria a carga de trabalho de alta disponibilidade.
  6. Selecione Script Genérico.

  7. Selecione o arquivo de script de %systemroot%\System32\Inetsrv\clusweb7.vbs.

  8. Defina o nome do PONTO de Acesso do Cliente (CAP) para o nome do site que os clientes usarão para se conectar ao site de alta disponibilidade. Especifique os IPs estáticos a serem usado para o CAP do site. Se você estiver usando o protocolo DHCP, essa opção não será exibida.

  9. Na etapa Selecionar Armazenamento , selecione o disco compartilhado do cluster no qual estão os arquivos de conteúdo do site. O armazenamento deve ser não usado por qualquer outro aplicativo de alta disponibilidade no cluster.

    Observação

    Se o compartilhamento de arquivos usado para a configuração compartilhada do IIS estiver hospedado no mesmo cluster, um recurso de disco diferente deverá ser usado aqui.

  10. Depois de confirmar as configurações, o assistente criará o grupo de clusters, os recursos de cluster e as dependências entre os recursos e colocará os recursos online.

    Observação

    Para hospedar vários sites de alta disponibilidade no mesmo cluster de failover, siga as mesmas etapas acima. No entanto, use um arquivo de script diferente para cada site e armazenamento compartilhado clusterizado diferente. Por exemplo, em %systemroot%\System32\Inetsrv, use clusweb7.vbs para o primeiro site,clweb7-2.vbs para o segundo,clweb7-3.vbs para o terceiro e assim por diante. Cada arquivo de script monitora um site e pool de aplicativos diferentes.

O script a seguir é apenas para fins de exemplo e não tem suporte explícito da Microsoft. O uso desse script em um ambiente clusterizado do IIS 7.0 ou versão posterior é por sua conta e risco.

'<begin script sample>
'This script provides high availability for IIS websites
'By default, it monitors the "Default Web Site" and "DefaultAppPool"
'To monitor another website, 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 website 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>