Erstellen Sie eine Cloud-ähnliche VM mit minimaler Konfiguration

Erstellen Sie eine Cloud-ähnliche VM mit minimaler Konfiguration

AnAmazon EC2oderandere Cloud/IaaS Dienstleistungen, ich kann ganz einfach eine neue Maschine erstellen, ohne dass viel Installation erforderlich ist. Im Grunde wähle ich einfach RAM/HDD/CPU aus, gebe einen öffentlichen SSH-Schlüssel ein und erhalte innerhalb von Sekunden eine brandneue Maschine.

Wie kann ich dies lokal mit VirtualBox (oder einer anderen Virtualisierungssoftware) replizieren? Wenn möglich, würde ich eine Lösung bevorzugen, die nur minimale Änderungen am tatsächlichen System erfordert.

Antwort1

Sie könnenvorgefertigte virtuelle Maschinenum den gleichen Effekt zu erzielen. Erstellen, anpassen und dann als Basisvorlage speichern. So wie Sie ein leeres Office-Dokument mit Ihren bevorzugten Einstellungen (Schriftarten, Seiteneinrichtung usw.) verwenden würden, können Sie eine virtuelle Maschine (in jeder Virtualisierungstechnologie) erstellen, die Sie einfach kopieren und anpassen können, wenn Sie eine neue Instanz benötigen. Im Laufe der Jahre habe ich eine Bibliothek von Basis-*-Betriebssystemen für verschiedene Versionen und Varianten von Linux, Windows und Macintosh aufgebaut.

Antwort2

Sie können einfach eineOVFAppliance mit VirtualBox und importieren Sie dies dann mehrmals:

  1. Erstellen Sie die VM mit allen Ihren Präferenzen - installieren Sie die Software, die Sie mögen (sagen wir,htop) und konfigurieren Sie es nach Ihren Wünschen (zum BeispielAktivieren Sie passwortloses Sudo, eingestellt UseDNS Noauf /etc/ssh/sshd_confeine schnellere Anmeldung und ein kürzeres Timeout in /boot/grub/grub.cfg).
  2. Installieren Sie einen SSH-Server undLaden Sie Ihren SSH-Schlüssel hoch.
  3. Führen Sie es unter Linux aus, sudo rm -rf /etc/udev/rules.d/um die dauerhaften Netzwerknamenszuordnungen zu entfernen (andernfalls müssen Sie das Netzwerk neu konfigurieren).
  4. Fahren Sie die Maschine herunter (möglicherweise möchten Sie vorher einige Caches entfernen, um die Maschinengröße zu verringern).
  5. Exportieren Sie die VM entweder über die GUI mit Datei -> Appliance exportieren oder mitVBoxManage export VM_NAME -o ./myvm.ova

Sie können die erstellte OVA-Datei nun beliebig oft importieren (mit Datei -> Import Appliance oderVBoxManage import. Jedes Mal, wenn Sie das tun, generiert VirtualBox einen neuen VM-Namen und ermöglicht Ihnen, die grundlegenden Parameter (CPU, RAM-Größe, angeschlossene Festplatten usw.) zu ändern.

Sie müssen die SSH-Portweiterleitungsregel jedoch manuell bearbeiten. Dies können Sie ganz einfach mit dem folgenden Skript tun:

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"

Sie können sich nun per SSH mit der Maschine verbinden ssh vbox-$VM_NAME. Wenn Sie die Maschine bereitstellen möchten, müssen Sie die manuell ändern.Ändern Sie die SSH-Serverschlüssel.

Anstatt zu exportieren und zu importieren, können Sie auch einfachKloneiner vorhandenen Maschine.

verwandte Informationen