Esta pergunta surgiu de “ É seguro responder “apagar disco e instalar o Ubuntu” em uma máquina virtual? ”.
Espaço convidado do anfitrião:
O que acontece quando o espaço em disco fica maior do que o espaço em disco não utilizado, talvez não no início, mas mais tarde, quando o uso cresce, por exemplo, para 40 de 50 GB e sua unidade principal tem apenas 40 GB de espaço restante? Em outras palavras, a VM alguma vez substituirá os dados ou relatará isso? Eu não acho que a VM substituirá os dados do host, só quero ter certeza.
Espaço do anfitrião do convidado:
E o contrário, e se o disco do host quiser usar o espaço garantido para o convidado, há uma chance de danificar o convidado de alguma forma, e é possível? O host apenas informará que o espaço do host é limitado devido a essa VM?
Espaço convidado para convidado:
Apenas um exemplo do Oracle VirtualBox - ou qualquer software de VM semelhante - instalando o convidado Linux Mint no host Windows 10, usando "provisionamento fino". O instalador me informa diretamente após a escolha da opção “Apagar”:
“Se você continuar, as alterações listadas abaixo serão gravadas nos discos. Caso contrário, você poderá fazer outras alterações manualmente. As tabelas de partição dos seguintes dispositivos são alteradas: SCSI3 (0,0,0)(sda) As seguintes partições serão formatadas: partição nº 1 de SCSI3 (0,0,0)(sda) como ext4.”
Eu escolhi “Continuar” e nada de ruim aconteceu. Provavelmente, a mensagem aparece porque tenho outra VM já instalada. Parece que a VM pode ocupar espaço de outra VM, isso é possível?
Esta questão não se restringe ao uso do Oracle VirtualBox; esta pergunta é uma pergunta geral sobre o VMS em geral, não excluindo as respostas no VirtualBox, é claro.
"Ever" é muito tempo, e se alguém souber como acessar outro convidado ou host de uma VM (eu sei como), sim, é claro que é possível.
No entanto, apagar espaço ou mesmo uma máquina inteira não substituirá outros sistemas fora de seus limites.
Os convidados do Windows e do Linux excluem o espaço não utilizado de tempos em tempos sem problemas.
Compacto discos virtuais (Windows e Linux) para recuperar o espaço de VM excluído sem problemas.
O que você deseja fazer (expandir um disco virtual ou excluir espaço dentro de um disco virtual) não prejudicará um sistema host ou outro convidado.
Apenas certifique-se de não ficar sem espaço em disco real. Isso pode causar problemas em qualquer sistema.
Nota anedótica: A primeira vez que construí uma VM (Windows 98 que ainda tenho no VMware Workstation Versão 1 em um host Windows NT4 Workstation), a configuração do Windows 98 dizia "Vou formatar seu disco rígido"
Eu com certeza fiz uma pausa antes de dizer OK, então sua pergunta é mais razoável e bem colocada.
Os hosts de máquina virtual tiveram falhas de segurança que permitem que um convidado saia de sua VM, e a história e a experiência nos dizem que isso acontecerá novamente.
Depois que o convidado sair da VM, ele poderá fazer o que o host puder fazer.
O host sempre tem controle total, ele pode fazer o que quiser.
Depois que um convidado consegue sair da VM, ele pode fazer o que o host puder fazer, então isso reduz para #2.
Obviamente, um erro de configuração simples em que o mesmo disco virtual é anexado em modo gravável a várias VMs convidadas ou em que um disco físico do host é anexado em modo de passagem a uma VM convidada também quebra toda a proteção, sem precisar de um bug de segurança.
Realmente depende de como você configura as coisas no lado do host para saber se haverá problemas no futuro.
Por padrão, se você criar uma VM com armazenamento, será criado um arquivo que hospeda o armazenamento dessa VM. Nesses casos, o convidado não pode fazer nenhuma alteração no host e, no caso de um disco de tamanho dinâmico, uma vez que o disco deseja gravar dados maiores que o espaço alocado porque o disco do host está cheio, ocorre um erro de gravação no convidado, é isso.
O problema aqui é que a escrita falha, mas não dá um significado claro no convidado. Pode ser mais difícil solucionar problemas, mas será algo como: "Erro ao gravar no arquivo. Certifique-se de que o disco seja gravável. Mesmo que seu disco diga que há espaço suficiente, ele simplesmente não permitirá nenhuma gravação. Se você inspecionar o host , você descobrirá que o disco está cheio.No lado do host, você recebe uma mensagem clara de que o disco está cheio porque o host pode realmente vê-lo, mas não o convidado.
É possível atribuir um disco físico como meio de armazenamento para uma VM. Se esse disco físico também for usado pelo próprio sistema, você basicamente concede ao convidado acesso ao host de uma maneira não pretendida. Não é o que qualquer um deveria fazer, mas estou apenas nomeando porque é realmente possível.
Mesmo que o convidado pense que está em um computador normal, é tudo um ambiente virtual. Como o convidado não pode realmente dizer que está dentro de um ambiente virtual, as mensagens que você vê na tela também não refletem isso. Se disser: vou excluir todos os seus dados no seu disco, são apenas todos os dados que o convidado tem acesso que é o que você definiu no host. Seja um disco virtual ou um disco físico como passagem, para o convidado é exatamente o mesmo.
A resposta curta é não, a máquina virtual não pode substituir o sistema host. Onde a máquina virtual vê um disco rígido, o computador host vê apenas um arquivo. A VM e seus arquivos estão sob controle do host. Se a unidade da VM tiver permissão para crescer sem limite e a unidade da VM ficar muito grande, eventualmente o host reclamará que sua unidade está cheia, mas não começará a substituir seu host. Você pode compartilhar uma pasta ou uma unidade entre o host e a VM e, tecnicamente, isso pode substituir algumas coisas, mas você teria que configurar isso intencionalmente. Então vá em frente e formate a unidade virtual da sua máquina virtual. Uma dica se você precisar estar no lado seguro absoluto é fazer um backup do seu host primeiro, isso é sempre uma boa prática de qualquer maneira, porque você nunca sabe quando uma unidade trava e é perdida para sempre.
Espaço convidado para convidado
As máquinas virtuais são completamente independentes. Eles são (em termos gerais) indistinguíveis de um computador físico e não se conhecem, a menos que você os conecte de alguma forma - assim como os computadores físicos.
Essa mensagem não é causada pela existência de outra VM. É um tipo de diálogo de "verificação de sanidade". Ele pede que você verifique novamente se as escolhas feitas automaticamente pelo instalador correspondem às suas intenções.
Confirmei experimentalmente que esta mensagem aparece ao instalar o Ubuntu 18.04 e 20.04 em uma unidade vazia e não particionada.
Espaço do anfitrião do convidado
Enquanto do lado de dentro uma VM parece um computador normal, do lado de fora (ou seja, a perspectiva do host) é apenas um monte de arquivos. Geralmente, você terá um arquivo que descreve a configuração de hardware da VM e um arquivo para cada disco virtual anexado à VM. Portanto, na maioria dos casos de uso, uma VM consiste em dois arquivos: um para a configuração e outro para o disco.
Os arquivos de disco podem ser pré-alocados ou alocados dinamicamente. O disco pré-alocado é criado para ocupar uma quantidade de espaço igual à sua capacidade desde o início. Ele pode melhorar um pouco o desempenho ao custo de consumir espaço em disco do host para regiões de disco não utilizadas. Se você não tiver espaço em disco suficiente para isso, o processo falhará enquanto a VM está sendo criada, mas ainda não está em execução.
Um arquivo de disco virtual alocado dinamicamente aumentará à medida que o convidado estiver tentando gravar em suas regiões não utilizadas anteriormente. O termo técnico para isso é um arquivo esparso . Este é o caso em que o host pode realmente ficar sem espaço em disco quando o convidado está tentando gravar em seu disco virtual. Nada será sobrescrito porque é apenas um caso típico de um programa tentando criar um arquivo muito grande para caber no disco (o programa sendo seu software de VM - o hipervisor). O fato de ser um disco virtual conectado a uma VM em execução é irrelevante, porque do ponto de vista do host é um arquivo não diferente de qualquer outro. O driver do sistema de arquivos do sistema operacional simplesmente negará a gravação nesse arquivo. Como o hypervisor lida com isso depende de sua implementação.
Espaço convidado do anfitrião
Mais uma vez, para o host o disco virtual é apenas um arquivo e está sujeito às mesmas regras que qualquer outro arquivo. Qualquer processo com permissão para gravar neste arquivo pode fazer qualquer modificação nele, a menos que este arquivo esteja bloqueado para gravação exclusiva por outro processo no momento.
Talvez - depende completamente do seu ambiente e de como você o configura.
No trabalho, tínhamos algumas SANs Dell Compellent 4020 atuando como armazenamento para um pool de Xenseservers. Havia 8 servidores executando cerca de 60 VMs com 2 links de 10 Gb para os controladores gêmeos na SAN. A SAN tinha cerca de 20 TB de disco rápido, oferecendo cerca de 17 TB utilizáveis. Equipamento empresarial de qualidade decente.
Nós nos atrapalhamos na configuração e ingenuamente permitimos que a SAN relatasse mais espaço livre do que realmente tinha. Todas essas VMs tinham mais de 17 TB alocados, mas não estavam usando tudo; foram bons. Isso é provisionamento thin .
Quando atingimos esse limite de 17 TB em uso, todas as VMs em execução falharam ao gravar. Normalmente, isso faria a VM travar ou agir como se seu disco estivesse desconectado.
Mas nesta SAN dippy decidiu corromper todos os discos para cada VM em execução e interrompida. Tivemos que reconstruir imediatamente cerca de 40 máquinas virtuais e não havia chance de recuperar nenhum arquivo.
Portanto, é eminentemente possível para uma VM encher coisas fora de seus recursos alocados, dependendo de como você escolheu configurá-la e quais proteções/armadilhas sua solução oferece.
Em um mundo ideal, seu disco de VM seria alocado 100%, portanto, um disco de 20 GB ocuparia imediatamente 20 GB do seu espaço em disco real e não seria capaz de ultrapassar isso.