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