Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Este artigo descreve como configurar serviços de informação Internet (IIS) 7.0 da Microsoft num cluster de activação pós-falha do Microsoft Windows Server 2008. Os procedimentos neste artigo aplicam-se apenas ao serviço de publicação na World Wide Web. Para obter instruções sobre como configurar o serviço de publicação de FTP num cluster de activação pós-falha, consulte:
974603
(http://support.microsoft.com/kb/974603/
)
Como configurar FTP 7.5 para IIS 7.0 num cluster de activação pós-falha do Windows Server 2008
Em versões anteriores do IIS, a Microsoft forneceu componentes do monitor de recurso genérico para suportar a elevada disponibilidade as instâncias de servidor Web utilizando a infra-estrutura Microsoft Clustering. No entanto, o código personalizado foi necessário compreender totalmente o potencial de tal uma solução. Além disso, os scripts genéricos a Microsoft forneceu não satisfez necessidades do cliente. Para configurar IIS 7.0 no ambiente de cluster utilizando o clustering de activação pós-falha do Windows Server, tem de utilizar um código personalizado (script) para activar um cenário de elevada disponibilidade. Quando o fizer, os utilizadores podem personalizar a configuração para cumprir os respectivos requisitos. Isto permite-lhes controlo total sobre a integração de elevada disponibilidade de aplicações Web. Além disso, as interfaces de script para monitorização e administração que foram introduzidas no IIS 7.0 fornecem um ambiente mais rica do que os scripts fornecida anteriormente.
Nota Os ficheiros de instalação do IIS 7.0 incorrectamente incluem o clusweb.vbs e ficheiros de script clusftp.vbs que são utilizados no IIS 6.0 para o IIS cluster tarefas administrativas. Não utilize estes scripts com IIS 7.0.
A Microsoft recomenda que os administradores avaliar cuidadosamente a utilização de rede Load Balancing (NLB) como o método principal e preferencial para melhorar a escalabilidade e disponibilidade de aplicações Web com vários servidores a executar o IIS 7.0, por oposição a utilizar clusters de failover. Uma das vantagens do NLB é que todos os servidores podem participar activamente o processamento de pedidos de HTTP a receber em simultâneo. Outra vantagem é que num ambiente NLB IIS, pode ser muito mais fácil suportar actualizações graduais e anulação de alterações enquanto continua a fornecer elevada disponibilidade de aplicações Web. Para mais informações sobre como utilizar o IIS 7.0 numa NLB ambiente, consulte os seguintes sites da Microsoft:
É importante considerar que clustering do IIS através de clustering os serviços do IIS não sempre garante uma solução de elevada disponibilidade para aplicações Web. Enquanto os serviços do IIS (especificamente o serviço WWW) podem estar em funcionamento, poderia ter terminado o processo de alojamento de um agrupamento de aplicações específico ou a aplicação poderá ser deitar a erros HTTP do servidor interno. Clustering as aplicações Web e monitorizar o respectivo funcionamento utilizando um script personalizado é a forma correcta e recomendada para atingir um cluster do IIS de elevada disponibilidade utilizando clustering de activação pós-falha. Abaixo é um script de exemplo que monitoriza o estado de um agrupamento de aplicações para determinar se é iniciado ou não.
Para configurar elevada disponibilidade para servidores da Web do IIS utilizando a activação pós-falha clustering, siga estes passos. Os passos 3 a 7 são descritos mais detalhadamente abaixo.
Instale a função de servidor Web em todos os nós do cluster. Para obter detalhes, visite o seguinte Web site da Microsoft:
Instalar a funcionalidade de clustering de activação pós-falha em todos os nós do cluster e criar o cluster. Para obter detalhes, visite o seguinte Web site da Microsoft:
Configurar uma partilha de ficheiro que será utilizada a configuração partilhada do IIS
Crie um utilizador que irá aceder a partilha que será utilizada para a configuração partilhada do IIS.
Crie a partilha de ficheiros. Esta partilha será utilizada para armazenar a configuração partilhada do IIS será partilhada entre o IIS em todos os nós do cluster. Existem várias opções:
Num servidor autónomo que não faz parte de qualquer cluster de activação pós-falha, crie uma partilha de ficheiros.
Num cluster de activação pós-falha do Windows Server noutro, crie uma partilha de ficheiros de elevada disponibilidade. Para obter detalhes, visite o seguinte Web site da Microsoft:
No mesmo cluster de activação pós-falha que irá alojar o Web site de elevada disponibilidade, crie uma partilha de ficheiros de elevada disponibilidade. Para obter detalhes, visite o seguinte Web site da Microsoft:
Defina as permissões de partilha que criou no passo 2. Conceder ao utilizador que criou no passo 1 permissões de controlo total para a partilha de ficheiros e as permissões de NTFS.
Confirme se todos os nós do cluster estão conseguir navegar para a partilha de ficheiros. O caminho para a partilha de ficheiros é \\ <fileserver>\ <share>.
Configurar a configuração partilhada do IIS em todos os nós do cluster
Nota Existe um problema com partilhada configuração do IIS no Windows 2008 Server devido a privilégios em falta para o serviço de ajuda do Application Host. Para configuração partilhada trabalhar, tem de seguir estes passos quando configurar configuração partilhada do IIS no Windows 2008 Server.
Depois de concluir estes passos de cada Windows 2008 Server do cluster, continue a configurar o IIS configuração partilhado tal como descrito nesta secção.
Num de nós do cluster, exporte a configuração partilhada para a partilha de ficheiros:
Navegue para Ferramentas administrativas e, em seguida, clique em Gestor dos serviços de informação Internet (IIS).
No painel da esquerda, clique no nó de nome de servidor.
Faça duplo clique no ícone de Configuração partilhados.
Na página configuração partilhada, clique Exportar configuração no painel de Acções (o painel da direita) para exportar os ficheiros de configuração a partir do computador local para outra localização.
Na caixa de diálogo Configuração de exportação, escreva o caminho da partilha de ficheiros (\\ <fileserver>\ <share>) na caixa caminho físico.
Clique em Ligar como e, em seguida, escreva o nome de utilizador e a palavra-passe para a conta de utilizador que tenha acesso à partilha na qual a configuração partilhada é armazenada e, em seguida, clique em OK. Esta conta será utilizada para aceder à partilha. Deverá utilizar uma conta do Active Directory restrita que não é o administrador do domínio.
Na caixa de diálogo Configuração de exportação, escreva uma palavra-passe que será utilizada para proteger as chaves de encriptação e, em seguida, clique em OK.
Na página Configuração partilhada, clique para seleccionar a caixa de verificação Activar configuração partilhado.
Escreva o caminho físico, a conta de utilizador e a palavra-passe que introduziu anteriormente e, em seguida, clique em ' Aplicar ' no painel Acções.
Na caixa de diálogo Palavra-passe de chaves de encriptação, escreva a encriptação de palavra-chave passe que definiu anteriormente e, em seguida, clique em OK.
Na caixa de diálogo Configuração partilhada, clique em OK.
Clique em OK.
Em cada um dos outros nós do cluster, utilize a configuração partilhada que acabou de exportar para a partilha de ficheiros:
Navegue para Ferramentas administrativas e, em seguida, clique em Gestor dos serviços de informação Internet (IIS).
Clique no nó do nome do servidor.
Faça duplo clique no ícone de Configuração partilhados.
Na página Configuração partilhada, clique para seleccionar a caixa de verificação Activar configuração partilhado.
Escreva o caminho físico da partilha de ficheiros (\\ <fileserver>\ <share>), a conta de utilizador e a palavra-passe que introduziu anteriormente e, em seguida, clique em ' Aplicar ' no painel Acções.
Na caixa de diálogo Palavra-passe de chaves de encriptação, escreva a encriptação de palavra-chave passe que definiu anteriormente e, em seguida, clique em OK.
Na caixa de diálogo Configuração partilhada, clique em OK.
Clique em OK.
Nota Para mais informações sobre como definir configurações partilhadas no IIS, visite o seguinte Web site da Microsoft:
Navegue para o servidor de ficheiros a partir do computador. Clique com o botão direito do rato a partilha que contém a configuração do IIS partilhada e, em seguida, clique em Disponibilizar sempre offline.
Nota que, se configurar a partilha de ficheiros estar altamente disponível no mesmo cluster de activação pós-falha que aloja nós IIS, a opção Disponibilizar sempre offline não aparecerão quando clica com o botão direito do rato na partilha se o nó do cluster que estiver num hospeda o servidor de ficheiros altamente disponível. Terá de mover a aplicação de servidor de elevado ficheiro disponíveis para outro nó.
No painel de controlo, abra Ficheiros Offline. Clique em Centro de sincronização de abrir e, em seguida, clique em esquema.
Agende uma sincronização de ficheiros offline para cada dia ou de acordo com o requisito. Também pode configurar a sincronização offline para executar cada poucos minutos Mesmo se não configurado um programador, quando altera algo no ficheiro applicationhost.config, a alteração é reflectida no servidor Web.
Nota Para mais informações sobre como configurar ficheiros offline para uma configuração partilhada no IIS, visite o seguinte Web site da Microsoft:
Configurar o Web site (incluindo o agrupamento de aplicações associado) e especifique a localização do respectivo conteúdo no nó de um cluster
Localize o nó do cluster que possui o recurso de disco em conjunto de sectores onde os ficheiros de conteúdo do Web site irão residir:
Navegue para Ferramentas administrativas e, em seguida, clique em Gestor de clusters de failover.
Ligar ao cluster. Se estiver num de nós do cluster, o cluster aparecerá na lista automaticamente.
Em armazenamento, localizar o recurso de disco no qual o conteúdo da página Web irá residir. Para o fazer, expanda a árvore de armazenamento para o recurso de disco. Certifique-se de que o armazenamento não é utilizado por outra aplicação de elevada disponibilidade no cluster. Encontrará o armazenamento em Armazenamento disponível.
Nota o nó do cluster no qual este recurso está online. Irá configurar o IIS nesse nó de cluster.
Anote o nome de recurso de disco do cluster. Vai utilizar para os ficheiros de conteúdo.
No nó de cluster no qual o recurso estiver online, configure o servidor Web para utilizar o disco partilhado para o conteúdo do Web site:
Navegue para Ferramentas administrativas e, em seguida, clique em Gestor dos serviços de informação Internet (IIS).
No painel da esquerda, expanda o nó de nome de servidor.
Expanda locais e, em seguida, em sites, clique no site que está a configurar.
No painel da direita, seleccione Definições avançadas em Gerir o Web Site.
Localize a propriedade Path físico em definições gerais e, em seguida, escreva na localização onde estão localizados os ficheiros de conteúdo do Web site. Esta é a localização do recurso de disco do cluster que anotou no passo 5 do procedimento anterior.
Configurar a disponibilidade elevada para o Web site criando um script genérico no Gestor de clusters de activação
Para o último passo configurar a disponibilidade elevada para servidores Web do IIS, defina o recurso script genérico que será utilizado para monitorizar o Web site e o agrupamento de aplicações para o Web site:
Em cada nó do cluster, copie o script no fim deste artigo para Windows\System32\inetsrv\Clusweb7.vbs.
Por predefinição, o script monitoriza um Web site é chamado "Web Site predefinido" e um agrupamento de aplicações com o nome "DefaultAppPool". Se este não é o Web site correcto e o agrupamento de aplicações, altere as variáveis de SITE_NAME e APP_POOL_NAME. Certifique-se de que o mesmo Web site e o agrupamento de aplicações no script existem em todos os nós do cluster. Tenha em atenção que os nomes são sensíveis a maiúsculas e minúsculas.
Navegue para Ferramentas administrativas e, em seguida, clique em Gestor de clusters de failover.
Ligar ao cluster. Se estiver num de nós do cluster, o cluster aparecerá na lista automaticamente.
Clique com o botão direito do rato no cluster e, em seguida, clique em configurar um serviço ou aplicação. Um assistente cria a carga de trabalho de elevada disponibilidade.
Clique em script genérico.
Seleccione o ficheiro de script a partir o seguinte caminho: %systemroot%\System32\Inetsrv\clusweb7.vbs
Defina o nome do ponto de acesso de cliente ' (CAP) do nome do Web site que os clientes irão utilizar para ligar ao Web site de elevada disponibilidade. Especificar o IP estático a utilizar para o Web site CAP. Se estiver a utilizar DHCP, esta opção não será apresentada.
No passo Seleccionar armazenamento, seleccione o disco partilhado do cluster em que residem os ficheiros de conteúdo do Web site. O armazenamento deve ser não utilizado por qualquer outra aplicação de elevada disponibilidade no cluster. Nota Se partilhar o ficheiro que é utilizada para a configuração do IIS partilhada está hospedada no mesmo cluster, deve ser utilizado aqui um recurso de disco diferente.
Depois de confirmar as definições, o assistente vai criar o grupo de cluster, recursos de cluster e as dependências entre os recursos e, em seguida, coloque online os recursos.
Nota Para hospedar vários disponibilidade elevada Web sites no mesmo cluster de activação pós-falha, siga os mesmos passos acima indicado. No entanto, utilize um ficheiro de script diferentes para cada Web site e armazenamento partilhado em cluster diferente. Por exemplo, na % systemroot%\System32\Inetsrv, utilizar clusweb7.vbs para o primeiro Web site, 2.vbs clweb7 para 3.vbs-clweb7 segundo, para o terceiro e assim sucessivamente. Cada ficheiro de script monitoriza um Web site diferente e o agrupamento de aplicações.
'<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>
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 970759
(http://support.microsoft.com/kb/970759/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
O que podemos fazer para melhor estas informações?
Para proteger a sua privacidade, não inclua as informações de contacto nos comentários.
Obrigado! Os seus comentários serão utilizados para nos ajudar a melhorar o conteúdo do suporte. Para obter mais opções de assistência, visite a Home Page da Ajuda e Suporte.