Как создать шаблон МСВСфера 9.6 на Proxmox
Дата публикации: 2025-06-13T09:14:05
Теги: ["templates", "msvsphere", "Proxmox"]
В Proxmox VE шаблон VM - это изображение операционной системы, которая предварительно сконфигурирована для использования при вращении новых виртуальных машин. Он содержит полную установку ОС вместе с другими дополнительными программными пакетами и настройками, необходимыми для запуска операционной системы. Proxmox VE поддерживает и позволяет пользователям создавать пользовательские шаблоны ОС для большинства дистрибутиваний Linux и настольных изданий Windows.
Основной целью использования шаблонов ОС является упрощение создания новых виртуальных машин. Шаблоны обеспечивают стандартизированный и более быстрый способ развертывания ОС без использования изображений ISO, которые могут быть длинными и утомительными. Создание новой виртуальной машины с шаблоном так же просто, как и выбор шаблона ОС, настройка настройки оборудования, выделенные ресурсы и запуск виртуальной машины в течение нескольких секунд.
Создать шаблон МСВСфера 9.6 на Proxmox VE
К концу этой статьи вы создадите шаблон ОС МСВСфера 9.6 с индивидуальными конфигурациями, которые включают конкретные зависимости вашего приложения.
Предпосылки
- Сервер с Proxmox VE в качестве ОС.
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo.
Конвенции
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo. $ - данные команды должны выполняться от имени обычного пользователя.
Шаг 1. Скачайте облачные базовые изображения
Нам понадобится изображение базового облака, предоставленное большинством распределений Linux. Используются следующие переменные:
- `imageURL`: Ссылка на изображение облака.
- `IMAGE`: Имя изображения облака, загруженное как хранящее локально в системе.
- `TID`: Идентификатор шаблона, который будет создан.
- `TNAME`: Имя, назначенное создаваемому шаблону.
- `CUSER`: Мы будем использовать CloudInit для настройки настроек, таких как пользователь ОС, пароль и сетевые конфигурации. Это имя операционной системы по умолчанию, которое будет использоваться.
Вот примеры.
imageURL=https://repo1.msvsphere-os.ru/msvsphere/9.6/images/x86_64/MSVSphere-9.6-20250604.gencloud.x86_64.qcow2 wget $imageURL IMAGE=MSVSphere-9.6-20250604.gencloud.x86_64.qcow2 TID=700 TNAME=MSVSphere-9-Template CUSER=msvsphere
Шаг 2. Определить переменные шаблона
Здесь мы определяем следующие переменные, необходимые для создания шаблона.
SIZE=50G #Default root size BRIDGE=vmbr1 #Default сетевой мост название RAM=2048 #Default VM Ram size CORES=1 #Default ядра процессора для виртуальной машины STORAGE=Local-ZFS #Название пула хранения, проверьте статус pvesm CPASS="str0nguserpasswr=ord" #CloudInit password пользователя для введения
Чтобы увидеть доступные сетевые мосты, используйте.
# brctl show bridge name bridge id STP enabled interfaces vmbr0 8000.5ced8cedb886 no eno1 vmbr1 8000.5ced8cedb889 no eno4
Список доступных хранения может быть сделан со следующими командами:
# pvesm status Name Type Status Total Used Available % local dir active 1884995968 10524288 1874471680 0.56% local-zfs zfspool active 1875328912 857128 1874471784 0.05%
Шаг 3. Настройка изображения с использованием virt-customize
Команда `virt-customize` предоставляется пакетом `libguestfs-tools`. Давайте установим его.
sudo apt update && sudo apt install libguestfs-tools
После установки мы можем подтвердить, работает ли `Virt-Customize`.
# virt-customize --version virt-customize 1.48.2
Используйте `virt-customize`, чтобы установить основные пакеты в изображении базового облака.
# virt-customize -a $IMAGE --install angie,php-fpm,postgresql-server,qemu-guest-agent [ 0.0] Examining the guest ... [ 8.2] Setting a random seed [ 8.3] Setting the machine ID in /etc/machine-id [ 8.3] Installing packages: angie php-fpm postgresql-server qemu-guest-agent [ 163.2] Finishing off
Затем мы включим службу `qemu-guest-agent` для запуска на загрузке системы.
# virt-customize -a $IMAGE --run-command 'systemctl enable qemu-guest-agent' [ 0.0] Examining the guest ... [ 7.6] Setting a random seed [ 7.6] Running: systemctl enable qemu-guest-agent [ 8.2] Finishing off
Вы также можете установить часовой пояс по умолчанию.
# virt-customize -a $IMAGE --timezone "Europe/Moscow" [ 0.0] Examining the guest ... [ 7.5] Setting a random seed [ 7.6] Setting the timezone: Europe/Moscow [ 8.0] Finishing off
Можно включить аутентификацию пароля SSH. Это не рекомендуется. Это необходимо, если вы не используете ключи SSH.
# virt-customize -a $IMAGE --run-command 'sed -i "s/.*PasswordAuthentication.*/PasswordAuthentication yes/g" /etc/ssh/sshd_config' [ 0.0] Examining the guest ... [ 7.4] Setting a random seed [ 7.5] Running: sed -i "s/.*PasswordAuthentication.*/PasswordAuthentication yes/g" /etc/ssh/sshd_config [ 8.1] Finishing off
Отключите вход SSL для пользователя root.
# virt-customize -a $IMAGE --run-command 'sed -i "s/.*PermitRootLogin.*/PermitRootLogin no/g" /etc/ssh/sshd_config' [ 0.0] Examining the guest ... [ 7.2] Setting a random seed [ 7.3] Running: sed -i "s/.*PermitRootLogin.*/PermitRootLogin no/g" /etc/ssh/sshd_config [ 7.7] Finishing off
Relabel SELinux.
# virt-customize -a $IMAGE --selinux-relabel [ 0.0] Examining the guest ... [ 7.4] Setting a random seed [ 7.4] SELinux relabelling [ 7.9] Finishing off
Чтобы полностью отключить Selinux, запустите.
# virt-customize -a $IMAGE --run-command ' sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config' [ 0.0] Examining the guest ... [ 4.7] Setting a random seed guest [ 4.8] Running: sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config [ 4.9] Finishing off
Шаг 4. Создать шаблон ОС на Proxmox VE
Измените размер базового изображения до желаемого размера ОС / диска, как это определено в переменной размера ранее.
# qemu-img resize $IMAGE $SIZE Image resized.
Теперь создайте скелет шаблона ОС с памятью, процессором и сетевым мостом.
# qm create $TID --memory $RAM --cores $CORES --net0 virtio,bridge=$BRIDGE --scsihw virtio-scsi-pci --kvm 1 --numa 1
Импортируйте базовое изображение, которое мы настроили в фактический диск VM Storage.
# qm importdisk $TID $IMAGE $STORAGE importing disk 'MSVSphere-9.6-20250604.gencloud.x86_64.qcow2' to VM 700 ... transferred 0.0 B of 50.0 GiB (0.00%) transferred 542.7 MiB of 50.0 GiB (1.06%) transferred 1.0 GiB of 50.0 GiB (2.07%) transferred 1.5 GiB of 50.0 GiB (3.09%) transferred 2.0 GiB of 50.0 GiB (4.09%) transferred 2.5 GiB of 50.0 GiB (5.10%) transferred 3.1 GiB of 50.0 GiB (6.12%) transferred 3.6 GiB of 50.0 GiB (7.12%) transferred 4.1 GiB of 50.0 GiB (8.16%) transferred 4.6 GiB of 50.0 GiB (9.19%) ... transferred 49.4 GiB of 50.0 GiB (98.80%) transferred 49.9 GiB of 50.0 GiB (99.80%) transferred 50.0 GiB of 50.0 GiB (100.00%) transferred 50.0 GiB of 50.0 GiB (100.00%) Successfully imported disk as 'unused0:local-zfs:vm-700-disk-0'
Прикрепите диск в виртуальную машину. После импорта он не прикреплен.
# qm set $TID --scsihw virtio-scsi-pci --virtio0 $STORAGE:$TID/vm-$TID-disk-0.raw
При использовании пула LVM или ZFS используйте.
# qm set $TID --scsihw virtio-scsi-pci --virtio0 $STORAGE:vm-$TID-disk-0 update VM 700: -scsihw virtio-scsi-pci -virtio0 local-zfs:vm-700-disk-0
Включить серийную консоль для виртуальной машины.
# qm set $TID --serial0 socket --vga serial0 update VM 700: -serial0 socket -vga serial0
Включить QEMU guest agent.
# qm set $TID --agent 1 update VM 700: -agent 1
Измените порядок загрузки на начало с устройства SCSI или VirtIO block.
# qm set $TID --boot c --bootdisk virtio0 update VM 700: -boot c -bootdisk virtio0
Шаг 5. Прикрепите изображение инициировать облако и создать шаблон
Затем мы прикрепляем изображение cloud init, выполнив следующие команды.
# qm set $TID --ide2 $STORAGE:cloudinit update VM 700: -ide2 local-zfs:cloudinit ide2: successfully created disk 'local-zfs:vm-700-cloudinit,media=cdrom' generating cloud-init ISO
Введите ключ SSH для указанного пользователя по умолчанию. Путь к SSH Public Key может быть изменен согласно.
# qm set $TID --sshkey ~/.ssh/id_rsa.pub update VM 700: -sshkeys ssh-rsaxxxyyyzzz
Также установите назначение IP-адреса по умолчанию в DHCP и установите пароль пользователя CloudInit.
# qm set $TID --ipconfig0 ip=dhcp --cipassword="$CPASS" --ciuser=$CUSER update VM 700: -cipassword-ciuser msvsphere -ipconfig0 ip=dhcp
Назначьте имя виртуальной машине, используя следующие команды.
# qm set $TID --name $TNAME update VM 700: -name MSVSphere-9-Template
Наконец-то преобразуйте виртуальную машину в шаблон.
# qm template $TID
Шаг 6. Создание виртуальной машины из шаблона
Список доступных шаблонов.
# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
700 MSVSphere-9-Template stopped 2048 50.00 0
780 Debian-13-Template stopped 2048 50.00 0
Определите переменную для создания виртуальной машины.
TID=700 # ID шаблона, который будет использоваться. VMID=$(pvesh get /cluster/nextid) #ID из виртуальной машины, которая будет создана. Это автоматически записано ProxMox VE VMNAME=DirectAdmin # имя виртуальной машины RAM=2048 # VM RAM Размер в MB CORES=2 # ядра процессора для виртуальной машины
Далее определить параметры конфигурации сети.
BRIDGE=vmbr1 # название моста, прикрепленное к виртуальной машине IP=192.168.20.11/24 # IP-адрес (при использовании статической IP -адресации) GW=192.168.20.1 # IP-адрес шлюза по умолчанию DNS=8.8.8.8 # DNS-сервер по умолчанию SDOMAINS="example.com" # Поиск доменов.
Мы создаем экземпляр VM, клонируя шаблон. Для этого есть два стандартных варианта:
- Full Clone - виртуальная машина, созданная из Full Clone, является полной копией и полностью не зависит от исходного шаблона VM, но требует того же дискового пространства, что и оригинал.
- Linked Clone - виртуальная машина, созданная из этого, требует меньшего количества дискового пространства, но не может работать без доступа к базовому шаблону виртуальной машины.
Пример Full clone:
# qm clone $TID $VMID --full --name $VMNAME --format qcow2 ... transferred 44.2 GiB of 50.0 GiB (88.34%) transferred 44.7 GiB of 50.0 GiB (89.35%) transferred 45.2 GiB of 50.0 GiB (90.35%) transferred 45.7 GiB of 50.0 GiB (91.36%) transferred 46.2 GiB of 50.0 GiB (92.36%) transferred 46.7 GiB of 50.0 GiB (93.36%) transferred 47.2 GiB of 50.0 GiB (94.37%) transferred 47.7 GiB of 50.0 GiB (95.37%) transferred 48.2 GiB of 50.0 GiB (96.37%) transferred 48.7 GiB of 50.0 GiB (97.38%) transferred 49.2 GiB of 50.0 GiB (98.38%) transferred 49.7 GiB of 50.0 GiB (99.39%) transferred 50.0 GiB of 50.0 GiB (100.00%) transferred 50.0 GiB of 50.0 GiB (100.00%)
Пример Linked clone:
# qm clone $TID $VMID --name $VMNAME transferred 44.2 GiB of 50.0 GiB (88.34%) transferred 44.7 GiB of 50.0 GiB (89.35%) transferred 45.2 GiB of 50.0 GiB (90.35%) transferred 45.7 GiB of 50.0 GiB (91.36%) transferred 46.2 GiB of 50.0 GiB (92.36%) transferred 46.7 GiB of 50.0 GiB (93.36%) transferred 47.2 GiB of 50.0 GiB (94.37%) transferred 47.7 GiB of 50.0 GiB (95.37%) transferred 48.2 GiB of 50.0 GiB (96.37%) transferred 48.7 GiB of 50.0 GiB (97.38%) transferred 49.2 GiB of 50.0 GiB (98.38%) transferred 49.7 GiB of 50.0 GiB (99.39%) transferred 50.0 GiB of 50.0 GiB (100.00%) transferred 50.0 GiB of 50.0 GiB (100.00%)
Отрегулируйте ядра процессора и память.
# qm set $VMID --vcpus $CORES --cores $CORES update VM 100: -vcpus 1 # qm set $VMID --memory $RAM update VM 100: -memory 4096
Обновите IP, DNS и поисковые домены.
# qm set $VMID --ipconfig0 ip=$IP,gw=$GW update VM 100: -ipconfig0 ip=192.168.20.11/24,gw=192.168.20.1 # qm set $VMID --searchdomain $SDOMAINS update VM 100: -searchdomain example.net # qm set $VMID --nameserver $DNS update VM 100: -nameserver 8.8.8.8
Настройка SSH Public Key, используемый для аутентификации.
# qm set $VMID --sshkey $SSHKEY
Установите виртуальную машину для установки на загрузке.
# qm set $VMID --onboot 1
Запустите экземпляр VM.
# qm start $VMID
Завершение
В этой статье мы смогли создать шаблон МСВСфера 9.6 в виртуальной среде Proxmox VE. После того, как мы создали виртуальную машину, клонируя шаблон, мы можем начать, как показано с CLI или с использованием веб-консоли Proxmox. Чтобы получить доступ к экземпляру, используйте удаленную консоль, такую как SSH, VNC или веб-консоль, и администрируйте вашу ОС. Мы надеемся, что эта статья была информативной.
Если вам понравился этот пост о том, как создать шаблон МСВСфера 9.6 в виртуальной среде Proxmox VE, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.