Exportar (0) Imprimir
Expandir Tudo
Expandir Minimizar

Microsoft Enterprise Platform para profissionais de UNIX: Conseguindo alta confiabilidade

Capítulo 2 - Conseguindo alta confiabilidade

Publicado em: 10 de novembro de 2004

Nenhum sistema é perfeitamente confiável e nenhum projeto de sistemas é capaz de prever todos os possíveis modos de falha. Por isso, a confiabilidade é normalmente expressa em porcentagem de disponibilidade, por exemplo,Cinco 9s, indicando 99,999% de disponibilidade ou uma paralisação total esperada de cerca de cinco minutos por ano. A Microsoft coopera com os fornecedores de hardware para definir configurações recomendadas específicas de fornecedor que possam garantir um nível de serviço de Cinco 9s ou mais, se for necessário.

O Sistema Windows Server foi projetado para proporcionar alta disponibilidade e confiabilidade, da seguinte maneira:

  • Espaço protegido de memória de aplicativos. O Windows Server garante que nenhum outro aplicativo consiga violar o espaço de memória protegido de um aplicativo. O .NET Framework também impõe restrições a processos descontrolados, contando com mecanismos que tomam a iniciativa de validar o comportamento correto de processos. (Veja no Capítulo 6 uma discussão sobre o .NET Framework.)

  • Suporte ao processamento de failover. O Windows Server oferece suporte ao uso de agrupamentos de servidor de até oito nós para qualquer aplicativos de servidor e suas falhas ou necessidades de manutenção acionam outros nós para iniciar imediatamente o serviço de failover. O Windows Server 2003 também oferece suporte ao NLB (balanceamento de carga de rede), que balanceia o tráfego do Protocolo de Internet (IP) recebido em todos os nós de um agrupamento.

  • Redundância economicamente viável. Embora os fornecedores de sistemas UNIX ofereçam configurações de processamento totalmente redundantes, elas são, muitas vezes, um item de ato custo. O custo consideravelmente menor dos Sistemas Windows Server significa que configurações redundantes são, muitas vezes, uma opção viável e econômica.

  • ADS (Serviços Automatizados de Implantação). Isso permite a distribuição automatizada e remota de atualizações de software e patches, reduzindo o tempo de inatividade e o risco de falha humana em processos de manutenção.

  • Gerenciamento por políticas. Este recurso permite o gerenciamento one-to-many, permitindo o gerenciamento de ambientes muito grandes de sistemas distribuídos, com base em políticas ou perfis, em vez de sistemas ou usuários individuais.

  • WMI (Windows Management Instrumentation). O WMI dá acesso a mais de 10 mil objetos de sistema através de interfaces de aplicativos, criação de scripts e linha de comando, permitindo que eles sejam monitorados, controlados e relatados de maneira detalhada.

  • Recursos de solução de problemas. Entre esses recursos estão o monitoramento interno de desempenho, registro, acompanhamento e recursos de recuperação de sistema, que permitem a solução rápida de problemas e de condições anormais de funcionamento.

  • MOM (Microsoft Operations Manager). O MOM oferece pacotes de conhecimento para componentes específicos do Windows Server e para outros produtos de servidor da Microsoft que usam informações sobre eventos específicos de produtos e componentes, para filtrar, determinar a gravidade e ajudar a identificar e desenvolver soluções para esses eventos.

Um sistema altamente confiável exibe vários atributos positivos, conforme listados na Tabela 2.1.

Tabela 2.1: Atributos de confiabilidade

Atributo

Descrição

Resistente

A capacidade do ambiente de computação de continuar funcionando em plenas condições sem a degradação causada por falhas de hardware ou software.

Recuperável

Em situações reais de paralisação, a capacidade do ambiente de ser recolocado em plenas condições de operação com mínima perda de dados.

Controlável

Capacidade de prestar serviços pontuais e esperados, conforme a necessidade.

Ininterrupto

Capacidade de implementar as mudanças e os procedimentos de manutenção necessários, sem a interrupção dos serviços.

Pronto para produção

Da maneira que foi entregue, o ambiente de software contém muito poucos erros e exige um número limitado de patches ou correções previsíveis.

Previsível

O comportamento do ambiente de computação é uniforme, ou seja, o que funcionou uma vez continuará funcionando, e todas as instâncias de um serviço funcionarão da mesma forma.

