Extensão de partições e sistemas de arquivos no Linux (parted)
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 EulerOS 2.0 64bit para descrever como alocar o espaço em disco adicional para uma partição usando parted.
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.
Exibir o estilo da partição
Antes de alocar o espaço adicional, consulte o estilo de partição de disco atual. Se MBR for usado, você pode usar a ferramenta de particionamento fdisk ou parted. Se GPT for usado, você deve usar a ferramenta de particionamento parted.
- Execute o seguinte comando para exibir as informações da NIC:
lsblk
Informação semelhante à seguinte é exibida:[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 40G 0 disk └─xvda1 202:1 0 40G 0 part / xvdb 202:16 0 150G 0 disk ├─xvdb1 202:17 0 100G 0 part /mnt/sdc └─xvdb2 202:18 0 50G 0 part /mnt/opt xvdc 202:32 0 40G 0 disk ├─xvdc1 202:33 0 8G 0 part └─xvdc2 202:34 0 32G 0 part
- Execute o seguinte comando e digite p para exibir o estilo de partição de disco atual:
parted Disk name
Por exemplo, execute o seguinte comando para visualizar o estilo de partição do disco /dev/xvdb:
parted /dev/xvdb
Informação semelhante à seguinte é exibida:root@ecs-1120 linux]# parted /dev/xvdb GNU Parted 3.1 Using /dev/xvdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 161GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 17.4kB 107GB 107GB ext4 opt 2 107GB 161GB 53.7GB ext4 opt1
Na saída do comando, o parâmetro Partition Table indica o estilo da partição do disco. O valor msdos indica o estilo da partição MBR e o valor gpt indica o estilo da partição GPT.
- Digite q e pressione Enter para sair do parted.
- Verifique o estilo de partição de disco de outros discos. Para obter detalhes, consulte 2 e 3.
Criar uma nova partição
O exemplo a seguir mostra como utilizar o espaço adicional de um disco do sistema criando uma nova partição e montando a partição em /opt sem interromper os serviços.
- Execute o seguinte comando para exibir as informações de partição de disco:
lsblk
Informação semelhante à seguinte é exibida:[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk └─xvda1 202:1 0 40G 0 part / xvdb 202:16 0 250G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 50G 0 part xvdc 202:32 0 40G 0 disk ├─xvdc1 202:33 0 8G 0 part └─xvdc2 202:34 0 32G 0 part
Na saída do comando, a capacidade do disco do sistema dev/vda é de 80 GB, em que a partição dev/xvda1 em uso ocupa 40 GB e os 40 GB adicionais não foram alocados.
- Execute o seguinte comando para inserir parted para alocar o espaço adicional do disco do sistema para uma partição:
parted System disk
Neste exemplo, execute o seguinte comando:
parted /dev/xvda
Informação semelhante à seguinte é exibida:
[root@ecs-1120 linux]# parted /dev/xvda GNU Parted 3.1 Using /dev/xvda Welcome to GNU Parted! Type 'help' to view a list of commands.
- Insira unit s e pressione Enter para definir a unidade de medida do disco para números de sector.
- Digite p e pressione Enter para exibir o estilo de partição de disco atual.
Informação semelhante à seguinte é exibida:
(parted) unit s (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 167772160s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 83886079s 83884032s primary ext4
- Digite mkpart e pressione Enter para criar uma nova partição.
- 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:
(parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159
- Defina o tipo e o tamanho do sistema de arquivos para a nova partição.
O valor 83886080 indica o sector inicial da partição dev/xvda2 que você criou e o valor 167772159 indica o sector final. Os dois valores são usados apenas para referência. Você pode determinar o número de partições e os tamanhos da partição com base em seus requisitos de serviço.
Informação semelhante à seguinte é exibida:
(parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159
O tipo de sistema de arquivos pode falhar ao ser definido nesta etapa. Portanto, reconfigure o tipo de sistema de arquivos de acordo com 10 depois que a partição é criada.
O sector máximo pode ser obtido de uma das seguintes maneiras:
- Execute o comando fdisk -l e anote o valor.
- Insira -1s e o valor exibido será o valor desejado.
- Digite p e pressione Enter para exibir a partição nova.
Informação semelhante à seguinte é exibida:
(parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvda: 167772160s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2048s 83886079s 83884032s primary ext4 2 83886080s 167772159s 83886080s primary
A partição dev/xvda2 é criada.
- Digite q e pressione Enter para sair do parted.
- 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/xvda2
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/xvda2.
Informação semelhante à seguinte é exibida:
[[root@ecs-1120 linux]# mkfs -t ext4 /dev/xvda2 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/xvda6 /opt
Informação semelhante à seguinte é exibida:
[root@ecs-1120 linux]# mount /dev/xvda2 /opt [root@ecs-1120 linux]#
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 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-1120 linux]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 43G 8.3G 33G 21% / devtmpfs devtmpfs 885M 0 885M 0% /dev tmpfs tmpfs 894M 0 894M 0% /dev/shm tmpfs tmpfs 894M 18M 877M 2% /run tmpfs tmpfs 894M 0 894M 0% /sys/fs/cgroup tmpfs tmpfs 179M 0 179M 0% /run/user/2000 tmpfs tmpfs 179M 0 179M 0% /run/user/0 tmpfs tmpfs 179M 0 179M 0% /run/user/1001 /dev/xvda2 ext4 43G 51M 40G 1% /opt
Recriae uma partição existente
O exemplo a seguir mostra como fazer uso do espaço adicional de um disco conectado a um servidor recriando a partição /dev/xvdc1 montada em /mnt/sdc. Como o disco /dev/xvdc tem apenas uma partição, essa partição é considerada como a partição no final do disco. Durante a recriação da partição, os serviços serão interrompidos.
Durante uma expansão, o espaço adicional é adicionado ao final do disco. Quando o disco tem várias partições, apenas a partição no final deste disco pode ser estendida.
- Execute o seguinte comando para exibir as informações de partição de disco:
lsblk
Informação semelhante à seguinte é exibida:[root@ecs-1120 sdc]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part /mnt/sdc
Na saída do comando, a capacidade total do disco /dev/xvdc é de 60 GB, nos quais a partição existente ocupa 10 GB. A partição /dev/xvdc1 está no final do disco e foi montada em /mnt/sdc.
Veja a capacidade /dev/xvdc e verifique se o espaço adicional está incluído.- Se o espaço adicional não estiver incluído, atualize a capacidade de acordo com Extensão de partições e sistemas de arquivos de um disco de dados SCSI no Linux (fdisk).
- Se o espaço adicional estiver incluído, vá para 2.
- Execute o seguinte comando para desmontar a partição:
umount /mnt/sdc
- Execute o seguinte comando para visualizar o resultado da desmontagem:
lsblk
Informação semelhante à seguinte é exibida:[root@ecs-1120 linux]# umount /mnt/sdc [root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part
- Execute o seguinte comando para inserir parted para alocar o espaço adicional do disco de dados para uma partição:
parted Data disk
Neste exemplo, execute o seguinte comando:
parted /dev/xvdc
Informação semelhante à seguinte é exibida:[root@ecs-1120 linux]# parted /dev/xvdc GNU Parted 3.1 Using /dev/xvdc Welcome to GNU Parted! Type 'help' to view a list of commands.
- Insira unit s e pressione Enter para definir a unidade de medida do disco para números de sector.
- 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:
(parted) mkpart Partition type? primary/extended? p File system type? [ext2]? ext4 Start? 83886080 End? 1677722159
- O número da partição /dev/xvdc1 é 1. Portanto, digite rm 1 e pressione Enter para excluir a partição.
- Digite p e pressione Enter para verificar se a partição /dev/xvdc1 foi excluída.
Informação semelhante à seguinte é exibida:
(parted) rm 1 (parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdc: 125829120s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags
- Digite mkpart opt 2048s 125829119 e pressione Enter para recriar a partição.
2048 especifica o sector inicial registrado em 6 e 125829119 especifica o sector final, que deve ser maior ou igual ao sector final registrado em 6.
Informação semelhante à seguinte é exibida:(parted) mkpart opt 2048s 125829119s Warning: You requested a partition from 2048s to 125829199s (sectors 2048..125829199). The closest location we can manage is 2048s to 125829036s (sectors 2048..125829036). Is this still acceptable to you? Yes/No? Yes
Incorpore Yes como alertado ajustar o sector final.
Se a seguinte mensagem de aviso for exibida, digite Ignore para ignorar o aviso de desempenho. A mensagem de aviso não será indicada se o sector inicial com o desempenho ótimo do disco foi introduzido. Neste exemplo, 2048s é um de tais sectores iniciais, assim que o sistema não indica a mensagem de aviso.Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? Ignore
Os dados serão perdidos se as seguintes operações forem realizadas:- Selecione um sector inicial diferente do que a partição tinha antes.
- Selecione um sector final menor do que a partição tinha antes.
- Digite p e pressione Enter para verificar se a partição /dev/xvdc1 foi recriada.
Informação semelhante à seguinte é exibida:
(parted) p Model: Xen Virtual Block Device (xvd) Disk /dev/xvdb: 125829120s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 125829086s 125827039s ext4 opt
A partição /dev/xvdc1 foi recriada.
- Digite q e pressione Enter para sair do parted.
- Execute as seguintes operações com base no sistema de arquivos do disco:
- Para o sistema de arquivos ext3 ou ext4
- Execute o seguinte comando para verificar a exatidão do sistema de arquivos em /dev/xvdc1:
e2fsck -f /dev/xvdc1
Informação semelhante à seguinte é exibida:[root@ecs-1120 linux]# e2fsck -f /dev/xvdb2 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/xvdc1: 11/655360 files (0.0% non-contiguous), 83137/2620928 blocks
- Execute o seguinte comando para estender o tamanho do sistema de arquivos em /dev/xvdc1:
resize2fs /dev/xvdc1
Informação semelhante à seguinte é exibida:[root@ecs-1120 linux]# resize2fs /dev/xvdc1 resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/xvdc1 to 15728379 (4k) blocks. The filesystem on /dev/xvdc1 is now 15728379 blocks long.
- Execute o seguinte comando para exibir as informações de partição de disco após a recriação da partição:
Informação semelhante à seguinte é exibida:
[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 60G 0 part
Na saída do comando, a capacidade total do disco /dev/xvdc é de 60 GB, nos quais os 50 GB adicionais foram alocados para a partição dev/xvdc1.
- Execute o seguinte comando para montar a nova partição em /mnt/sdc:
mount /dev/xvdc1 /mnt/sdc
- Execute o seguinte comando para verificar a exatidão do sistema de arquivos em /dev/xvdc1:
- Para o sistema de arquivos xfs
- Execute o seguinte comando para montar a nova partição em /mnt/sdc:
mount /dev/xvdc1 /mnt/sdc
- Execute o seguinte comando para estender o tamanho do sistema de arquivos em /dev/xvdc1:
sudo xfs_growfs /dev/xvdc1
- Execute o seguinte comando para exibir as informações de partição de disco após a recriação da partição:
Informação semelhante à seguinte é exibida:
[root@ecs-1120 linux]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part / └─xvda2 202:2 0 40G 0 part /opt xvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 part xvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 60G 0 part
Na saída do comando, a capacidade total do disco /dev/xvdc é de 60 GB, nos quais os 50 GB adicionais foram alocados para a partição dev/xvdc1.
- Execute o seguinte comando para montar a nova partição em /mnt/sdc:
- Para o sistema de arquivos ext3 ou ext4
- Execute o seguinte comando para visualizar o resultado da montagem:
df -TH
Informação semelhante à seguinte é exibida:[root@ecs-1120 linux]# mount /dev/xvdc1 /mnt/sdc [root@ecs-1120 linux]# df -TH Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 43G 8.3G 33G 21% / devtmpfs devtmpfs 885M 0 885M 0% /dev tmpfs tmpfs 894M 0 894M 0% /dev/shm tmpfs tmpfs 894M 18M 877M 2% /run tmpfs tmpfs 894M 0 894M 0% /sys/fs/cgroup tmpfs tmpfs 179M 0 179M 0% /run/user/2000 tmpfs tmpfs 179M 0 179M 0% /run/user/0 tmpfs tmpfs 179M 0 179M 0% /run/user/1001 /dev/xvda2 ext4 43G 51M 40G 1% /opt /dev/xvdc1 ext4 64G 55M 60G 1% /mnt/sdc
A partição /dev/xvdc1 foi montada no diretório /mnt/sdc.
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:
blkidPartição de disco
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.