Установка Proxmox в Debian 10

Proxmox Virtual Environment это система виртуализации с открытым исходным кодом. В настоящее время Proxmox VE, в релизах выше 4.0 и 3.4, использует гипервизоры KVM и LXC, что позволяет запускать виртуализацию практически любой ОС. Управляется Proxmox VE через удобный веб-интерфейс. Как гипервизор Proxmox VE является высокопроизводительным, виртуальные машины с Linux работают без потерь, другие гостевые ОС вызывают минимальные потери производительности.

Proxmox VE требует поддержки Intel-VT/AMD-V, однако старые дистрибутивы с OpenVZ позволяют запускать виртуализацию Linux без использования виртуализации. Proxmox VE активно использует тома LVM, LVM-Thin, открытые папки сетевых хранилищ и сетевые системы хранения данных. Используя возможности распространения ПО с открытым исходным кодом, Proxmox VE можно загрузить как самостоятельный установщик в ISO образе или устанавливать на Debian из репозиториев. Оплачивается только подписка на техническую поддержку, поэтому Proxmox VE можно использовать как полноценное мощное бесплатное решение для виртуализации. В этой статье мы рассмотрим как установить Proxmox на Debian 10.

Установка Proxmox VE на Debian 10 Buster

В статьях на различных порталах в Интернете можно прочитать, что VPS и VDS не имеют разницы, просто различные аббревиатуры одного и того же. Однако, с моей точки зрения, есть существенное различие в предложениях провайдеров – виртуальный хост приобретён в аренду или реальный сервер в стойке.

Чтобы проверить, можно ли полноценно использовать виртуализацию Proxmox VE в облаке или на реальном хосте, в Debian 10 Buster, подключаемся к консоли сервера по ssh, в моем случае с помощью Putty RUS и вводим:

cat /proc/cpuinfo | grep '(svm|vmx)'

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

Обновление системы Debian 10 Buster

Обновите Debian 10 Buster до актуальной и перезагрузите по выполнении:

sudo apt -y update

sudo apt -y upgade

sudo reboot

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

sudo apt -y install mc wget

Настройка файла /etc/hosts

Для нормальной установки Proxmox VE в Debian 10 в файле /etc/hosts должно быть указано краткое и доменное имя хоста. У VDS или VPS файл /etc/hosts обычно уже настроен, но проверить не мешает. Должно выглядеть так, как на скриншоте:

В моем случае указаны имена для адреса 127.0.0.1 localhost. Перед строкой 127.0.0.1 с именем хоста pve-test необходимо поставить знак #, чтобы закомментировать эту строку, иначе Proxmox VE установится некорректно. Это локальные адреса и внешние адреса для разрешения имени и адреса хоста.

192.168.0.166 IP-адрес для сетевой карты, по которому я подключаюсь к Debian 10 Buster. Ниже указаны адреса IPV6 и ещё ниже я указал самые быстрые адреса репозиториев Debian.org именно с моей локации, что позволило мне существенно ускорить загрузку пакетов при обновлении Debian 10 Buster. Вам это делать необязательно.

Установка репозиториев Proxmox VE

Для установки Proxmox VE на Debian 10 Buster необходимо добавить репозитории Proxmox VE. Репозитории Debian удалять необязательно. Чтобы больше не изменять sources.list, создайте в /etc/apt/souces.list.d файл proxmox.list, который будет содержать необходимые репозитории исключительно для Proxmox VE. Указание, что мы не используем подписку, строка pve-no-subscription:

echo deb http://download.proxmox.com/debian/pve buster pve-no-subscription | sudo tee /etc/apt/sources.list.d/proxmox.list

Установите ключ репозитория и запустите обновление, чтобы подключились репозитории Proxmox VE:

sudo wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

sudo apt -y update

Установка пакетов Proxmox VE

Проверьте, появился ли в пакетах proxmox-ve:

sudo apt search proxmox-ve

Если появился, значит все репозитории подключены и обновлены корректно. Установите Proxmox VE, затем снова перезагрузите:

sudo apt -y install proxmox-ve

sudo reboot

В результате перезагрузки в /etc/issue будет следующий текст:

------------------------------------------------------------------------------
Welcome to the Proxmox Virtual Environment. Please use your web browser to
configure this server - connect to:
https://192.168.0.166:8006/
------------------------------------------------------------------------------

Адрес веб-интерфейса Proxmox VE актуален для моего сервера, для другого сервера будет указан так:

https://<IP-адрес>:8006/

На этом установка Proxmox на Debian 10 завершена, дальше поговорим про настройку.

Работа с WEB-интерфейсом

Подключение к Proxmox выполняется с помощью браузера. Подключитесь по указанному адресу из любого браузера. Сертификаты сервера являются самоподписанными, поэтому браузер выдаст предупреждение безопасности. Нажмите Дополнительные и выбираем ссылку Перейти на сайт 192.168.0.166 (небезопасно). На скриншоте ниже показано выглядит WEB-интерфейс Proxmox VE:

Сначала выберите русский язык, затем введите пользователя root и пароль от суперпользователя:

Нас предупредили, что на Proxmox VE не оформлена подписка на наш сервер, ОК.

Настройте хранилище. Сейчас система автоматически создала хранилище в расположении /var/lib/vz с названием local. Кликните на ссылку:

В хранилище с помощью WEB-интерфейса Proxmox можно загрузить образ диска ISO, разместить там же образ диска виртуальной машины, контейнеры и шаблоны. Так же в хранилищах хранятся snapshot – архивные копии виртуальных машин. Хорошим решением будет добавить в систему ещё одно хранилище для бэкапов, шаблонов виртуальных машин.

Создайте дополнительное хранилище. Для этого перейдите в раздел Датацентр, найдите справа от дерева серверов пункт Хранилище, кликните по нему и выберете хранилище local. На приведённом ниже скриншоте видно, что, кликнув на local в основном окне, можно редактировать типы хранимой информации. Для дальнейшей демонстрации включаю тип Резервная копия и применяю изменения:

По кнопке Добавить можно посмотреть какие типы хранилища доступны в данной инсталляции Proxmox VE.

В моей тестовой машине все реализовано на томах LVM:

Самый большой размер 122 Гб на машине pve-test примонтирован к директории /home. Нажмите Добавить, выберите Каталог, укажите имя home и путь /home:

В результате создано собственное хранилище с именем home, где и будут храниться все данные:

Настройка сети Proxmox

Создайте бэкап файла сетевых настроек. Для этого в терминале напишите:

cd /etc/network

sudo cp interfaces interfaces.work

В системе реализованы несколько способов получения доступа по сети из виртуальных машин или к виртуальным машинам. Перейдите на группу pve-test в дереве серверов, выберите справа пункт Сеть и нажмите кнопку Создать:

Из предложенных вариантов выберите Linux Bridge, чтобы создать виртуальный свитч, через который гипервизор Proxmox VE и виртуальные машины подключатся к сети:

В портах сетевого моста указано имя сетевой карты enp2s0, которой тестовая машина подключена кабелем к роутеру. В Linux принято после указания IP-адреса указывать маску подсети через знак /. Значение 192.168.0.166/24 означает, что маска подсети 255.255.255.0.

Уберите в WEB-интерфейсе Proxmox VE с сетевого интерфейса enp2s0 IP-адрес, выданный ему службой DHCP роутера и выполните перезагрузку хоста Proxmox VE для применения настроек. Нажмите кнопку reboot, которая находится на верхней панели и через некоторое время обновите страницу. Будьте очень аккуратны при работе с VDS или VPS, которые настраиваете удалённо, чтобы не потерять доступ к установленной системе. Если ситуация с потерей доступа к хосту произошла, то необходимо в режиме восстановления скопировать ранее нами созданный файл настроек interfaces.work из директории /etc/network, путём выполнения команды:

cd /etc/network

sudo cp interfaces.work interfaces

sudo reboot

На скриншоте красным маркером обведён новый текст файла /etc/network/interfaces, который будет применён после перезагрузки. Если все прошло корректно, то через некоторое время можно снова входить в WEB-интерфейс хоста Proxmox VE.

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

Обратите внимание, что веб интерфейс Proxmox VE позволяет создавать виртуальные машины двух типов:

  • VM это полностью виртуализированная машина, созданная из ISO образа, который необходимо загрузить в хранилище Proxmox VE;
  • CT – паравиртуализированная машина на ядре Linux, шаблоны которой необходимо сначала загрузить и установить в хранилище Proxmox VE.

Загрузите CT, предложенные на сайте Proxmox VE. Выберите небольшой дистрибутив, например CentOS 7, и поместите его в хранилище home:

sudo pveam update

sudo pveam available

sudo pveam download home centos-7-default_20190926_amd64.tar.xz

Параллельно можно поставить загрузку дистрибутива debian10 netinstall ISO со своего рабочего компьютера в хранилище home. Для этого выберите в WEB-интерфейсе хранилище home, тип хранения выберите ISO Images и нажмите кнопку Загрузить, в появившемся окне выберите файл образа ISO со своего компьютера и нажмите ОК.

Так же информацию можно загрузить с usb-хранилища, с CD-Диска (на тестовой машине он подключён), передать по сети с помощью FTP, Samba, http. Для этого можно использовать из консоли соответствующие утилиты wget, curl, ftp или файловый менеджер Midnight Commander:

sudo apt install mc

Шаблоны и загрузки расположены по путям хранилищ local: /var/lib/vz или home: /home/pmx. Вы можете напрямую копировать в соответствующий раздел файлы. Логическая структура размещения информации на скриншоте:

Для создания виртуальных машин необходимо создать Пул ресурсов. Для этого кликните в дереве на вкладку Датацентр, справа выберите пункт Пулы, нажмите Создать, на тестовой машине задано имя пула home, по окончании нажмите ОК:

Создание виртуального контейнера CT

