Vova1234.com
Проблемы и их решение
Прямой эфир
Блоги
- Интернет и сайты178
- Steam85
- Проблемы и их решение54
- Заметки35
- Сделал я19
- Почта15
- Блог проектов ABCVG12
- BILLmanager 510
- Товары с других стран8
- Хостинг6
- Блог сайта 8Gamers.NET4
- Игровые сервера4
- Домены4
- Все о DNS3
- Все о SSL3
- Блог сайта 8Next.com3
- Хочу халявную игру3
- Комиксы2
- Продукты ISP2
- Новости2
Установка Windows на ProxMox
Установка была сделана на сервере: Intel® Core(TM) i3-2130 CPU @ 3.40GHz, 2000GB SATA HDD, 8192 MB RAM.
VPS Proxmox VE 5 — эта версия пашет по мануалу.
VPS Proxmox VE 5 (ZFS) (BETA) (64bits) — эта версия не пашет по мануалу.
Готовые ISO образы:
ОС на сервере Debian.
Идем на адрес: https:// ваш ip:8006. Вводим и заходим.
Открываем NS, далее local как на скриншоте внизу:
Жмем Upload. И грузим свой ISO образ Windows какой скачали по ссылке выше.
Ну и грузим его:
У меня 100 мегабит интернет по этому 3ГБ быстро загружается.
Нажимаем Create VM. Можем вписать свое имя виртуальной машины.
Я не вшарил зачем это выбирать если мы и так с образа устанавливаем.
Выбираем хранилище образов.
Выбираем образ наш загруженный.
Указываем сколько места надо, 300 ГБ я выбрал.
I3 имеет два ядра. Лучше ставить как есть.
Половину доступной памяти поставил я. ProxMox резервирует оперативную под всю виртуальную машину.
NAT mode ставить надо по дефолту.
Запускаем. И видим что все ок, запустилось.
Переходим в консоль и видим как идет установка Windows.
Как настроить удаленный рабочий стол на ProxMox, статья здесь: клац
Proxmox и гостевые системы Windows.
После установки гостевой системы на Proxmox для того чтобы не было проблем с производительностью и резервным копированием необходимо произвести некоторые действия.
1. Ballooning
Для эффективного использования ресурсов Proxmox поддерживает технологию ballooning.
Ballooning – это динамическое управление памятью. Другими словами, вы прописываете в настройках виртуальной машины минимальный и максимальный объем памяти, выделяемой этой машине, а далее Proxmox сам распределяет необходимые ресурсы. Таким образом уменьшается влияние гостевой системы на весь хост.
Для начала выставим желательные параметры в настройках машины.
Чтобы их применить, машину нужно выключить и включить обратно.
Чтобы ballooning заработал, нам потребуется скачать и установить дополнительные драйвера.
Перейдем на гостевую систему и создадим каталог Balloon в папке Program files (c:/ Program files /Balloon). В эту папку со скачанного диска нужно скопировать драйвера для вашей операционной системы.
В диспетчере устройств появится новое оборудование и на него нужно установить эти драйверы.
После этого необходимо установить ballooning как службу.
Win + X, Выполнить, cmd
Win + X, Выполнить, services.msc
Выделение памяти теперь работает коректно.
2. QEMU Guest agent
Следующее что нужно сделать – установить QEMU Guest agent. Без этого не будет работать поддержка VSS (Volume Shadow Copy Service) т.е. служба теневого копирования тома.
В настройках виртуальной машины включим агента. Чтобы настройки применились – выключим и включим снова данную виртуальную машину.
У нас появилось новое устройство:
Драйверы находятся на том же диске в папке vioserial
Устанавливаем и проверяем, что QEMU Guest agent запущен в сервисах.
PROXMOX 6. Установка, настройка, кластер.
PROXMOX (Proxmox Virtual Environment) — платформа виртуализации для запуска виртуальных машин и контейнеров. Платформа базируется на ОС Debian Linux, в качестве гипервизоров использует две технологии виртуализации — KVM (аппаратная виртуализация) и LXC (контейнерная виртуализация). Благодаря этому на Proxmox можно запускать как виртуальные машины, так и контейнеры (что-то типа Docker). Гипервизор позволяет запускать любые KVM машины (Windows, Linux, xBSD, …) с минимальными потерями производительности.
Основными преимуществом Proxmox — это бесплатность самого продукта, открытость + мной любимая базовая ОС Debian Linux. Хотя, если бы была задача по выбору системы виртуализации отдельно стоящего сервера (не в кластере), я бы предпочел VMware ESXi, даже принимая во внимание ограничение у бесплатной версии (8 vCPU на виртуальную машину) или Microsoft Hyper-V Server. Но если компания не хочет тратиться на лицензию по кластеризации систем виртуализации, то у Proxmox-а огромное преимущество. Нужно отметить, что сам Proxmox бесплатный, но подписка на поддержку и обновления платная — https://www.proxmox.com/en/proxmox-ve/pricing, но авторы дают возможность бесплатных обновлений через некоммерческий репозиторий. Также, хотелось отметить плюсом в пользу Proxmox прекрасную документацию, которая идет вместе c образом установщика.
Рассмотрим 2 варианта установки гипервизора Proxmox
Оба варианта приемлемы, поскольку Proxmox использует ядро Linux и базируется на дистрибутиве Debian. Опишу только первый вариант, поскольку установка с родного образа не требует описания.
Установка на Debian 10
Добавим репозиторий в список debian:
Цифровая подпись репозитория proxmox:
Обновим список пакетов и систему:
Установим саму систему proxmox:
В процессе установки будет предложено настроить smb.conf (WINS сервер) — отказался
Почтовую систему Postfix — выбрал Local Only, поскольку не настраиваю почтовую систему отправки сообщений от Proxmox.
После установки перегружаем сервер.
Рекомендуется удалить пакет os-prober
Пакет os-prober сканирует все разделы хоста, в том числе гостевые виртуальные машины, для создания записей GRUB с двойной загрузкой.
Если нет необходимости загрузки на сервере другой ОС кроме Proxmox VE можно удалить пакет os-prober
Сервер Proxmox готов.
Администрирование
Управление Proxmox происходит либо через веб-панель, либо через консоль.
Вход по адресу — https://youripaddress:8006
Аутентификация Linux PAM standard authentication:
You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.
Это предупреждение об отсутствии платной подписки Proxmox на обновления. Однако можно подключить другой репозиторий для получения обновлений.
Настройка сети
Создаем по сути коммутатор (в понимании гипервизоров VMware и Hyper-V) с привязкой к сетевой карте. У Proxmox это называется Linux Bridge.
В настройках самого интерфейса ens192 удаляем галочку Autostart и значения IPv4/CIDR. Перегружаем сервер.
Этого достаточно, чтоб на гипервизоре можно было запускать контейнеры и виртуальные машины.
Сеть в Poroxmox может работать в трех режимах — Bridge, Routed и NAT.
Кластер Proxmox
Следующим шагом будет разворачивание кластера на базе серверов Proxmox в тестовой среде.
Я выбрал установку с родного образа и все настройки были произведены уже на этапе подготовки к установке, кроме подключения бесплатного репозитория обновлений.
О тестовой среде.
В качестве хостов (нод) будет использована тоже виртуальная среда на базе VMware ESXi 6.7. Кластер будет состоять из 4-х нод: из хранилища NFS (условно единая система хранения данных — СХД) и еще одной машины на Debian. На 4-х нодах будет развернуты Proxmox 6 — это наши сервера виртуализации в кластере. Можно конечно и 2, и 3 ноды, тут выбор за каждым.
О кластерах и кворуме
Кластер не существует без кворума. Кворум это по сути ноды (машины) включенные в кластер и у которых есть право голоса. Суть голосования в том, что, если происходит падение одной из нод по причине отказа или сбоя, остальные решают по принципу большинства продолжать работать кластеру или нет. Если у нас в кластере 3 машины и одна уходит в сбой, то остальные два имеют 2 голоса из 3-х и это большинство, кластер продолжает работать. А если в кластере четное количество машин, то при отказе половины кластер перестает работать. Т.е. для работоспособности кластера из n машин (нод) необходимо минимум n/2+1 доступных машин.
В ситуациях с четным количеством нод вводится понятие свидетеля. Свидетель по сути обычная машина, без наличия систем виртуализации, в нашем случае Proxmox-а. При четном количестве нод свидетель голосует, а при случае сбоя или вывода ноды из кластера, когда количество работоспособных нод становится нечетным, то голос свидетеля не учитывается и так по циклу пока не наступит минимум
Установка Proxmox
Из родного образа разворачиваем 4 экземпляра гипервизора PVE1, PVE2, PVE3 и PVE4 с заданными сетевыми настройками и включенным параметром Hardware virtualization — Expose hardware assisted virtualization to the guest OS в свойствах процессора виртуальных машин в VMware для каждой ноды. Этот параметр включает возможность процессору работать в режиме вложенной виртуализации.
Установка OpenMediaVault
OpenMediaVault — это решение NAS сервера на базе Debian Linux с включенными сервисами SSH, FTP, TFTP, NFS, SMB, RSync. Достаточно простой и легкий NAS сервер.
- Скачиваем образ — https://www.openmediavault.org/download.html;
- Устанавливаем. Разворачивание не вызовет никаких сложностей — это типичная установка Debian Linux;
- Переходим в веб панель управления сервером, по адресу, который видим при загрузке системы (логин — admin, пароль — openmediavault).
Настройки OpenMediaVault
Настроим сеть под требования тестовой среды
Принять изменения
В VMware создаём еще один диск для хранения данных. Размер соразмерный требуемому объему для установки ОС (я взял тонкий диск объемом 100Гб).
Создаем диск для общего хранилища и задаем настройки прав для доступа:
Создаем диск
Монтируем диск к системе
Подключаем NFS хранилище для совместного пользования всеми нодами
Подключаем диск
Задаем точку монтирования и права
Задаем клиентов для доступа к NFS хранилищу с правами
Включаем службу NFS
Подключим хранилище к первой ноде PVE1:
Настройки подключения
Для тестовой среды в качестве контента диска я выбрал все варианты, в реальной среде стоит разделять исходя из качества дисков (RAID, скорость и т.д.). Такие данные как iso образы или бэкапы можно хранить на других дисках, чем диски самих виртуальных машин или контейнеров.
Нужно заметить, что диск подключили к кластеру, а не к ноде и один и тот же общий диск не нужно подключать для каждой ноды.
Настроим репозиторий для обновлений Proxmox для каждой ноды.
После обновим необходимые пакеты на всех нодах.
Обновление Proxmox
Создаем кластер
Для полноценной демонстрации кластера необходимо создать отдельную выделенную сеть для самого кластера. В VMware создаю новый Port Group с названием ClusterNetwork и подключаю вторые сетевые карты на данный коммутатор.
Сетевые настройки для нод Proxmox – 172.16.1.211/28 – 172.16.1.214/28
Сетевые настройки кластерного трафика для Proxmox
Собираем ноды в кластер:
Выбираем созданную сеть под кластер. Будет создан кластер с одной текущей включённой нодой.
Забираем информацию для подключения остальных нод в кластер:
Переходим поочередно по всем нодам и вставляем скопированную информацию:
Выбираем сеть для кластерного трафика
После нажатия и подключения к кластеру соединение с текущей нодой теряется потому что меняется сертификат https подключения, если нужно повторно подключиться к ноде нужно обновить страницу.
Наш кластер готов.
Итого имеем кластер из 4-х нод, кластерный трафик управления проходит через изолированную сеть и можно создавать виртуальные машины. Как видно на всех нодах доступно общее хранилище.
Установка виртуальных машин
В качестве теста установим сервер на базе Linux Debian c Apache и одной простой страницей. На второй ноде создадим виртуальную машину и в качестве места хранения диска выберем общее хранилище.
Установим наш виртуальный сервер:
Виртуальный сервер готов, на нем работает наш сайт. Наша задача обеспечить доступность сервера при падении ноды на которой размещен сервер с сайтом.
У нас 4 ноды и задача при падении PVE2 сервер должен мигрировать на PVE3, если нет, то на PVE4, а на PVE1 не мигрировала.
Правила миграции в High Availability Group
Создаем группу и выставляем приоритеты. Чем выше приоритет, тем предпочтительнее нода в группе.
Создаем ресурс для высокой доступности и назначаем в группу:
Более информативно через консоль
Отправим в shutdown ноду с веб-сервером. Посмотрим на состояние кворума:
Сервер мигрировал на PVE3 (как мы и хотели), кворум– ОК, кластер жив.
Все. Кластер перестал существовать. Наш сайт недоступен.
Кворум – необходимы 3 голоса, присутствуют 2
Кластер восстановил работу. 3 голоса из необходимых 3-х. Сервер вернулся на свою ноду.
Зачем может понадобиться иметь четное количество нод, если при падении половины кластер не работоспособен? Кроме обеспечения высокой доступности с миграцией серверов при сбое нод можно использовать другой инструмент сохранности сервисов – репликации. Репликации серверов происходят по заданному расписанию и на заданные ноды.
Для кластера высокой доступности с четным количеством нод обычно используют свидетеля. Введем в наш кластер сервер-свидетель.
Свидетель в кластере
В нашем случае это обычный Debian 10 сервер который в реальной среде может выполнять и другие функции (иметь работающие службы и сервисы). Нам нужно будет установить 2 пакета.
Настроим сеть согласно условиям тестовой среды:
Установим пакеты на сервер свидетеля:
Установим пакет на всех нодах Proxmox:
В консоли PVE1 выполним команду:
На вопросы ответим – yes и далее введем необходимое количество раз пароль для соединения с нодами кластера.
Отредактируем файл /etc/corosync/corosync.conf на PVE1 и добавим следующее в секцию кворума:
Перезагрузим сервисы service и corosync-qdevice:
Сделаем аналогичные действия на всех нодах: отредактируем файл /etc/corosync/corosync.conf и перезапустим service corosync restart, service corosync-qdevice start.
Проверим свойства нашего кворума:
Отключим ноды PVE2 и PVE3:
Кластер жив при 2-х отсутствующих нодах. Сервере мигрировал на PVE4 согласно правилам перемещения.
Доступность сервисов через репликации
Рассмотрим вариант репликации с ноды на ноду на примере контейнера. Контейнер из шаблонов в котором развернута phpBB.
В качестве диска выбрано хранилище ZFS. Это важно, поскольку репликации идут только с хранилищ zfs.
Настройка репликации: на вторую ноду с zfs хранилищем и с расписанием каждые 30 мин.
И тот и другой вариант приемлемы для обеспечения доступности сервисов: для критических сервисов режим высокой доступности, для менее важных сервисов, с возможным простоем можно использовать режим репликации с последующим ручным разворачиванием сервисов на другой ноде.
На этом пока все. Повторюсь, Proxmox достаточно взрослая система и ее можно использовать в производственных средах, однако при наличии бюджета у компании все же имеет смысл присмотреться к основным игрокам этого рынка – Vmware (когда достаточно денег) или Microsoft (когда можно чуть сэкономить). Но если у вас только Linux сервера и нет вопросов с лицензированием клиентских ОС на гипервизоре в кластере, то тут опять преимущество Proxmox.