Crie uma VM semelhante à nuvem com configuração mínima

Crie uma VM semelhante à nuvem com configuração mínima

SobreAmazon EC2ououtro nuvem/IaaS Serviços, posso criar facilmente uma nova máquina sem muita instalação necessária. Basicamente, eu apenas seleciono RAM/HDD/CPU e forneço uma chave SSH pública e obtenho uma máquina totalmente nova em segundos.

Como posso replicar isso localmente, com o VirtualBox (ou qualquer outro software de virtualização)? Se possível, prefiro uma solução que precise de modificação mínima do sistema real.

Responder1

Você pode usarmáquinas virtuais pré-construídaspara obter o mesmo efeito. Crie, personalize e salve como modelo base. Assim como você usaria um documento de escritório vazio com suas configurações preferidas (fontes, configuração de página, etc.), você pode criar uma máquina virtual (em qualquer tecnologia de virtualização) que pode ser facilmente copiada e personalizada quando precisar de uma nova instância. Ao longo dos anos, tenho uma biblioteca de sistemas operacionais base-* para diferentes versões e sabores de Linux, Windows e Macintosh.

Responder2

Você pode simplesmente criar umOVFaplicativo com o VirtualBox e, em seguida, importe-o várias vezes:

  1. Crie a VM com todas as suas preferências - instale o software que você gosta (digamos,htop) e configure-o conforme desejar (por exemplo,habilitar sudo sem senha, configurado UseDNS Nopara /etc/ssh/sshd_confacelerar o login e um tempo limite menor em /boot/grub/grub.cfg).
  2. Instale um servidor SSH ecarregue sua chave SSH.
  3. No Linux, execute sudo rm -rf /etc/udev/rules.d/para remover as associações persistentes de nomes de rede (caso contrário, você terá que reconfigurar a rede).
  4. Desligue a máquina (você pode querer remover alguns caches antes para reduzir o tamanho da máquina).
  5. Exporte a VM, através da GUI com Arquivo -> Exportar Appliance ou comVBoxManage export VM_NAME -o ./myvm.ova

Agora você pode importar o arquivo óvulos criado quantas vezes quiser (com Arquivo -> Importar Aplicativo ouVBoxManage import. Cada vez que você fizer isso, o VirtualBox irá gerar um novo nome de VM e permitir que você altere os parâmetros básicos (CPU, tamanho de RAM, discos conectados, etc.).

No entanto, você terá que editar manualmente a regra de encaminhamento de porta ssh. Você pode fazer isso facilmente com o seguinte script:

OVA=vm.ova # Change this to the name of your ova file
VM_NAME=$(VBoxManage import "$OVA" | sed -n 's#.*VM name "\(.*\)".*#\1#p')
sshport=$(python -c 'import random;print(random.randint(1025,65535))')
VBoxManage modifyvm $VM_NAME --natpf1 ssh,tcp,127.0.0.1,$sshport,,22
/bin/echo -e "\nHost vbox-$VM_NAME\n\tHostName localhost\n\tPort $sshport\n" \
          >>~/.ssh/config
echo "Start the VM with    VBoxManage startvm $VM_NAME"
echo "Then, type   ssh vbox-$VM_NAME   to log in to your VM"

Agora você pode fazer ssh na máquina com ssh vbox-$VM_NAME. Se desejar implantar a máquina, você deverá alterar manualmentealterar as chaves do servidor SSH.

Em vez de exportar e importar, você também pode simplesmentecloneuma máquina existente.

informação relacionada