Mapeamentos do FlashCopy

Um mapeamento de FlashCopy define o relacionamento que copia dados entre um volume de origem e um volume de destino.

A função FlashCopy faz uma cópia instantânea de um volume no momento em que é iniciado. Para criar uma cópia instantânea de um volume, é necessário primeiro criar um mapeamento entre o volume de origem (o disco que é copiado) e o volume de destino (o disco que recebe a cópia). Os volumes de origem e de destino devem ter o mesmo tamanho.

Um mapeamento pode ser criado entre qualquer um dos dois volumes em um sistema. Os volumes não precisam estar no mesmo grupo de E/S ou conjunto. Quando uma operação do FlashCopy é iniciada, um ponto de verificação é feito no volume de origem. Nenhum dado é copiado no momento que ocorre uma operação de início. Em vez disso, o ponto de verificação cria um bitmap que indica que nenhuma parte do volume de origem foi copiada. Cada bit no bitmap representa uma região do volume de origem. Cada região é chamada de granularidade.

Após uma operação FlashCopy ser iniciada, as operações de leitura e gravação no volume de origem continuarão a ocorrer. Se novos dados forem gravados no volume de origem ou destino, os dados existentes na origem serão copiados para o volume de destino antes dos novos dados serem gravados no volume de origem ou de destino. O bitmap é atualizado para marcar que a granularidade do volume de origem foi copiada, de modo que operações de gravação futuras na mesma granularidade não copiem os dados novamente.

Durante uma operação de leitura para o volume de destino, o bitmap será usado para determinar se a granularidade foi copiada. Se a granularidade foi copiada, os dados serão lidos a partir do volume de destino. Se a granularidade não foi copiada, os dados serão lidos a partir do volume de origem.

Mapeamentos incrementais do FlashCopy

Em um FlashCopy incremental, o mapeamento inicial copia todos os dados do volume de origem para o volume de destino. Os mapeamentos subsequentes de FlashCopy copiam apenas os dados que foram modificados após o mapeamento inicial de FlashCopy, conforme mostrado em Figura 1. Esse processo reduz a quantia de tempo que é necessária para recriar uma imagem independente do FlashCopy. É possível definir um mapeamento do FlashCopy como incremental somente ao criar o mapeamento do FlashCopy.

Figura 1. FlashCopy incremental de diferenças
FlashCopy incremental de diferenças

Mapeamentos de parceiro do FlashCopy

É possível criar um mapeamento para espelhar um mapeamento incremental existente do FlashCopy. Os mapeamentos que são emparelhados são chamados parceiros. Um mapeamento pode ter apenas um parceiro. Por exemplo, se você tiver o volume A e o volume B com dois mapeamentos (Mapeamento 0 do volume A para o volume B e o Mapeamento de 1 do volume B para o volume A), Mapeamento 0 e Mapeamento 1 são parceiros.

Os mapeamentos incrementais do FlashCopy compartilham os metadados para a gravação das alterações. Portanto, se um mapeamento em um par espelhado (parceria) for incremental, o outro mapeamento se tornará incremental automaticamente e permanecerá incremental até que ele seja excluído.

Mapeamentos do FlashCopy em cascata

A função FlashCopy em cascata permite que um volume de destino FlashCopyseja o volume de origem de outro mapeamento FlashCopy, conforme mostrado em Figura 2.

Figura 2. Volumes do FlashCopy em cascata
Volumes do FlashCopy em cascata

Até 256 mapeamentos podem existir em uma cascata. Se os mapeamentos em cascata e vários mapeamentos de destino forem usados, uma árvore de até 256 mapeamentos poderão ser criados.

Vários mapeamentos do FlashCopy de destino

É possível copiar até 256 volumes de destino de umvolume de origem única. Cada relacionamento entre umvolume de origem e destino é gerenciado por um mapeamento exclusivo, de tal modo que um único volume pode ser o volume de origem em até 256 mapeamentos.

Cada um dos mapeamentos de uma única origem pode ser iniciado e parado de forma independente. Se vários mapeamentos da mesma origem estiverem ativos (nos estados de cópia ou parada), existirá uma dependência entre esses mapeamentos.

Por exemplo, o Mapeamento A dependerá do Mapeamento B se as seguintes condições forem verdadeiras:
  • Os mapeamentos A e B possuem o mesmo volume de origem
  • Os mapeamentos A e B estão no estado copiando ou de parada.
  • O mapeamento B foi iniciado mais recentemente que o mapeamento A.
    Nota: Se ambos os mapeamentos estavam no mesmo grupo de consistências e iniciaram ao mesmo tempo, a ordem de dependência será decidida internamente quando o grupo de consistências for iniciado.
  • O mapeamento A não possui uma cópia concluída da origem porque o progresso copiando para o mapeamento é menor que 100.
  • Um mapeamento não existe na mesma origem que foi iniciada mais recentemente que A e mais posteriormente que B que possui uma cópia completa da origem porque o progresso da cópia do mapeamento é menor que 100.

Como outro exemplo, o volume A de Destino dependerá do volume B de Destino se o mapeamento ao qual o volume A pertence depender do mapeamento ao qual o volume B de Destino pertence. O volume de destino do mapeamento iniciado mais recentemente a partir do volume de origem depende do volume de origem até que uma cópia completa da origem seja criada (o progresso é 100%).

Taxa de limpeza, taxa de cópia e exclusão automática

Ao criar um mapeamento, você especificará uma taxa de limpeza. A taxa de limpeza é usada para controlar a taxa que os dados são copiados do volume de destino do mapeamento para o volume de destino de um mapeamento que seja a cópia mais recente do volume de destino ou é a cópia mais antiga próxima do volume de origem. A taxa de limpeza é usada nas situações a seguir:
  • O mapeamento está no estado de parada.
  • O mapeamento está no estado copiando e possui uma taxa de cópia de zero.
  • O mapeamento está no estado copiando e a cópia em plano de fundo foi concluída.

É possível usar a taxa de limpeza para minimizar a quantia de tempo que um mapeamento está no estado de parada. Se o mapeamento não foi concluído, o volume de destino ficará offline enquanto o mapeamento estiver parando. O volume de destino permanece offline até que o mapeamento seja reiniciado.

Você também especificará uma taxa de cópia ao criar um mapeamento. Quando o mapeamento estiver no estado copiando, a taxa de cópia determinará a prioridade fornecida ao processo de cópia em segundo plano. Se desejar uma cópia dovolume de origem completo de modo que o mapeamento possa ser excluído e ainda ser acessado do volume de destino, você deverá copiar todos os dados que estão no volume de origem para o volume de destino.

Os valores padrão para a taxa limpa e a taxa de cópia é de 50.

Quando um mapeamento for iniciado e a taxa de cópia for maior que zero, os dados inalterados serão copiados para o volume de destino. O bitmap é atualizado para mostrar que os dados foram copiados. Após um tempo, o comprimento do qual depende da prioridade que foi determinada pela taxa de cópia e o tamanho do volume, todo o volume será copiado para o destino. O mapeamento retorna para o estado idle_or_copied e agora é possível reiniciar o mapeamento a qualquer momento para criar uma nova cópia no destino.

Enquanto o mapeamento estiver no estado copiando, será possível configurar a taxa de cópia para zero e a taxa de limpeza para um valor diferente de zero para minimizar a quantia de tempo que um mapeamento está no estado de parada.

Se você usar diversos mapeamentos de destino, o mapeamento poderá ficar no estado copiando após todos os dados de origem serem copiados para o destino (o progresso é de 100%). Essa situação poderá ocorrer se os mapeamentos que foram iniciados anteriormente e usam o mesmo disco de origem ainda não estejam 100% copiados.

Se a taxa de cópia for zero, somente os dados que alteram na origem são copiados para o destino. O destino nunca contém uma cópia da origem inteira a menos que cada extensão seja sobrescrita na origem. É possível usar essa taxa de cópia quando você precisar de uma cópia temporária da origem.

É possível parar o mapeamento a qualquer momento. No entanto, a menos que o volume de destino já contenha uma cópia completa do volume de origem, quando o mapeamento for interrompido, o destino se torna inconsistente e o volume de destino é colocado off-line. O volume de destino permanece offline até que o mapeamento seja reiniciado.

Também é possível configurar o atributo de exclusão automática. Se esse atributo estiver configurado como on, o mapeamento será automaticamente excluído quando o mapeamento atingir o estado idle_or_copied e o progresso for de 100%.

Estados de mapeamento do FlashCopy

Em qualquer ponto, um mapeamento estará em um dos estados a seguir:
Inativo ou copiado
Os volumes de origem e destino agem como volumes independentes, mesmo se existir um mapeamento entre os dois. O cache de leitura e gravação é ativado para osvolumes de origem e de destino.

Se o mapeamento for incremental e a cópia em plano de fundo estiver concluída, o mapeamento registrará apenas as diferenças entre os volumes de origem e de destino. Se a conexão com os dois nós no grupo de E/S ao qual o mapeamento está designado for perdida, os volumes de origem e de destino ficarão off-line.

