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 .
- Para saber como efetuar logon em um ECS, consulte Efetuação de logon em um ECS.
- Para saber como fazer logon em um BMS, consulte Efetuação de 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.
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.
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. 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.
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 nova partição.
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.
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
[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 Setting Automatic Mounting at System Start.
Setting Automatic Mounting at System Start
Modify the fstab file to set automatic disk mounting at server start. You can also set automatic mounting for the ECSs containing data. This operation will not affect the existing data.
The following procedure shows how to set automatic disk mounting at server start by using UUIDs to identify disks in the fstab file. You are advised not to use device names to identify disks in the file because a device name may change (for example, from /dev/vdb1 to /dev/vdb2) during ECS stop or start, resulting in improper ECS running after restart.
UUID is the unique character string for disk partitions in a Linux system.
- Run the following command to query the partition UUID:
blkid Disk partition
In this example, run the following command to query the UUID of the /dev/vdb1 partition:
blkid /dev/vdb1
Information similar to the following is displayed:
[root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
The UUID of the /dev/vdb1 partition is displayed.
- Run the following command to open the fstab file using the vi editor:
vi /etc/fstab
- Press i to enter editing mode.
- Move the cursor to the end of the file and press Enter. Then, add the following information:
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
The preceding content is used for reference only. Add the information that is used in the environment. The parameters are described as follows:- The first column indicates the partition UUID obtained in 1.
- The second column indicates the directory on which the partition is mounted. You can query the mount point using the df -TH command.
- The third column indicates the file system format of the partition. You can query the file system format using the df -TH command.
- The fourth column indicates the partition mount option. Normally, this parameter is set to defaults.
- The fifth column indicates the Linux dump backup option.
- 0: Linux dump backup is not used. Normally, dump backup is not used, and you can set this parameter to 0.
- 1: Linux dump backup is used.
- The sixth column indicates the fsck option, that is, whether to use fsck to check the attached disk during startup.
- 0: not use fsck.
- If the mount point is the root partition (/), this parameter must be set to 1.
When this parameter is set to 1 for the root partition, this parameter for other partitions must start with 2 because the system checks the partitions in the ascending order of the values.
- Press Esc, enter :wq, and press Enter.
The system saves the configurations and exits the vi editor.
- Perform the following operations to verify the automatic mounting function:
- Run the following command to unmount the partition:
In this example, run the following command:
umount /dev/vdb1
- Run the following command to reload all the content in the /etc/fstab file:
mount -a
- Run the following command to query the file system mounting information:
In this example, run the following command:
mount | grep /mnt/sdc
If information similar to the following is displayed, automatic mounting has been configured:
root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
- Run the following command to unmount the partition: