Eu configurei um convidado do Ubuntu em um host CentOS KVM com inicialmente 6 GB de espaço em disco. Como aumentar o espaço em disco do convidado Ubuntu na linha de comando?
EDIT # 1: Estou usando um arquivo de imagem de disco (qemu).
Eu configurei um convidado do Ubuntu em um host CentOS KVM com inicialmente 6 GB de espaço em disco. Como aumentar o espaço em disco do convidado Ubuntu na linha de comando?
EDIT # 1: Estou usando um arquivo de imagem de disco (qemu).
Respostas:
qemu-img resize vmdisk.img +10G
para aumentar o tamanho da imagem em 10 GBfonte
start the VM, resize the partitions and LVM structure within it normally
Como fazer isso? Por favor, explique.Método Online (usando qemu, libvirt e virtio-block)
Para melhor ou pior, os comandos abaixo serão executados mesmo se o disco virtual de destino estiver montado. Isso pode ser útil em ambientes em que o disco não pode ser desmontado (como uma partição raiz), a VM deve permanecer ligada e o proprietário do sistema está disposto a assumir o risco de corrupção de dados . Para remover esse risco, você precisaria fazer login na VM e desmontar o disco de destino primeiro, algo que nem sempre é possível.
Execute o seguinte no hypervisor KVM.
Aumente o tamanho do arquivo de imagem do disco (especifique a quantidade a aumentar):
Obtenha o nome do dispositivo virtio, através do shell libvirt (
drive-virtio-disk0
neste exemplo):Sinalize o driver virtio para detectar o novo tamanho (especifique a nova capacidade total):
Em seguida, faça login na VM. A execução
dmesg
deve relatar que o disco virtio detectou uma alteração de capacidade. Neste ponto, vá em frente e redimensione suas partições e estrutura LVM conforme necessário.fonte
Essas questões de falha do servidor são semelhantes, mas mais específicas, redimensionar o disco online do KVM? & Centos Xen redimensionando a partição DomU e o grupo de volumes . O primeiro faz a pergunta de como aumentar um convidado KVM enquanto está online, enquanto o segundo é específico do XEN usando o LVM. Estou perguntando como fazer isso enquanto o KVM está offline.
NOTA: Este link foi útil para o MÉTODO # 1 e mostra como conseguir aumentar o espaço em disco de um KVM (baseado em ext3), COMO FAZER: Redimensionar uma imagem de máquina virtual KVM .
Uma coisa a ter em atenção com os convidados do KVM é que as partições que eles estão usando podem afetar qual método você pode usar para aumentar o espaço em disco.
MÉTODO # 1: Partições são baseadas em ext2 / ext3 / ext4
As porcas deste método são as seguintes:
Agora, com o arquivo mykvm.img maior em mãos, inicialize o gparted e estenda a partição existente para o espaço em disco recém-adicionado. Este último passo basicamente estende a partição do SO para que ele possa fazer uso do espaço extra.
MÉTODO # 2: Partições são baseadas em LVM
Aqui estão as etapas que eu segui aproximadamente para redimensionar um convidado do KVM que usava o LVM internamente.
execute o fdisk dentro da VM e exclua e recrie a partição LVM
Reinicie a VM
Redimensionar o volume físico do LVM
Redimensionar o volume lógico do LVM
Aumente o sistema de arquivos
O exemplo acima é meu exemplo, mas segui as etapas deste site
fonte
virt-manager
e utilizei o método nº 1 e nº 2 extensivamente antes de migrar nossos servidores KVM para uma versão mais recente do KVM (CentOS 5 -> CentOS 6). Agora também uso oqemu-img resize
método.lvextend /dev/Volgroup/lvname /dev/vda2
(todos em uma linha, onde / dev / vda2 seria o seu volume físico). Sem outras opções, ele usará o tamanho máximo nesse grupo de volumes.Redimensionar e expandir partições internas em uma etapa
Eu tinha um host Ubuntu com uma imagem de arquivo de convidado qcow2 e queria redimensionar o disco e expandir as partições apropriadas, tudo em uma única etapa. Requer que você configure os utilitários do sistema de arquivos libvirt guest, mas esses são úteis para você ter de qualquer maneira.
Inspiração a partir daqui: http://libguestfs.org/virt-resize.1.html
O comando chave aqui é:
virt-resize
Preparação:
Agora faça o seguinte:
1) encerrar o convidado:
2) Confira o tamanho atual e visualize o nome da partição que você deseja expandir usando o utilitário libvirt:
sudo virt-filesystems --long --parts --blkdevs -h -a name-of-guest-disk-file
3) Crie o novo disco de saída (40G):
4) Copie o antigo para o novo e expanda a partição apropriada (assumindo que a partição do disco da etapa 2 foi / dev / sda1):
5) Renomeie o arquivo indisk como backup, renomeie o outdisk como indisk (ou modifique o XML convidado)
6) Reinicialize o convidado e teste o novo arquivo de disco cuidadosamente antes de excluir o arquivo original
7) Lucro!
fonte
-o preallocation=metadata
cria um arquivo esparso. Com essa opção, ele pré-aloca todo o tamanho.-o preallocation=metadata
e, se não, também deve pular atruncate
etapa.virt-resize
de qualquer maneira, o arquivo aumentará conforme apropriado.Se você estiver usando o LVM na VM, a maneira mais simples de fazer isso será adicionar um novo disco virtual à VM e expandir o grupo de volumes e os volumes lógicos para ele.
Para verificar se você está usando a execução do LVM
sudo pvs; sudo vgs; sudo lvs
, você terá algo assim:se o sistema operacional da VM estiver usando LVM. No exemplo acima, a VM possui um vdisk de 30Gbyte, configurado usando LVM com um grupo de volumes chamado vgWWW, contendo dois volumes lógicos, um para troca e outro para todo o resto.
Se o LV estiver em uso na VM:
sudo pvcreate /dev/vdb
sudo vgextend vgWWW /dev/vdb
sudo lvextend --extents +100%FREE /dev/vgWWW/root
(ou algo comosudo lvextend --size +8G /dev/vgWWW/root
se você não quiser aumentar todo o caminho, este exemplo adicionaria 8 GB ao volume)resize2fs /dev/vgWWW/root
Nota: o acima pressupõe que os nomes vg / lv são iguais ao meu exemplo, o que é improvável, mude conforme apropriado, também se a VM já tiver uma unidade virtual chamada
vdb
nova, será outra coisa (vdc
e assim por diante)Nota:
resize2fs
funcionará apenas no sistema de arquivos ext2, ext3 e ext4. Se você estiver usando outra coisa, ela irá errar e não fará nada.Nota: como você está redimensionando um sistema de arquivos ativo
resize2fs
, não será solicitado que você executefsck
primeiro, como faria em um sistema de arquivos desmontado, apenas seguirá em frente. Você pode querer executar uma verificação do sistema de arquivos somente leitura, pois não há problemas antes de continuar.fonte
É possível redimensionar online. O libvirtd suporta isso nativamente:
Encontre o nome do dispositivo do bloco. Deve ser algo como "vda"
Redimensione o dispositivo virtual:
Aqui está um exemplo onde eu expanda o
vda
disco de50GB
para51GB
paraundercloud
VM.Agora, veja os detalhes do arquivo de imagem .qcow2:
Agora vamos redimensionar o dispositivo de bloco vda:
E confirme:
Em seguida, você pode usar esse script dentro da VM para mostrar os comandos para redimensionar os dispositivos de bloco e o fs: https://github.com/mircea-vutcovici/scripts/blob/master/vol_resize.sh .
fonte
Existe a possibilidade de aumentar o tamanho do disco da sua VM sem reiniciar a VM se você estiver usando o virtio drive e o LVM.
(Opcional) Crie uma partição primária com o fdisk para obter / dev / vdb1 e use o kpartx -a / dev / vdb para reler a tabela de partição
Use vgextend vg_name / dev / vdb1 (ou / dev / vdb se você não criou uma partição)
Você Terminou.
fonte
Dessa forma, você pode expandir a partição que deseja:
Veja mais exemplos aqui .
fonte
Outra maneira de fazer isso
vá no make a disk rescan e depois você pode fazer o seu lvm redimensionar.
fonte
Se você tem LVM na sua VM, isso é muito fácil e rápido.
sudo system-config-lvm
terminal) *.Achei a GUI bastante intuitiva, mas siga as próximas etapas se você tiver problemas.
Nota! Pelo menos no CentOS 6 LVM GUI não está instalado por padrão, mas você pode instalá-lo com
yum install system-config-lvm
.fonte
Redimensionar imagem:
aumenta o tamanho da imagem em 16 GB.
Se sua imagem tiver GPT (tabela de partição GUID), o tamanho da unidade usada na GPT será diferente do novo tamanho, você precisará corrigi-lo com
gdisk
:ou com
parted
:Por algum motivo, a
parted
correção não está funcionando quando nenhum tty é apresentado (por exemplo, ao provisionar com o Vagrant), então eu usogdisk
.Aumente o tamanho da partição para preencher todo o espaço disponível:
A
x a 2 <Enter>
peça é opcional e necessária se você estiver usando o BIOS herdado.MY_PARTITION_GUID=...
e asc $MY_PARTITION_GUID
peças também são opcionais e necessárias apenas se você usar a partição UUID em/etc/fstab
ou em outro local.Reinicialize ou releia partições com
partx -u $MY_DRIVE
oupartprobe
.Estenda a partição, por exemplo
ext2
,ext3
ouext4
:fonte
Você pode usar o solus vm com o gparted montado. Uma vez usado com o gparted, você pode facilmente inicializar o sistema e ajustar o espaço. Verifique se você tem a prioridade de inicialização correta definida. Como referência, consulte o URL abaixo que pode ser útil. https://greencloudvps.com/knowledgebase/11/How-to-Extend-the-Hard-drive-on-KVM-after-upgrading-VPS.html
fonte