Copiando
A cópia está em progresso. O cache de leitura e gravação está ativado nos volumes de origem e de destino.
Preparado
O mapeamento está pronto para ser iniciado. O volume de destino está online, mas não está acessível. O volume de destino não pode executar o cache de leitura ou gravação. O cache de leitura e gravação falhou pelo front-end do SCSI como um erro de hardware. Se o mapeamento for incremental e um mapeamento anterior for concluído, o mapeamento registrará somente as diferenças entre os volumes de destino e de origem. Se a conexão com os dois nós no grupo de E/S ao qual o mapeamento está designado for perdida, os volumes de origem e de destino ficarão off-line.
Preparando
O volume de destino está online, mas não está acessível. O volume de destino não pode executar o cache de leitura ou gravação. O cache de leitura e gravação falhou pelo front-end do SCSI como um erro de hardware. Quaisquer dados de gravação alterados para o volume de origem será limpo do cache. Quaisquer dados de leitura ou gravação para o volume de destino são descartados do cache. Se o mapeamento for incremental e um mapeamento anterior for concluído, o mapeamento registrará somente as diferenças entre os volumes de destino e de origem. Se a conexão com os dois nós no grupo de E/S ao qual o mapeamento está designado for perdida, os volumes de origem e de destino ficarão off-line.
Interrompido
O mapeamento é interrompido porque você emitiu um comando de parada ou ocorreu um erro de E/S. O volume de destino está offline e seus dados estão perdidos. Para acessar o volume de destino, você deve reiniciar ou excluir o mapeamento. O volume de origem está acessível e o cache de leitura e gravação está ativado. Se o mapeamento for incremental, o mapeamento estará gravando as operações de gravação para o volume de origem. Se a conexão com os dois nós no grupo de E/S ao qual o mapeamento está designado for perdida, os volumes de origem e de destino ficarão off-line.
Parada
O mapeamento está copiando dados para outro mapeamento.
  • Se o processo de cópia em plano de fundo for concluído, o volume de destino ficará online enquanto o processo de cópia parando for concluído.
  • Se o processo de cópia em plano de fundo não for concluído, os dados serão descartados do cache de volume de destino. O volume de destino estará offline enquanto o processo de cópia parando estiver executado.
O volume de origem está acessível para as operações de E/S.
Suspenso
O mapeamento foi iniciado, mas ele não concluído. O acesso aos metadados é perdido, o que faz com que o volume de origem e de destino fiquem offline. Quando o acesso aos metadados for restaurado, o mapeamento retornará ao estado de parada ou copiando e os volumes de origem e de destino retornarão para online. O processo de cópia em plano de fundo continua. Se os dados não foram limpos e foram gravados no volume de origem ou de destino antes da suspensão, eles estarão no cache até que o mapeamento saia do estado suspenso.
Notas:
  1. Se um volume de origem do FlashCopy ficar offline, quaisquer volumes de destino do FlashCopy que dependem desse volume também ficará offline.
  2. Se um volume de destino do FlashCopy ficar offline, quaisquer volumes de destino do FlashCopy que dependem desse volume também ficará offline. O volume de origem permanece online.
Antes de iniciar o mapeamento, você deverá prepará-lo. Preparando o mapeamento assegura que os dados no cache serão migrados para disco e uma cópia consistente da origem existe no disco. O cache entra no modo de gravação no cache e na memória principal (write-through). Os dados gravados na origem não são armazenados em cache nos nós do IBM Spectrum Virtualize ; eles são transmitidos diretamente através do MDisks. A operação de preparação para o mapeamento pode levar algum tempo para ser concluída; a duração real do tempo depende do tamanho do volume de origem. Você deve coordenar a operação de preparação com o sistema operacional. Dependendo do tipo de dados que está novolume de origem, o sistema operacional ou o software aplicativo também poderá armazenar em cache as operações de gravação de dados. Você deverá limpar ou sincronizar, o sistema de arquivos e o programa de aplicativo antes de preparar e iniciar o mapeamento.
Nota: Os comandos startfcmap e startfcconsistgrp podem levar algum tempo para serem processados.

Se você não deseja usar os grupos de consistências, o sistema permite que um mapeamento seja tratado como uma entidade independente. Nesse caso, o mapeamento é conhecido como um mapeamento independente. Para os mapeamentos que foram configurados dessa maneira, use os comandos prestartfcmap e startfcmap em vez dos comandos prestartfcconsistgrp e startfcconsistgrp.

Restauração de mapeamento FlashCopy

É possível iniciar um mapeamento com um volume de destino que é o volume de origem de outro mapeamento ativo que está nos estados idle_copied, stopped ou copying. Se o mapeamento estiver no estado copying, o parâmetro restore será necessário para os comandos startfcmap e prestartfcmap. É possível restaurar o conteúdo de um volume de origem do FlashCopyusando o destino do mesmo mapeamento do FlashCopy ou um mapeamento diferente do FlashCopy sem aguardar o mapeamento se tornar inativo e sem perder o conteúdo de qualquer outro volume de destino do FlashCopy.

Veritas Volume Manager

Para os volumes de destino FlashCopy, o sistema configurará um bit nos dados de consulta para esses estados de mapeamento em que o volume de destino pode ser uma imagem exata do volume de origem. Definir esse bit permite que o Veritas Volume Manager distinga entre os volumes de origem e de destino e forneça acesso independente para ambos.