Облачные технологии дают возможность развертывать на одном физическом сервере несколько полноценных виртуальных машин и использовать на них любую операционную систему без каких-либо ограничений. Значительно упростить централизованное управление виртуализацией позволяют программные продукты вроде Proxmox. Заодно подобные решения экономят ресурсы компании, ведь системный администратор видит все VM с единого рабочего места.
В случае небольшого опыта, как подобрать сервер для виртуализации и настроить его, объяснят специалисты технической поддержки провайдера timeweb.cloud. Но и самому желательно разбираться в терминах и технологиях, применяемых на удаленных серверах. Это упростит задачу перехода с физической на облачную IT-инфраструктуру или изначально развернуть мощности на базе удаленного ЦОД. Плюс позволит общаться с технарями провайдера на «одном языке».
Основные термины:
Обязательное требование к хостам — их процессор должен поддерживать хотя бы одну технологию виртуализации: Intel VT или AMD-V (это аппаратная поддержка выделения ресурсов на логические компьютеры). Интересная особенность такой системы заключается в прямом доступе ко всему имеющемуся «железу» из любой VM. При этом они остаются изолированными друг от друга, имеют индивидуальные настройки.
Если объяснять виртуализацию проще, для чайников, то стоит упомянуть, что гипервизор играет роль «контроллера». Программа распределяет аппаратные ресурсы, приоритеты между VM, эмулирует необходимое с учетом стандартов, принятых в установленной операционной системе. Никаких ограничений по выбору операционной системы с Proxmox VE нет (Windows 7/10, Linux и т.д.).
Особенности виртуальных машин:
Последнее заметно упрощает задачу по модернизации оборудования ЦОД. Провайдер меняет любое «железо» на более современное без необходимости учитывать совместимость с ПО. За счет применения тех же дисковых массивов вроде 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 обычно не вызывает вопросов. Инсталлятор работает через стандартный графический интерфейс, и пользователю остается лишь выбирать нужные настройки из выпадающих списков или вручную вносить наименования, пароли и т.д. Скачивать образ диска с новой версией программы рекомендуется с официальной страницы разработчика. Затем его или монтируют из консоли KVM, или развертывают на любой внешний диск.
Последовательность действий:
Если речь идет о развертывании системы из ISO-образа на базе Debian, а не инсталляции файлом Proxmox Debian Install, последний пункт обязателен. В любом случае лучше это сделать, чтобы исключить вероятные сбои из-за другого софта, который пользователь ставил в ту же сессию. Остается запустить Proxmox и заняться настройкой виртуальной машины. Адрес веб-интерфейса выглядит следующим образом:
https://IP_адрес_сервера:8006
dedic
Перед эксплуатацией продукта рекомендуется провести обновление до актуальной версии и внести настройки безопасности. Это обеспечит наличие всех предусмотренных разработчиком функций и отсутствие проблем (релизы как раз и обновляют ради добавления новых возможностей, устранения выявленных ошибок в коде).
Первое, что рекомендуется сделать — это отключить от системы платный репозиторий. Он установлен по умолчанию, но требует приобретения платной подписки. Без нее пользователь увидит ошибку при скачивании новых источников пакетов. Выполнить отключение можно действиями:
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. Процедура выполняется через панель управления. В ней нужно зайти в раздел «Директория», он находится по пути «Датацентр» – «Хранилище – «Добавить».
После открытия окна нужно заполнить несколько полей:
Завершающий шаг включает нажатие на кнопку «Добавить». Теперь можно приступать к развертыванию виртуалки с выбранной операционной системой.
Предварительно понадобится скачать ISO-образ с нужной операционкой (из любого источника). Его желательно проверить локально, чтобы убедиться в работоспособности и по необходимости приобрести лицензионный ключ для активации после установки. Затем образ следует смонтировать в систему через меню «Хранилище». В нем нужно нажать «Содержимое» – «Загрузить», затем выбрать файл и кликнуть «Загрузить».
Следующие шаги:
Процедуру можно повторить сколько угодно раз и создать необходимое количество VM с нужными операционными системами. После запуска любой из них будет возможность установить требуемые прикладные программы, загружать на внутренние накопители пользовательские файлы.
По умолчанию гипервизор Proxmox не запускает VM автоматически, а это желательно, чтобы при перезапуске сервера виртуальная машина стартовала вместе с другим установленным софтом. Сделать это легко – достаточно выбрать виртуальную машину из списка, выбрать вкладку «Опции», а в ней «Запуск при загрузке». В открывшемся окне нужно поставить галочку напротив соответствующей надписи. Это включит автозагрузку, перезапуск программы или сервера не требуется.
Если в гипервизоре установлено несколько виртуальных машин, есть возможность указать, в какой последовательности их запускать после перезагрузки сервера (эти настройки скрыты в разделе Start/Shutdown). Например, программа позволяет указать время задержки в секундах между стартом каждой следующей VM. То же относится к выключению систем, потому что операционка не всегда успевает корректно завершить все процессы, и требуется чуть продлить время отключения.
В официальной документации к Proxmox предлагается настройка сети виртуальных машин в двух вариантах: с использованием моста и маршрутизации. Все сетевые параметры настраиваются на уровне ноды, для этого нужно перейти на нужный сервер, открыть меню «Система» – «Сеть». Именно там и скрыты сетевые параметры. По умолчанию в VM используется конфигурация «Внешняя сеть», и она оправдывает свое применение.
Пользователь обращается к виртуальным машинам как к самому обычному узлу локальной сети – от просмотра содержимого дисков до копирования, создания, удаления и редактирования файлов. База всех виртуальных сетей в Proxmox — сетевой мост (Linux Bridge) vmbr. Он допускает создание до 4095 таких устройств, подключение физических и виртуальных адаптеров. Все сетевые настройки осуществляются внутри VM, как будто на физическом сервере.
Пользователю нужно назначить IP-адрес интерфейсу моста, не забыв указать и адрес шлюза, опцию автозапуска и краткий комментарий о назначении сетевого узла. Настройка DNS осуществляется в отдельном пункте: «Система» – «DNS». После сохранения изменений останется внутри виртуальной машины выбрать нужный мост и задать ему подходящие сетевые настройки. Например, указать, что их следует получать автоматически от DHCP-сервера внешней сети.
Вот и все основы работы с гипервизором Proxmox VE. Их достаточно начинающим специалистам, чтобы опробовать технологию виртуализации на практике. На первый взгляд, технология может показаться сложной, и, конечно, всегда можно купить виртуальную машину или несколько у провайдера и объединить их в локальную сеть. Однако развертывание VM на собственном арендуемом сервере даст вам больше свободы в управлении.
Proxmox VE, несмотря на бесплатность, считается довольно мощным и удобным инструментом. Главное, самому разобраться во всех тонкостях настройки системы и не бояться экспериментировать (естественно, на тестовой платформе, с обязательным резервированием основных VM).