Criar e configurar um disco suplementar numa instância

Bases de conhecimento

Criar e configurar um disco suplementar numa instância


Icons/System/eye-open Created with Sketch. 510 visualizações 19.09.2025 Block Storage
Informações sobre a tradução

Esta tradução foi automaticamente gerada pelo nosso parceiro SYSTRAN. Em certos casos, poderão ocorrer formulações imprecisas, como por exemplo nomes de botões ou detalhes técnicos. Recomendamos que consulte a versão inglesa ou francesa do manual, caso tenha alguma dúvida. Se nos quiser ajudar a melhorar esta tradução, clique em "Contribuir" nesta página.

Objetivo

Pode criar discos suplementares para as suas instâncias Public Cloud. Tal pode ser útil nos seguintes casos:

  • Se deseja aumentar a sua capacidade de armazenamento sem ter de alterar o modelo de instância.
  • Se deseja dispor de um espaço de armazenamento de alta disponibilidade e de alta performance.
  • Se pretender mover o seu armazenamento e os seus dados para outra instância.
  • Se pretender preparar o ambiente para utilizar o Terraform, deverá preparar o ambiente.

Saiba como criar um disco adicional e configurá-lo na instância.

Requisitos

  • Dispor de uma instância Public Cloud na sua conta OVHcloud.
  • Ter acesso de administrador (sudo) à sua instância através de SSH.
  • Preparar o ambiente se deseja utilizar Terraform.

Acesso à Área de Cliente OVHcloud


Esta funcionalidade não está atualmente disponível para as instâncias Metal.

Instruções

Os diferentes tipos de volumes

A OVHcloud propõe três tipos de volumes Block Storage, cada um adaptado a necessidades específicas em matéria de desempenho, de capacidade e de custos. Estas soluções permitem-lhe associar volumes de armazenamento persistentes às suas instâncias, garantindo um alto nível de fiabilidade e disponibilidade. Se a funcionalidade estiver disponível, a encriptação pode ser ativada na criação de um volume para todos os tipos de volumes, com exceção dos volumes Classic Multi-Attach nas regiões 3AZ.

Classic - 500 IOPS garantidos

O volume Classic é uma solução de armazenamento fiável e económica, ideal para cargas de trabalho exigentes em termos de desempenho. Oferece 500 IOPS garantidos, o que o torna adaptado às seguintes utilizações:

  • Alojamento de aplicações web clássicas
  • Armazenamento de bases de dados de pequena a média dimensão
  • Backup e arquivamento de dados

Nas regiões 3AZ, os volumes Classic são serviços regionais que utilizam um Erasure Coding distribuído entre várias zonas de disponibilidade. Isto garante a disponibilidade dos dados sem impacto nem interrupção em caso de falha de uma zona, desde que sejam respeitadas as exigências da arquitetura resiliente com apego múltiplo. Para mais informações, consulte o guia "Utilização correta e limitações do armazenamento Classic Multi-Attach nas regiões 3AZ".

High-Speed - Até 3000 IOPS

O volume High-Speed foi concebido para aplicações que requerem um acesso mais rápido aos dados. Com um rendimento de até 3000 IOPS, é ideal para os seguintes casos de utilização:

  • Bases de dados transacionais (MySQL, PostgreSQL, etc.)
  • Ambientes de virtualização e de containers
  • Aplicações que requerem uma latência reduzida e uma velocidade elevada
High-Speed Gen2 - 30 IOPS/GB e até 20 000 IOPS

A geração 2 dos volumes High-Speed é otimizada para as cargas de trabalho mais exigentes. Com um desempenho de 30 IOPS/GB, até 20 000 IOPS, este tipo de volume é recomendado para as seguintes utilizações:

  • Big Data e análises em tempo real
  • Inteligência artificial e Machine Learning
  • Tratamento de grandes bases de dados e armazenamento de alta performance

volume_types

Cada tipo de volume está igualmente disponível em versão encriptada (LUKS). Estes volumes asseguram a confidencialidade dos dados sem afetar o desempenho. Estão disponíveis a partir da Área de Cliente OVHcloud, bem como com as ferramentas apresentadas na secção seguinte, especificando o tipo <volume_type>-luks.

Associar um novo volume

Abra o Block Storage no menu à esquerda, em Storage & backup.

