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

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

2 ответа2

1

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

0

Вы можете просто создать приложение OVF с 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. Экспортируйте виртуальную машину либо через графический интерфейс с помощью File -> Export Appliance, либо с VBoxManage export VM_NAME -o ./myvm.ova

Теперь вы можете импортировать созданный ova-файл так часто, как хотите (С помощью File -> Import Applicance или 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 vbox-$VM_NAME . Если вы хотите развернуть машину, вы должны изменить вручную изменить ключи сервера SSH .

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .