УСТАНОВКА И НАСТРОЙКА PROXMOX VE. СОЗДАНИЕ ВИРТУАЛЬНЫХ МАШИН

В данной статье мы рассмотрим установку Proxmox, одного из популярных систем виртуализации. Proxmox VE (Proxmox Virtual Environment) - система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Используя гипервизоры на уровне операционной системы KVM и LXC, она позволяет разворачивать внутри себя виртуальные сервера Linux без потери в производительности. Proxmox является идеальным инструментом, позволяющим на одном физическом сервере развернуть несколько полноценных виртуальных серверов под разные задачи.

В этом примере мы установим гипервизор на тестовый сервер со следующими характеристиками:

CPU: Intel Pentium G4400 3.3 GHz

ОЗУ: 16 Gb

240 Gb диск SSD x 2

500 Gb диск SSD x 2

А для тех кто читать не любит, мы подготовили видео:

 

Установка Proxmox VE

Установка не представляет особой сложности. Нам потребуется загрузочный флешь-накопитель с образом, который бесплатно можно скачать на сайте разработчика.

Сайт разработчика proxmox

В этом примере, для отказоустойчивости, гипервизор мы будем ставить на Raid 1. На данном этапе нам необходимо установить систему, программный raid для хранилища мы соберем позже. Систему ставим на SSD емкостью 120 Gb, выбрав zfs (RAID1). Важно не перепутать и не выбрать raidz-1. На ZFS raidz-1 является аналогом RAID-5 и требует установку на три диска. Дальнейшие действия очень просты.

zfs(RAID1)

Окно утсановки proxmox

Окно для ввода регистрационн6ых данных

Важный момент. Продумайте заранее архитектуру, у вас будет один гипервизор, или кластер из нескольких гипервизоров. Когда на нем будут развернуты гостевые операционные системы, сменить hostname одной командой не выйдет.

Конфигурация сети

Окно с подтверждением всех установливаемых параметорв.

По окончанию успешной установки вы увидите следующее окно приветствия. После аутентификации вы попадаете в привычную среду Debian.

Среда Debian

Настройка гипервизора Proxmox VE

Первым делом обновим наш Debian

 

~# apt-get update
~#apt-get full-upgrade

 

Затем, утилитой fdisk посмотрим состояние наших дисков и разделов.

 

~# fdisk -L

 

/dev/vda и /dev/vdb — ssd 120 Gb, на который установлен Proxmox.

/dev/vdc и /dev/vdd — ssd 500 Gb, на которых мы будем собирать программный raid с помощью утилиты mdadm.

Куталоги в которых установлен Proxmox и в которых мы собирается RAID

Они пусты, нам необходимо создать партиции разделов. Ниже приведен пример, как это сделать для /dev/vdc, такую же процедуру необходимо выполнить для /dev/vdd, создав партиции /dev/vdc1 и /dev/vdd1 соответственно.

Создание партиции разделов.


~# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/vdc1 /dev/vdd1

 

Создание партиций разделов.

Данная процедура может занять некоторое время, проверять состояние синхронизации вы можете командой:

 

~# cat /proc/mdstat

 

После успешной синхронизации программного raid массива, мы увидим следующую картину:

Успешная синхронизация програмного raid массива.

Следующим этапом, создадим файловую систему ext4 на программном рейде /dev/md127

 

~#  mkfs.ext4 /dev/md127

 

Создание файловой сиситемы ext4.

Командой blkid проверим uuid собранного raid /dev/md127

Проверка uuid

В нашем случае, это:

/dev/md127: UUID="400de0bd-6de7-46e5-a6ca-d03b11fe1c6f" TYPE="ext4"

Создадим каталог data, который смонтируем к нашей новой fs

 

~# mkdir /mnt/data
~# mount /dev/md127 /mnt/data

 

Далее правим файл /cat/fstab, указывая новую точку монтирования, чтобы после перезагрузки гипервизора изменения остались в силе. У нас должен получиться следующий результат:

Результат правки файла /cat/fstab,

Как вы могли не заметить, установка программной части Proxmox VE у нас выполнена на файловой системе ZFS. Это масштабируемая FS, работа которой, и работа с которой в корне отличается от привычных нам ext4 и иже с ней. Эта файловая система разрабатывалась под UNIX, и для корректно работы с Linux потребуется некоторый тюннинг. Это обусловлено так же особенностью работы с оперативной памятью. Чтобы исключить неконтролируемое потребление ОЗУ, создадим следующий файл:

 

~# touch /etc/modprobe.d/zfs.conf

 

В который необходимо добавить следующие параметры:

options zfs zfs_arc_max=2147483648

options zfs zfs_arc_min=1073741824

options zfs zfs_prefetch_disable=1

Применим изменения:

 

~#  update-initramfs -u

 

Настроим swappiness в Linux. Параметр vm.swappiness по умолчанию имеет значение 60, и контролирует процент свободной памяти. Он контролирует значение, после которого начнется активный сброс данных в swap. Значение «60» означает следующее: 100-60=40%. Другими словами, при загрузке ОЗУ более чем 40%, данные начнут кешироваться в swap. Не существует оптимального значения, он обусловлен только конфигурацией вашего сервера. Если ОЗУ достаточно, это значение можно уменьшить следующими командами:

 

~# echo 10 > /proc/sys/vm/swappiness

 

или

 

~# sysctl -w vm.swappiness=10

 

Чтобы после перезагрузки значения не сбросились до первоначальных, в файле /etc/sysctl.conf необходимо добавить: vm.swappiness=10

Применить настройку «на лету» можно следующей командой:

 

Чтобы после перезагрузки значения не сбросились до первоначальных, в файле /etc/sysctl.conf необходимо добавить: vm.swappiness=10

 

~# sysctl -p

 

Выше были рассмотрены базовые настройки для полноценного функционирования гипервизора. Оптимизация остальных параметров, таких как настройка программного обеспечения, настройка smart мониторинга ssd дисков и т. д., не отличается от работы с любым другим дистрибутивом Linux Debian.

WEB-интерфейс гипервизора Proxmox VE

Proxmox VE имеет очень удобный и функциональный web-интерфейс, в котором мы будем далее выполнять настройки. Если в предыдущих пунктах вы все сделали верно, он будет доступен по следующей ссылке:

https://xxx.xxx.xx.xx:8006/

Аутентифицировавших польхователем root вместо окна приветствия мы увидим следующее предупреждение:

Окно  после root авторизации

Proxmox VE является программным обеспечением с открытым исходным кодом, он бесплатен и поставляется под лицензией GNU GPL\GNU AGPL. Однако поддержка Enterprise версии платная. Если вы не желаете покупать лицензию, необходимо изменить репозиторий обновлений:

 

~# mcedit /etc/apt/sources.list.d/pve-enterprise.list

 

В нем необходимо закомментировать репозиторий pve-enterprise и добавить репозиторий pve-no-subscription:

#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise

deb https://download.proxmox.com/debian/pve buster pve-no-subscription

Теперь приступим к настройке хранилища. Для этого нам необходимо перейти в пункт меню «Datacenter» - «Storage» и нажать «Add», выбрав тип хранилища «Directory». Сюда мы добавим наш примонтированый каталог data, который мы создали на нашем программном raid, и на котором у нас будут размещены гостевые виртуальные машины.

Добавление каталога data

Просмотр каталога data

Настройка сети. Для функционирования обычно используют три режима: Bridge, Routed и NAT. Bridge - при этом режиме, гостевые VM находятся в одной подсети с гипервизором и используют ip адреса этой подсети. Routed - при этом режиме, одна из виртуальных машин настроена как шлюз, для выхода в сеть интернет. NAT - виртуальные машины имеют собственную подсеть, однако во внешнюю выходят через NAT, который настроен на гипервизоре.

В этом примере мы используем режим Brige. Для этого необходимо перейти в раздел «Datacenter» - «your_Node» - «System» - «Network» и нажать «Create», выбрав режим «Linux Brige»

Использование режима Brige

Создание виртуальных машин в Proxmox VE

Перейдем в каталог для образов и скачаем необходимый дистрибутив, который будем инсталлировать. Для нашего пример а выберем CentOS8 и рандомный официальный репозиторий

 

~# cd mntdata/template/iso
~# wget https://centos2.hti.pl/8.0.1905/isos/x86_64/CentOS-8-x86_64-1905-boot.iso

 

Для создания новой виртуальной машины внутри гипервизора необходимо в правом верхнем углу web-интерфейса нажать «Create VM», после чего откроется окно настройки.

Окно создания виртуального сервера

Перед вами откроется окно настроек с восемью вкладками и множеством параметров. Рассмотрим основные базовые, вы их можете изменить под свои нужды. Единственный момент, который необходимо учесть при создании виртуальных машин, их ресурсы не должны превышать физические характеристики гипервизора. Логично, что имея физически на боту 16 Gb оперативной памяти, создать виртуальных несколько машин потребляющих суммарно 32 Gb у вас получится, но при превышении ресурсов гипервизор просто «уйдет в себя». Это же касается и емкости жестких дисков. За этим важно следить.

Приведу листинг по пунктам:

Node: dedicated
VM ID: 101
Name: CentOS-8
Use CD/DVD disc image file (iso)
Storage: data
ISO image: CentOS-8-x86_64-1905-boot.iso
Type: Linux
Version: 5.x - 2.6 Kernel
Graphic card: Default
SCSI controller: VirtIO SCSI
Bus/Device: VirtIO Block : 0
Storage: data
Disk size (GiB): 120
Format: QEMU image format (qcow2)
Cache: Default (No cache)
Sockets: 1
Cores: 2
Type: Default (kvm64)
Memory (MiB): 4096
Brige: vmbr0
Model: VirtIO (paravirtualized)
Start after created

Окно проверки параметров при создании виртуального сервера

Сверившись, что все настроено верно, нажимаем «Finish» и ждум загрузку виртуальной машины. Когда она будет запущена, выберем ее и перейдем во вкладку «Console», где увидим окно первоначальной настройки дистрибутива.

Окно первоначальной настройки дистрибутива

Настройка виртуальной машины ничем не отличается от обычной настройки дистрибутива CentOS. Настроив все параметры, сеть, вы сможете подключаться к ней по ssh и работать как с полноценным сервером.

У нас Вы можете арендовать сервер (dedicated server) c поддержкой аппаратной виртуализации, развернуть на котором гипервизор Proxmov VE у Вас не сосотавит труда. Если во время использования инструкции у Вас возникнут вопросы, наша техническая поддержка готова прийти на помощь в любое время.