Extensão de partições e sistemas de arquivos de um disco de dados SCSI 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 o SUSE Linux Enterprise Server 11 SP4 64bit para descrever como alocar o espaço adicional de um disco de dados SCSI conectado a uma partição usando fdisk.
Atualmente, um disco foi anexado a um servidor e a capacidade original do disco é de 10 GB. Além disso, um espaço de 10 GB foi adicionado ao disco no console de gerenciamento e a capacidade total do disco deve ser de 20 GB. No entanto, o espaço adicional não pode ser visualizado no servidor. As operações a seguir orientam você a visualizar 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 fazer uso desse 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.
Recriar uma partição existente
O procedimento a seguir mostra como fazer uso do espaço adicional de um disco conectado a um servidor estendendo a partição /dev/sda1 e montando a partição em /mnt/sdc. Durante esse processo, os serviços serão interrompidos.
- Execute o seguinte comando para exibir as informações de partição de disco:
fdisk -l
Informação semelhante à seguinte é exibida:ecs-xen-02:/home/linux # fdisk -l Disk /dev/xvda: 107.4 GB, 107374182400 bytes 255 heads, 63 sectors/track, 13054 cylinders, total 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 identifier: 0x00065c40 Device Boot Start End Blocks Id System /dev/xvda1 2048 41945087 20971520 82 Linux swap / Solaris /dev/xvda2 * 41945088 83892223 20973568 83 Linux /dev/xvda3 83892224 209715199 62911488 83 Linux Disk /dev/sda: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders, total 20971520 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 identifier: 0x2f1c057a Device Boot Start End Blocks Id System /dev/sda1 2048 20971519 10484736 83 Linux
Na saída do comando, 10 GB foram adicionados ao disco de dados /dev/sda no console de gerenciamento e a capacidade total deve ser de 20 GB. Contudo, o espaço adicional não é incluído na saída do comando. Neste caso, execute o seguinte comando para atualizar a capacidade do disco de dados no servidor:
- Execute o seguinte comando para atualizar a capacidade do disco de dados no servidor:
echo 1 > /sys/class/scsi_device/%d:%d:%d:%d/device/rescan &
No comando, %d:%d:%d:%d indica uma pasta no diretório /sys/class/scsi_device/ e pode ser obtida usando ll /sys/class/scsi_device/.
Informação semelhante à seguinte é exibida: (2:0:0:0 indica a pasta a ser obtida.)cs-xen-02:/sys/class/scsi_device # ll /sys/class/scsi_device/ total 0 lrwxrwxrwx 1 root root 0 Sep 26 11:37 2:0:0:0 -> ../../devices/xen/vscsi-2064/host2/target2:0:0/2:0:0:0/scsi_device/2:0:0:0
Exemplo de comando:
echo 1 > /sys/class/scsi_device/2:0:0:0/device/rescan &
- Depois que a capacidade do disco for atualizada, execute o seguinte comando para exibir as informações de partição de disco novamente:
fdisk -l
Informação semelhante à seguinte é exibida:ecs-xen-02:/sys/class/scsi_device # fdisk -l Disk /dev/xvda: 107.4 GB, 107374182400 bytes 255 heads, 63 sectors/track, 13054 cylinders, total 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 identifier: 0x00065c40 Device Boot Start End Blocks Id System /dev/xvda1 2048 41945087 20971520 82 Linux swap / Solaris /dev/xvda2 * 41945088 83892223 20973568 83 Linux /dev/xvda3 83892224 209715199 62911488 83 Linux Disk /dev/sda: 21.5 GB, 21474836480 bytes 64 heads, 32 sectors/track, 20480 cylinders, total 41943040 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 identifier: 0x2f1c057a Device Boot Start End Blocks Id System /dev/sda1 2048 20971519 10484736 83 Linux
Na saída do comando, o espaço adicional foi adicionado ao disco de dados /dev/sda e a atualização foi bem-sucedida. O disco /dev/sda tem apenas uma partição, /dev/sda1. Tome nota dos sectores inicial e final da partição /dev/sda1. Esses valores serão usados durante a recriação da partição. O sector do começo da separação é 2048, e seu sector final é 20971519.
- Execute o seguinte comando para desmontar a partição:
umount /mnt/sdc
- Execute o seguinte comando para entrar em fdisk e insira d para excluir a partição /dev/sda1:
fdisk /dev/sda1
Informação semelhante à seguinte é exibida:[ecs-xen-02:/sys/class/scsi_device # fdisk /dev/sda Command (m for help): d Selected partition 1 Command (m for help):
- Digite n e pressione Enter para criar uma nova partição.
Inserir n cria uma nova partição.
Informação semelhante à seguinte é exibida:Command (m for help): n Command action e extended p primary partition (1-4)
Existem dois tipos de partições de disco:- Escolher p cria uma partição primária.
- Escolher e cria uma partição estendida.
- Certifique-se de que o tipo de partição inserido é o mesmo que a partição tinha antes. Neste exemplo, uma partição primária é usada. Portanto, insira p e pressione Enter para criar uma partição primária.
Informação semelhante à seguinte é exibida:
p Partition number (1-4, default 1):
Na saída do comando, Partition number especifica o número da partição primária.
- Certifique-se de que o número de partição inserido é o mesmo que a partição tinha antes. Neste exemplo, a partição número 1 é usada. Portanto, insira 1 e pressione Enter.
Informação semelhante à seguinte é exibida:
Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048):
Na saída do comando, First sector especifica o sector inicial.
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.
- Certifique-se de que o sector inicial inserido seja o mesmo que a partição tinha antes. Neste exemplo, o sector inicial 2048 é gravado em 3. Portanto, insira 2048 e pressione Enter.
Informação semelhante à seguinte é exibida:
First sector (2048-41943039, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
Na saída do comando, Last sector especifica o sector final.
- Certifique-se de que o sector final inserido seja maior ou igual ao sector final gravado em 3. Neste exemplo, o sector de extremidade registrado é 20971519, e o sector de extremidade padrão é usado. Portanto, insira 41943039 e pressione Enter.
Informação semelhante à seguinte é exibida:
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039 Command (m for help):
A partição é criada.
- Digite p e pressione Enter para exibir os detalhes sobre a partição nova.
Informação semelhante à seguinte é exibida: (Detalhes sobre a partição /dev/sda1 são exibidos.)
Command (m for help): p Disk /dev/sda: 21.5 GB, 21474836480 bytes 64 heads, 32 sectors/track, 20480 cylinders, total 41943040 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 identifier: 0x2f1c057a Device Boot Start End Blocks Id System /dev/sda1 2048 41943039 20970496 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: (A partição foi criada com sucesso.)
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Caso queira descartar as alterações feitas antes, você pode sair do fdisk digitando q.
- Execute as seguintes operações com base no sistema de arquivos do disco:
- Para sistema de arquivos ext3 ou ext4
- Execute o seguinte comando para verificar a correção do sistema de arquivos em /dev/sda1:
e2fsck -f /dev/sda1
Informação semelhante à seguinte é exibida:ecs-xen-02:/sys/class/scsi_device # e2fsck -f /dev/sda1 e2fsck 1.41.9 (22-Aug-2009) 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/sda1: 11/655360 files (0.0% non-contiguous), 79663/2621184 blocks
- Execute o seguinte comando para estender o tamanho do sistema de arquivos em /dev/sda1:
resize2fs /dev/sda1
Informação semelhante à seguinte é exibida:ecs-xen-02:/sys/class/scsi_device # resize2fs /dev/sda1 resize2fs 1.41.9 (22-Aug-2009) Resizing the filesystem on /dev/sda1 to 5242624 (4k) blocks. The filesystem on /dev/sda1 is now 5242624 blocks long.
- Execute o seguinte comando para montar a nova partição em /mnt/sdc:
mount /dev/sda1 /mnt/sdc
- Execute o seguinte comando para verificar a correção do sistema de arquivos em /dev/sda1:
- Para o sistema de arquivos xfs
- Execute o seguinte comando para montar a nova partição em /mnt/sdc:
mount /dev/sda1 /mnt/sdc
- Execute o seguinte comando para estender o tamanho do sistema de arquivos em /dev/sda1:
sudo xfs_growfs /dev/sda1
- Execute o seguinte comando para montar a nova partição em /mnt/sdc:
- Para sistema de arquivos ext3 ou ext4
- Execute o seguinte comando para visualizar o resultado da montagem:
df -TH
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 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.