Вводный курс в Proxmox VE

Вводный Курс В Proxmox Ve (1)

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

Blog

Основная информация

В случае небольшого опыта, как подобрать сервер для виртуализации и настроить его, объяснят специалисты технической поддержки провайдера cloud.timeweb.com. Но и самому желательно разбираться в терминах и технологиях, применяемых на удаленных серверах. Это упростит задачу перехода с физической на облачную IT-инфраструктуру или изначально развернуть мощности на базе удаленного ЦОД. Плюс позволит общаться с технарями провайдера на «одном языке».

Основные термины:

  1. Гипервизор. Специальные программы, предназначенные для создания виртуальных машин, их настройки, запуска, резервного копирования, восстановления, переноса на другой сервер. В качестве гипервизора Proxmox использует KVM и LXC.
  2. Виртуальная машина. Система, представляющая собой программный сервер с собственным набором «железа» (процессором, оперативной памятью, накопителем, сетевой картой и т.д.). При функционировании занимает часть реальных мощностей физического сервера. Такие системы принято сокращенно называть VM.
  3. Хост виртуализации. Непосредственно тот самый физический сервер, на базе которого будет проведено развертывание виртуальной машины или нескольких VM. От его параметров зависит, насколько мощными станут логические компьютеры. Например, если на нем стоит 24-ядерный процессор, есть возможность создания такого же количества 1-ядерных систем.

Обязательное требование к хостам — их процессор должен поддерживать хотя бы одну технологию виртуализации: Intel VT или AMD-V (это аппаратная поддержка выделения ресурсов на логические компьютеры). Интересная особенность такой системы заключается в прямом доступе ко всему имеющемуся «железу» из любой VM. При этом они остаются изолированными друг от друга, имеют индивидуальные настройки.

Возможности решения

Если объяснять виртуализацию проще, для чайников, то стоит упомянуть, что гипервизор играет роль «контроллера». Программа распределяет аппаратные ресурсы, приоритеты между VM, эмулирует необходимое с учетом стандартов, принятых в установленной операционной системе. Никаких ограничений по выбору операционной системы с Proxmox VE нет (Windows 7/10, Linux и т.д.).

Особенности виртуальных машин:

  1. Критический сбой, ошибки в работе одной VM никак не влияют на остальные.
  2. Масштабирование осуществляется простым копированием виртуального сервера
  3. Поломка «железа» не влияет на сохранность системы, главное — иметь резервную копию.
  4. Одну и ту же VM легко развернуть на сервере любого производителя.

Последнее заметно упрощает задачу по модернизации оборудования ЦОД. Провайдер меняет любое «железо» на более современное без необходимости учитывать совместимость с ПО. За счет применения тех же дисковых массивов вроде RAID 5, Proxmox вообще не заметит замену одного или несколько накопителей. Виртуализация физических серверов работает бесшовно, чтобы обеспечить заявленную доступность уровня Tier 3 (не менее 99,9%).

Пользуются популярностью несколько гипервизоров: VMware ESXi, Microsoft Hyper-V, Oracle VM VirtualBox, Open Virtualization Alliance KVM. Каждый продукт имеет свои особенности и различную стоимость. При сравнении цена играет важную роль, здесь однозначно выигрывает KVM в составе готового решения на базе Debian Linux — это Proxmox Virtual Environment или Proxmox VE. Отчасти потому, что оно полностью бесплатно, да еще и имеет открытый исходный код.

Инсталляция Proxmox VE

Процедура установки продукта Proxmox обычно не вызывает вопросов. Инсталлятор работает через стандартный графический интерфейс, и пользователю остается лишь выбирать нужные настройки из выпадающих списков или вручную вносить наименования, пароли и т.д. Скачивать образ диска с новой версией программы рекомендуется с официальной страницы разработчика. Затем его или монтируют из консоли KVM, или развертывают на любой внешний диск.

Последовательность действий:

  1. Заказать аренду выделенного сервера у провайдера.
  2. Смонтировать скачанный образ в качестве сменного диска.
  3. Выбрать диск, куда будет произведена установка продукта.
  4. В разделе Option задать дополнительные параметры (по необходимости).
  5. Внести региональные настройки, в нашем случае – Russia.
  6. Задать пароль для авторизации суперпользователя, указать email.
  7. Указать домен, IP-адрес сервера, маску подсети, основной шлюз и DNS-сервер.
  8. Перезагрузить компьютер кликом на кнопку Reboot.

Если речь идет о развертывании системы из ISO-образа на базе Debian, а не инсталляции файлом Proxmox Debian Install, последний пункт обязателен. В любом случае лучше это сделать, чтобы исключить вероятные сбои из-за другого софта, который пользователь ставил в ту же сессию. Остается запустить Proxmox и заняться настройкой виртуальной машины. Адрес веб-интерфейса выглядит следующим образом:

https://IP_адрес_сервера:8006

Первые действия после установки

Перед эксплуатацией продукта рекомендуется провести обновление до актуальной версии и внести настройки безопасности. Это обеспечит наличие всех предусмотренных разработчиком функций и отсутствие проблем (релизы как раз и обновляют ради добавления новых возможностей, устранения выявленных ошибок в коде).

Обновление приложения

Первое, что рекомендуется сделать — это отключить от системы платный репозиторий. Он установлен по умолчанию, но требует приобретения платной подписки. Без нее пользователь увидит ошибку при скачивании новых источников пакетов. Выполнить отключение можно действиями:

1. Открыть консольное окно и следом файл конфигурации apt на редактирование:

nano /etc/apt/sources.list.d/pve-enterprise.list

2. Поставить символ # перед единственной строчкой, внесенной в него:

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

3. Выйти из редактора комбинацией клавиш <CTRL + X>, ответив Y на запрос о принятии изменений.

Теперь можно выполнить обновление источников пакетов:

apt update

Рекомендуется скачивать новые версии всех имеющихся пакетов:

apt -y upgrade

Безопасность сетевого соединения

Шаг следующий — позаботиться о безопасности Proxmox Virtualization Environment. Все-таки VM чаще всего используют юридические лица, а у них масса информации, которую желательно хранить вне публичного доступа (коммерческие, персональные данные клиентов и т.д.). Как минимум нужно обезопасить систему от взлома путем перебора паролей, так называемого брутфорса. Эту задачу решит популярная утилита Fail2Ban.

Принцип работы такой защиты основан на контроле количества попыток авторизации. Если некто превысит указанный лимит, его IP-адрес заблокируется. Число попыток и период бана системный администратор указывает в конфигурационном файле. Существует статистика: всего за 7 дней работы сервера с открытым портом 22 и внешним IP-адресом происходит до 5 000 попыток подбора пароля.

Последовательность действий при установке Fail2Ban:

1. Открыть серверную консоль в браузере или в приложении SSH.

2. Обновить источники пакетов:

apt update

3. Инсталлировать саму программу:

apt install fail2ban

4. Открыть файл конфигурации для изменения содержимого:

nano /etc/fail2ban/jail.conf

5. Изменить переменные bantime – период в секундах для блокировки IP-адреса злоумышленника, и maxretry – число попыток авторизоваться. По каждому сервису это делается отдельно.

6. Выйти из редактора с сохранением изменений. Выполняется операция нажатием клавиш <CTRL + X> и подтверждением кнопкой Y.

7. Перезапустить службу:

systemctl restart fail2ban

Остается проверить текущий статус утилиты. Сделать это можно снятием статистики блокировок IP-адресов удаленных хостов, откуда предпринимались попытки взлома. Проверка доступна после ввода команды:

fail2ban-client -v status sshd

Ответ выглядит следующим образом:

root@hypervisor:~# fail2ban-client -v status sshd
INFO   Loading configs for fail2ban under /etc/fail2ban
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO     Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO   Using socket file /var/run/fail2ban/fail2ban.sock
Status for the jail: sshd
|- Filter
|  |- Currently failed: 4
|  |- Total failed:     4327
|  `- File list:        /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned:    516
`- Banned IP list:

Начало работы

Программное обеспечение Proxmox сразу готово к виртуализации машин на базе Windows Server, Ubuntu, CentOS 8 или других платформ. Но ряд настроек рекомендуется все-таки сделать до того, как будет развернута первая VM. Например, рационально саму программу и созданные виртуальные машины хранить на разных накопителях. Такой шаг повышает отказоустойчивость системы, дает возможность немного увеличить производительность комплекса.

Настройка дисковых накопителей

То же относится к хранению резервных копий. Их важно размещать отдельно от других файлов, это позволит оперативно восстанавливать VM даже при серьезных аппаратных сбоях на физическом сервере. Таковые практически исключены благодаря использованию дисковых массивов типа RAID 5 и 10, но лучше предусмотреть дополнительную защиту от рисков потери данных. Тестировать нижеприведенные команды лучше на платформе, где еще нет важной информации.

В качестве примера возьмем систему с двумя дисками. Пусть на /dev/sda будет установлен гипервизор Proxmox, а /dev/sdb останется пустым, на нем пользователь развернет виртуальные машины. При настройке разделения рекомендуется подключить хранилище в виде обычной директории. 

Последовательность действий:

1. Разметить диск созданием на нем нового раздела:

fdisk /dev/sdb

2. Нажать клавишу O для его разметки в систему MBR или G для выбора GBT.

3. Нажатием кнопки N создать новый раздел.

4. Кнопкой W сохранить внесенные изменения.

5. Создать файловую систему ext4:

mkfs.ext4 /dev/sdb1

6. Сгенерировать директорию, куда будет смонтирован раздел:

mkdir /mnt/storage

7. Открыть конфигурацию для изменения содержимого редактором:

nano /etc/fstab

8. Внести в него новую строчку со следующим содержимым:

/dev/sdb1 /mnt/storage ext4 defaults 0 0

9. Сохранить изменения нажатием комбинации <CTRL + X> с подтверждением операции за счет клика по Y.

10. Отправить сервер на перезагрузку для принятия новых настроек:

shutdown -r now

11. Проверить ранее подключенные разделы:

df -H

Последняя команда должна отобразить информацию, что /dev/sdb1 был смонтирован в директорию /mnt/storage. Если все нормально, можно продолжать работу. 

Подключение нового хранилища данных

Теперь новое хранилище нужно подключить к программе Proxmox. Процедура выполняется через панель управления. В ней нужно зайти в раздел «Директория», он находится по пути «Датацентр» – «Хранилище – «Добавить».

После открытия окна нужно заполнить несколько полей:

  1. ID – наименование подключаемого хранилища.
  2. Директория – внести значение /mnt/storage.
  3. Содержимое – выделить все предлагаемые варианты, последовательно кликнув на каждый из них.

Завершающий шаг включает нажатие на кнопку «Добавить». Теперь можно приступать к развертыванию виртуалки с выбранной операционной системой.

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

Предварительно понадобится скачать ISO-образ с нужной операционкой (из любого источника).  Его желательно проверить локально, чтобы убедиться в работоспособности и по необходимости приобрести лицензионный ключ для активации после установки. Затем образ следует смонтировать в систему через меню «Хранилище». В нем нужно нажать «Содержимое» – «Загрузить», затем выбрать файл и кликнуть «Загрузить».

Image3

Следующие шаги:

  1. Нажать «Создать VM».
  2. Заполнить параметры: имя, ISO-Image, размер и тип жесткого диска, количество процессоров, объем оперативной памяти, сетевой адаптер.
  3. После заполнения указанных полей нужно нажать на «Завершить» и убедиться в том, что после этого в списке появилась только что созданная виртуальная машина.
  4. Выбрать ее и нажать «Запуск».
  5. Перейти в пункт «Консоль» и выполнить инсталляцию операционной системы в такой же последовательности, как при установке на физический сервер.

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

Настройка автозапуска

По умолчанию гипервизор Proxmox не запускает VM автоматически, а это желательно, чтобы при перезапуске сервера виртуальная машина стартовала вместе с другим установленным софтом. Сделать это легко – достаточно выбрать виртуальную машину из списка, выбрать вкладку «Опции», а в ней «Запуск при загрузке». В открывшемся окне нужно поставить галочку напротив соответствующей надписи. Это включит автозагрузку, перезапуск программы или сервера не требуется.

Если в гипервизоре установлено несколько виртуальных машин, есть возможность указать, в какой последовательности их запускать после перезагрузки сервера (эти настройки скрыты в разделе Start/Shutdown). Например, программа позволяет указать время задержки в секундах между стартом каждой следующей VM. То же относится к выключению систем, потому что операционка не всегда успевает корректно завершить все процессы, и требуется чуть продлить время отключения.

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

В официальной документации к Proxmox предлагается настройка сети виртуальных машин в двух вариантах: с использованием моста и маршрутизации. Все сетевые параметры настраиваются на уровне ноды, для этого нужно перейти на нужный сервер, открыть меню «Система» – «Сеть». Именно там и скрыты сетевые параметры. По умолчанию в VM используется конфигурация «Внешняя сеть», и она оправдывает свое применение.

Image5

Пользователь обращается к виртуальным машинам как к самому обычному узлу локальной сети – от просмотра содержимого дисков до копирования, создания, удаления и редактирования файлов. База всех виртуальных сетей в Proxmox — сетевой мост (Linux Bridge) vmbr. Он допускает создание до 4095 таких устройств, подключение физических и виртуальных адаптеров. Все сетевые настройки осуществляются внутри VM, как будто на физическом сервере.

Пользователю нужно назначить IP-адрес интерфейсу моста, не забыв указать и адрес шлюза, опцию автозапуска и краткий комментарий о назначении сетевого узла. Настройка DNS осуществляется в отдельном пункте: «Система» – «DNS». После сохранения изменений останется внутри виртуальной машины выбрать нужный мост и задать ему подходящие сетевые настройки. Например, указать, что их следует получать автоматически от DHCP-сервера внешней сети.

Заключение

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

Proxmox VE, несмотря на бесплатность, считается довольно мощным и удобным инструментом. Главное, самому разобраться во всех тонкостях настройки системы и не бояться экспериментировать (естественно, на тестовой платформе, с обязательным резервированием основных VM).

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону