Criação e gerenciamento de volumes duplicados

Crie uma cópia do volume “ Block Storage for Classic ” a partir de um snapshot com configurações de capacidade e desempenho herdadas ou personalizadas, seja como uma cópia dependente ou independente.

Por padrão, o volume duplicado herda as opções de capacidade e desempenho do volume original, mas você pode personalizar ambos os atributos durante a criação. A duplicata contém uma cópia dos dados do snapshot que foi usado para criá-la.

Se você é um usuário de conta Dedicado do IBM Cloud® Kubernetes Service, veja suas opções para duplicar um volume na documentação do IBM Cloud Kubernetes Service.

Como a duplicata é baseada nos dados em uma captura instantânea de um momento, o espaço de captura instantânea é necessário no volume original antes de poder criar uma duplicata. Para obter mais informações sobre capturas instantâneas e como pedir espaço de captura instantânea, consulte a documentação da Captura instantânea.

Tipos de volumes duplicados

Duplicata independente

É possível criar duplicatas independentes dos volumes primário e de réplica. A cópia é criada no mesmo data center que o volume original. Se você criar uma duplicata a partir de um volume réplica, o volume duplicado será criado no mesmo data center que o volume réplica.

Usos comuns de um volume duplicado independente

  • Cópia dourada Use um volume de armazenamento como uma cópia mestre, a partir da qual você possa criar várias instâncias para diversos fins.
  • Atualizações de dados. Crie uma cópia dos seus dados de produção para montá-la no seu ambiente de teste.
  • Desenvolvimento e testes. Crie até quatro duplicatas simultâneas de um volume por vez para criar dados duplicados para desenvolvimento e teste.

Duplicata dependente

Os volumes duplicados dependentes são criados usando um instantâneo a partir do volume primário. Os volumes de réplica não podem ser usados para criar ou atualizar duplicatas dependentes.

Usos comuns para um volume duplicado dependente

  • Teste de recuperação de desastre. Crie uma duplicata de seu volume de origem e compare-a com a réplica. Ao comparar a duplicata para a réplica é possível verificar se os dados que estão sendo replicados estão intactos e podem ser usados se ocorrer um desastre, sem interromper a replicação.
  • Restaurar da captura instantânea. Restaure dados no volume original com arquivos e data específicos por meio de uma captura instantânea sem sobrescrever o volume original inteiro com a função de restauração de captura instantânea.
  • Atualizações de dados. Crie uma cópia dos seus dados de produção para montá-la no seu ambiente de teste.
  • Desenvolvimento e testes. Crie até quatro duplicatas simultâneas de um volume por vez para criar dados duplicados para desenvolvimento e teste.

Criação de um volume duplicado no console

Você pode criar volume duplicado a partir da CLI e no IBM Cloud console de duas maneiras.

Criação de uma duplicata a partir da Lista de armazenamento no console

  1. Vá para sua lista de Block Storage for Classic no IBM Cloud no console, clicando em Infrastructure > Classic Infrastructure > Storage > Block Storage for Classic.

  2. Selecione um volume a partir da lista e clique no ícone de reticências Ações Ícone > Duplicar Volume.

  3. Selecione se a duplicata é para ser dependente ou independente.

  4. Selecione a opção de instantâneo a ser usada para criar a cópia. É possível escolher uma captura instantânea já existente ou uma nova.

  5. As entradas do local permanecem as mesmas do volume original.

  6. Faturamento por hora ou mensal – é possível escolher provisionar o volume duplicado com faturamento por hora ou mensal. O tipo de faturamento para o volume original é selecionado automaticamente. Se você deseja escolher um tipo de faturamento diferente para seu armazenamento duplicado, é possível fazer essa seleção aqui.

  7. É possível atualizar o tamanho do novo volume para que seja maior que o do original. O tamanho do volume original é configurado por padrão.

    O Block Storage for Classic pode ser redimensionado para 10 vezes o tamanho original do volume.

  8. É possível atualizar o espaço de captura instantânea do novo volume para incluir mais, menos ou nenhum espaço de captura instantânea.

  9. É possível selecionar o Tipo de S.O. para ser diferente do volume original ou permanecer o mesmo.

  10. Você pode especificar um IOPS ou um nível de IOPS para o novo volume, se desejar. A designação de IOPS do volume original é configurada por padrão. As combinações de desempenho e tamanho disponíveis são exibidas.

    • Se o seu volume original for a camada 0,25 IOPS Endurance, não será possível fazer uma nova seleção.
    • Se seu volume original for a camada de 2, 4 ou 10 IOPS do Endurance, será possível se mover em qualquer lugar entre essas camadas para o novo volume.
  11. Marque a caixa se você leu e concordou com os termos e condições.

  12. Clique em Criar para continuar.

