Colocar um arquivo dentro de uma máquina virtual, quando o Proxmox não tem gerenciador de arquivos
Não existe um botão de envio apontando para dentro de um convidado, e essa ausência é deliberada, não um descuido. Há quatro caminhos reais de entrada, cada um com um custo, e um atalho popular que corrompe sistemas de arquivos em silêncio.
AtlasPVE ·
Este verbete responde a
- proxmox copiar arquivo para vm
- proxmox gerenciador de arquivos
- proxmox tirar arquivo da vm
- proxmox explorador de arquivos
- proxmox copy file to vm
Você tem um arquivo no seu computador e ele precisa ficar dentro de um convidado. Procura na interface um botão de envio apontando para lá, e não existe.
Essa ausência é uma decisão de projeto, não um descuido, e entender o porquê deixa o resto óbvio. O Proxmox VE gerencia a máquina, não o interior da máquina. De fora, o armazenamento de um convidado é uma imagem de disco: um bloco grande e opaco. A camada de virtualização não lê o sistema de arquivos que está dentro, e é justamente por isso que ela consegue hospedar qualquer sistema operacional sem saber nada a respeito.
Então todo caminho de entrada é um jeito de atravessar essa fronteira de propósito, e cada um atravessa de um jeito.
A resposta chata que geralmente é a certa
Copie pela rede, do mesmo jeito que faria para qualquer outra máquina. Uma cópia de arquivo por SSH, um compartilhamento, um armazenamento de objetos, um download de dentro do convidado.
Esse caminho é descartado com surpreendente frequência porque parece comum demais, como se a virtualização devesse oferecer algo melhor. Não oferece, e nem deveria. O convidado é uma máquina na sua rede; trate-o assim. Esse caminho aguenta qualquer tamanho, mantém as próprias permissões e não envolve a camada de virtualização em nada.
Os casos abaixo valem para quando esse caminho não está disponível.
Quando o convidado está inalcançável mas ligado
O agente convidado dá a você um canal que não usa a rede, porque passa por um dispositivo virtual entre hospedeiro e convidado.
Ele realmente sabe ler e escrever arquivos. As duas operações existem como pontos próprios, e são exatamente o que se quer para largar um arquivo de configuração ou uma chave numa máquina que perdeu a rede.
O limite que vale conhecer antes de confiar nele: uma escrita única tem teto de cerca de 60 KB, e a leitura de arquivos maiores volta marcada como truncada. Esse canal foi feito para coisas pequenas. Ótimo para um arquivo de configuração, inútil para uma imagem de instalação, e descobrir isso no meio de um incidente é pior do que ler aqui.
No hospedeiro usado para verificar isso, sete de oito máquinas virtuais tinham o agente ativado, então para a maioria esse caminho já está disponível e simplesmente é desconhecido.
Quando o convidado está desligado
Com o convidado parado, a imagem de disco dele pode ser montada no hospedeiro e o sistema de arquivos percorrido direto. É a opção mais poderosa: acesso completo, qualquer tamanho, sem precisar de agente.
Também tem a aresta mais afiada deste texto.
O atalho que destrói em silêncio
Não monte pelo hospedeiro o sistema de arquivos de um convidado ligado.
Muitas vezes parece funcionar. Você monta a imagem, vê arquivos, copia um para dentro, ninguém reclama. Enquanto isso o convidado também está com aquele sistema de arquivos montado e guarda em cache a própria ideia do que existe no disco. Dois escritores independentes, um sistema de arquivos, nenhum sabendo do outro. O resultado é uma corrupção que aparece depois e parece um problema de disco em vez de algo que você fez.
Se o convidado está rodando, use a rede ou o agente. Se você precisa do disco, pare o convidado antes.
Quando o convidado não sobe de jeito nenhum
Esse é o momento em que você mais quer tirar um arquivo para fora, e todas as opções anteriores falharam.
Vá pelo caminho do backup. Backups podem ser inspecionados e é possível recuperar arquivos individuais deles sem restaurar o convidado inteiro. É mais lento que tudo aqui, e é o único caminho que ainda funciona quando a própria máquina está inutilizável.
Vale notar: esse é mais um motivo pelo qual um backup que você nunca abriu ainda não é um backup. O dia em que você precisa tirar um único arquivo de uma máquina morta é um péssimo dia para descobrir que o arquivo não restaura.
Contêineres são outro problema
Um contêiner não tem uma imagem de disco com um sistema de arquivos opaco dentro. Os arquivos dele ficam no armazenamento do próprio hospedeiro, então, do hospedeiro, eles simplesmente estão ali.
Essa assimetria explica por que a versão para contêineres dessa pergunta é uma busca separada. Mesma tarefa, dificuldade completamente diferente, e conselho escrito para um costuma estar errado para o outro.
O que o Atlas faz, e seus limites
O Atlas oferece um explorador de arquivos para um convidado, e a decisão de projeto dentro dele é a parte que merece ser dita.
Ele roda dentro do convidado e escuta apenas no endereço de retorno do próprio convidado, então da sua rede ele não é alcançável de jeito nenhum. Você chega nele pelo Atlas. Isso quer dizer que acrescentar um explorador de arquivos não acrescenta um serviço exposto a todo o resto da rede local, que é o custo silencioso habitual de colocar um gerenciador de arquivos web numa máquina.
Os limites, sem rodeios: funciona por convidado e precisa estar presente naquele que você quer explorar; é uma conveniência para olhar e mover arquivos individuais, não um mecanismo de transferência de grandes volumes; e não substitui backups. Para volume, o caminho de rede lá em cima continua sendo a resposta certa, e para uma máquina que não sobe, a rota do backup continua sendo a única.
Fontes
A documentação oficial do Proxmox. Em inglês, e é ela que dá a palavra final neste assunto.