Redhat redimensionar partição

2
Primeiro, sou um novato absoluto no Linux, mas fui encarregado de automatizar o processo de redimensionamento de uma partição no RHEL 6.5. O servidor reside como uma máquina virtual no VMWare e estamos tentando orquestrar uma atividade na qual um arquivo VMDK existente é expandido e as partições nesse VMDK são redimensionadas automaticamente.

Como um caso de teste, o VMDK é visto no sistema como / dev / sdb. O tamanho disso é de 5GB. Agora, eu tenho 2 partições, / dev / sdb1, / dev / sdb2, sdb1 ocupando 1GB e sdb2 ocupando 5GB

Se alguém agora aumentar o tamanho do VMDK de 5 GB para 10 GB e especificar que o espaço extra deve ir para / dev / sdb1, como posso fazer isso? Até agora eu consegui criar um processo pelo qual a última partição pode ser redimensionada sem um problema (por exemplo, / dev / sdb2), mas qualquer uma das anteriores não pode por causa dos números de bloco Iniciando e Encerrando.

Meu processo é o seguinte:

1) Aumentar o tamanho do VMDK 2) Execute o echo "1" > / sys / class / scsi_device / 0: 0: 0: 0 / device / rescan para pegar a unidade redimensionada 3) Usando fdisk, apague a partição e recrie-a

Isso funciona bem se a partição que está sendo modificada for a última partição, mas se for a primeira ou a segunda, a partição será recriada da maneira que foi. Existe alguma ferramenta que possa fazer isso de forma inteligente?

Esta é a saída do fdisk no meu ambiente:

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
67 heads, 62 sectors/track, 5048 cylinders
Units = cylinders of 4154 * 512 = 2126848 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf3405e93

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         510     1059239   83  Linux
/dev/sdb2             511        2524     4183078   83  Linux

Como você pode ver, sdb1 ocupa 1GB e o SDB2 ocupa 4GB, mas há cerca de 5GB "livres" no disco. Agora, como faço para mudar isso para que o sdb1 ocupe o espaço restante? Se eu excluir sdb1 e recriá-lo, ele fará a mesma partição. Posso facilmente criar uma nova partição para ocupar esse espaço, ou até mesmo alterar sdb2 para ocupar o espaço restante (apenas exclua sdb2 e recrie-o usando fdisk), mas a questão é como modifico sdb1 para ocupar esse espaço?

Espero que minha pergunta esteja clara e obrigado antecipadamente

    
por NullPointer 24.06.2014 / 16:36

2 respostas

2

Você pode mover a segunda partição sdb2 até o final do "disco" e depois recriar a primeira, até então você terá a capacidade de recriar a primeira com tamanho "completo".

No entanto, dependendo do seu sistema de arquivos, você não precisa deletá-lo, mas sim "apenas" desmontá-lo, e então resize2fs (pelo menos para ext2 / 3/4), depois de fazer o movimento acima.

A mudança em si pode ser feita com parted .

Para saber como fazer isso: consulte os links a seguir:

Manual do usuário separado gnu.org e linuxquestions.org

Algo como isso pode funcionar (você precisa alterar seus números:

parted move 2 -125 -0
parted resize 1 0.063 -125

No entanto, após a versão 2.4. parted não contém mais move , então você pode precisar de outra ferramenta (ou ela é renomeada para outra função que eu não encontrei)

Manual de Qoute de gnu.org

Note that after version 2.4, the following commands were removed: check, cp, mkfs, mkpartfs, move, resize.

    
por 24.06.2014 / 17:25
1

Eu posso sentir sua dor, eu sou relativamente novo no Linux também, então eu entendo sua dor. LVMs é o caminho a percorrer, eles podem ser facilmente expandidos. Se você está registrado na Red Hat, então você pode instalar a GUI (yum -y install system-config-lvm). Uma vez instalado, na linha CMD rodar o 'system-config-lvm' isso vai lançar a GUI e a partir daí você pode visualizar os diversos discos / partições e fazer as alterações ou na linha de comando você teria que passar por um passo três processo. Então eu uso apenas a GUI, que é rápida e simples. Espero que isso ajude

    
por 08.07.2014 / 14:37