Nesta parte, clique no botão Criar um volume.

Selecionar projeto

Siga os passos de configuração para selecionar as opções de localização, tipo de disco, encriptação e capacidade do disco. Introduza um nome para o volume e valide clicando em Criar volume.

Nota: O seu volume deve ser criado na mesma região que a instância à qual deseja associá-lo. Se o criar noutra região, poderá eliminá-lo e recriá-lo na região correta.

create disk

O novo disco aparecerá então na Área de Cliente.

configure disk

À direita do volume, clique no botão ... e selecione Associar à instância.

attach disk 01

Na janela que aparece, escolha uma instância da lista e clique em Confirmar para associar o disco.

attach disk 02

O processo de associação do disco à sua instância vai então começar. A operação pode levar alguns minutos.

Certifique-se de que não sai da página atual da sua Área de Cliente OVHcloud enquanto o disco estiver a ser ligado. Isso poderia interromper o processo.

Tenha em conta que os tipos de volume "high-speed-gen2" ou "luks" podem não estar disponíveis em todas as regiões.

Tipos de volumes:

  • Classic
  • High-speed
  • High-speed-gen2
  • Classic-luks
  • High-speed-luks
  • High-speed-gen2-luks

Os tipos que terminam com -us são encriptados (LUKS).

A criação de um volume -luks gera automaticamente uma chave dedicada.

Não altere nem elimine esta chave se esta estiver associada a um volume Block Storage. Isto tornaria os dados deste volume e todas as suas snapshots definitivamente irrecuperáveis.

Para criar um volume Block Storage simples, precisa de 3 elementos:

  • O nome do volume
  • A região
  • O tamanho do volume em GB

No nosso exemplo, vamos criar um Block Storage na região GRA11 com um tamanho de 10 GB. Adicione as seguintes linhas a um ficheiro chamado simples_blockstorage.tf:

# Creation of a block storage volume
resource "openstack_blockstorage_volume_v3" "terraform_blockstorage" {
  name   = "terraform_blockstorage" # Name of the block storage volume
  size   = 10                       # Volume size
  region = "GRA11"                  # Region where the volume must be created
  volume_type = "volume_type"       # classic, high-speed, high-speed-gen2 or equivalent `-luks`
}

E iremos associá-lo à instância de destino.

A instância e o volume devem encontrar-se na mesma região.

Adicione as seguintes linhas abaixo das anteriores:

# Attach the volume to the instance
resource "openstack_compute_volume_attach_v2" "volume_attach" {
  instance_id = "<your_instance_id>"
  volume_id   = openstack_blockstorage_volume_v3.terraform_volume.id
}

Pode criar o seu volume de tipo Block Storage e associá-lo à instância desejada introduzindo o seguinte comando:

terraform apply

A saída deve ser como esta:

$ terraform apply
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # openstack_blockstorage_volume_v3.terraform_blockstorage will be created
  + resource "openstack_blockstorage_volume_v3" "terraform_blockstorage" {
      + attachment        = (known after apply)
      + availability_zone = (known after apply)
      + id                = (known after apply)
      + metadata          = (known after apply)
      + name              = "terraform_blockstorage"
      + region            = "GRA11"
      + size              = 10
      + volume_type       = "high-speed-gen2"
    }

  # openstack_compute_volume_attach_v2.volume_attach will be created
  + resource "openstack_compute_volume_attach_v2" "volume_attach" {
      + device      = (known after apply)
      + id          = (known after apply)
      + instance_id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780"
      + region      = (known after apply)
      + volume_id   = (known after apply)
    }

Plan: 2 to add, 0 to change, 0 to destroy.

Do you want to perform these actions in workspace "test_terraform"?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

openstack_blockstorage_volume_v3.terraform_blockstorage: Creating...
openstack_blockstorage_volume_v3.terraform_blockstorage: Still creating... [10s elapsed]
openstack_blockstorage_volume_v3.terraform_blockstorage: Creation complete after 12s [id=daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]
openstack_compute_volume_attach_v2.volume_attach: Creating...
openstack_compute_volume_attach_v2.volume_attach: Still creating... [10s elapsed]
openstack_compute_volume_attach_v2.volume_attach: Creation complete after 14s [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]

Apply complete! Resources: 2 added, 0 changed, 0 destroyed.

Aceda à secção pendente Volumes, clique em Volumes e depois em Create Volume.

create volume block storage

Introduza o campo Volume Name e selecione o tipo de volume que deseja. De seguida, clique em Create Volume.

Tenha em conta que se o tipo de volume "high-speed-gen2" ou "luks" não aparecer na lista, tal significa que não está disponível nesta região.

create volume block storage 02

Para associar este volume a uma instância, na linha do seu volume, clique em a seta que se encontra no fim da linha ao lado de Edit Volume. Clique em Manage Attachments

Attach a block storage volume to an instance

Selecione a instância à qual deseja associar o seu volume e, a seguir, clique em Attach Volume.

Attach a block storage volume to an instance 02

Tenha em conta que se o tipo de volume "high-speed-gen2" ou "luks" não aparecer na lista, tal significa que não está disponível nesta região.

Tipos de volumes:

  • Classic
  • High-speed
  • High-speed-gen2
  • Classic-luks
  • High-speed-luks
  • High-speed-gen2-luks

Os tipos que terminam com -us são encriptados (LUKS).

A criação de um volume -luks gera automaticamente uma chave dedicada.

Não altere nem elimine esta chave se esta estiver associada a um volume Block Storage. Isto tornaria os dados deste volume e todas as suas snapshots definitivamente irrecuperáveis.

Listar os tipos de volumes disponíveis na região:

openstack volume type list

Crie um volume especificando, no mínimo, o seu tamanho (em GB), bem como um dos tipos listados anteriormente. Também pode indicar um nome para o seu volume no final da encomenda.

openstack volume create --size 1 --type high-speed-gen2 volumeName # classic, high-speed, high-speed-gen2 or equivalent `-luks`

Para associar um volume a uma instância disponível na região, utilize o seguinte comando:

openstack server add volume <server-id|server-name> <volume-id|volume-name>

+-----------+-------------------------------------+
| Field | Value |
+-----------+-------------------------------------+
| ID | 7d3d670f- ****-****-****-60dd1e6**** |
| Server ID | 74317f97-****-****-80cf2d4**** |
| Volume ID | 7d3d670f-****-****-****-60dd1e6**** |
| Device | /dev/sdb |
| Tag | None |
+-----------+-------------------------------------+

Configuração do novo disco

Os exemplos abaixo pressupõem que está ligado enquanto utilizador com autorizações suficientes.

Em Linux

Abra uma ligação SSH à sua instância e utilize o comando abaixo para listar os discos ligados.

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 10G 0 disk
└─vda1 254:1 0 10G 0 part /
vdb 254:16 0 10G 0 disk

Neste exemplo, vda refere-se ao disco predefinido da instância. O disco adicional será então denominado vdb.

Crie uma partição no disco suplementar através dos comandos abaixo.

Se o disco adicional tiver menos de 2 TB:

sudo fdisk /dev/vdb
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x95c4adcc.

Command (m for help): n

Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-20971519, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519):

Created a new partition 1 of type 'Linux' and of size 10 GiB.

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Se o disco adicional for maior do que 2 TB:

sudo parted /dev/vdb
GNU Parted 3.5
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help                                                             
  align-check TYPE N                       check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           print general help, or help on COMMAND
  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)
  mkpart PART-TYPE [FS-TYPE] START END     make a partition
  name NUMBER NAME                         name partition NUMBER as NAME
  print [devices|free|list,all]            display the partition table, or available devices, or free space, or all found partitions
  quit                                     exit program
  rescue START END                         rescue a lost partition near START and END
  resizepart NUMBER END                    resize partition NUMBER
  rm NUMBER                                delete partition NUMBER
  select DEVICE                            choose the device to edit
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER
  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER
  unit UNIT                                set the default unit to UNIT
  version                                  display the version number and copyright information of GNU Parted
(parted) mklabel gpt                                                      
(parted) mkpart primary 0 3750G                                           
Warning: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
Ignore/Cancel? I                                                          
(parted) quit

De seguida, configure a nova partição vdb1 utilizando o seguinte comando:

sudo mkfs.ext4 /dev/vdb1
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 2621184 4k blocks and 655360 inodes
Filesystem UUID: 781be788-c4be-462b-b946-88429a43c0cf
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Monte a partição com os seguintes comandos:

sudo mkdir /mnt/disk
sudo mount /dev/vdb1 /mnt/disk/

Por fim, verifique o ponto de montagem com este comando:

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 9.8G 840M 8.6G 9% /
udev 10M 0 10M 0% /dev
tmpfs 393M 5.2M 388M 2% /run
tmpfs 982M 0 982M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 982M 0 982M 0% /sys/fs/cgroup
/dev/vdb1 9.8G 23M 9.2G 1% /mnt/disk

A montagem não é persistente pois o disco será desligado aquando do reboot da instância. Para automatizar a montagem, é necessário editar o ficheiro fstab.

Primeiro, obtenha a UUID (bloco ID) do novo volume:

sudo blkid
/dev/vda1: UUID="51ba13e7-398b-45f3-b5f3-fdfbe556f62c" TYPE="ext4" PARTUUID="000132ff-01"
/dev/vdb1: UUID="2e4a9012-bf0e-41ef-bf9a-fbf350803ac5" TYPE="ext4" PARTUUID="95c4adcc-01"

Abra /etc/fstab com um editor de texto:

sudo nano /etc/fstab

Adicione a linha abaixo ao ficheiro e substitua a UUID pela sua:

UUID=2e4a9012-bf0e-41ef-bf9a-fbf350803ac5 /mnt/disk ext4 nofail 0 0

Registe e saia do editor. O disco deve ser automaticamente montado em cada reinício.

Em Windows

Crie uma ligação RDP (Remote Desktop) com a sua instância Windows.

Uma vez ligado, clique com o botão Iniciar e abra a Gestão de Discos.

disk management

O novo disco será apresentado como um volume desconhecido com espaço não atribuído.

volume desconhecido

Se o disco for indicado como estando fora de linha, deve ser iniciado. Para isso, pode utilizar a interface de utilizador Windows ou o utilitário DISKPART. Caso contrário, faça a formatação do disco na Gestão dos discos.

Iniciar o disco na Gestão dos discos

Faça um clique direito no disco e selecione Online.

Se o disco for indicado como estando offline, isso deve-se provavelmente a uma política existente na instância. Para resolver este problema, clique com o botão direito do rato e selecione a opção online.

offline disk

Faça novamente um clique direito e selecione Iniciar o disco.

offline disk

Em seguida, seleccione MBR se o disco adicional tiver menos de 2 TB, ou GPT se tiver mais de 2 TB e, em seguida, clique em OK.

inicializa disk

Iniciar o disco com DISKPART

Clique com o botão Iniciar e abra a Executar.

inicializa disk

Introduza cmd e clique em OK para abrir a aplicação de linha de comando.

run pronto

No menu de encomenda, abra o DISKPART:

C:\> diskpart

Utilize a seguinte série de comandos DISKPart para colocar o disco online:

DISKPART> san

SAN Policy : Offline Shared

DISKPART> san policy = OnlineAll

DiskPart successfully changed the SAN policy for the current operating system .

- Implementation of the strategy on the extra disk:
[Code] DISKPART> list disk

Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 200 GB 0 B
* Disk 1 Offline 10 GB 1024 KB

DISKPART> select disk 1

Disk 1 is now the selected disk.

DISKPART> attributes disk clear readonly

Disk attributes cleared successfully.

DISKPART> attributes disk

Current Read-only State : No
Read-only : No
Boot Disk : No
Pagefile Disk : No
Hibernation File Disk : No
Crashdump Disk : No
Clustered Disk : No

DISKPART> online disk

DiskPart successfully onlined the selected disk.
Formatação do disco

Na ferramenta Gestão dos discos, clique com o botão direito do rato no novo disco e selecione Novo volume simples....

formato disk

No assistente, clique em Seguinte para especificar o tamanho do volume. Por predefinição, deve estar no máximo. Clique em Seguinte para continuar.

formato disk

Deixe a nova letra de leitor predefinida ou selecione outra e clique em Seguinte.

formato disk

Dê um nome ao volume (facultativo) e confirme as opções de formatação ao clicar em Seguinte.

formato disk

Na última janela, clique em Terminar para formatar o disco.

formato disk

O disco estará disponível como leitor no explorador de ficheiros.

Desassociar um volume

Se deseja desassociar um volume da sua instância, a melhor prática é desmontar o volume do sistema operativo antes de o desassociar da instância.

