Gerenciando o armazenamento de instância
O armazenamento de instância fornece armazenamento rápido, acessível e temporário, que pode melhorar o desempenho de algumas cargas de trabalho nativas da nuvem (ou apps ou serviços). Para obter mais informações, consulte Sobre o armazenamento de instância.
Para prover um disco de armazenamento de instância com a sua instância do servidor virtual, selecione um perfil que inclua armazenamento de instância. Os dispositivos de disco de armazenamento da instância não podem ser conectados ou desconectados em tempo real, pois são adquiridos como parte do próprio perfil da instância. As famílias de perfil de uso geral (Balanced, Compute e Memória) e algumas famílias de perfil de especialidade (Very High Memory e Storage Optimized) todas possuem opções de perfil com armazenamento de instância. Todos os perfis de instância de 3ª geração incluem armazenamento de instância. Para obter mais informações, consulte Perfis de instância de terceira geração. A quantidade de armazenamento de instância é proporcionalmente alocada com base no número de vCPUs designadas para o perfil. Para obter mais informações sobre perfis, consulte x86-64 instance profiles.
Provisionamento de uma instância de servidor virtual com armazenamento de instância no console
Antes de poder criar uma instância de servidor virtual com armazenamento de instância, é necessário criar uma IBM Cloud VPC.
Para provisionar um armazenamento de instância, preencha as etapas a seguir:
- No console IBM Cloud, acesse
Menu de navegação >
de infraestrutura > Computação > Instâncias do servidor virtual.
- Na página Instâncias de servidor virtual para VPC, clique em Criar e insira as informações necessárias. Para obter mais informações sobre campos específicos, consulte Criando servidores virtuais.
- Para escolher o perfil de armazenamento da sua instância, clique em Exibir todos os perfis. Todos os perfis de ox2 e perfis com a letra "d" na quarta posição do nome Perfil incluem armazenamento de instância. Exemplos de perfis que incluem armazenamento de instância são bx2d-2x8 e ox2-2x16. Use as caixas de entrada para filtrar a lista. Para uma lista de perfis de instância, consulte os perfis de instância x86-64.
- Escolha o perfil que você deseja usar e clique em Salvar. Os discos de armazenamento de instância são conectados à instância de servidor virtual após o volume de inicialização e antes dos volumes de armazenamento de bloco remoto, quando existentes.
- Quando você estiver pronto para provisionar sua instância, clique em Criar instância de servidor virtual.
Próximas etapas
Depois que a instância for criada, associe um endereço IP flutuante à instância. Em seguida, será possível conectar-se a ela. Para obter mais informações, consulte Conectando-se à sua instância do Linux ou Conectando-se à sua instância do Windows. Se você tiver uma instância existente com um endereço IP flutuante, não será necessário designar um segundo IP flutuante à outra instância. É possível se conectar à primeira com um IP flutuante, em seguida, efetuar SSH para a segunda instância usando o endereço IP de sub-rede privado que é automaticamente designado a ela.
Provisionamento de uma instância de servidor virtual com armazenamento de instância a partir da CLI
Para prover uma instância de servidor virtual com armazenamento de instância, siga as instruções para Criando servidores virtuais usando o CLI. Escolha um perfil que inclua um disco de armazenamento de instância. Para obter mais informações sobre perfis, consulte Perfis de instância.
Provisionando uma instância de servidor virtual com armazenamento de instância com a API
Para prover uma instância de servidor virtual com armazenamento de instância, siga as instruções para Usando as APIs REST para criar recursos de VPC. Escolha um perfil que inclua um disco de armazenamento de instância. Para obter mais informações sobre perfis, consulte Perfis de instância.
A API (ou CLI) é útil para determinar o tipo de interface que é usado para anexar os discos de armazenamento de instância. O objeto de instância que é retornado de uma operação de criação (ou get) relata os discos de instância na matriz disks como mostrado na saída parcial de exemplo a seguir.
"disks": [
{
"created_at": "2022-04-19T17:13:28Z",
"href": "https://sample-region.iaas.cloud.ibm.com/v1/instances/vsi_aba03916-8804-46ae-9275-b7dc196e94b3/disks/c4e4d137-a44f-47b8-beb0-a22dc8f8c6ea",
"id": "c4e4d137-a44f-47b8-beb0-a22dc8f8c6ea",
"interface_type": "virtio_blk",
"name": "babbling-drove-grove-catnap",
"resource_type": "instance_disk",
"size": 600
}]
Este exemplo mostra um tipo de interface de virtio_blk.
Usando imagens customizadas com disco de armazenamento de instância
Se você estiver usando imagens customizadas, certifique-se de carregar os drivers de dispositivo corretos na imagem para usar os discos.
Se o seu dispositivo de armazenamento de instância tiver um tipo de interface de virtio_blk, então o driver libvirt virtio deverá ser instalado. O libvirt virtio driver é instalado automaticamente com todos
os sistemas IBM operacionais fornecidos. Todos os perfis de uso geral com armazenamento de instância oferecem apenas conexões virtio_blk.
Usando o armazenamento de instância de sua instância
Listando os dispositivos de bloco em sua instância
Em Linux®, você pode usar o lsblk comando para listar os dispositivos de bloco após fazer login na sua instância. No exemplo a seguir, a instância provisionada conta com dois discos de instância de 600 GB e dois volumes de dados
de 50 GiB. Uma lista de colunas personalizadas é especificada para o lsblk comando para destacar algumas diferenças entre o armazenamento de instância e o remoto Block Storage.
Os discos de instância são medidos em gigabytes (GB), mas lsblk mostram o tamanho em gibibytes ( GiB ).
$ lsblk -o NAME,SIZE,MAJ:MIN,TYPE,PHY-SEC,LOG-SEC,MOUNTPOINT
NAME SIZE MAJ:MIN TYPE PHY-SEC LOG-SEC MOUNTPOINT
vda 100G 252:0 disk 512 512
├─vda1 1G 252:1 part 512 512 /boot
└─vda2 99G 252:2 part 512 512
├─cl-root 97G 253:0 lvm 512 512 /
└─cl-swap 2.1G 253:1 lvm 512 512
vdb 558.8G 252:16 disk 4096 4096
vdc 558.8G 252:32 disk 4096 4096
vdd 50G 252:48 disk 512 512
vde 50G 252:64 disk 512 512
vdf 366K 252:80 disk 512 512
vdg 44K 252:96 disk 512 512
Neste exemplo, todos os Block Storage dispositivos são virtio_blk dispositivos:
vdaé o volume de inicialização.vdbevdcsão os discos de armazenamento de instância de 600 GB. No Linux®, os discos de armazenamento de instância seguem o volume de inicialização com o primeiro/dev/vdb. Como o comando lsblk exibe unidades “G” como base-2 gibibytes, o tamanho é exibido como GiBs558.8. Os valores da coluna de tamanho do setor podem diferir dependendo do sistema operacional ou da geração de perfil.. Por exemplo, as famílias de perfis de instância dox3dpodem ser provisionadas com tamanhos de setor de 512 bytes para discos locaisvddevdesão volumes de dados remotos que estão anexados à instância. Como esses volumes de dados são solicitados nas mesmas unidades em quelsblksão exibidos, seu tamanho permanece como um todo GiBs (50).vdfevdgsão pequenos volumes de bloco usados para a configuração cloud-init da instância.
Usando o serviço de metadados para listar o armazenamento de instância
O serviço de metadados pode ser usado de dentro da instância para recuperar informações sobre a instância, incluindo discos de armazenamento de instância. Para recuperar informações de metadados, o recurso de serviço de metadados deve ser ativado quando a instância for provisionado ou atualizando a instância posteriormente.. Para obter mais informações sobre a ativação e o procedimento de uso, consulte Acessando metadados de uma instância.
Se você tiver uma instância com o serviço de metadados ativado, as etapas a seguir demonstram um exemplo de utilização de metadados de armazenamento de instância de um servidor virtual Linux.
-
Recupere um token de identidade de instância de curta duração
instance_identity_token=`curl -X PUT "http://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2022-03-01" -H "Metadata-Flavor: ibm" -H "Accept: application/json" -d '{ "expires_in": 300}' | jq -r '(.access_token)'`Use HTTPS em vez de HTTP se o ponto de extremidade do serviço de metadados seguro estiver habilitado. Talvez seja necessário instalar os pacotes
curloujqantes de executar o comando curl.jqé uma ferramenta de terceiros licenciada sob a licença MIT. -
Use o token para obter metadados da instância e selecionar a parte
diskse armazenar o json em uma variável bash.disks=$(curl -sS -X GET "http://api.metadata.cloud.ibm.com/metadata/v1/instance?version=2024-02-20" -H "Authorization: Bearer $instance_identity_token" | jq -r '.disks') -
Loop sobre
virtiodispositivos em/dev/disk/by-ide correlacionar caminhos de dispositivo para as informações de disco da instância armazenadas na etapa anterior.for ln in $(ls /dev/disk/by-id/virtio*); do b=$(basename $ln); s=${b#virtio-}; disk=$(echo $disks | jq -r ".[] | select(.id | startswith(\"$s\"))"); if [ -n "$disk" ]; then echo "$ln $(readlink -f $ln) $(echo $disk | jq -r '(.size|tostring) + " " + .name')";fi;done
A seguir está a saída de exemplo do comando anterior em que a ordem da coluna é (1) por caminho de ID, (2) destino do dispositivo symlink, (3) tamanho em GB e (4) o nome do disco de Cloud UI/CLI/API:
/dev/disk/by-id/virtio-0736-35db69bb-d09b-4 /dev/vdc 600 palmtree-vacuumed-judiciary-wharf
/dev/disk/by-id/virtio-0736-874803ac-2593-4 /dev/vdb 600 lunacy-dismantle-dotted-fiddling
Nesse caso, os nomes de disco são os nomes aleatórios gerados de quatro palavras, mas eles podem ser editado para ter nomes customizados... Para obter mais informações, consulte Atualização de um dos nomes padrão
Particionando, formatando e montando discos de armazenamento de instância
Os discos de armazenamento de instância podem ser particionados, formatados com um sistema de arquivos e montados no sistema de arquivo hierárquico da mesma maneira que os volumes de blocos remotos.
- Para obter instruções para o Linux®, consulte Configurar seu volume de dados Block Storage for VPC para uso(Linux) ou Configurando um armazenamento de instância de disco único usando o script cloud-config.
- No Windows®, use a interface do usuário do Gerenciamento do Computador para colocar um volume de bloco online, particioná-lo e formatá-lo. Para obter mais informações, consulte Configurar seu volume de dados Block Storage for VPC para uso(Windows).
O exemplo de lsblk a seguir mostra a saída após efetuar login em uma instância bx3d-48x240 e particionar vdc em duas partições primárias, formatando-as com sistemas de arquivos separados e montando-as.
O comando grep com expressão regular é usado para filtrar a saída apenas para os dispositivos vdb e vdc obtidos por meio do serviço Metadata (consulte a seção anterior).
$ lsblk | grep -E "NAME|vd[b|c]"
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vdb 252:16 0 726.4G 0 disk
vdc 252:32 0 726.4G 0 disk
├─vdc1 252:33 0 200G 0 part /mnt/localdisk1
└─vdc2 252:34 0 526.4G 0 part /mnt/localdisk2
Devido à natureza efêmera do armazenamento de instância, configure a entrada de montagem no arquivo Linux®/etc/fstab da VM com a nofail opção ou deixe a entrada de montagem totalmente de fora. Essa configuração evita
uma falha de montagem durante a inicialização.
O exemplo a seguir mostra uma entrada de montagem com a opção nofail.
/dev/vdb1 /mnt/inststg1 ext4 defaults,nofail 0 0
Consultando detalhes de armazenamento de instância de um perfil de instância..
Procure a coluna de armazenamento da instância na interface do usuário da web ou na CLI ao filtrar perfis de instância. Ele pode ser chamado de Storage(GB)
Os exemplos a seguir mostram possíveis valores de coluna e o que eles significam:
- 1 x 150 GB – Um único dispositivo de bloco de 150 GB é conectado à instância de servidor virtual para armazenamento de instância.
- 2 x 600 GB – Dois dispositivos de bloco de armazenamento de instância de 600 GB (1200 no total) estão conectados.
Em alguns contextos, você poderá ver um Tipo de Interface (geralmente virtio_blk) para um perfil de instância ou para um disco de instância anexado. O exemplo a seguir mostra detalhes que foram obtidos da CLI para um perfil de
instância específica.
ibmcloud is in-pr bx2d-48x192
Getting instance profile bx2d-48x192 under account YYYYYY as user vpc-user@myco.com...
Name bx2d-48x192
Architecture amd64
vCPU Manufacturer intel
Family balanced
vCPUs 48
Memory(GiB) 192
GPU Model Manufacturer Count Memory(GiB)
- - - -
Numa Count -
Bandwidth(Mbps) 80000
Volume bandwidth(Mbps) -
Instance Storage Disks Quantity Size Supported interface types
2 900 virtio_blk
Min NIC Count 1
Max NIC Count 10
Relatando informações de armazenamento de instância
É possível relatar informações de armazenamento de instância para sua instância de servidor virtual usando o exemplo de CLI a seguir. Substitua pelo seu próprio ID ou nome de instância.
ibmcloud is instance-disks 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488
Listing disks of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID Name Size Interface Type
0716-6ebed02f-c421-4b06-a73b-f334413e84b3 clunky-refocus-tidings-underpaid 600 virtio_blk
0716-54ee0659-d92a-4d4c-ac6b-8f03cb178a07 linguini-epiphany-lush-preschool 600 virtio_blk
Atualizando um dos nomes padrão
Você pode atualizar os nomes personalizados dos discos de armazenamento da instância usando o seguinte comando CLI. Substitua seu próprio ID de instância e ID de disco para os dois últimos parâmetros, respectivamente.
ibmcloud is instance-disk-update 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 0716-6ebed02f-c421-4b06-a73b-f334413e84b3 --name my-instance-disk1
Updating instance disk 0716-6ebed02f-c421-4b06-a73b-f334413e84b3 of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID 0716-6ebed02f-c421-4b06-a73b-f334413e84b3
Name my-instance-disk1
Size 600
Interface Type virtio_blk
Created 2020-10-29T22:57:15-05:00
$ ibmcloud is instance-disks 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488
Listing disks of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID Name Size Interface Type
0716-6ebed02f-c421-4b06-a73b-f334413e84b3 my-instance-disk1 600 virtio_blk
0716-54ee0659-d92a-4d4c-ac6b-8f03cb178a07 linguini-epiphany-lush-preschool 600 virtio_blk