Criando uma duplicata na página Detalhes do volume a IU

  1. Acesse a sua lista de Block Storage for Classic.

  2. Clique em um volume na lista para visualizar a página de detalhes. (Pode ser uma réplica ou um volume primário.)

  3. Clique em Ações Ícone de ações> Volume duplicado.

  4. Selecione se a duplicata é para ser dependente ou independente.

  5. Selecione a opção de instantâneo a ser usada para criar a cópia. É possível escolher uma captura instantânea já existente ou uma nova.

  6. As entradas do local permanecem as mesmas do volume original.

  7. Faturamento por hora ou mensal – é possível escolher provisionar o volume duplicado com faturamento por hora ou mensal. O tipo de faturamento para o volume original é selecionado automaticamente. Se você deseja escolher um tipo de faturamento diferente para seu armazenamento duplicado, é possível fazer essa seleção aqui.

  8. É possível atualizar o tamanho do novo volume para que seja maior que o do original. O tamanho do volume original é configurado por padrão.

    O Block Storage for Classic pode ser redimensionado para 10 vezes o tamanho original do volume.

  9. É possível atualizar o espaço de captura instantânea do novo volume para incluir mais, menos ou nenhum espaço de captura instantânea.

  10. É possível selecionar o Tipo de S.O. para ser diferente do volume original ou permanecer o mesmo.

  11. Você pode especificar um IOPS ou um nível de IOPS para o novo volume, se desejar. A designação de IOPS do volume original é configurada por padrão. As combinações de desempenho e tamanho disponíveis são exibidas.

    • Se o seu volume original for a camada 0,25 IOPS Endurance, não será possível fazer uma nova seleção.
    • Se seu volume original for a camada de 2, 4 ou 10 IOPS do Endurance, será possível se mover em qualquer lugar entre essas camadas para o novo volume.
  12. Marque a caixa se você leu e concordou com os termos e condições.

  13. Clique em Criar para continuar.

Depois de clicar em Criar, aparece a janela de confirmação do pedido. Ao fechar a janela, você volta para a lista de recursos. Você pode voltar para sua lista de volumes Block Storage for Classic para clicar na duplicata recém-provisionada. A seção detalhes do volume exibe informações como Tipo Duplica, um link para a página de detalhes do volume pai e o nome do instantâneo que foi usado para criar a duplicata.

Criação de uma duplicata pela CLI

Antes de iniciar, decida sobre o cliente CLI que deseja usar.

Criando uma duplicata a partir da CLI IBMCLOUD

É possível usar o comando ibmcloud sl block volume-duplicate para criar uma duplicata para seu compartilhamento de bloco.. O exemplo a seguir cria uma duplicata independente do compartilhamento de bloco 560382016

ibmcloud sl block volume-duplicate 560382016
This action will incur charges on your account. Continue?> y
OK
Order 110554892 was placed.
 > Storage as a Service
 > File Storage
 > 500 GBs
 > 4 IOPS per GB
 > 500 GB (Snapshot Space)
You may run 'ibmcloud sl block volume-list --order 110554892' to find this block volume after it is ready.

Se você tiver um snapshot específico que contenha os dados que deseja usar para criar o volume duplicado, especifique o ID do snapshot usando a opção --origin-snapshot-id.

Sua nova duplicata está pronta dentro de minutos.

$ ibmcloud sl block volume-list --order 110554892
id          username             datacenter   storage_type             capacity_gb   bytes_used   IOPs   ip_addr                                 lunId   active_transactions   rep_partner_count   notes
560391190   SL02SEV1414935_269   dal09        endurance_block_storage   500           -            -      fsf-dal0902b-fz.service.softlayer.com   -       1                     0                   -

Quando desejar criar uma duplicata dependente do volume, use o comando com a opção --dependent-duplicate. Consulte o exemplo a seguir.

$ ibmcloud sl block volume-duplicate 560391190 --dependent-duplicate
This action will incur charges on your account. Continue?> y
OK
Order 110553472 was placed.
 > Storage as a Service
 > File Storage
 > 500 GBs
 > 4 IOPS per GB
 > 500 GB (Snapshot Space)
You may run 'ibmcloud sl block volume-list --order 110553472' to find this block volume after it is ready.

Para obter mais informações sobre todos os parâmetros disponíveis para esse comando, consulte ibmcloud sl block volume-duplicate.

Criando uma duplicata por meio da SLCLI

Para criar um volume independente duplicado Block Storage for Classic, é possível usar o comando a seguir.

$ slcli block volume-duplicate --help
Usage: slcli block volume-duplicate [OPTIONS] ORIGIN_VOLUME_ID
Options:
  -o, --origin-snapshot-id INTEGER
                                  ID of an origin volume snapshot to use for
                                  duplcation.
  -c, --duplicate-size INTEGER    Size of duplicate block volume in GB. ***If
                                  no size is specified, the size of the origin
                                  volume will be used.***
                                  Minimum: [the size
                                  of the origin volume]
  -i, --duplicate-iops INTEGER    Performance Storage IOPS, between 100 and
                                  6000 in multiples of 100 [only used for
                                  performance volumes] ***If no IOPS value is
                                  specified, the IOPS value of the origin
                                  volume will be used.***
                                  Requirements: [If
                                  IOPS/GB for the origin volume is less than
                                  0.3, IOPS/GB for the duplicate must also be
                                  less than 0.3. If IOPS/GB for the origin
                                  volume is greater than or equal to 0.3,
                                  IOPS/GB for the duplicate must also be
                                  greater than or equal to 0.3.]
  -t, --duplicate-tier [0.25|2|4|10]
                                  Endurance Storage Tier (IOPS per GB) [only
                                  used for endurance volumes] ***If no tier is
                                  specified, the tier of the origin volume
                                  will be used.***
                                  Requirements: [If IOPS/GB
                                  for the origin volume is 0.25, IOPS/GB for
                                  the duplicate must also be 0.25. If IOPS/GB
                                  for the origin volume is greater than 0.25,
                                  IOPS/GB for the duplicate must also be
                                  greater than 0.25.]
  -s, --duplicate-snapshot-size INTEGER
                                  The size of snapshot space to order for the
                                  duplicate. ***If no snapshot space size is
                                  specified, the snapshot space size of the
                                  origin block volume will be used.***
                                  Input
                                  "0" for this parameter to order a duplicate
                                  volume with no snapshot space.
  --billing [hourly|monthly]      Optional parameter for Billing rate (default
                                  to monthly)
  -h, --help                      Show this message and exit.

Volumes duplicados dependentes também podem ser pedidos a partir da CLI, com a opção --dependent-duplicate TRUE.

slcli block volume-duplicate --dependent-duplicate TRUE ORIGIN_VOLUME_ID

Para obter mais informações sobre opções de comando disponíveis, consulte block volume-duplicate.

Criação de um volume duplicado com a API

Para solicitar um volume duplicado independente Block Storage for Classic com a API, você pode fazer uma chamada POST para a API do SL. O exemplo de API REST a seguir cria uma duplicata independente para um volume Endurance (camadas IOPS), que é identificado pelo seu ID de volume na duplicateOriginVolumeId propriedade.

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder
  • Tipo-POST
  • Corpo da solicitação-
    {
        "parameters":[{
        "complexType": "SoftLayer_Container_Product_Order_Network_Storage_AsAService",
        "packageId": 531,
        "duplicateOriginVolumeId":<PrimaryId>,
        "isDependentDuplicateFlag": 0,
        "prices": [{"id": 19497}, {"id": 16479}, {"id": 12931}, {"id": 15749}, {"id":10407}],
        "quantity": 1,
        "osFormatType":{
         "keyName": "LINUX"
        },
        "location": 2,
        "volumeSize":23
        }]
    }
    
    Se você tiver um snapshot específico que contenha os dados que deseja usar para criar o volume duplicado, especifique o ID do snapshot na propriedade duplicateOriginSnapshotId.

Para pedir uma duplicata dependente para um volume de Desempenho (IOPS customizado), faça uma chamada POST /SoftLayer_Product_Order/placeOrder como o exemplo da API de REST a seguir:

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder
  • Tipo-POST
  • Corpo da solicitação-
    {
        "parameters":[{
        "complexType": "SoftLayer_Container_Product_Order_Network_Storage_AsAService",
        "packageId": 531,
        "duplicateOriginVolumeId":1327277,
        "isDependentDuplicateFlag": 1,
        "prices": [{"id": 15751}, {"id": 19487}, {"id": 18983}, {"id": 15749}, {"id":10407}],
        "quantity": 1,
        "iops":454,
        "osFormatType":{
            "keyName": "LINUX"
        },
        "location": 2,
        "volumeSize":23
        }]
    }
    
    Se você tiver um snapshot específico que contenha os dados que deseja usar para criar o volume duplicado, especifique o ID do snapshot na propriedade duplicateOriginSnapshotId.

Para obter mais informações sobre a API e as opções, consulte a Referência da API Procure o SoftLayer_Container_Product_Order_Network_Storage_AsAService tipo de dados.

Gerenciando seu volume duplicado

Todos os volumes duplicados podem ser acessados por um host para operações de leitura e gravação assim que o volume for provisionado.

No entanto, snapshots e replicação de volumes duplicados independentes não são permitidos até que a cópia de dados do original para a duplicata seja completa e o volume duplicado seja totalmente independente. Dependendo do tamanho dos dados, o processo de separação pode levar várias horas. Quando estiver concluída, a cópia poderá ser gerenciada e utilizada como um volume independente.

Enquanto os dados estão sendo copiados do volume original para a cópia independente, é possível observar que o indicador de status na página de detalhes mostra que a duplicação está em andamento. Durante esse período, você pode conectar-se a um host e ler e gravar no volume, mas não pode criar programações de instantâneos nem iniciar uma atualização. Quando o processo de separação estiver concluído, o novo volume será independente do original e poderá ser gerenciado com instantâneos e replicação, como de costume. Após a conclusão da conversão, o volume independente pode ser atualizado manualmente usando um instantâneo do volume pai.

Dependentes duplicatas não passam pelo processo de separação e podem ser renovadas manualmente a qualquer momento. O processo de atualização pode ser iniciado na CLI, com a API e no console. Posteriormente, se desejar converter a duplicata dependente em um volume independente, será possível iniciar esse processo usando a UI, a CLI ou a API também.

O volume duplicado dependente bloqueia o instantâneo original para que o instantâneo não possa ser excluído enquanto a duplicata dependente existir.

Atualizando dados na duplicata do volume pai no console

Conforme o tempo passa e o volume primário muda, o volume duplicado pode ser atualizado com essas mudanças para refletir o estado atual por meio da ação de atualização. A atualização consiste em criar um instantâneo do volume primário e, em seguida, atualizar o volume duplicado utilizando os dados desse instantâneo.

Se o volume duplicado for independente, será possível parar uma operação de atualização em execução e iniciar uma nova..

  1. Vá para sua lista de Block Storage for Classic no IBM Cloud no console, clicando em Infrastructure > Classic Infrastructure > Storage > Block Storage for Classic.

  2. Localize o volume duplicado e clique em seu nome para visualizar os detalhes do volume.

  3. Clique em Ações Ícone Ações > Restaurar snapshot pai.

  4. Na lista de capturas instantâneas, selecione a captura instantânea pai que contém os dados que deseja restaurar para o volume duplicado. Se o volume duplicado que você está atualizando for um volume independente, será possível parar uma operação em execução e forçar uma nova restauração para iniciar. Se você desejar forçar qualquer processo de atualização atual a parar, marque a caixa antes de continuar

    A restauração de dados a partir de um snapshot resulta na perda de todos os dados criados ou modificados desde que o snapshot selecionado foi gerado. Durante a transação de atualização, o volume duplicado é desativado e deve ser remontado após a conclusão da atualização.

  5. Clique em “Sim” para iniciar a atualização. A atualização pode demorar um pouco para ser concluída. A barra de status mostra a porcentagem dos dados copiados para o volume. Para ver status atualizado, atualize a página no navegador.

Convertendo um volume dependente em uma duplicata independente no console

  1. Vá para sua lista de Block Storage for Classic no IBM Cloud no console, clicando em Infrastructure > Classic Infrastructure > Storage > Block Storage for Classic.
  2. Localize o volume duplicado e clique em seu nome para visualizar os detalhes do volume.
  3. Clique em Ações Ícone Ações > Converter Duplicata Dependente.
  4. Marque a caixa para confirmar que deseja prosseguir com a conversão.
  5. Clique em Sim.

O processo de conversão pode demorar algum tempo para ser concluído. Quanto maior for o volume, mais demorado é necessário para converdá-lo. Você pode visualizar o status do processo na página de detalhes do volume sob o cabeçalho Duplicate conversion status.

Atualização de dados na duplicata a partir do volume pai da CLI

Conforme o tempo passa e o volume primário muda, o volume duplicado pode ser atualizado com essas mudanças para refletir o estado atual por meio da ação de atualização. A atualização consiste em criar um instantâneo do volume primário e, em seguida, atualizar o volume duplicado utilizando os dados desse instantâneo.

É possível iniciar as atualizações usando o comando a seguir.

