volumes espelhados
Ao usar o espelhamento de volume, um volume poderá ter duas cópias físicas. Cada volume pode pertencer a um conjunto diferente e cada cópia tem a mesma capacidade virtual que o volume. Na GUI de gerenciamento, um asterisco (*) indica se a cópia primária do volume espelhado. A cópia primária indica o volume preferencial para solicitações de leitura.
Quando um servidor grava em um volume espelhado, o sistema grava os dados em ambas as cópias. Quando um servidor lê um volume espelhado, o sistema seleciona uma das cópias para ler. Se uma das cópias de volume espelhado estiver temporariamente indisponível; por exemplo, porque o sistema de armazenamento que fornece o conjunto está indisponível; o volume permanecerá acessível aos servidores. O sistema lembra quais áreas do volume são gravadas e ressincroniza essas áreas quando ambas as cópias estão disponíveis.
É possível criar um volume com uma ou duas cópias, e converter um volume não espelhado em um volume espelhado, incluindo uma cópia. Quando uma cópia é incluída dessa maneira, o sistema sincroniza a nova cópia para que ela seja igual ao volume existente. Os servidores podem acessar o volume durante esse processo de sincronização.
É possível converter um volume espelhado em um volume não espelhado, excluindo uma cópia ou dividindo uma cópia para criar um novo volume não espelhado.
A cópia de volume pode ser de qualquer tipo: imagem, dividida ou sequencial. A cópia do volume também pode usar qualquer tipo de economia de capacidade: thin-provisioned, totalmente alocado ou compactado. As duas cópias podem ser de tipos diferentes.
Quando um espelho de volume está sincronizado, uma cópia espelhada pode se tornar não sincronizada se ela ficar off-line e a gravação de solicitações de E/S precisarem progredir ou se ocorrer um failover rápido do espelho. O failover rápido isola os sistemas host de cópias espelhadas de execução lenta temporariamente, o que afeta o sistema com uma breve interrupção na redundância.
Failovers de gravação rápida
Com failovers de gravação rápida, durante o processamento da E/S de gravação de host, o sistema envia gravações (com um valor de tempo limite de 10 segundos) para ambas as cópias. Se uma gravação for bem-sucedida e a outra gravação levar mais do que 10 segundos, a solicitação mais lenta atingirá o tempo limite e terminará. A duração da sequência de término para uma E/S de cópia lenta depende do backend no qual a cópia espelhada está configurada. Por exemplo, se a E/S ocorrer sobre uma rede Fibre Channel, a sequência de término de E/S será normalmente concluída em 10 a 20 segundos. Entretanto, em raros casos, a sequência poderá levar mais de 20 segundos para ser concluída. Quando a sequência de término de E/S é concluída, a configuração do espelho de volume é atualizada para registrar que a cópia lenta agora não está mais sincronizada. Quando as atualizações de configuração forem concluídas, a E/S de gravação poderá ser concluída no sistema host.
O espelho de volume para de usar a cópia lenta por 4 - 6 minutos; as solicitações de E/S subsequentes são atendidas pela cópia sincronizada remanescente. Durante esse tempo, a sincronização é suspensa. Além disso, o progresso de sincronização do volume mostra menos de 100% e diminuirá se o volume receber mais gravações do host. Depois de a suspensão da cópia ser concluída, a sincronização de espelhamento de volume continua e a cópia lenta começa a ser sincronizada.
Se outra solicitação de E/S atingir o tempo limite na cópia não sincronizada durante a sincronização, o espelhamento de volume parará novamente usando essa cópia por 4 a 6 minutos. Se uma cópia for sempre lenta, o espelhamento de volume tentará sincronizar a cópia novamente a cada 4 a 6 minutos e ocorrerá outro tempo limite de E/S. A cópia não será usada por mais 4 a 6 minutos e se torna progressivamente não sincronizada. O progresso da sincronização gradualmente diminui à medida que mais regiões do volume são gravadas.
Se failovers de gravação rápida ocorrerem regularmente, pode haver um problema de desempenho subjacente dentro do sistema de armazenamento que está processando os dados de E/S para a cópia espelhada que se tornaram não sincronizados. Se uma cópia estiver lenta devido ao desempenho do sistema de armazenamento, diversas cópias em volumes diferentes serão afetadas. As cópias podem ser configuradas a partir do conjunto de armazenamentos associado a um ou mais sistemas de armazenamento. Essa situação indica uma possível sobrecarga ou outros problemas de desempenho de backend.
Quando você emite o comando mkvdisk para criar um novo volume, o parâmetro mirror_write_priority é configurado para latency por padrão. O failover rápido é ativado. No entanto, o failover rápido pode ser controlado mudando o valor do parâmetro mirror_write_priority no comando chvdisk. Se mirror_write_priority for configurado para redundancy, o failover rápido será desativado. O sistema aplica um procedimento de recuperação de erro (ERP) da camada do inicializador SCSI completo para toda E/S de gravação espelhada. Se uma cópia estiver lenta, o ERP poderá levar até cinco minutos. Se a operação de gravação ainda for malsucedida, a cópia será colocada no modo off-line. Pense bem se manter a redundância ou failover rápido e o tempo de resposta do host (à custa de uma perda de redundância temporária) é mais importante.
Failovers de leitura rápida
Os failovers de leitura rápida afetam como o sistema processa as solicitações de E/S de leitura. Um failover de leitura rápida determina qual cópia de um volume o sistema tentará primeiro para a operação de leitura. A cópia primária para leitura é a cópia que o sistema tenta primeiro para E/S de leitura; ela é determinada pelo algoritmo de leitura implicado pelo usuário.
O sistema envia a solicitação de E/S de leitura do host para uma cópia de um volume por vez. Se tal solicitação for bem-sucedida, então, o sistema retornará os dados. Se ela não for bem-sucedida, o sistema tentará novamente a solicitação para outra cópia de volume.
Com failovers de leitura rápida, a cópia primária para leitura fica lenta para E/S de leitura, o sistema apresentará failover para a outra cópia. Isso significa que o sistema tentará a outra cópia primeiro para E/S de leitura durante os 4 a 6 minutos seguintes. Depois disso, o sistema será revertido para ler a cópia primária para leitura original. Durante este período, se a E/S de leitura para a outra cópia também ficar lenta, o sistema reverterá imediatamente. Além disso, se cópia primária para leitura mudar, o sistema será revertido para tentar a nova cópia primária para leitura. Isso pode acontecer quando a topologia do sistema muda ou quando a cópia primária ou local muda. Por exemplo, em uma topologia padrão, o sistema normalmente tenta ler a cópia primária primeiro. Se você mudar cópia primária do volume durante um período de failover de leitura rápida, o sistema será revertido para ler a cópia primária recentemente configurada imediatamente.
A função de failover de leitura rápida fica sempre ativada no sistema. Durante esse processo, o sistema não suspende os volumes ou faz cópias fora de sincronização.
Mantendo a integridade de dados de volumes espelhados durante a manutenção do sistema de armazenamento
O espelhamento de volume melhora a disponibilidade de dados permitindo que os hosts continuem a E/S para um volume, mesmo que um dos sistemas de armazenamento de backend tenha falhado. Entretanto, isso não afeta a integridade de dados. Se um dos sistemas de armazenamento de backend corromper os dados, o host estará sob risco de ler esses dados corrompidos da forma que para qualquer outro volume. Portanto, antes de executar a manutenção em um sistema de armazenamento que possa afetar a integridade dos dados de uma cópia, é importante verificar se ambas as cópias do volume estão sincronizadas. Em seguida, remova a cópia de volume antes de começar a manutenção. Por exemplo, o cenário se aplicaria se você precisasse zerar os dados nos discos que o sistema de armazenamento está fornecendo.