Extensão de partições e sistemas de arquivos para discos de sistema (Linux)
Cenários
Depois que um disco é expandido no console de gerenciamento, o tamanho do disco é ampliado, mas o espaço adicional não pode ser usado diretamente.
No Linux, você deve alocar o espaço adicional para uma partição existente ou uma nova partição.
Se a capacidade do disco for expandida quando seu ECS for interrompida, o espaço adicional de um disco do sistema Linux será automaticamente adicionado à partição no final do disco na inicialização do servidor. Neste caso, o espaço adicional pode ser usado diretamente.
Esta seção usa o CentOS 7.4 64bit para descrever como estender a partição de disco usando growthpart e fdisk. O método é utilizado apenas para o ECS. O método para alocar o espaço adicional varia com o SO do servidor. Esta seção é usada apenas para referência. Para obter operações detalhadas e diferenças, consulte os documentos do SO correspondentes.

Executar as operações de expansão com cautela. A operação incorreta pode levar à perda de dados ou exceções. Portanto, é aconselhável fazer backup dos dados do disco usando CBR ou snapshots antes da expansão. Para obter detalhes sobre o uso do CBR, consulte Gerenciamento de backups do EVS. Para obter detalhes sobre o uso de snapshots, consulte Criação de um snapshot (OBT).
Pré-requisitos
- Você expandiu a capacidade do disco e o conectou a um ECS no console de gerenciamento. Para obter detalhes, consulte Expansão da capacidade de um disco do EVS em uso ou Expansão da capacidade de um disco do EVS disponível.
- Você fez logon no ECS.
- Para saber como efetuar logon em um ECS, consulte Logon em um ECS.
- Para saber como fazer logon em um BMS, consulte Logon no BMS.
- A versão do kernel do Linux é 3.6.0 ou posterior.
Extensão de uma partição MBR existente
O CentOS 7.4 64bit é usado como o SO de exemplo. Originalmente, o disco do sistema /dev/vda tem 40 GB e uma partição (/dev/vda1) e, em seguida, 60 GB são adicionados ao disco. O procedimento a seguir mostra como alocar os 60 GB adicionais à partição MBR existente /dev/vda1.
- Execute o comando growpart para verificar se growthpart foi instalado.
Se a introdução de uso da ferramenta for retornada, a ferramenta foi instalada e você não precisa instalá-la novamente. Pule o passo 2.
- Execute o seguinte comando para instalar a ferramenta growthpart:
yum install cloud-utils-growpart
- Execute o seguinte comando para visualizar a capacidade total do disco do sistema /dev/vda:
fdisk -l
Informações semelhantes às seguintes são exibidas:[root@ecs-test-0001 ~]# fdisk -l Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000bcb4e Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886079 41942016 83 Linux
- Execute o seguinte comando para exibir a capacidade da partição /dev/vda1:
df -TH
Informações semelhantes às seguintes são exibidas:[root@ecs-test-0001 ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 43G 2.0G 39G 5% / devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 2.0G 9.0M 2.0G 1% /run tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs tmpfs 398M 0 398M 0% /run/user/0
- Execute o seguinte comando para estender a partição usando growthpart:
growpart Disco do sistema número da partição
Neste exemplo, execute o seguinte comando:
growpart /dev/vda 1
Informações semelhantes às seguintes são exibidas:[root@ecs-test-0001 ~]# growpart /dev/vda 1 CHANGED: partition=1 start=2048 old: size=83884032 end=83886080 new: size=209713119,end=209715167
- Execute o seguinte comando para estender o sistema de arquivos da partição:
resize2fs Partição de disco
Neste exemplo, execute o seguinte comando:
resize2fs /dev/vda1
Informações semelhantes às seguintes são exibidas:[root@ecs-test-0001 ~]# resize2fs /dev/vda1 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/vda1 is mounted on /; on-line resizing required old_desc_blocks = 5, new_desc_blocks = 13 The filesystem on /dev/vda1 is now 26214139 blocks long.
- Execute o seguinte comando para exibir a nova capacidade da partição /dev/vda1:
df -TH
Informações semelhantes às seguintes são exibidas:[root@ecs-test-0001 ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 106G 2.0G 99G 2% / devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 2.0G 9.0M 2.0G 1% /run tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs tmpfs 398M 0 398M 0% /run/user/0
Criação de uma nova partição MBR
Originalmente, o disco do sistema /dev/vda tem 40 GB e uma partição (/dev/vda1) e, em seguida, 40 GB são adicionados ao disco. O procedimento a seguir mostra como criar uma nova partição MBR /dev/vda2 com esses 40 GB.
- Execute o seguinte comando para exibir as informações de partição de disco:
fdisk -l
Informações semelhantes às seguintes são exibidas:[root@ecs-2220 ~]# fdisk -l Disk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0008d18f Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886079 41942016 83 Linux
Na saída do comando, a capacidade do disco do sistema dev/vda é de 80 GB, em que a partição dev/vda1 em uso ocupa 40 GB e os 40 GB adicionais não foram alocados.
- Execute o seguinte comando para entrar no fdisk:
fdisk /dev/vda
Informações semelhantes às seguintes são exibidas:[root@ecs-2220 ~]# fdisk /dev/vda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
- Digite n e pressione Enter para criar uma nova partição.
ECS
Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended
Existem dois tipos de partições de disco:- escolha de p cria-se uma partição primária.
- escolha de e cria-se uma partição estendida.
Se o estilo de partição MBR for usado, um máximo de 4 partições primárias ou 3 partições primárias e 1 partição estendida podem ser criadas. A partição estendida não pode ser usada diretamente e deve ser dividida em partições lógicas antes do uso.
As partições de disco criadas usando o GPT não são categorizadas.
- Neste exemplo, uma partição primária é criada. Portanto, insira p e pressione Enter para criar uma partição primária.
Informações semelhantes às seguintes são exibidas:
Select (default p): p Partition number (2-4, default 2):
- O número da partição 2 é usado neste exemplo. Portanto, insira 2 e pressione Enter.
Informações semelhantes às seguintes são exibidas:
Partition number (2-4, default 2): 2 First sector (83886080-167772159, default 83886080):
- Digite o setor inicial da nova partição e pressione Enter. Neste exemplo, o setor de início padrão é usado.
O sistema exibe os setores inicial e final do espaço disponível da partição. Você pode personalizar o valor dentro desse intervalo ou usar o valor padrão. O setor de início deve ser menor que o setor final da partição.
ECSFirst sector (83886080-167772159, default 83886080): Using default value 83886080 Last sector, +sectors or +size{K,M,G} (83886080-167772159,default 167772159):
- Insira o setor final da nova partição e pressione Enter. Neste exemplo, o setor final padrão é usado.
O sistema exibe os setores inicial e final do espaço disponível da partição. Você pode personalizar o valor dentro desse intervalo ou usar o valor padrão. O setor de início deve ser menor que o setor final da partição.
ECSLast sector, +sectors or +size{K,M,G} (83886080-167772159, default 167772159): Using default value 167772159 Partition 2 of type Linux and of size 40 GiB is set Command (m for help):
- Digite p e pressione Enter para exibir a nova partição.
ECS
Command (m for help): p Disk /dev/vda: 85.9 GB, 85899345920 bytes, 167772160 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0008d18f Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886079 41942016 83 Linux /dev/vda2 83886080 167772159 41943040 83 Linux Command (m for help):
- Digite w e pressione Enter para gravar as alterações na tabela de partição.
ECS
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
A partição é criada.
Caso queira descartar as alterações feitas antes, você pode sair do fdisk digitando q.
- Execute o seguinte comando para sincronizar a nova tabela de partição com o SO:
partprobe
- Execute o seguinte comando para definir o formato do sistema de arquivos para a nova partição:
mkfs -t Sistema de arquivos Partição de disco
- Exemplo de comando do sistema de arquivos ext*:
(O sistema de arquivos ext4 é usado neste exemplo.)
mkfs -t ext4 /dev/vda2
ECS[root@ecs-2220 ~]# mkfs -t ext4 /dev/vda2 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2621440 inodes, 10485760 blocks 524288 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
- Exemplo de comando do sistema de arquivos xfs:
[root@ecs-2220 ~]# mkfs -t xfs /dev/vda2 meta-data=/dev/vda2 isize=512 agcount=4, agsize=2621440 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=10485760, imaxpct=25 = sunit=0 swidth=0 blks naming =version2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=5120, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
A formatação demora um pouco e você precisa observar o status de execução do sistema. Uma vez done é exibido na saída do comando, a formatação está completa.
- Exemplo de comando do sistema de arquivos ext*:
- (Opcional) Execute o seguinte comando para criar um ponto de montagem:
Execute esta etapa se quiser montar a partição em um novo ponto de montagem.
mkdir Ponto de montagem
Neste exemplo, execute o seguinte comando para criar o ponto de montagem /opt:
mkdir /opt
- Execute o seguinte comando para montar a nova partição:
mount Partição do disco Ponto de montagem
Neste exemplo, execute o seguinte comando para montar a nova partição /dev/vda2 em /opt:
mount /dev/vda2 /opt
Se a nova partição estiver montada em um diretório que não esteja vazio, os subdiretórios e arquivos no diretório serão ocultos. Portanto, é aconselhável montar a nova partição em um diretório vazio ou em um novo diretório. Se a nova partição tiver de ser montada num diretório que não esteja vazio, mova temporariamente os subdiretórios e ficheiros neste diretório para outro diretório. Depois que a partição for montada com êxito, mova os subdiretórios e os arquivos de volta.
- Execute o seguinte comando para visualizar o resultado da montagem:
df -TH
[root@ecs-2220 ~]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 43G 2.0G 39G 5% / devtmpfs devtmpfs 509M 0 509M 0% /dev tmpfs tmpfs 520M 0 520M 0% /dev/shm tmpfs tmpfs 520M 7.2M 513M 2% /run tmpfs tmpfs 520M 0 520M 0% /sys/fs/cgroup tmpfs tmpfs 104M 0 104M 0% /run/user/0 /dev/vda2 ext4 43G 51M 40G 1% /opt
Se o ECS for reiniciado, a montagem se tornará inválida. Você pode definir a montagem automática para partições no início do sistema modificando o arquivo /etc/fstab. Para mais detalhes, consulte Configurar montagem automática do disco no início do sistema.
Configurar montagem automática do disco no início do sistema
Modifique o arquivo fstab para configurar a montagem automática do disco no início do servidor. Você também pode definir a montagem automática para os ECSes que contêm dados. Esta operação não afetará os dados existentes.
O procedimento a seguir mostra como definir a montagem automática de disco no início do servidor usando UUIDs para identificar discos no arquivo fstab. Recomendamos que você não use nomes de dispositivos para identificar discos no arquivo porque um nome de dispositivo pode mudar (por exemplo, de /dev/vdb1 para /dev/vdb2) durante a interrupção ou inicialização de ECS, resultando em uma execução incorreta de ECS após a reinicialização.

UUID é a cadeia de caracteres única para partições de disco em um sistema Linux.
- Execute o seguinte comando para consultar o UUID da partição:
blkidPartição de disco
Neste exemplo, execute o seguinte comando para consultar o UUID da partição /dev/vdb1:
blkid /dev/vdb1
Informação semelhante à seguinte foi exibida:
[root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
O UUID da partição /dev/vdb1 é exibido.
- Execute o seguinte comando para abrir o arquivo fstab usando o editor vi:
vi /etc/fstab
- Pressione i para entrar no modo de edição.
- Mova o cursor para o final do arquivo e pressione Enter. Em seguida, adicione as seguintes informações:
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
O conteúdo anterior é usado apenas para referência. Adicione as informações que são usadas no ambiente. Os parâmetros são descritos como segue:- A primeira coluna indica o UUID da partição obtido em 1.
- A segunda coluna indica o diretório no qual a partição está montada. Você pode consultar o ponto de montagem usando o comando df -TH.
- A terceira coluna indica o formato do sistema de arquivos da partição. Você pode consultar o formato do sistema de arquivos usando o comando df -TH.
- A quarta coluna indica a opção de montagem de partição. Normalmente, esse parâmetro é definido como defaults.
- A quinta coluna indica a opção de backup de despejo do Linux.
- 0: o backup de despejo do Linux não é usado. Normalmente, o backup de despejo não é usado e você pode definir esse parâmetro como 0.
- 1: o backup de despejo do Linux é usado.
- A sexta coluna indica a opção fsck, ou seja, se deve usar o fsck para verificar o disco anexado durante a inicialização.
- 0: não usar fsck.
- Se o ponto de montagem for a partição raiz (/), este parâmetro deve ser definido como 1.
Quando este parâmetro é definido como 1 para a partição raiz, este parâmetro para outras partições deve começar com 2 porque o sistema verifica as partições na ordem crescente dos valores.
- Pressione Esc, insira :wq e pressione Enter.
O sistema salva as configurações e sai do editor vi.
- Execute as seguintes operações para verificar a função de montagem automática:
- Execute o seguinte comando para desmontar a partição:
Neste exemplo, execute o seguinte comando:
umount /dev/vdb1
- Execute o seguinte comando para recarregar todo o conteúdo no arquivo /etc/fstab:
mount -a
- Execute o seguinte comando para consultar as informações de montagem do sistema de arquivos:
mount | grep ponto de montagem
Neste exemplo, execute o seguinte comando:
mount | grep /mnt/sdc
Se informações semelhantes às seguintes forem exibidas, a montagem automática foi configurada:
root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
- Execute o seguinte comando para desmontar a partição: