Expandindo um disco / volume “ao vivo” sem adicionar mais partições / discos

4

Estamos gerenciando mais e mais VMs baseadas no Linux (Ubuntu) no trabalho, mas estou começando a lutar com algo tão simples quanto a expansão do disco de uma VM existente, algo que leva literalmente segundos para as VMs do Windows - > insira um novo tamanho - > ok, em seguida, diskpart, rescan, sel vol 0, extend, tudo pronto).

Mas ao olhar para as opções no Linux, parece se resumir a uma dessas soluções, dependendo se você usar o LVM ou não.

  1. LVM - > Adicionar novo disco virtual, adicionar partição no disco, estender com a nova partição

  2. LVM - > Aumente o disco existente, adicione a partição no disco existente, amplie com a nova partição.

  3. Inicialize um ISO do LiveCD do GPart e acima ou aumente o tamanho da partição existente.

Existem várias razões pelas quais não posso utilizar o acima:

  1. Você acaba com uma tonelada de discos rígidos extras, e parece haver uma limitação em 16 números menores para dispositivos SCSI ( link ) ?, então depois de ter aumentado o disco 16 vezes, você está sem sorte.

  2. Semelhante ao acima, ainda pior se não for GPT, então só podemos estender 3 vezes, sem outras partições no disco.

  3. Algumas das coisas não podem ser colocadas offline facilmente, por isso não é possível reinicializar para um Live CD.

Fica ainda pior quando nossas diretivas corporativas nos impedem de usar o provisionamento thin, e as VMs são armazenadas em todos os arrays SAN flash em que o armazenamento é caro, por isso não podemos adicionar apenas 500 GB e terminar com isso. mantenha o espaço desperdiçado no máximo em 20 a 30 GB.

Eu perdi outras opções? como as outras pessoas lidam com isso na produção ?, a maioria de nossas coisas está no Ubuntu 16.04 (nós tentamos ficar atualizados sobre a versão atual do LTS), então abra para qualquer coisa que funcione nisso, nós estamos atualmente usando ext4, mas isso não é um requisito, mas um sistema de arquivos journalized é preferido embora.

Eu estive pensando seriamente em usar o NFS com NetAPP ou similar para nossas VMs Linux, já que estou sem outras ideias neste estágio, e apenas materializo qualquer coisa que cresça no ponto de montagem do nfs.

    
por md2017 21.02.2017 / 13:19

2 respostas

1

Isto é o que eu criei, após várias tentativas diferentes, e testado com uma VM rodando o Ubuntu 16.04 com o ext4 (não usando o LVM e não tentando aumentar o disco raiz, apenas um disco adicional) em um host ESXi 6.0 .

Apenas estendendo o tamanho do disco na VM, não fizemos nada, dmesg não mencionou nenhuma mudança que aconteceu.

Então:

  1. echo 1 > / sys / class / scsi_device / 2 \ 0: 0 \ 0: / device / rescan

  2. O dmesg agora menciona que houve uma mudança de capacidade do tamanho antigo para o novo tamanho

  3. A execução de resize2fs / parted / partprobe neste ponto, ainda é completamente inconsciente do novo disco adicionado, o fdisk F pode ver o espaço extra vazio, mas não há como adicioná-lo à partição existente

  4. execute fdisk e exclua a partição (sim, isso precisa acontecer), crie uma nova partição e ela obterá o tamanho adequado.

  5. execute resize2fs para aumentar o sistema de arquivos ext4.

Espero que algum dia o Linux receba suporte adequado ao gerenciamento de armazenamento. É ridículo ter que excluir partições para expandir os tamanhos de discos em 2017.

    
por md2017 23.02.2017 / 13:25
0

aqui o que eu tenho feito até agora usando uma máquina de teste

  • estenda o disco rígido no backend, por exemplo, vsphere hyperv

  • crie um instantâneo primeiro

  • exclua a partição usando fdisk e crie uma nova. Certifique-se de usar o 8e ID do sistema para o LVM

  • pvresize / dev / sda2 - > esta é a partição onde "/" é montado.

  • lvextend -l + 100% GRÁTIS / dev / vg1 / lv1

  • xfs_growfs / dev / vg1 / lv1 - > isto é para o sistema de arquivos XFS. use resize2fs se aplicável

por EGV 19.07.2018 / 09:04