slcli block volume-refresh <duplicate-vol-id> <primary-snapshot-id>

Uma atualização não incorre em tempo de inatividade no volume primário. No entanto, durante a transação de atualização, o volume duplicado é desativado e deve ser remontado após a conclusão da atualização.

O processo de atualização pode ser demorado. Se você achar que possui novos dados que deseja copiar para o volume duplicado independente, será possível emitir o comando slcli block volume-refresh com a opção --force-refresh para parar todas as transações de atualização em andamento e pendentes e iniciar uma nova atualização

O processo de atualização da força funciona apenas em volumes independentes.

Para obter mais informações sobre opções de comando disponíveis, consulte slcli block volume-refresh.

Convertendo um volume dependente para uma duplicata independente da CLI

Se você desejar usar o volume dependente como um volume independente no futuro, será possível convertê-lo para um volume normal e independente do IBM Cloud® Block Storage for Classic por meio da SLCLI. Use o comando abaixo.

slcli block volume-convert <dependent-vol-id>

O processo de conversão pode demorar algum tempo para ser concluído. Quanto maior for o volume, mais demorado é necessário para converdá-lo. Use o comando a seguir para verificar o andamento.

slcli block duplicate-convert-status <dependent-vol-id>

O exemplo a seguir mostra a saída que você pode esperar.

slcli block duplicate-convert-status 370597202
Username            Active Conversion Start Timestamp   Completed Percentage
SL02SEVC307608_74   2022-06-13 14:59:17                 90

Para obter mais informações sobre opções de comando disponíveis, consulte duplicate-convert-status.

Atualizando dados na duplicata do volume pai com a API

Conforme o tempo passa e o volume primário muda, o volume duplicado pode ser atualizado com essas mudanças para refletir o estado atual por meio da ação de atualização. A atualização consiste em criar um instantâneo do volume primário e, em seguida, atualizar o volume duplicado utilizando os dados desse instantâneo.

Uma atualização não incorre em tempo de inatividade no volume primário. No entanto, durante a transação de atualização, o volume duplicado é desativado e deve ser remontado após a conclusão da atualização.

O processo de atualização pode ser demorado. Para adicionar novos dados à duplicata antes do término da atualização em execução, faça uma segunda chamada para refreshDuplicate com o parâmetro forceRefresh definido como true. Isso interrompe todas as transações de atualização em andamento e pendentes e inicia uma nova atualização. Se o parâmetro for definido como false ou não for especificado, a chamada falhará quando outra atualização estiver em andamento.

O processo de atualização da força funciona apenas em volumes independentes.

Exemplo de API de REST

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Network_Storage/duplicateVolumeId/refreshDuplicate
  • Tipo-POST
  • Corpo da solicitação-
    {
     "parameters": [primaryVolumeSnapshotId, true OR false]
    }
    

Exemplo de API SOAP

  • URL - https://api.softlayer.com/soap/v3.1/SoftLayer_Network_Storage
  • Tipo-POST
  • Corpo da solicitação-
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.service.softlayer.com/soap/v3.1/">
    <SOAP-ENV:Header>
     <ns1:authenticate>
      <username>USERNAME</username>
      <apiKey>APIKEY</apiKey>
     </ns1:authenticate>
     <ns2:SoftLayer_Network_StorageInitParameters>
      <id>duplicate Volume Id</id>
     </ns2:SoftLayer_Network_StorageInitParameters>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
     <ns1:refreshDuplicate>
       <snapshotId xsi:type="int">primary Volume Snapshot Id</snapshotId>
       <forceRefresh xsi:type="boolean">true</forceRefresh> <-- (remove this tag for normal refresh)
     </ns1:refreshDuplicate>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

Para obter mais informações sobre a API e as opções, consulte Referência da API e SoftLayer_Network_Storage::refreshDuplicate.

Convertendo um volume dependente em uma duplicata independente com a API

Se você quiser usar o volume dependente como um volume autônomo no futuro, poderá convertê-lo em um volume normal e independente do tipo “ IBM Cloud® Block Storage for Classic ” por meio da API. Veja o exemplo a seguir, que utiliza a API REST.

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Network_Storage/<storageId>/convertCloneDependentToIndependent
  • Tipo-POST
  • Corpo da solicitação-em branco

Para obter mais informações sobre a API e as opções, consulte a Referência da API

Cancelando um volume de armazenamento com uma duplicata dependente

Para cancelar um volume pai que possua volumes dependentes ativos, é necessário cancelar primeiro os volumes dependentes duplicados.