ct

    Hardware de servidores, parte 2

    Tutoriais

    Nesta segunda parte do tutorial, veremos detalhes sobre interfaces e HDs SAS, uso de expansores e gavetas removíveis e também sobre os gabinetes e racks para servidores, blade servers e outras variações. Ao contrário dos desktops, que utilizam o formato de torre, os servidores utilizam gabinetes 1U, 2U, 3U, 4U ou 6U, que são instalados em racks. Os números que dão nomes aos formatos dos gabinetes indicam justamente o número de baias que eles ocupam. O tamanho é importante, já que o espaço disponível nos datacenters é limitado.Carlos E. Morimoto
    14/05/2008


    Quando falamos em HDs para servidores, a primeira sigla que vem à mente é o SCSI, mas o antigo barramento SCSI paralelo está dando lugar a uma versão serial, o SAS, da mesma forma que os antigos HDs IDE deram lugar aos HDs com interface SATA.

    O SAS (Serial Attached SCSI), é um barramento serial, muito similar ao SATA utilizado em HDs domésticos em diversos aspectos, mas que adiciona várias possibilidades interessantes voltadas para o uso em servidores. As versões iniciais do SAS suportavam taxas de transferência de 150 e 300 MB/s. Recentemente foi introduzido o padrão de 600 MB/s e passou a ser desenvolvido o padrão seguinte, de 1.2 GB/s. A evolução é similar à do padrão SATA (note que as velocidades são as mesmas), porém o SAS tende a ficar sempre um degrau acima.

    A maior velocidade é necessária, pois o SAS permite o uso de extensores (expanders), dispositivos que permitem ligar diversos discos SAS a uma única porta. Existem dois tipos de extensores SAS, chamados de "Edge Expanders" e "Fanout Expanders". Os Edge Expanders permitem ligar até 122 discos na mesma porta (existem originalmente 128 endereços, mas apenas 122 deles podem ser usados, por limitações do protocolo de endereçamento), enquanto os Fanout Expanders permitem conectar até 128 Edge Expanders (cada um com seus 122 discos!), chegando a um limite teórico de até 15.616 discos por porta SAS. Naturalmente, conectar tantos HDs a uma única porta não seria nada bom do ponto de vista do desempenho, já que a interface se tornaria um grande gargalo, mas a possibilidade existe.

    Este recurso foi desenvolvido pensando sobretudo nos servidores de storage, que armazenam um grande volume de informações acessadas com pouca frequência. Com a popularização dos webmails e outros serviços, o armazenamento de grandes quantidades de dados tornou-se um problema. Não estamos falando aqui de alguns poucos gigabytes, mas sim de vários terabytes ou mesmo petabytes de dados. Imagine o caso do Gmail, por exemplo, onde temos vários milhões de usuários, cada um com mais de 6 GB de espaço disponível.

    Os extensores SAS normalmente possuem a forma de um gabinete 1U ou 2U, destinados a serem instalados nos mesmos racks usados pelos próprios servidores. É muito comum que eles sejam chamados de "JBOD". Nesse caso, a sigla não faz referência ao JBOD que vimos na descrição sobre os modos RAID, mas sim ao fato de o expander simplesmente oferecer acesso aos discos, sem implementar nenhum dos modos RAID por si mesmo. A tarefa no caso fica a cargo da controladora.

    Na maioria, os discos são instalados em gavetas removíveis e podem ser trocados com o servidor ligado (hot swap). Isto permite substituir rapidamente HDs defeituosos, sem precisar desligar o servidor:

    40ab9e04
    Adaptec S50 JBOD: SAS Expander com 12 baias

    Nesses casos, seria utilizado um sistema RAID, onde parte do espaço e armazenamento é destinado a armazenar informações de redundância, que permitem restaurar o conteúdo de um HD defeituoso assim que ele é substituído, sem interrupção ou perda de dados. Ao contrário das controladoras RAID de baixo custo, encontradas nas placas-mãe para desktop, que executam suas funções via software, as controladoras SAS tipicamente executam todas as funções via hardware, facilitando a configuração (já que deixa de ser necessário instalar drivers adicionais) e oferecendo um maior desempenho e flexibilidade.

    As controladoras SAS incluem normalmente 4 ou 8 portas e são instaladas em um slot PCI Express (ou PCI-X, no caso de placas mais antigas). Nada impede também que você instale duas ou até mesmo três controladoras no mesmo servidor caso precise de mais portas:

    m6d07666
    Controladora SAS

    Pela foto, a controladora parece ter apenas duas portas, mas os dois conectores são na verdade conectores Mini SAS 4i (SFF-8087). Cada um dos dois dois conectores concentra 4 portas SAS, o que (no SAS 300) resulta em uma banda total de 1.2 GB/s, quase 4 vezes o oferecido por uma controladora SCSI 320. Eles permitem instalar até 8 HDs SAS ou SATA (sem redundância) ou 4 HDs SAS usando o modo redundante, onde cada HD é conectado simultaneamente a duas portas, de forma a garantir a operação em caso de falhas em qualquer uma das portas da controladora.

    m67e4277d
    Cabo SAS SFF-8087

    Existe também uma versão externa do conector (o SFF-8088), que é destinado à conexão de unidades de armazenamento externas. Como vimos, os conectores internos são chamados de "Mini SAS 4i" (o "4" indica o número de portas e o "i" vem de "internal"), enquanto os conectores externos são chamados de "Mini SAS 4x" ("x" de "external"). Ambos os conectores agrupam 4 portas SAS e oferecem a mesma taxa de transferência. Muda apenas o formato do conector:

    m7d2aa3b3

    Via de regra, controladoras SAS dedicadas incluem uma certa quantidade de memória. Parte da memória é usada para executar o software de controle e realizar operações diversas (a controladora é praticamente um computador à parte), mas a maior parte fica disponível para o cache de leitura e gravação. Este cache complementa os caches incluídos nos HDs, aumentando o volume de dados armazenados. Na maioria dos casos os chips de memória são soldados à controladora, mas muitas utilizam um módulo de memória DIMM ou SO-DIMM substituível. Você pode instalar um módulo de 1 GB, por exemplo.

    Usar tanto cache aumenta a probabilidade de perda de dados em caso de falta de energia, já que a memória RAM usada no cache é volátil e a perda dos dados no cache de gravação fazem com que operações ainda não gravadas nos discos sejam perdidas. Para solucionar o problema, muitas controladoras suportam o uso de uma BBU (Battery Backup Unit), uma bateria externa que conserva os dados na memória, de forma que eles possam ser gravados nos discos assim que o servidor for novamente ligado:

    m5379465e 57586465
    Destaque do módulo SO-DIMM em uma controladora SAS e o módulo de bateria de uma Areca ARC-1120

    O padrão SAS oferece compatibilidade retroativa com os HDs SATA, permitindo que você use HDs SATA convencionais em conjunto com uma controladora SAS, como uma forma de cortar custos, sem ter que abrir mão da possibilidade de usar os extensores. É possível também combinar HDs dos dois padrões, usando HDs SATA comuns em tarefas que demandem um nível menor de confiabilidade (unidades de backup, por exemplo), reservando os caros HDs SAS para as tarefas principais.

    A única diferença visível entre um HD SATA e um SAS é o chanfro usado no conector. Embora os contatos sejam iguais, o conector SATA possui um chanfro que separa o conector de dados do de energia, enquanto o SAS utiliza um conector inteiriço. Com isso, um HD SATA pode ser plugado normalmente em uma controladora SAS, mas o inverso não é possível:

    64159a2a
    Conectores de um HD SATA (acima) e de um HD SAS

    Como citei na primeira parte do tutorial, uma das principais desvantagens do uso de HDs IDE em servidores era a ausência do suporte a NCQ, o que os tornava muito mais lentos que os SCSI em operações de acesso aleatório (que são justamente as operações predominante em servidores), mesmo que as demais características dos HDs fossem similares. Com a popularização dos HDs SATA com suporte a NCQ, esta barreira deixou de existir, fazendo com que o desempenho dos HDs para uso doméstico ficasse muito mais próximo do dos HDs SCSI para uso em servidores, que são muito mais caros.

    A maior parte dos HDs de alto desempenho, com rotação de 15.000 RPM, que antes só existiam em versão SCSI, estão sendo lançados também em versão SAS. Nos próximos anos é de se esperar que o SAS substitua completamente o SCSI, assim como o SATA já substituiu quase que completamente o IDE nos desktops.

    Você pode se perguntar como HDs SAS e SCSI, destinados a servidores conseguem conviver com HDs SATA tradicionais, que em muitos casos oferecem um custo por megabyte até 10 vezes menor.

    O primeiro fator é a questão do desempenho, já que muitos HDs para servidores oferecem rotação de 15000 RPM e utilizam discos de 2.5" (mesmo que o HD em si ocupe uma baia de 3.5"), como no caso deste Hitachi 15K300 SAS:

    63469db3

    Em situações normais, discos menores significam um desempenho mais baixo (como no caso dos HDs para notebook), mas nestes casos, a combinação de mecanismos de movimentação especialmente desenvolvidos e a maior velocidade de rotação permitem que o HD trabalhe com tempos de acesso bastante baixos, o que resulta em um desempenho em leituras aleatórias muito superior ao de um HD de 10000 RPM tradicional.

    Em um servidor típico, são realizadas um enorme número de pequenas leituras, que são usadas para montar as páginas ou arquivos que serão enviados aos clientes. Um fórum com um grande número de mensagens pode facilmente resultar em um banco de dados de 10 ou mesmo 20 GB, contendo uma infinidade de pequenas mensagens de texto e ter 1000 ou 2000 visitantes simultâneos em determinados períodos.

    Para cada página a ser exibida, o servidor precisa ler várias entradas dentro do banco de dados (o tópico propriamente dito, informações sobre os usuários e assim por diante), que são então processados pelo sistema do fórum (geralmente composto por um conjunto de scripts em PHP). Mesmo com o uso de caches, não é difícil imaginar que tantas requisições simultâneas levam o desempenho dos HDs ao limite. Nesse cenário, qualquer redução no tempo de acesso representa um grande ganho de desempenho.

    O segundo fator é a questão da confiabilidade. Os HDs usados em servidores são submetidos a um regime de trabalho muito mais intenso do que em um desktop típico e, quase sempre, operam continuamente, até que sejam substituídos. HDs destinados a servidores utilizam cabeças de leituras mais rígidas, motores de rotação mais confiáveis, carcaças mais resistentes e oferecem uma qualidade de construção menor, já que o fabricante pode se dar o luxo de usar os melhores materiais disponíveis, sem precisar contar os centavos como em um HD para desktop.

    Isso não significa que os HDs para desktop não possam ser usados em servidores. A grande maioria dos servidores web e pequenos servidores em geral (que são a esmagadora maioria quando falamos em números absolutos) utilizam HDs SATA tradicionais. Existem inclusive muitos casos de servidores que ainda utilizam discos IDE e provavelmente vão continuar utilizando até que eles parem definitivamente de funcionar por um defeito mecânico qualquer.

    A principal questão é que a possibilidade de um HD SATA destinados a desktops apresentar um defeito prematuro quando submetido à pesada carga de trabalho de um servidor é maior do que a de um HD SAS especialmente construído. É a velha questão da confiabilidade versus custo. Se o objetivo é oferecer um servidor dedicado de baixo custo, que será locado por 80 dólares mensais, é natural que o datacenter irá utilizar HDs tradicionais, oferecendo provavelmente um plano de backup opcional. Uma parte dos HDs vai apresentar defeitos nos dois primeiros anos de uso, mas os demais irão continuar funcionando por 4 anos, ou até mais. Se o custo relacionado à possibilidade de perda de dados e o ao downtime relacionado à substituição dos HDs e reconfiguração dos servidores for inferior à economia, então a escolha vale à pena.

    Entretanto, quando falamos de servidores de missão crítica, o caminho natural passa a ser usar os HDs mais confiáveis, já que qualquer interrupção no serviço pode custar muito mais do que qualquer economia feita nos HDs. Temos também os casos em que o ganho por utilizar HDs SAS de alto desempenho pode compensar o maior investimento, já que um melhor desempenho equivale a mais requisições e, conseqüentemente, mais clientes atendidos. A perda acumulada de algumas visitas diárias, ao longo de alguns anos, poderia corresponder a um prejuízo equivalente a várias vezes o valor investido nos HDs, embora cada caso seja um caso.

    Entretanto, vale lembrar que a confiabilidade pode ser obtida também através do uso de RAID, de forma que muitos preferem utilizar HDs domésticos, reservando mais discos do array RAID para redundância. Se um HD SAS custa o dobro de um HD SATA equivalente, por exemplo, faria mais sentido comprar dois HDs SATA e usá-los em RAID 1, do que usar um único HD SAS.

    Um bom exemplo de uso desta filosofia é o Google, que utiliza servidores de baixo custo, montados com HDs e placas comuns, o que permite que construam seus gigantescos datacenters a preços relativamente baixos. Quase todas as funções de redundância e tolerância a falhas são implementadas via software as transferências executadas usando interfaces de rede.

    Existem ainda casos de HDS SATA destinados a uso em servidores (procure dentro da seção "enterprise" nos sites dos fabricantes), como o Seagate NL35 e o Western Digital WD2500YD, que oferecem uma boa confiabilidade e são bem mais baratos que um HD SAS típico.



    Página 01 de 03
        


    » Gostou do texto? Veja nossos livros impressos

cb
Livros de Carlos E. Morimoto HOME