Автоматизация развертывания 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: yes

    Ansible автоматизирует массовую конфигурацию без необходимости вручную вводить команды в каждую ВМ.

    Проверка и отладка

    После выполнения скриптов проверьте, что все 15 ВМ запущены, имеют уникальные hostname и обновлённый кэш пакетов. Используйте vmrun list для просмотра активных машин. Если какая-то ВМ не отвечает, проверьте логи VMware Tools.

    Заключение

    Автоматизация развертывания 15 виртуальных машин Alt Linux в VMware - реальная задача, решаемая с помощью vmrun, Bash-скриптов и Ansible. Это избавляет от рутины и ускоряет лабораторные работы. Начните с создания шаблона, затем клонируйте его и настройте каждую ВМ программно.

    Часто задаваемые вопросы