Сначала создайте CT виртуальную машину из скачанного шаблона CentOS 7. Для этого нажмите кнопку Создать CT, заполните поля и нажмите ОК.

На следующей вкладке выберите хранилище home и ранее закачанный шаблон CentOS 7.

Настройки корневого диска, процессора и памяти на тестовой машине оставим как предложено гипервизором. Обратите внимание на раздел сеть:

Итак, созданный нами ранее сетевой мост vmbr0 используется в виртуальных машинах Proxmox VE для создания виртуальных сетевых интерфейсов для них. Через vmbr0 интерфейс будет подключён к роутеру сети, к которому подключена сетевая карта, на которой работает vmbr0.

В результате наших действий начинает разворачиваться контейнер, содержащий CentOS 7 и настраиваться виртуальная машина.

Вернитесь в pve-test, найдите вновь созданный контейнер c ID 100 и названием centos7 и нажмите Запуск, а затем Консоль. Откроется окно браузера, в котором видно запущенный CentOS:

Укажите имя пользователя root и пароль, который ввели при создании контейнера CT и, если все сделано верно, можно управлять виртуальной машиной. Узнайте её IP-адрес, так как роутер, подключённый к тестовому хосту, должен был его выдать:

ip a

В результате получилось запустить полноценную виртуальную машину с Linux.

Создание виртуального контейнера VM

Для создания виртуальной машины VM с любой ОС нажмите кнопку Создать VM, укажите имя создаваемой VM, выберите пул ресурсов, нажмите Далее:

На втором окне предлагается выбрать загрузочный образ виртуального CD-диска, указать тип гостевой ОС:

Если все сделано правильно, то загруженный ISO образ должен быть доступен по клику по обведённому красным полю. Этот параметр может быть настроен позже из интерфейса управления виртуальной машиной VM.

Во вкладках Система, Жёсткий диск, Процессор, Память, Сеть оставлены все значения так, как предложил гипервизор. В последней вкладке Подтверждение кликем Готово и перейдите в настройки виртуальной машины ID 101 с именем litedeb, во вкладку Оборудование:

Если все нас устраивает и ничего менять не надо, нажмите кнопку Запуск и откройте Консоль. На тестовом хосте выяснилось, что лучше эксперимент проводить на дистрибутиве Debian 10 netinstall, и поменять тип жёсткого диска со SCSI на SATA, а также увеличить размер оперативной памяти виртуальной машины. И результат работы после нажатия кнопки Запуск и подключению к Консоли:

Резервное копирование виртуальных машин

Приступим к настройке резервного копирования виртуальных машин. Для этого мы используйте хранилище home. Чуть подробнее распишем рекомендации, данные в начале статьи. Основная рекомендация: настраивайте хранилище архивных копий в другом расположении, нежели рабочие виртуальные машины, например, можно также подключить FTP или Samba хранилище. Все это легко реализуется на базе Debian 10 с Proxmox VE.

Перейдите Датацентр, pve-test, VM100, в правом меню выберите раздел Резервная копия и нажмите кнопку Создать резервную копию сейчас:

Для наших задач хватает настройки Снимок и режима сжатия GZip, так как хоть виртуальные машины и включены постоянно, но обычно есть периоды, при которых нагрузки практически нет.

Чтобы настроить планировщик резервных копий нужно перейти в дереве в Датацентр и выбрать в правом меню пункт Резервная копия и нажать кнопку Добавить. Ниже показано, как можно настроить резервирование VM100 каждый чётный день недели в 01:45 локального времени сервера, с хорошим сжатием GZIP и отправлять при ошибках уведомление по почте:

Остаётся только проводить мониторинг хранилища для резервных на оставшееся свободное место зная, что, если произойдёт непредвиденное, всё можно восстановить. Сроки восстановления из Snapshot крайне малы, однако нужно понимать, что чем сильнее сжатие, тем дольше восстанавливается виртуальная машина.

По этим же причинам, необходимо тщательно подходить к выбору размера виртуального диска, например не выделять на виртуальную машину один диск 90Gb, а три по 30Gb. Во-первых, восстанавливать меньше, если один из виртуальных дисков вышел из строя. Во-вторых, сжатие и восстановление занимает меньше времени за счёт распараллеливания ресурсов хоста Debian 10 с Proxmox VE.

Заключение

Теперь вы знаете как выполняется установка и настройка proxmox на Debian 10. Особенно интересен апгрейд Debian 10 при условии, что хост расположен в облаке и его процессор поддерживает виртуализацию. Оплачивая один VPS или VDS, мы можем развернуть внутри несколько изолированных сервисов из любого, даже самого экзотического дистрибутива.

Proxmox VE показывает себя как успешное коммерческое решение с низкой стоимостью внедрения и использования. Proxmox VE позволяет управлять кластером виртуальных машин, мигрировать их между различными хостами Proxmox VE, централизованно настраивать резервирование и многое другое.

Источник

Понравилась статья? Поделиться с друзьями: