Quando Considerar uma SAN?
Todos parecem querer partir logo para a compra de uma SAN, às vezes de forma bastante apaixonada. As SANs são, é preciso admitir, bem interessantes. Elas são um dos itens de hardware de grande porte mais divertidos e empolgantes que a maioria dos profissionais de TI tem a chance de ter em seu próprio ambiente. Muitas vezes, o desejo de ter uma SAN própria é uma questão de “não ficar atrás dos outros”, já que ter uma SAN tornou-se uma espécie de símbolo de status – um daqueles últimos redutos da TI de grandes empresas que só se vê em uma sala de servidores dedicada e nunca na casa de alguém (bem, quase nunca). As SANs são fortemente impulsionadas, anunciadas e vendidas como caixas incríveis, com redundância interna que as torna infalíveis, velocidade que desafia a lógica e repletas de recursos que você nem sabia que precisava. Ao conversar com profissionais de TI que estão projetando novos sistemas, um dos aspectos de projeto mais comuns que ouço é “bem, não sabemos muito sobre nosso projeto final, mas sabemos que precisamos de uma SAN”.
No contexto deste artigo, uso SAN em seu sentido mais comum, ou seja, para designar um “dispositivo de armazenamento em blocos” e não para se referir à própria rede de armazenamento como um todo. Uma rede de armazenamento pode existir para NAS sem usar nenhum dispositivo de armazenamento em blocos SAN. Portanto, para este artigo, SAN se refere exclusivamente à SAN como dispositivo, e não à SAN como rede. SAN é um termo impreciso usado para designar múltiplas coisas em momentos diferentes e pode se tornar bastante confuso. Uma SAN configurada sem uma rede torna-se DAS. DAS que é colocado em rede torna-se SAN.
Vamos parar por um momento. A SAN é o seu armazenamento de retaguarda (back end). A necessidade dela seria, em todos os casos, determinada por outros aspectos da sua arquitetura. Se você ainda não decidiu sobre muitas outras peças, simplesmente não tem como saber que uma SAN será necessária, ou sequer útil, no projeto final. Sinais de alerta. Sinais de alerta por toda parte. Imagine uma corrida de bigas romanas com os cavalos empurrando as bigas (se é que você me entende).
É evidente que o ímpeto de implementar uma SAN é tão forte que, frequentemente, projetos inteiros são concebidos com pouca finalidade, exceto, ao que parece, justificar a compra da SAN. Como em qualquer projeto, a primeira pergunta que se deve fazer é “Qual é a necessidade de negócio que estamos tentando atender?” E partir daí, e não “Queremos comprar uma SAN, onde podemos usá-la?” As SANs são complexas, e com a complexidade vem a fragilidade. Muito frequentemente, as SANs têm custo elevado. Mas o aspecto mais assustador de uma SAN é a generalizada falta de conhecimento aprofundado do setor a respeito delas. As SANs representam enormes riscos técnicos e de negócio que precisam ser superados para justificar seu uso. As SANs são, sem dúvida, muito empolgantes e bastante úteis, mas isso raramente é suficiente para justificar o desejo por uma.
Nós nos referimos às SANs como “o armazenamento de último recurso”. O que isso significa é que, ao escolher tipos de armazenamento, você espera poder usar qualquer uma das outras alternativas, como discos locais, DAS (Direct Attach Storage) ou NAS (Network Attached Storage), em vez de SAN. Na maioria das vezes, outras opções funcionam maravilhosamente. Mas há momentos em que as necessidades de negócio impõem requisitos que só podem ser razoavelmente atendidos com uma SAN. Quando esses surgem, não temos escolha e precisamos usar uma SAN. Mas, em geral, isso pode ser evitado em favor de opções mais simples e normalmente menos custosas ou arriscadas.
Constato que a maioria das pessoas que pretendem implementar uma SAN o faz sob uma série de equívocos.
O primeiro é que as SANs, por sua própria natureza, são altamente confiáveis. Embora certamente existam muitos fornecedores de SAN e produtos de SAN específicos que são incrivelmente confiáveis, o mesmo poderia ser dito de qualquer produto de TI. Servidores de alto nível na mesma faixa de preço de SANs de alto nível são tão confiáveis quanto as SANs. Como as SANs são feitas com os mesmos componentes de hardware que os servidores comuns, não há mágica que as torne mais confiáveis. Qualquer coisa que possa ser usada para tornar uma SAN confiável é um desdobramento das tecnologias de RAS de servidor (Reliability, Availability and Serviceability – Confiabilidade, Disponibilidade e Sustentabilidade). Assim como a SAN, o NAS e o DAS, bem como os discos locais, podem ser tornados incrivelmente confiáveis. SAN se refere apenas ao dispositivo que está sendo usado para servir armazenamento em blocos em vez de realizar alguma outra tarefa. Uma SAN é apenas um servidor muito simples. As SANs abrangem toda a gama de confiabilidade, com confiabilidade semelhante à de mainframes na ponta superior e dispositivos que não passam de discos rígidos externos – os dispositivos de rede menos confiáveis da sua rede – na ponta inferior. Portanto, em vez de SAN significar confiabilidade, ela na verdade oferece alguns casos especiais de ser a menor confiabilidade que se possa imaginar. Mas, para todos os efeitos práticos, todos os servidores compartilham preocupações de confiabilidade aproximadamente equivalentes. As SANs ganham reputação de confiabilidade porque, frequentemente, as empresas destinam orçamentos extremos às suas SANs que não destinam aos seus servidores, de modo que a comparação é entre uma SAN relativamente de alto nível e um servidor relativamente econômico.
O segundo é que SAN significa “grande” e NAS significa “pequeno”. Não existe tal associação. Tanto SANs quanto NASs podem ser de praticamente qualquer escala ou qualidade. Ambos percorrem todo o espectro e não há a menor indicação, a partir da tecnologia escolhida, sobre se um dispositivo é grande ou não. Novamente, como acima, a SAN na verdade pode tecnicamente ser “menor” do que uma solução NAS, devido à sua possível simplicidade, mas este é um caso especial e, em sua maior parte, apenas teórico, embora existam produtos de SAN no mercado nessa categoria; é apenas muito raro encontrá-los em uso.
O terceiro é que SAN e NAS são drasticamente diferentes por dentro do chassi. Esse certamente não é o caso, pois a maioria dos dispositivos SAN e NAS hoje é o que se chama de “armazenamento unificado”, ou seja, um appliance de armazenamento que atua simultaneamente como SAN e NAS. Isso destaca que a principal diferença entre os dois não está na tecnologia de retaguarda, no hardware, no tamanho ou na confiabilidade, mas sim que a diferença definidora está nos protocolos usados para transferir o armazenamento. As SANs são armazenamento em blocos que expõem dispositivos de blocos brutos na rede usando protocolos como fibre channel, iSCSI, SAS, ZSAN, ATA over Ethernet (AoE) ou Fibre Channel over Ethernet (FCoE). O NAS, por outro lado, usa um sistema de arquivos de rede e expõe arquivos na rede usando protocolos de camada de aplicação como NFS, SMB, AFP, HTTP e FTP, que então trafegam sobre TCP/IP.
O quarto é que as SANs são, por natureza, uma tecnologia de compartilhamento de arquivos. Isso é o NAS. A SAN simplesmente pega o seu armazenamento em blocos (subsistema de disco rígido) e o torna disponível remotamente por uma rede. A natureza das redes sugere que podemos conectar esse armazenamento a múltiplos dispositivos ao mesmo tempo e, de fato, fisicamente, podemos. Assim como antigamente podíamos conectar fisicamente múltiplas controladoras a extremidades opostas de um cabo flat SCSI, com discos rígidos pendurados no meio. Isso irá, em circunstâncias normais, destruir todos os dados dos discos, à medida que as controladoras, que nada sabem umas das outras, sobrescrevem dados umas das outras, causando corrupção quase instantânea. Existem mecanismos disponíveis em sistemas de arquivos especiais em cluster e em seus drivers para permitir isso, mas isso exige conhecimento e compreensão especiais, muito mais técnicos do que muitas das pessoas que adquirem SANs imaginam que precisam para aquilo que frequentemente acreditam ser a própria finalidade da SAN – um desastre tão comum que eu provavelmente converso com alguém que fez exatamente isso quase toda semana. O fato de a SAN colocar em risco justamente o caso de uso que a maioria das pessoas acredita que ela foi projetada para atender e não apenas deixar de oferecer a proteção quase mágica buscada, mas ser, ao contrário, a própria causa da perda de dados, revela o nível de risco que uma tecnologia de armazenamento implementada de forma mal compreendida carrega consigo.
O quinto é que as SANs são rápidas. As SANs podem ser rápidas; também podem ser terrivelmente lentas. Não há ganho intrínseco de velocidade pelo uso da tecnologia SAN por si só. Na verdade, é bastante difícil para as SANs superar os gargalos inerentes introduzidos pela rede na qual elas estão. Como algumas outras opções de armazenamento, como o DAS, usam exatamente as mesmas tecnologias que a SAN, mas carecem do gargalo e da latência da rede em si, um DAS equivalente também será apenas um pouco mais rápido do que seu correspondente SAN. As SANs geralmente são um pouco mais rápidas do que um NAS equivalente de hardware idêntico, mas mesmo isso não é garantido. SAN e NAS se comportam de maneira diferente e, em casos de uso diferentes, qualquer um dos dois pode ter o melhor desempenho. A SAN raramente seria escolhida como solução com base em necessidades de desempenho.
O sexto é que, por ser uma SAN, os problemas inerentes associados às escolhas de armazenamento deixam de se aplicar. Um bom exemplo é o uso de RAID 5. Isso seria considerado má prática em um servidor, mas, ao se trabalhar com uma SAN (que, em teoria, é muito mais crítica do que um servidor isolado), frequentemente o planejamento cuidadoso do subsistema de armazenamento é deixado de lado com base na crença de que, por ser uma SAN, ela de alguma forma corrigiu esses problemas ou que eles não se aplicam. É verdade que algumas SANs de alto nível possuem certo grau de recursos de mitigação de risco improváveis de serem encontrados em outros lugares, mas estes são raros e exclusivamente relegados a unidades de altíssimo nível, onde o uso de projetos frágeis já seria incomum. É uma prática perigosa, porém muito comum, ter grande cuidado e consideração ao planejar o armazenamento para um servidor físico, mas, ao usar uma SAN, esse mesmo planejamento e supervisão são frequentemente ignorados com base na suposição de que a SAN cuida de tudo isso internamente ou de que isso simplesmente não é mais necessário.
Tendo derrubado muitos equívocos sobre as SANs, alguém pode estar se perguntando se as SANs algum dia são apropriadas. São, é claro, bastante importantes e incrivelmente valiosas quando usadas corretamente. Os pontos mais fortes das SANs vêm da consolidação e de tipos especiais de armazenamento compartilhado.
A consolidação foi o impulsionador histórico que trouxe os clientes para as soluções de SAN. Uma SAN nos permite combinar muitos sistemas de arquivos em um único array de discos, possibilitando um uso muito mais eficiente dos recursos de armazenamento. Como a SAN é em nível de blocos, ela é capaz de fazer isso sempre que um subsistema de disco local tradicional pudesse ser empregado. Em muitos servidores, e até em muitos desktops, o espaço de armazenamento é desperdiçado em razão das necessidades de crescimento, planejamento e granularidade de capacidade de disco. Se temos vinte servidores, cada um com arrays de discos de 300 GB, mas cada um usando apenas 80 GB dessa capacidade, temos um grande desperdício. Com uma SAN, poderíamos consolidar para apenas 1,6 TB, mais uma pequena quantidade necessária para overhead, e gastar muito menos em discos físicos do que se cada servidor estivesse mantendo seu próprio armazenamento.
Uma vez que começamos a consolidar o armazenamento, começamos a procurar oportunidades avançadas de consolidação. Tendo consolidado muitos sistemas de arquivos de servidores em uma única SAN, temos a chance, se nossa implementação de SAN oferecer suporte a isso, de deduplicar e comprimir esses dados, o que, em muitos casos, como sistemas de arquivos de servidores, pode potencialmente resultar em uma redução significativa de utilização. Assim, nossos 1,6 TB do exemplo acima poderiam, na verdade, acabar sendo apenas 800 GB ou menos. De repente, nossos números de consolidação vão ficando cada vez melhores.
Para aproveitar a consolidação de forma eficiente, é necessário ter escala, e é aqui que as SANs realmente brilham – quando a escala, seja em capacidade e, mais importante, no número de nós conectados, torna-se muito grande. As SANs são mais adequadas à consolidação de armazenamento em grande escala. Esse é o seu ponto ideal e o que as torna quase onipresentes nas grandes corporações e muito raras nas pequenas.
As SANs também são muito importantes para certos tipos de clustering e armazenamento compartilhado que exigem acesso a um único sistema de arquivos compartilhado. Essa é, na verdade, uma necessidade bastante rara fora de uma circunstância especial – os bancos de dados. A maioria das aplicações fica satisfeita em utilizar qualquer tipo de armazenamento que lhes seja fornecido, mas os bancos de dados frequentemente exigem acesso em nível de blocos de baixo nível para conseguir manipular seus dados da forma mais eficaz. Por causa disso, eles raramente podem ser usados, ou usados de forma eficaz, em NAS ou servidores de arquivos. Fornecer ambientes de armazenamento de alta disponibilidade para clusters de bancos de dados tem sido, há muito tempo, um caso de uso fundamental do armazenamento SAN.
Fora esses dois casos de uso primários, que justificam a grande maioria das instalações de SAN, a SAN também proporciona altos níveis de flexibilidade de armazenamento, tornando potencialmente muito simples mover, expandir e modificar o armazenamento em um grande ambiente sem a necessidade de lidar com movimentações físicas ou com aquisições e provisionamentos complicados. Novamente, assim como a consolidação, isso é um artefato da grande escala.
Em ambientes muito grandes, o uso da SAN também pode servir para fornecer um ponto de demarcação entre as equipes de armazenamento e de engenharia de sistemas, permitindo que haja uma transferência de responsabilidade na camada de rede, geralmente de fibre channel ou iSCSI. Essa clara separação de tarefas pode ser crucial para permitir que as equipes sejam altamente segregadas em empresas que desejam equipes de armazenamento, de rede e de sistemas bastante distintas. Isso permite que a equipe de armazenamento não faça nada além de focar no armazenamento e que a equipe de sistemas não faça nada além de focar nos sistemas, sem qualquer necessidade de conhecimento sobre as implementações da outra equipe.
Durante muito tempo, as SANs também se apresentaram como um meio conveniente de melhorar o desempenho de armazenamento. Isso não é um componente intrínseco da SAN, mas um desdobramento de seu uso comum para consolidação. De maneira semelhante à virtualização quando usada como consolidação, as SANs compartilhadas terão uma vantagem natural de ter melhor utilização dos discos disponíveis, caches centralizados e hardware maior do que o armazenamento equivalente espalhado entre muitos servidores individuais. Assim como os recursos de CPU compartilhados, quando a SAN não está recebendo requisições de múltiplos clientes, ela tem a capacidade de dedicar toda a sua capacidade a atender às requisições de um único cliente, proporcionando uma experiência de desempenho média potencialmente muito superior àquilo que um servidor individual seria capaz de alcançar de forma viável por conta própria.
O uso da SAN para desempenho, no entanto, está rapidamente perdendo prestígio, por causa do advento do armazenamento SSD, que está se tornando muito comum. À medida que os SSDs, com latência incrivelmente baixa e alto desempenho de IOPS, caem de preço a ponto de estarem sendo adicionados a servidores isolados como cache local ou potencialmente até sendo usados como armazenamento principal, o gargalo da rede das SANs torna-se um fator cada vez maior, tornando cada vez mais difícil para os benefícios de consolidação de uma SAN compensarem os benefícios de desempenho dos SSDs locais. Os SSDs são potencialmente muito disruptivos para o mercado de armazenamento compartilhado, pois trazem a vantagem de desempenho de volta na direção do armazenamento local – apenas o mais recente movimento no vai e vem do design de arquitetura de armazenamento.
O aspecto mais importante do uso de SAN a ser lembrado é que a SAN não deve ser um ponto de partida padrão no planejamento de armazenamento. Ela é uma entre muitas escolhas de tecnologia, e uma que frequentemente não atende ao propósito pretendido, ou o atende, mas a um preço desnecessariamente alto, seja em termos monetários ou de complexidade. Comece definindo as metas e necessidades de negócio. Selecione a SAN quando ela resolver essas necessidades da forma mais eficaz, mas mantenha a mente aberta e considere as necessidades gerais de armazenamento do ambiente.
