Создайте виртуальную машину облачного типа с минимальной конфигурацией

Создайте виртуальную машину облачного типа с минимальной конфигурацией

НаАмазон EC2илидругой облако/IaaS услуги, я могу легко создать новую машину без особой установки. По сути, я просто выбираю RAM/HDD/CPU и предоставляю открытый ключ SSH и получаю совершенно новую машину за считанные секунды.

Как я могу повторить это локально, с помощью VirtualBox (или любого другого программного обеспечения для виртуализации)? Если возможно, я бы предпочел решение, требующее минимальной модификации самой системы.

решение1

Вы можете использоватьготовые виртуальные машинычтобы получить тот же эффект. Создайте, настройте и сохраните как базовый шаблон. Так же, как вы использовали бы пустой офисный документ с вашими предпочтительными настройками (шрифты, параметры страницы и т. д.), вы можете создать виртуальную машину (в любой технологии виртуализации), которую вы можете легко скопировать и настроить, когда вам понадобится новый экземпляр. За эти годы у меня накопилась библиотека базовых ОС для различных версий и разновидностей Linux, Windows и Macintosh.

решение2

Вы можете просто создатьОВФприложение с VirtualBox, а затем импортируйте это несколько раз:

  1. Создайте виртуальную машину со всеми вашими предпочтениями — установите понравившееся вам программное обеспечение (например,htop) и настроить его по своему желанию (например,включить sudo без пароля, установленный UseDNS Noдля /etc/ssh/sshd_confускорения входа в систему, и меньший тайм-аут в /boot/grub/grub.cfg).
  2. Установите SSH-сервер изагрузите свой SSH-ключ.
  3. В Linux выполните команду sudo rm -rf /etc/udev/rules.d/, чтобы удалить постоянные ассоциации сетевых имен (в противном случае вам придется перенастраивать сеть).
  4. Выключите машину (возможно, вам придется удалить некоторые кэши перед этим, чтобы уменьшить размер машины).
  5. Экспортируйте виртуальную машину либо через графический интерфейс с помощью Файл -> Экспортировать устройство, либо с помощьюVBoxManage export VM_NAME -o ./myvm.ova

Теперь вы можете импортировать созданный ova-файл так часто, как захотите (с помощью Файл -> Импортировать приложение илиVBoxManage import. Каждый раз, когда вы это делаете, VirtualBox будет генерировать новое имя виртуальной машины и позволит вам изменить основные параметры (ЦП, размер ОЗУ, подключенные диски и т. д.).

Однако вам придется вручную редактировать правило переадресации портов ssh. Вы можете легко сделать это с помощью следующего скрипта:

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"

Теперь вы можете подключиться к машине по ssh с помощью ssh vbox-$VM_NAME. Если вы хотите развернуть машину, вам необходимо вручную изменитьизменить ключи SSH-сервера.

Вместо экспорта и импорта вы также можете простоклонсуществующая машина.

Связанный контент