Автоматизация развертывания 15 виртуальных машин Alt Linux в VMware
В лабораторных работах часто требуется развернуть множество виртуальных машин (ВМ) на платформе VMware. Ручное создание 15 инстансов Alt Linux с последующей настройкой - трудоёмкая задача. В этой статье мы разберём, как автоматизировать этот процесс с помощью скриптов, чтобы сэкономить время и избежать ошибок.
Основные инструменты для автоматизации VMware
Для управления виртуальными машинами VMware из командной строки используется утилита vmrun (часть VMware VIX API) или ovftool для импорта/экспорта. Также можно применять PowerCLI (для VMware vSphere) или Vagrant с провайдером VMware. В нашем случае, если вы работаете с VMware Workstation или Player, vmrun - оптимальный выбор.
Подготовка шаблона виртуальной машины
Создайте одну эталонную ВМ с установленным Alt Linux. Настройте в ней базовые параметры: сеть, пользователя, отключите автоматические обновления. Затем сделайте снапшот или скопируйте папку с ВМ - это будет шаблон для клонирования.
Клонирование ВМ с помощью vmrun
Используйте команду vmrun clone для создания копий. Пример скрипта на Bash:
#!/bin/bash
BASE_VM="/path/to/template.vmx"
for i in $(seq 1 15); do
CLONE_NAME="alt-linux-$i"
CLONE_DIR="/path/to/vms/$CLONE_NAME"
mkdir -p "$CLONE_DIR"
vmrun clone "$BASE_VM" "$CLONE_DIR/$CLONE_NAME.vmx" full -cloneName="$CLONE_NAME"
doneЭтот код создаст 15 полных копий шаблона. Убедитесь, что у VMware Tools установлены на шаблоне.
Автоматическая настройка hostname и выполнение команд
После клонирования нужно запустить каждую ВМ и выполнить внутри неё команды. Для этого используйте vmrun runProgramInGuest (требует VMware Tools и учётные данные гостевой ОС). Пример:
vmrun start "$CLONE_DIR/$CLONE_NAME.vmx"
sleep 30 # ждём загрузки
vmrun runProgramInGuest "$CLONE_DIR/$CLONE_NAME.vmx" -guestUser root -guestPassword yourpassword /bin/bash -c "hostnamectl set-hostname $CLONE_NAME && apt-get update"Добавьте этот блок внутрь цикла. Для дополнительных действий (например, установка пакетов) просто расширьте строку команды.
Использование Ansible для продвинутой настройки
Если требуется более гибкое управление, установите Ansible на хост-машину. Создайте inventory-файл с IP-адресами клонированных ВМ (их можно получить после запуска) и выполните плейбук. Пример плейбука для установки обновлений и настройки hostname:
- hosts: all
tasks:
- name: Set hostname
hostname:
name: "{{ inventory_hostname }}"
- name: Update packages
apt:
update_cache: yesAnsible автоматизирует массовую конфигурацию без необходимости вручную вводить команды в каждую ВМ.
Проверка и отладка
После выполнения скриптов проверьте, что все 15 ВМ запущены, имеют уникальные hostname и обновлённый кэш пакетов. Используйте vmrun list для просмотра активных машин. Если какая-то ВМ не отвечает, проверьте логи VMware Tools.
Заключение
Автоматизация развертывания 15 виртуальных машин Alt Linux в VMware - реальная задача, решаемая с помощью vmrun, Bash-скриптов и Ansible. Это избавляет от рутины и ускоряет лабораторные работы. Начните с создания шаблона, затем клонируйте его и настройте каждую ВМ программно.