A chave de um projeto confiável é identificar e eliminar os pontos únicos de falha, os pontos em que a falha de um único componente faz com que todo o sistema falhe. Um servidor de produção é um sistema complexo e muitos fatores afetam a sua confiabilidade, entre eles, o ambiente, links de comunicação, software e hardware. Cada um desses fatores pode ser a fonte de um ponto único de falha.

A redundância é um meio de eliminar pontos únicos de falha. Os fabricantes de hardware oferecem sistemas com fontes de alimentação e interfaces redundantes, o software pode criar sistemas de armazenamento redundantes e procedimentos operacionais podem incluir planos de contingência.

A simples inclusão de redundância maciça não elimina automaticamente todos os pontos únicos de falha. Uma instalação de hospedagem de Web pode contratar dois provedores independentes de serviços de Internet, acreditando que isso evitará uma falha de comunicação. Entretanto, os dois provedores podem levar tráfego de rede à instalação através do mesmo cabo. Também nesse caso, uma única interrupção física causará uma paralisação. Esse exemplo demonstra que um projeto confiável deve levar em conta muitos modos e muitas situações de falha possíveis.

Independentemente dos recursos e das funções disponíveis, a tecnologia em si não garante a confiabilidade. O profissionalismo na continuidade das operações e do gerenciamento de uma instalação de processamento corporativo é uma exigência para a alta confiabilidade.

Por exemplo, quando um componente redundante falha, algum processo deve reconhecer a falha e repará-la ou substituir o componente que falhou; e caso um sistema seja atualizado ou um novo software seja instalado, o pessoal de operações deve tomar cuidado para seguir procedimentos que especifiquem um método seguro de condução da mudança. Quando a migração para o Windows for considerada, as disciplinas e os processos normalmente associados ao UNIX ou a qualquer sistema de produção também devem ser migrados para garantir o sucesso e a confiabilidade.

Nesta página

Visão geral da confiabilidade
Confiabilidade do sistema Windows Server

Visão geral da confiabilidade

Os fabricantes de sistemas UNIX fornecem servidores de grande porte que incorporam recursos de hardware redundante, tais como fontes de alimentação, resfriamento, rede e outras interfaces de dispositivos, inclusive contemplando o tratamento de falhas de processadores em sistemas multiprocessadores. Geralmente, esses mecanismos são proprietários e o software que oferece suporte para eles é específico para cada fabricante.

Embora a Microsoft não fabrique hardware de servidor, o Sistema Windows Server é o meio para que os fabricantes de hardware ofereçam suporte a seus recursos de redundância em uma interface de usuário unificada.   

Para obter mais informações sobre a certificação Microsoft Datacenter Server para OEMs, consulte:
http://www.microsoft.com/windowsserver2003/datacenter/dcprogram.mspx (em inglês)

Diário de bancos de dados para redundância de armazenamento

Os servidores de bancos de dados são uma categoria importante dos sistemas de servidor e o software de banco de dados já proporciona há vários anos redundância de armazenamento através do diário de transações. Essa redundância protege contra falhas simples de mídias ou pode até mesmo ser a base de um plano de recuperação de desastres através de um site remoto.

Um sistema de banco de dados, como o SQL Server ou o Oracle, envia as atualizações dos bancos de dados a um diário de transações e à localidade de armazenamento do banco de dados principal. O diário de transações e o espaço de armazenamento do banco de dados principal ocupam mídias fisicamente distintas. Juntamente com backups periódicos dos bancos de dados, isso protege contra qualquer falha de um único meio armazenamento. Os diários de transações também proporcionam algum nível de proteção contra corrupção causada por falhas de aplicativos, por meio de armazenamento de um histórico das alterações realizadas no banco de dados. A corrupção causada por erros de aplicativos pode, muitas vezes, ser corrigida através da reversão das transações até um ponto anterior ao erro.

Os diários de transações e os backups transmitidos a uma localidade afastada, junto com hardware de reserva, constituem uma defesa contra uma falha completa em um site, por exemplo, causada por um desastre natural ou causado pelo homem.

Esses métodos básicos de redundância de armazenamento não proporcionam alta disponibilidade, porque as respectivas técnicas de recuperação de falhas são, às vezes, muito demoradas. A recuperação de uma falha de mídia envolve a restauração de um backup e a nova aplicação dos diários de transações para atualizar os dados restaurados.

Replicação de bancos de dados

Os modernos sistemas de servidor de banco de dados, entre eles o Microsoft SQL Server e o Oracle, possuem recursos de alta disponibilidade através da replicação de bancos de dados. Essa abordagem se chama espera automática, onde uma cópia do banco de dados ocupa um servidor fisicamente remoto e os diários de transações são transmitidos periodicamente pelo servidor ativo. Também pode ser um sistema totalmente ao vivo, no qual cada transação é aplicada em tempo real a várias cópias do banco de dados.

Para obter mais informações sobre replicação de bancos de dados no Microsoft SQL Server, consulte:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/replsql/replover_694n.asp (em inglês)

RAID (Matrizes Redundantes de Discos de Baixo Custo)

Os fornecedores de UNIX fornecem implementações de hardware e software de RAID (Matrizes Redundantes de Discos de Baixo Custo). Por exemplo, a Sun Microsystems licenciou o Veritas Volume Manager e o distribui acompanhando o seu sistema UNIX Solaris. Diversos fornecedores oferecem matrizes de discos corporativos, entre eles Sun, IBM e EMC. Esses produtos oferecem várias opções de redundância e desempenho, inclusive espelhamento e paridade distribuída.

Para os clientes que precisam de recursos específicos oferecidos pelos produtos da Veritas, IBM ou EMC, esses fornecedores oferecem versões para o Windows Server. Entretanto, o Windows Server possui uma implementação integrada de software de espelhamento (RAID 1) e paridade distribuída (RAID 5), a qual pode ser mais econômica. Esses recursos oferecem proteção contra falhas de uma única mídia, mas consomem um pouco mais de capacidade de processador devido às outras operações de entrada/saída necessárias.

O Windows Server também pode oferecer suporte a produtos de matriz de discos de vários outros fornecedores, inclusive fabricantes de computadores tais como a Dell e a Compaq. A ferramenta de gerenciamento de discos do Windows Server oferece uma interface comum para controlar tanto a RAID de software como matrizes integradas de discos de hardware.

Para obter mais informações sobre os níveis de RAID, consulte:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/optimsql/odp_tun_1_87jm.asp (em inglês)

Clusters

A proteção contra falhas de hardware, seja em armazenamento de dados, comunicação ou nós, não é, por si mesma, adequada para proporcionar alta disponibilidade. Segundo o Guia de Conceitos e Recursos de Multiprocessamento em Clusters de Alta Disponibilidade para AIX da IBM, as falhas de hardware respondem apenas por uma pequena parcela das paralisações não planejadas. Entre os outros fatores estão erros do operador, problemas ambientais e erros de aplicativos e software de sistema.

Um cluster é um agrupamento de sistemas que aparentam ser, para os usuários, um único recurso de computação. Qualquer integrante do cluster pode atender à solicitação de um cliente sem que esse cliente saiba qual sistema realizou a operação. Dependendo da arquitetura dos aplicativos, os clusters podem ser configurados de forma que um aplicativo seja transferido de um integrante do cluster para outro em caso de falha, ou para assegurar que a carga seja dividida entre os integrantes do cluster que estiverem funcionando.

Fornecedores de sistemas UNIX de larga escala oferecem o clustering como meio de eliminar todas as possíveis falhas que os sistemas de servidor provavelmente encontrem. O Windows Server 2003 permite o uso de clusters nas configurações de balanceamento de carga e failover. O clustering inclui hardware redundante, monitoramento automatizado, recuperação de erros de sistema e processos bem planejados de manutenção de hardware e software, mantendo, ao mesmo tempo, o aplicativo disponível. Fornecedores como a EMC oferecem produtos de replicação remota de armazenamento que se integram a sistemas em cluster, proporcionando a continuidade das operações de sistemas de grande porte.

Para obter mais informações sobre clusters no Windows Server 2003, consulte:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/
technologies/clustering/default.mspx
 (em inglês)

Para obter mais informações sobre o Guia de Conceitos e Recursos de Multiprocessamento em Clusters de Alta Disponibilidade para AIX da IBM, consulte:
http://publib.boulder.ibm.com/epubs/pdf/c2348643.pdf (em inglês)

Confiabilidade do sistema Windows Server

O Sistema Windows Server foi projetado para oferecer alta confiabilidade e oferecer suporte às necessidades dos profissionais de TI que gerenciam a oferta do nível de serviço com a confiabilidade especificada. A parte principal do Sistema Windows Server é o Windows Server 2003. Cada edição do Windows Server 2003 proporciona o nível indicado de balanceamento de carga e de recursos de clustering:

  • Windows Server 2003, Standard Edition: NLB

  • Windows Server 2003, Enterprise Edition: NLB, Clustering de Servidores com 8 Nós

  • Windows Server 2003, Datacenter Edition: NLB, Clustering de Servidores com 8 Nós

  • Windows Server 2003, Web Edition: NLB

Confiabilidade do Windows Server 2003

O Sistema Windows Server tem os seguintes recursos de confiabilidade internos:

  • Balanceamento de carga da rede. Isso permite o suporte de failover para aplicativos e serviços que utilizam IP e exigem alta escalabilidade e disponibilidade.

  • Balanceamento de carga de componentes. Permite o balanceamento dinâmico da carga de componentes de aplicativos de camada intermediária. Os componentes do Balanceamento de Carga de Componentes balanceiam a carga entre vários nós, aumentando drasticamente a disponibilidade e a escalabilidade dos aplicativos.

  • Clustering de servidores. Fornece o suporte de failover para os aplicativos e serviços que exigem alta disponibilidade, escalabilidade e confiabilidade. Com o clustering, as empresas podem disponibilizar aplicativos e dados em até oito servidores vinculados em uma configuração de cluster. Aplicativos e serviços de back-end, tais como aqueles fornecidos por servidores de bancos de dados, são candidatos ideais ao clustering de servidores.

Normalmente, todos esses três recursos são usados combinados. Por exemplo, um site de comércio eletrônico pode ter servidores Web de front-end que utilizam NLB, servidores de aplicativos de camada intermediária que usam o Balanceamento de Carga de Componentes, e servidores de banco de dados de back-end que utilizam o Clustering de Servidores.

O Sistema Windows Server permite criação e configuração remotas completas de clusters de servidores, com a possibilidade de inclusão de nós em um cluster de servidores existente, a partir de uma estação remota de gerenciamento. As mudanças resultantes nas letras das unidades e no failover dos recursos de disco físico são atualizadas nas sessões de cliente do Terminal Server.

No mercado do Sistema Windows Server, muitos fornecedores de hardware diferentes oferecem vários recursos e várias opções de alta confiabilidade. Isso permite que a personalização do suporte de nível de confiabilidade adquirido varie de moderada à altíssima, de acordo com cada aplicativo.

O Windows Datacenter High Availability Program complementa o sistema operacional Windows Server 2003, Datacenter Edition. O Datacenter High Availability Program possui um modelo exclusivo de suporte e serviços criado para clientes com necessidades críticas de servidor, consistindo nos componentes a seguir:

  • Windows Server 2003, Datacenter Edition ou Windows 2000 Datacenter Server

  • Configurações qualificadas do Datacenter

  • Fornecedores de suporte de Datacenter certificados

  • Programa de suporte à alta disponibilidade

Os periféricos críticos também devem ser tolerantes a falhas. O recurso do Windows Server de oferecer suporte à qualidade e aos recursos dos periféricos não é diferente do encontrado nos ambientes UNIX. Entretanto, se houver a necessidade de mais equipamentos ou instalações de alta disponibilidade, a capacidade de justificá-los aumenta quando os custos de aquisição dos sistemas são consideravelmente menores, como no caso do Sistema Windows Server.

Para obter mais informações sobre o Windows Server 2003, consulte:
http://www.microsoft.com/windowsserver2003/ (em inglês)

Confiabilidade do armazenamento

O Windows Storage Server é um software dedicado de servidor de arquivos, com recursos confiáveis e altamente disponíveis de NAS (Armazenamento Conectado à Rede). O Windows Storage Server simplifica o armazenamento e o gerenciamento dos dados, disponibilizando-os para usuários locais e remotos, conforme a necessidade. Ele protege arquivos importantes contra perda, desastres ou acesso não autorizado. O Windows Storage Server possui recursos avançados de disponibilidade, tais como cópias instantâneas de dados, replicação e agrupamento de servidores.

O Windows Storage Server também permite o uso de SAN (Redes de Área de Armazenamento) e de uma solução híbrida, na qual dispositivos de NAS podem ser conectados a uma SAN. Nessa configuração, um head ou um gateway (com a função arquivamento) de NAS se conecta à LAN (Rede Local) e, por trás dela, está uma SAN de back-end que consiste na Rede Fiber Channel e nos discos de armazenamento.

Para obter mais informações sobre o Windows Storage Server, consulte:
http://www.microsoft.com/windowsserver/storage/ (em inglês)

Confiabilidade do bancos de dados

Por vários anos, o Oracle foi o RDBMS (Sistema de Gerenciamento de Bancos de Dados Relacionais) padrão para os sistemas UNIX. O equivalente ao Oracle no Sistema Windows Server é o SQL Server 2000, um RDBMS capaz de oferecer suporte a alguns dos maiores aplicativos, mais críticos e de mais alto desempenho do mundo.

O SQL Server High Availability Series oferece orientações prescritivas para que os profissionais de TI superem vários tipos de barreiras à confiabilidade dos bancos de dados, entre elas as barreiras ambiental, de hardware, de comunicação e conectividade, de software, de serviços, de processos, de projeto de aplicativos e de pessoal.

Além de serviços relacionais de transações de altíssimo desempenho, o SQL Server também oferece uma ampla gama de ferramentas de análise de dados necessárias para interpretar os dados e otimizar o desempenho do banco de dados. Entre essas ferramentas estão recursos de data warehousing, business intelligence, mineração de dados e visualização, utilizando OLAP e ROLAP (Processamento Analítico Relacional On-Line) integrados.

Para obter mais informações sobre o Microsoft SQL Server e a High Availability Series, consulte:
http://www.microsoft.com/sql/ (em inglês)

Confiabilidade dos aplicativos

Normalmente, os aplicativos modernos são disponibilizados através de redes, seja ao público (através da Internet) ou a usuários internos (através de uma intranet corporativa). O IIS (Microsoft Internet Information Services), com seus respectivos ambientes de desenvolvimento .NET no Microsoft Visual Studio®, é a nova plataforma de distribuição de aplicativos corporativos adotada pela maior parte do mercado.

O IIS é um servidor Web completo que oferece um método seguro e confiável para simplificar o desenvolvimento e a distribuição de sites da Web. Ele permite o uso de ASP (Active Server Pages), do .NET Framework, de serviços de Web em XML (Extensible Markup Language), e do protocolo de Internet versão 6.

O IIS oferece um modo dedicado de aplicativos, que executa todo o código dos aplicativos em um ambiente isolado. O IIS também oferece suporte a ambientes Web, nos quais cada conjunto de processos equivalentes em um computador recebe uma parcela das solicitações que normalmente são atendidas por um único processo, aumentando a escalabilidade do multiprocessador.

Para obter mais informações sobre o Internet Information Services, consulte:
http://www.microsoft.com/windowsserver2003/iis/ (em inglês)

O Application Center é a ferramenta de implantação e gerenciamento da Microsoft para aplicativos da Web agrupados de alta disponibilidade. O Application Center cria sites da Web flexíveis, robustos, fáceis de administrar e seguros. Ele reduz a complexidade do gerenciamento de aplicativos, reproduz todas as alterações efetuadas em um servidor, atualizando outros servidores do agrupamento, automatiza a implantação de aplicativos de um servidor para outro e permite que os aplicativos obtenham escalabilidade por demanda.

Para obter mais informações sobre o Application Center, consulte:
http://www.microsoft.com/applicationcenter/ (em inglês)

Fontes de orientação detalhada

Informações sobre confiabilidade podem ser encontradas em:
http://www.microsoft.com/mscorp/twc/reliability/
default.mspx
(em inglês)

Informações sobre clustering no Windows Server 2003 podem ser encontradas em:
http://www.microsoft.com/windowsserver2003/
technologies/clustering
(em inglês)

Links relacionados

Download

Veja a Introdução à Microsoft Enterprise Platform para profissionais de UNIX

Notificações de atualização

Inscreva-se para receber informações sobre atualizações e novas versões

Comentários

Envie seus comentários ou suas sugestões


Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft