Um switch pode morrer e o seu storage continua a servir
O disco da sua VM vive num array dedicado, acessível por duas redes de storage que nada partilham. Ambas estão ativas em todos os momentos, pelo que um switch morto, um cabo puxado ou uma rede inteira retirada para manutenção não é um evento para a carga de trabalho.
Neste artigo 4 secções
- Todos os hosts na nossa SAN chegam ao seu storage por dois fabrics Fibre Channel completamente independentes, com switches separados, em modo active/active.
- Um switch, um cabo ou uma porta pode falhar e o seu LUN continua a servir pelo outro caminho. Ambos os caminhos transportam I/O de produção a toda a hora, pelo que não há standby para acordar nem cutover para sobreviver.
- O RAID dentro de um único servidor cobre uma falha, um disco morto. Tudo o resto nessa caixa leva o seu storage consigo.
- O desenho permite retirar um fabric inteiro de serviço com todas as máquinas virtuais a correr no outro.
O disco em que a sua carga de trabalho escreve não vive dentro do servidor que a executa. Vive num array de storage a uma rede de distância, e essa rede pode falhar como tudo o resto: switches morrem, cabos são puxados, portas começam a oscilar. O que decide se a sua carga de trabalho alguma vez repara é se existe uma segunda estrada até ao disco, e se essa segunda estrada é genuinamente separada da primeira.
O multipath dá a cada host duas estradas ativas até ao seu LUN
Um LUN é o dispositivo de blocos que a sua máquina virtual vê como o seu disco. Numa SAN, esse disco vive fora do servidor que corre a sua carga de trabalho, num array all-flash dedicado de controlador duplo, e o servidor chega-lhe através de uma rede de storage. Multipath significa que o servidor mantém mais do que uma rota física para o mesmo LUN ao mesmo tempo, por portas diferentes, cabos diferentes e switches diferentes.
Active/active significa que ambas as rotas transportam tráfego a cada segundo do dia. Um caminho standby que só acorda durante uma falha é um caminho que nunca testou a sério, e a falha é o pior momento possível para o seu primeiro teste. Quando ambos os caminhos transportam I/O real continuamente, perder um deixa simplesmente o outro a fazer todo o trabalho de que já fazia metade. A carga de trabalho não vê nada, porque, de onde está, nada aconteceu.
Duas portas HBA no host
Dois cabos, em dois percursos separados
Dois switches, um por fabric
Dois fabrics Fibre Channel, ambos active/active
Os dois fabrics não partilham nenhum switch, pelo que uma falha não passa de um para o outro
Dois caminhos pelo mesmo switch são um caminho com duas etiquetas. O que mata o switch mata os dois. Independência real significa que os dois fabrics são construídos como duas redes separadas com switches separados, e nada no caminho de dados entre host e array aparece em ambos. Uma falha num fabric, seja um switch morto, uma porta a oscilar ou uma ligação congestionada, não tem para onde se espalhar. O segundo fabric não ouve falar dela.
Um fabric Fibre Channel é a rede comutada entre servidores e arrays de storage, o equivalente da sua LAN para o storage. Correr dois, totalmente separados, significa que o tráfego de storage tem sempre uma segunda rede onde viver. As falhas caras na rede de storage raramente são mortes limpas; são ligações que ficam up mas emperram, e a independência é o que mantém esse tipo de doença confinado a um lado.
O RAID dentro de um servidor morre com o servidor
O RAID numa placa controladora dentro do seu servidor protege-o de exatamente uma coisa, um disco morto, e é bom nisso. Mas os discos, a placa RAID, o backplane, as fontes de alimentação e a motherboard vivem todos na mesma caixa, e a caixa é o domínio de falha. Quando qualquer outra coisa dentro dela morre, o seu storage vai com ela, e volta quando o servidor voltar. Se a própria placa RAID falhar, os discos mais saudáveis do mundo ficam inacessíveis.
Uma SAN tira o disco do domínio de falha da máquina que o usa. O seu servidor pode morrer e o LUN em que estava a escrever um segundo antes continua lá, intacto e a servir, pronto para a carga de trabalho voltar a subir noutro host. O desenho de fabric duplo estende a mesma ideia à estrada entre eles: o caminho até ao seu storage também pode falhar, por isso construímos dois.
| O que falha | O que as suas cargas de trabalho veem |
|---|---|
| Um cabo ou uma porta | O LUN continua a servir pelo outro caminho. Sem cutover, sem reinício. |
| Um switch inteiro | O segundo fabric transporta tudo. Nada acorda nem comuta. |
| Um fabric inteiro, retirado para manutenção | Todos os hosts mantêm um bom caminho no fabric saudável enquanto o trabalho decorre. |
| Um nó controlador de storage | O segundo controlador continua a servir enquanto o hardware é trocado. |
| O próprio servidor | O LUN sobrevive-lhe. A carga de trabalho reinicia noutro host e encontra o seu disco onde o deixou. |
Retirar um fabric inteiro de serviço com cargas de trabalho ativas
Quando um fabric precisa de manutenção, o procedimento não tem nada de espetacular: confirmamos que todos os hosts mantêm um bom caminho no outro fabric, retiramos o fabric de serviço, fazemos o trabalho, e depois reintroduzimo-lo deliberadamente. As máquinas virtuais correm num fabric enquanto o trabalho decorre e não veem nada. É essa a quantidade certa de drama para a manutenção do storage.
A mesma postura vale do lado do array. Os arrays têm controlador duplo: um controlador pode ser intervencionado enquanto o outro continua a servir. O hardware é intervencionado na nossa SAN como devia ser em todo o lado: enquanto aquilo a que pertence continua a fazer o seu trabalho.
Respostas diretas
Active/active é apenas uma palavra mais bonita para failover?+
Não. Um desenho de failover mantém um segundo caminho parado até o primeiro morrer, e depois tenta um cutover nas piores condições do dia. Active/active significa que ambos os fabrics transportam I/O de produção a toda a hora, pelo que uma falha remove um caminho que funciona enquanto o outro caminho que funciona continua. Não há nenhum evento de cutover para sobreviver nem nenhum standby a passar o seu primeiro teste durante o seu incidente.
O meu servidor tem RAID-10. É a mesma proteção?+
O RAID dentro do servidor protege os seus dados de um disco morto, e apenas disso. A placa RAID, o backplane, as fontes de alimentação e o próprio servidor continuam a ser pontos únicos de falha, e o seu storage partilha o destino deles. Numa SAN o storage sobrevive à morte do servidor que o usa, e com fabrics duplos sobrevive também à morte da estrada entre eles.
E se o array inteiro falhar, ou o site inteiro?+
Outra classe de falha, outras ferramentas. Este artigo cobre os caminhos entre um host saudável e um array saudável, que é onde vivem as falhas do dia a dia. Sobreviver à perda de um array ou de um site é uma conversa de recuperação, e escrevemo-la à parte: quanta perda de dados e quanto downtime a sua empresa consegue honestamente tolerar.
Como sei que os dois caminhos estão mesmo a funcionar antes de um falhar?+
Como ambos os fabrics transportam I/O real continuamente, um caminho morto não é uma condição silenciosa: no momento em que um lado deixa de passar tráfego, aparece na monitorização. E todas as manutenções começam da mesma forma, confirmando que cada host mantém um bom caminho no fabric que fica, antes de retirar o que quer que seja de serviço.
Pergunte a um engenheiro sobre o que o seu storage realmente assenta
As pessoas que desenham e operam os fabrics são as mesmas que respondem. Traga a sua infraestrutura atual e dizemos-lhe com clareza o que sobrevive a quê.
Fale com um engenheiroSwitches mortos, cabos puxados e manutenção de controladores são as falhas que este desenho reforma. Perder um array inteiro ou um site inteiro é outra classe de falha, e essa começa na conversa de recuperação. Se está a avaliar fornecedores, as perguntas sobre storage que vale a pena fazer a qualquer um, incluindo a nós, estão em o segredo sujo do seu fornecedor é o storage dele.
Chegou ao fim.
Ponha a leitura em prática
O que executa?
Fale-nos da carga de trabalho, do tráfego e dos requisitos de recuperação. Comece pelo configurador de servidores ou discuta os detalhes com um engenheiro.
Escrito pelos engenheiros que constroem e operam a infraestrutura que descreve.Fale com um engenheiro