Pode surgir uma mensagem de erro se os softwares ou processos estiverem a ser executados no disco suplementar. Neste caso, recomenda-se que interrompa todos os processos antes de continuar.

Eis como desmontar o volume do sistema operativo antes de o desmontar da instância:

Abra uma ligação SSH à sua instância e utilize o comando abaixo para listar os discos ligados.

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 254:0 0 10G 0 disk
└─vda1 254:1 0 10G 0 part /
vdb       8:0    0   10G  0 disk
└─vdb1    8:1    0   10G  0 part /mnt/disk

Desmonte a partição utilizando o seguinte comando:

sudo umount /dev/vdb1

Elimine o ID do periférico do fstab para terminar o processo de desmontagem. Se não o fizer, a partição será aumentada após uma reinicialização.

sudo nano/etc/fstab

Registe e saia do editor.

Crie uma ligação RDP (Remote Desktop) com a sua instância Windows.

Uma vez ligado, clique com o botão direito do rato no menu Iniciar e abra a Gestão de Discos.

gestão dos discos

Clique com o botão direito do rato sobre o volume que pretende desmontar e selecione Alterar letra e os caminho de unidade....

unmount disk

Clique em Remover para retirar o disco.

remove disk

A seguir, clique em Sim para confirmar a eliminação da letra do leitor de disco.

confirma remove disk

Quando tiver terminado, pode fechar a janela de gestão do disco.

Por fim, vamos desassociar o volume da instância:

Aceda à secção Public Cloud da Área de Cliente OVHcloud e clique em Block Storage no menu à esquerda em Backup Storage.

Clique no botão ... junto do volume correspondente e selecione Desassociar a instância.

disk

Clique em Confirmar na nova janela para lançar o processo.

confirma disk detach

Comece por eliminar estas linhas anteriormente criadas no seu ficheiro Terraform:

# Associar o volume à instância
resource "openstack_compute_volume_attach_v2" "volume_attach" {
  instance_id = "<votre_instance_id>"
  volume_id   = openstack_blockstorage_volume_v3.terraform_volume.id
}

Queira introduzir o seguinte comando para verificar se o recurso correto vai ser eliminado:

terraform plan

A saída deve ser como esta:

$ terraform plan
openstack_compute_volume_attach_v2.va_1: Refreshing state... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]
openstack_blockstorage_volume_v3.terraform_volume: Refreshing state... [id=daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # openstack_compute_volume_attach_v2.va_1 will be destroyed
  # (because openstack_compute_volume_attach_v2.va_1 is not in configuration)
  - resource "openstack_compute_volume_attach_v2" "va_1" {
      - device      = "/dev/sdb" -> null
      - id          = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null
      - instance_id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780" -> null
      - region      = "GRA11" -> null
      - volume_id   = "daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null
    }

Plan: 0 to add, 0 to change, 1 to destroy.

Aplicar as alterações introduzindo este comando:

$ terraform apply
openstack_compute_volume_attach_v2.va_1: Refreshing state... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]
openstack_blockstorage_volume_v3.terraform_volume: Refreshing state... [id=daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # openstack_compute_volume_attach_v2.va_1 will be destroyed
  # (because openstack_compute_volume_attach_v2.va_1 is not in configuration)
  - resource "openstack_compute_volume_attach_v2" "va_1" {
      - device      = "/dev/sdb" -> null
      - id          = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null
      - instance_id = "11cc1279-xxxx-xxxx-xxxx-3ace4c954780" -> null
      - region      = "GRA11" -> null
      - volume_id   = "daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806" -> null
    }

Plan: 0 to add, 0 to change, 1 to destroy.

Do you want to perform these actions in workspace "test_terraform"?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

openstack_compute_volume_attach_v2.va_1: Destroying... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806]
openstack_compute_volume_attach_v2.va_1: Still destroying... [id=11cc1279-xxxx-xxxx-xxxx-3ace4c954780/daf3a86e-xxxx-xxxx-xxxx-ac7b6ffbb806, 10s elapsed]
openstack_compute_volume_attach_v2.va_1: Destruction complete after 17s

Apply complete! Resources: 0 added, 0 changed, 1 destroyed.

Quer saber mais?

Aumentar o tamanho de um disco adicional

Fale com nossa comunidade de utilizadores.

Artigos relacionados