Anexando um Volume a Várias Instâncias

O serviço Oracle Cloud Infrastructure Block Volume fornece o recurso para anexar um volume em blocos a várias instâncias de computação.

Com esse recurso, você pode compartilhar volumes em blocos nas instâncias no modo leitura/gravação ou somente para leitura. Anexar volumes em blocos como leitura/gravação e de modo compartilhável permite implantar e gerenciar suas soluções com suporte a cluster.

Este tópico descreve como anexar volumes em blocos como elementos compartilháveis, juntamente com os limites e considerações para esse recurso.

Consulte Tipos de Acesso a Volume para obter mais informações sobre as opções de tipo de acesso disponíveis. Para conectar volumes a instâncias únicas, consulte Anexando um Volume em Blocos a uma Instância.

Limitações e Considerações

  • O serviço Block Volume não fornece coordenação para operações de gravação simultâneas em volumes em blocos anexados a várias instâncias; portanto, se você configurar o volume em blocos como leitura/gravação e de modo compartilhável, deverá implantar um sistema ou solução com suporte a cluster com base no armazenamento compartilhado; consulte Configurando Vários Anexos de Volume de Instância com Acesso de Leitura/Gravação.

  • Depois que você anexa um volume em blocos a uma instância como somente para leitura, ele só pode ser anexado a outras instâncias como somente para leitura. Se quiser anexar o volume em blocos a uma instância como leitura/gravação, será necessário desanexar o volume em blocos de todas as instâncias e, em seguida, você poderá reanexar o volume em blocos às instâncias como leitura/gravação.

  • Se o volume em blocos já estiver anexado a uma instância como leitura/gravação não compartilhável, você só poderá anexá-lo a outra instância quando o desanexar da primeira instância. É possível, então, reanexá-lo à primeira e à segunda instâncias como leitura/gravação compartilhável.

  • Só será possível excluir um volume em blocos quando ele tiver sido desanexado de todas as instâncias às quais ele foi anexado. Ao exibir as instâncias anexadas ao volume em blocos na seção Recursos da página Detalhes do Volume, você deve observar que somente as instâncias do compartimento selecionado serão exibidas. Talvez você precise alterar o compartimento para listar instâncias adicionais que estão anexadas ao volume.

  • Você pode anexar até 32 instâncias a um volume compartilhado se o volume não estiver configurado para o nível Ultra High Performance

  • Os volumes configurados para o nível Alto Desempenho Ultra requerem anexos ativados para multipath. Você pode anexar até 25 instâncias com anexos ativados para vários caminhos a um volume compartilhado configurado para Ultra High Performance. Se você tentar anexar anexos adicionais ativados para vários caminhos além dos 25, o processo de anexo falhará.

  • Os volumes em blocos anexados como somente para leitura são configurados como compartilháveis por padrão.

  • As características de desempenho descritas no Desempenho do Serviço Block Volume são expressas por volume; portanto, quando um volume em blocos é anexado a várias instâncias, o desempenho é compartilhado entre todas as instâncias anexadas.

  • Os volumes configurados para o nível Altíssimo Desempenho também podem ser anexados a várias instâncias, no entanto, o total de IOPS e o throughput de todos os anexos combinados, incluindo aqueles configurados para Altíssimo Desempenho e sem Altíssimo Desempenho, são restritos aos limites de um volume. Para obter mais informações, consulte Altíssimo Desempenho e Configurando Anexos para Volumes de Altíssimo Desempenho.

Configurando Vários Anexos de Volume de Instância com Acesso de Leitura/Gravação

O serviço Block Volume não fornece coordenação para operações de gravação simultâneas em volumes anexados a várias instâncias. Para evitar dados corrompidos nas operações de leitura/gravação não controlada, instale e configure um sistema ou solução com suporte a cluster como o Oracle Cluster File System versão 2 (OCFS2) com base no armazenamento compartilhado para que você possa usar o volume.

Você pode ver uma amostra passo a passo do cenário de utilização do OCFS2 descrito em Usando o Recurso Anexar Volume em Blocos de Várias Instâncias para Criar um Sistema de Arquivos Compartilhado no Oracle Cloud Infrastructure. O resumo das etapas necessárias para este cenário é:

  1. Anexe o volume em blocos a uma instância como Leitura/Gravação Compartilhável usando a Console, a CLI ou a API.

  2. Configure seus nós de cluster OCFS2/O2CB.

  3. Crie seu sistema de arquivos OCFS2 e ponto de montagem.

Política Obrigatória do Serviço IAM

Para usar o Oracle Cloud Infrastructure, você deve receber de um administrador o acesso de segurança em uma política . Esse acesso é necessário, quer você esteja usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Caso receba uma mensagem de que você não tem permissão ou de que não está autorizado, verifique com o administrador o tipo de acesso que você tem e em qual compartimento  deve trabalhar.

Para administradores: A política em Permitir que os usuários iniciem instâncias de computação inclui a capacidade de anexar/desanexar volumes em blocos existentes. A política em Permitir que os administradores de volume gerenciem volumes em blocos, backups e grupos de volumes permite que o grupo especificado faça tudo com volumes em blocos e backups, mas não inicie instâncias.

Se você não estiver familiarizado com políticas, consulte Conceitos Básicos de Políticas e Políticas Comuns. Para obter informações de referência sobre como escrever políticas para instâncias, redes na nuvem ou outros recursos da API de Serviços Principais, consulte Detalhes dos Serviços Principais.

Usando a Console

Para anexar um volume a várias instâncias pela página Detalhes da instância
  1. Abra o menu de navegação e clique em Compute. No serviço Compute, clique em Instâncias.
  2. Na lista Instâncias, clique na instância à qual você deseja anexar um volume.

  3. Na seção Recursos, clique em Volumes em Blocos Anexados.

  4. Clique em Anexar Volume em Blocos.

  5. Selecione o tipo de anexo de volume, iSCSI ou Paravirtualizado.

    Para obter mais informações, consulte Tipos de Anexo de Volume.

  6. Selecione o tipo de acesso do volume. Selecione Leitura/Gravação Compartilhável se quiser ativar anexos de leitura/gravação em várias instâncias ou Somente para Leitura Compartilhável para anexos somente para leitura em várias instâncias.

    Para obter mais informações, consulte Tipos de Acesso a Volume.

  7. Na lista drop-down Compartimento do Volume em Blocos, selecione o compartimento.

  8. Especifique o volume ao qual você deseja anexar. Para usar o nome do volume, escolha SELECT VOLUME e, em seguida, selecione o volume na lista drop-down Volume em Blocos. Para especificar o OCID do volume, escolha ENTER VOLUME OCID e, em seguida, digite o OCID no campo OCID do Volume em Blocos.

  9. Se a instância suportar caminhos de dispositivo consistentes, selecione um caminho na lista drop-down Caminho do Dispositivo ao anexar. Isso é necessário e permite que você especifique um caminho de dispositivo para o anexo do volume que permaneça consistente entre as reinicializações da instância.

    Para obter mais informações sobre esse recurso e as instâncias que o suportam, consulte Conexão com Volumes com Caminhos de Dispositivos Consistentes

    Dica

    Selecione um caminho de dispositivo ao anexar um volume na Console; não é opcional. A especificação de um caminho de dispositivo é opcional quando você anexa um volume usando a CLI, APIs REST ou o SDK.
  10. Para anexos de volume paravirtualizados em instâncias de VM (máquina virtual), você pode criptografar opcionalmente dados transferidos entre a instância e os servidores de armazenamento do serviço Block Volume. Para fazer isso, marque a caixa de seleção Usar criptografia em trânsito. Se você configurou o volume para usar uma chave de criptografia que você gerencia usando o serviço Vault, essa chave será usada para criptografia em trânsito. Caso contrário, a chave de criptografia fornecida pelo sistema Oracle será usada.

    Para anexos iSCSI em instâncias bare metal que suportam criptografia em trânsito, a criptografia em trânsito é ativada por padrão e não é configurável.

    Consulte Criptografia de Volume em Blocos para obter mais informações sobre criptografia em trânsito.

  11. Clique em Anexar.

    Quando o ícone do volume não o listar mais como Anexando, se o tipo de anexo for Paravirtualizado, você poderá usar o volume. Se o tipo de anexo for iSCSI, primeiramente, estabeleça conexão com o volume. Para obter mais informações, consulte Estabelecendo Conexão com um Volume em Blocos.

    Nas instâncias baseadas em Linux, se você quiser montar automaticamente volumes na inicialização da instância, defina algumas opções específicas no arquivo /etc/fstab ou a instância poderá falhar ao ser iniciada. Isso se aplica aos tipos de anexo iSCSI e paravirtualizado. Para volumes que usam caminhos de dispositivos consistentes, consulte Opções de fstab para Volumes em Blocos Usando Caminhos de Dispositivos Consistentes. Para todos os demais volumes, consulte Opções de fstab Tradicionais.

Para anexar um volume a várias instâncias na página de detalhes do serviço Block Volume
  1. Abra o menu de navegação e clique em Armazenamento. No Serviço Block Storage, clique em Volumes em Blocos.
  2. Na lista Volumes em Blocos, clique no volume em blocos que deseja anexar a uma instância.

  3. Na seção Recursos, clique em Instâncias Anexadas.

  4. Clique em Anexar à Instância.

  5. Selecione o tipo de anexo de volume, iSCSI ou Paravirtualizado.

    Para obter mais informações, consulte Tipos de Anexo de Volume.

  6. Selecione o tipo de acesso do volume. Selecione Leitura/Gravação Compartilhável se quiser ativar anexos de leitura/gravação em várias instâncias ou Somente para Leitura Compartilhável para anexos somente para leitura em várias instâncias.

    Para obter mais informações, consulte Tipos de Acesso a Volume.

  7. Na lista drop-down Escolher Instância, selecione a instância. Clique em Alterar Compartimento se a instância estiver em um compartimento distinto do padrão listado. Se quiser especificar a instância usando o OCID, selecione a opção ENTER INSTANCE OCID e copie o OCID na caixa de texto.

  8. Se a instância suportar caminhos de dispositivo consistentes, selecione um caminho na lista drop-down Caminho do Dispositivo ao anexar. Isso é necessário e permite que você especifique um caminho de dispositivo para o anexo do volume que permaneça consistente entre as reinicializações da instância.

    Para obter mais informações sobre esse recurso e as instâncias que o suportam, consulte Conexão com Volumes com Caminhos de Dispositivos Consistentes

    Dica

    Selecione um caminho de dispositivo ao anexar um volume na Console; não é opcional. A especificação de um caminho de dispositivo é opcional quando você anexa um volume usando a CLI, APIs REST ou o SDK.
  9. Para anexos de volume paravirtualizados em instâncias de VM (máquina virtual), você pode criptografar opcionalmente dados transferidos entre a instância e os servidores de armazenamento do serviço Block Volume. Para fazer isso, marque a caixa de seleção Usar criptografia em trânsito. Se você configurou o volume para usar uma chave de criptografia que você gerencia usando o serviço Vault, essa chave será usada para criptografia em trânsito. Caso contrário, a chave de criptografia fornecida pelo sistema Oracle será usada.

    Para anexos iSCSI em instâncias bare metal que suportam criptografia em trânsito, a criptografia em trânsito é ativada por padrão e não é configurável.

    Consulte Criptografia de Volume em Blocos para obter mais informações sobre criptografia em trânsito.

  10. Clique em Anexar.

    Quando o ícone do volume não o listar mais como Anexando, se o tipo de anexo for Paravirtualizado, você poderá usar o volume. Se o tipo de anexo for iSCSI, primeiramente, estabeleça conexão com o volume. Para obter mais informações, consulte Estabelecendo Conexão com um Volume em Blocos.

    Nas instâncias baseadas em Linux, se você quiser montar automaticamente volumes na inicialização da instância, defina algumas opções específicas no arquivo /etc/fstab ou a instância poderá falhar ao ser iniciada. Isso se aplica aos tipos de anexo iSCSI e paravirtualizado. Para volumes que usam caminhos de dispositivos consistentes, consulte Opções de fstab para Volumes em Blocos Usando Caminhos de Dispositivos Consistentes. Para todos os demais volumes, consulte Opções de fstab Tradicionais.

Para exibir as instâncias anexadas a um volume na página Detalhes do volume
  1. Abra o menu de navegação e clique em Armazenamento. No Serviço Block Storage, clique em Volumes em Blocos.
  2. Na lista Volumes em Blocos, clique no volume em blocos cujas instâncias anexadas deseja exibir.

  3. Na seção Recursos, clique em Instâncias Anexadas.

Todas as instâncias anexadas no compartimento selecionado serão exibidas na lista. Para exibir instâncias anexadas em outros compartimentos, altere o compartimento na lista drop-down COMPARTMENT.

Para exibir os volumes anexados a uma instância na página Detalhes da instância
  1. Abra o menu de navegação e clique em Compute. No serviço Compute, clique em Instâncias.
  2. Na lista Instâncias, clique na instância cujos volumes anexados deseja ver.

  3. Na seção Recursos, clique em Volumes em Blocos Anexados.

Todos os volumes em blocos anexados à instância serão exibidos na lista, independentemente do compartimento em que os volumes em blocos estão.

Usando a CLI

Para obter informações sobre como usar a CLI, consulte Interface de Linha de Comando (CLI).

Para anexar um volume a uma instância como leitura/gravação compartilhável

Abra um prompt de comando e execute:

oci compute volume-attachment attach --instance-id <instance_ID> --type <attachment_type> --volume-id <volume_ID>  --read-only true/false  --is-shareable true

Por exemplo:

oci compute volume-attachment attach --instance-id ocid1.instance.oc1..<unique_ID> --type iscsi --volume-id ocid1.volume.oc1..<unique_ID> --read-only false --is-shareable true
Para listar todas as instâncias anexadas a um volume

Abra um prompt de comando e execute:

oci compute volume-attachment list --compartment-id <compartment_ID> --volume-id <volume_ID>

Por exemplo:

oci compute volume-attachment attach --compartment-id ocid1.compartment.oc1..<unique_ID> --volume-id ocid1.volume.oc1..<unique_ID>
Observação

Esta operação só retornará as instâncias anexadas que estão no compartimento especificado. Você precisa executar esta operação para cada compartimento que possa conter instâncias que estão anexadas ao volume especificado.

Usando a API

Use as seguintes APIs para anexar volumes e trabalhar com anexação de volume em instâncias:

  • AttachVolume

    Defina o atributo isShareable de AttachVolumeDetails como true.

  • GetVolumeAttachment
  • ListVolumeAttachments

    A operação ListVolumeAttachments só retornará as instâncias anexadas que estão no compartimento que você especificar. Você precisa executar esta operação para cada compartimento que possa conter instâncias que estão anexadas ao volume especificado.

Para obter informações sobre como usar a API e assinar solicitações, consulte a documentação da API REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.

Recursos Adicionais

Consulte os links a seguir para ver exemplos de implantações de sistemas de arquivos compartilhados no Oracle Cloud Infrastructure.

  • Projeto GitHub para implantação automatizada de terraform do BeeGFS: oci-beegfs

  • Projeto GitHub para implantação automatizada de terraform do Lustre: oci-lustre

  • Projeto GitHub para implantações automatizadas de terraform do sistema de arquivos paralelos distribuídos do IBM Spectrum Scale (GPFS) no Oracle Cloud Infrastructure: oci-ibm-spectrum-scale