Mapeamentos do FlashCopy
A função FlashCopy cria uma cópia point-in-time de dados que são armazenados em um volume de origem para um volume de destino. Em seu modo básico, a função FlashCopy cria cópias de conteúdo em um volume de origem para um volume de destino em um mapeamento. A função associa um volume de origem e um volume de destino em um mapeamento. Se os dados existirem no volume de destino, esses dados serão substituídos pelos dados copiados.
A função FlashCopy® cria uma cópia instantânea de um volume no momento em que ele é iniciado. Para criar uma cópia instantânea de um volume, deve-se 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 de FlashCopy define o relacionamento que copia dados entre um volume de origem e um volume de destino. 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 FlashCopy é iniciada, é feito um ponto de verificação do volume de origem. Nenhum dado é copiado no momento em 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. Durante uma operação de leitura para o volume de destino, o bitmap é 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.
Embora seja difícil fazer uma cópia consistente de um conjunto de dados que é constantemente atualizado, as técnicas de cópia momentânea ajudam a resolver esse problema. Se uma cópia de um conjunto de dados for criada usando uma tecnologia que não fornece técnicas momentâneas e o conjunto de dados for alterado durante a operação de cópia, a cópia resultante poderá conter dados que não são consistentes. Por exemplo, se uma referência para um objeto for copiada anteriormente ao próprio objeto e o objeto for movido antes de ser copiado, a cópia conterá o objeto de referência em seu novo local, mas a referência copiada ainda apontará para o local anterior. Também é possível designar cópia em plano de fundo e taxas de limpeza a um mapeamento de FlashCopy para controlar a taxa na qual as atualizações são propagadas ao sistema remoto. Os valores de taxa de cópia do mapeamento de FlashCopy podem ser de 128 KBps a 2 GBps e podem ser mudados quando o mapeamento de FlashCopy está em qualquer estado.
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 quantidade de tempo que é necessário para recriar uma imagem independente do FlashCopy. É possível definir um mapeamento do FlashCopy como incremental somente ao criar o mapeamento do FlashCopy.

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 de 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 Mapeamento 1 do volume B para o volume A), o Mapeamento 0 e o Mapeamento 1 serã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 FlashCopy seja o volume de origem de outro mapeamento FlashCopy, conforme mostrado em Figura 2.

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 um único volume de origem. Cada relacionamento entre um volume de origem e de destino é gerenciado por um mapeamento exclusivo, de forma que um único volume possa 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.
Como outro exemplo, o volume de destino A dependerá do volume de destino B se o mapeamento ao qual o volume A pertence depender do mapeamento ao qual o volume de destino B pertence. O volume de destino do mapeamento iniciado mais recentemente a partir do volume de origem dependerá 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
É 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 estiver concluído, o volume de destino ficará off-line enquanto o mapeamento estiver parando. O volume de destino permanece off-line 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 do volume de origem inteiro para que um mapeamento possa ser excluído e ainda ser acessado a partir 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 é iniciado e a taxa de cópia é maior que zero, os dados inalterados são copiados para o volume de destino. O bitmap é atualizado para mostrar que os dados foram copiados. Depois de um tempo, o volume inteiro é copiado para o destino, cujo comprimento depende da prioridade que foi determinada pela taxa de cópia e pelo tamanho do volume. 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. Entretanto, 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 tornará inconsistente e o volume de destino será colocado no modo off-line. O volume de destino permanece off-line 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
- Os volumes de origem e de destino agem como volumes independentes, mesmo se existir um mapeamento entre os dois. O armazenamento em cache de leitura e gravação é ativado para os volumes de origem e de destino.
Se o mapeamento for incremental e a cópia em segundo plano for concluída, o mapeamento registrará apenas as diferenças entre os volumes de origem e de destino. Se a conexão com ambos os nós no grupo de E/S ao qual o mapeamento é designado for perdida, os volumes de origem e de destino ficarão off-line.
- A cópia está em progresso. O armazenamento em cache de leitura e gravação é ativado nos volumes de origem e de destino.
- O mapeamento está pronto para ser iniciado. O volume de destino está on-line, 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 tiver sido concluído, o mapeamento registrará apenas as diferenças entre os volumes de origem e destino. Se a conexão com ambos os nós no grupo de E/S à qual o mapeamento está atribuído for perdida, os volumes de origem e de destino ficarão off-line.
- O volume de destino está on-line, mas não está acessível. O volume de destino não pode executar o cache de leitura ou gravação. cache de leitura e gravação é com falha pela extremidade frontal SCSI como um erro de hardware. Qualquer dado de gravação alterado para o volume de origem é limpo do cache. Qualquer dado de leitura ou gravação para o volume de destino é descartado do cache. Se o mapeamento for incremental e um mapeamento anterior tiver sido concluído, o mapeamento registrará apenas as diferenças entre os volumes de origem e destino. Se a conexão com ambos os nós no grupo de E/S à qual o mapeamento está atribuído for perdida, os volumes de origem e de destino ficarão off-line.
- O mapeamento é interrompido porque você emitiu um comando de parada ou ocorreu um erro de E/S. O volume de destino está off-line e seus dados serã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á registrando operações de gravação para o volume de origem. Se a conexão com ambos os nós no grupo de E/S à qual o mapeamento está atribuído for perdida, os volumes de origem e de destino ficarão off-line.
- O mapeamento está copiando dados para outro mapeamento.
- 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 fique off-line. Quando o acesso aos metadados for restaurado, o mapeamento retornará para o estado de cópia ou parada e os volumes de origem e de destino retornarão on-line. 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 ficarão no cache até que o mapeamento deixe o estado suspenso.
Se você não desejar usar grupos de consistências, o sistema permitirá 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 seja o volume de origem de outro mapeamento ativo 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 FlashCopy usando o destino do mesmo mapeamento de FlashCopy ou um mapeamento diferente de FlashCopy sem esperar que o mapeamento fique inativo e sem perda do conteúdo de qualquer outro volume de destino FlashCopy.
Veritas Volume Manager
Para os volumes de destino FlashCopy, o sistema configura 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. A configuração desse bit permite que o Veritas Volume Manager faça distinção entre os volumes de origem e de destino e forneça acesso independente a ambos.