Extensão de partições e sistemas de arquivos de um disco de sistema no Linux (fdisk)
Cenários
No Linux, após a expansão da capacidade ser bem-sucedida, o espaço em disco adicional precisa ser alocado para uma partição existente ou uma nova partição.
Este tópico usa CentOS 7.4 64bit para descrever como alocar o espaço em disco adicional do sistema para uma partição usando o fdisk.
- Para criar novas partições usando fdisk no CentOS 7.0 64bit, veja Criação de uma nova partição.
- Para criar novas partições usando parted no CentOS 7.0 64bit, veja Criar uma nova partição.
Atualmente, um disco foi anexado a um servidor e a capacidade original do disco é de 40 GB. Além disso, um espaço de 40 GB foi adicionado ao disco no console de gerenciamento e a capacidade total do disco deve ser de 80 GB. As operações a seguir orientam você a usar o espaço adicional e estender a partição.
O método para alocar o espaço adicional varia dependendo do sistema operacional do servidor. Este documento é usado apenas para referência. Para obter informações detalhadas sobre as operações e diferenças, consulte os documentos do SO correspondentes.
- Crie uma nova partição (os serviços não serão interrompidos).
Criar uma nova partição após a expansão não requer que as partições originais sejam desmontadas. Portanto, os impactos nos serviços são menores do que recriar uma partição existente. Este método é recomendado para discos do sistema ou discos que transportam serviços que não podem ser interrompidos.
Se o estilo de partição MBR for usado, certifique-se de que a capacidade do disco não exceda 2 TB e o número de partições não atinja o limite superior após a expansão.
- Recrie uma partição existente (os serviços serão interrompidos).
Se o estilo de partição MBR for usado e o número de partições tiver atingido o limite superior, você só poderá alocar o espaço adicional a uma partição existente. Recriar uma partição existente não exclui seus dados, mas requer que a partição seja desmontada. Portanto, os serviços serão interrompidos.
Se o estilo de partição MBR for usado e a capacidade do disco após a expansão exceder 2 TB, o espaço superior a 2 TB não poderá ser usado. Para utilizar esse espaço, altere o estilo da partição do disco de MBR para GPT. Os dados no disco serão apagados durante tal alteração. Portanto, faça backup dos dados do disco antes de alterar o estilo da partição.
Execute as operações de expansão com cautela. A operação incorreta pode levar à perda de dados ou exceções. Portanto, é aconselhável usar o CBR para fazer backup dos dados do disco antes da expansão. Para mais detalhes, consulte Gerenciamento de backups.
Pré-requisitos
- Você fez logon no ECS.
- Para saber como fazer logon em um ECS, consulte o Guia de usuário do Elastic Cloud Server.
- Para saber como efetuar logon em um BMS, consulte o Guia de usuário do Bare Metal Server.
- Você conectou o disco ao ECS, e o espaço adicional não foi alocado.
Criar uma nova partição
O exemplo a seguir mostra como fazer uso da capacidade adicional de um disco do sistema conectado a um servidor criando uma nova partição. O disco do sistema já tem a partição /dev/vda1, que é montada no /. Nas seguintes operações, uma nova partição /dev/vda2 será criada e montada em /opt. Durante esse processo, os serviços não são interrompidos.
- Execute o seguinte comando para exibir as informações de partição de disco:
fdisk -l
Informação semelhante à seguinte é exibida:[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 aceder ao fdisk:
fdisk /dev/vda
Informação semelhante à seguinte é exibida:[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.
Informação semelhante à seguinte é exibida:
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:- Escolher p cria uma partição primária.
- Escolher e cria uma partição estendida.
- Neste exemplo, uma partição primária é criada. Portanto, insira p e pressione Enter para criar uma partição primária.
Informação semelhante à seguinte é exibida:
Select (default p): p Partition number (2-4, default 2):
- Digite o número serial da partição primária e pressione Enter. A partição número 2 é usada neste exemplo. Portanto, insira 2 e pressione Enter.
Informação semelhante à seguinte é exibida:
Partition number (2-4, default 2): 2 First sector (83886080-167772159, default 83886080):
- Digite o setor inicial da nova partição, por exemplo, o valor padrão, e pressione Enter.
O setor de início padrão é usado neste exemplo.
Informação semelhante à seguinte é exibida:First 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.
O setor final padrão é usado neste exemplo.
Informação semelhante à seguinte é exibida:Last 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 partição nova.
Informação semelhante à seguinte é exibida:
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ções.
Informação semelhante à seguinte é exibida:
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 sistema operacional:
partprobe
- Execute o seguinte comando para definir o formato do sistema de arquivos para a nova partição:
(O sistema de arquivos ext4 é usado neste exemplo.)
mkfs -t ext4 /dev/vda2
O procedimento para definir o sistema de arquivos xfs é o mesmo que para o sistema de arquivos ext3 ou ext4. O comando para criar o sistema de arquivos xfs é mkfs -t xfs /dev/vda2.
Informação semelhante à seguinte é exibida:[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
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.
- Execute o seguinte comando para montar a nova partição em um diretório que demanda espaço, por exemplo /opt:
mount /dev/vda2 /opt
Informação semelhante à seguinte é exibida:[root@ecs-bab9 test]# mount /dev/vda2 /opt [root@ecs-bab9 test]#
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 arquivos deste 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
Informação semelhante à seguinte é exibida:[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
Configurar montagem automática do disco no início do sistema
Para montar partições automaticamente na inicialização do sistema, não especifique partições, por exemplo, /dev/xvdb1, em /etc/fstab porque a sequência de dispositivos de nuvem e, portanto, seus nomes podem mudar durante a parada ou inicialização do servidor. Você é aconselhado a usar o UUID em /etc/fstab para definir a montagem automática no início do sistema.
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:
blkid Disk partition
Neste exemplo, execute o seguinte comando para consultar o UUID da partição /dev/xvdb1:
blkid /dev/xvdb1
Informação semelhante à seguinte é exibida:
[root@ecs-b656 test]# blkid /dev/xvdb1 /dev/xvdb1: UUID="1851e23f-1c57-40ab-86bb-5fc5fc606ffa" TYPE="ext4"
O UUID da partição /dev/xvdb1 é 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=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc ext3 defaults 0 2
UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /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 a seguir:- 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: não use o backup de despejo do Linux. Normalmente, o backup de despejo não é usado e você pode definir esse parâmetro como 0.
- 1: use o backup de despejo do Linux.
- 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 use 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 para que o sistema verifique as partições em ordem crescente dos valores.
- Pressione Esc, insira :wq e pressione Enter.
O sistema salva as configurações e sai do editor vi.