Введение
Proxmox VE это платформа виртуализации с открытым исходным кодом, поддерживающая KVM и начиная с версии 4.0, LXC (Linux Containers). Более того, с версии 4.0 Proxmox имеет полную поддержку IPv6. Более полная информация о новых возможностях доступна в official Roadmap, опубликованном на Proxmox VE Wiki.
Установка в целом считается несложной, так как OpenVZ корректно настраивает большинство вещей. Тем не менее, после установки нужно произвести некоторую настройку.
Предупреждение: Начиная с версии 4.0, поддержка OpenVZ была исключена и полностью заменена на LXC
Пожалуйста, обратите внимание на это перед обновлением! Дополнительные сведения о конвертации контейнеров OpenVZ в LXC смотрите в Proxmox Wiki: Преобразование OpenVZ в LXC
Действия на стороне СХД
Необходимые настройки на СХД можно разделить на два этапа:
- Настройка интерфейсов
- Настройка пространства хранения
Настраивать интерфейсы требуется в основном в случае использования протокола iSCSI: необходимо задать IP адреса портов на вкладке iSCSI Ports. IP адреса портов должны быть из разных подсетей, чтобы однозначно маршрутизировался трафик на стороне хоста.
В случае использования интерфейса Fibre Channel ничего настраивать, как правило, не нужно.
Далее необходимо создать пространство хранения. Сначала создается пул – группа физических накопителей, работающих совместно. Пулов в пределах СХД может быть несколько. Накопители внутри пула объединяются в соответствии с выбранным при его создании уровнем RAID, обеспечивая заданную надежность. Пулы создаются на вкладке Pools → Create Pool, где запускается пошаговый мастер.
- Необходимо выбрать тип пула: thick (место выделяется сразу) или thin (место выделяется по мере заполнения). Отметим, что thick пулы являются более производительными.
- Выбрать конкретные диски
- Уровень RAID
- Указать параметры физических накопителей, влияющие на их производительность.
Рекомендуется использовать установки по умолчанию для максимальной скорости:- Enable Disk Write Cache
- Enable Disk Read-ahead
- Enable Disk Command Queuing
- Disable Disk Standby
Помимо обычных пулов Qsan поддерживает создание AutoTiering пулов при условии активации соответствующей лицензии. С принципом работы таких пулов можно ознакомиться в отдельной статье.
После создания пула(ов) необходимо создать тома (volume): Volumes → Create volumes. Также запустится пошаговый мастер создания тома.
Необходимо задать требуемый размер тома, тип тома выбирается как RAID volume. Рассмотрим их более подробно.
- Block Size – размер блока, который будет эмулироваться для хоста. Для Windows Server рекомендуется задать значение 4КБ как наиболее оптимальное.
- Background I/O Priority – приоритет фоновых задач (расширение, миграция и пр.)
- Erase Volume Data – необходимость зануления создаваемого тома. Значение Fast Erase соответствует записи нулей в первый гигабайт пространства, может быть полезно при повторном использовании дисков с целью удалить остатки предыдущих данных (стереть таблицы размещения). Full Erase – запись нулей по всему объему, полезно для достижения максимальной производительности в случае использования RAID 1/10.
- Enable Cache Mode (Write-back Cache) – включение кэша СХД. Очень сильно влияет на производительность.
- Enable Video Editing Mode – снижение производительности ради более стабильных результатов. Если не предполагается использование тома в системах видеонаблюдения, лучше выключить данный параметр.
- Enable Read-ahead – включение упреждающего чтения. Положительно влияет на производительность.
- Enable Fast RAID Rebuild – при активации данной настройки система будет вести трекинг всех записываемых блоков, чтобы понимать, сколько реальных данных записано на том. В случае выхода из строя диска в составе RAID группы во время ребилда не будут копироваться пустые блоки, что может ускорить данный процесс. Однако стоит помнить, что использование Fast Rebuild снижает производительность при случайном доступе.
Заключительным этапом в настройке СХД является публикация томов для доступа к ним со стороны хостов через функционал LUN mapping → Map LUN.
- Необходимо выбрать протокол доступа: FCP (Fibre Channel) или iSCSI. Доступ к одному и тому же тому может быть только через один протокол.
- Allowed Host – список хостов, которым разрешен доступ к тому. По умолчанию разрешено всем (*). Однако рекомендуется всегда явно указывать разрешения для исключения конфликтов доступа и, соответственно, повреждения файловой системы. Для Fibre Channel указываются WWPN хостов (с возможностью выбора из всех доступных в SAN сети). Для iSCSI указываются IQN хостов. В случае нескольких хостов они добавляются по кнопке Add Host. Со стороны Windows значения WWPN и IQN можно узнать через консольную (PowerShell) команду Get-InitiatorPort
Режимы архивирования
- Режим Snapshot (Снимок). Этот режим можно еще назвать как Live backup, поскольку для его использования не требуется останавливать работу виртуальной машины. Использование этого механизма не прерывает работу VM, но имеет два очень серьезных недостатка — могут возникать проблемы из-за блокировок файлов операционной системой и самая низкая скорость создания. Резервные копии, созданные этим методом, надо всегда проверять в тестовой среде. В противном случае есть риск, что при необходимости экстренного восстановления, они могут дать сбой.
- Режим Suspend (Приостановка). Виртуальная машина временно «замораживает» свое состояние, до окончания процесса резервного копирования. Содержимое оперативной памяти не стирается, что позволяет продолжить работу ровно с той точки, на которой работа была приостановлена. Разумеется, это вызывает простой сервера на время копирования информации, зато нет необходимости выключения/включения виртуальной машины, что достаточно критично для некоторых сервисов. Особенно, если запуск части сервисов не является автоматическим. Тем не менее такие резервные копии также следует разворачивать в тестовой среде для проверки.
- Режим Stop (Остановка). Самый надежный способ резервного копирования, но требующий полного выключения виртуальной машины. Отправляется команда на штатное выключение, после остановки выполняется резервное копирование и затем отдается команда на включение виртуальной машины. Количество ошибок при таком подходе минимально и чаще всего сводится к нулю. Резервные копии, созданные таким способом, практически всегда разворачиваются корректно.
Ректальное администрирование: Основы для практикующих системных АДминистраторов
Одной из самых популярных и зарекомендовавших себя методологий системного администрирования является так называемое ректальное. Редкий случай сопровождения и обслуживания информационных систем, инфраструктуры организации обходится без его использования. Зачастую без знания данной методологии сисадминам даже бывает сложно найти работу в сфере ИТ, потому что работодатели, особенно всякие аутсорсинговые ИТ фирмы, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям: практикам ITIL, нормальным ITSM и прочей ерунде.
Настройка гипервизора 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.
Они пусты, нам необходимо создать партиции разделов. Ниже приведен пример, как это сделать для /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 массива, мы увидим следующую картину:
Следующим этапом, создадим файловую систему ext4 на программном рейде /dev/md127
~# mkfs.ext4 /dev/md127
Командой blkid проверим uuid собранного raid /dev/md127
В нашем случае, это:
/dev/md127: UUID=»400de0bd-6de7-46e5-a6ca-d03b11fe1c6f» TYPE=»ext4″
Создадим каталог data, который смонтируем к нашей новой fs
~# mkdir /mnt/data
~# mount /dev/md127 /mnt/data
Далее правим файл /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.
УСТАНОВКА PROXMOX VE НА DEBIAN 10 BUSTER
В статьях на различных порталах в Интернете можно прочитать, что VPS и VDS не имеют разницы, просто различные аббревиатуры одного и того же. Однако, с моей точки зрения, есть существенное различие в предложениях провайдеров – виртуальный хост приобретён в аренду или реальный сервер в стойке.
Чтобы проверить, можно ли полноценно использовать виртуализацию Proxmox VE в облаке или на реальном хосте, в Debian 10 Buster, подключаемся к консоли сервера по ssh, в моем случае с помощью Putty RUS и вводим:
Если виртуализация поддерживается процессором хоста, то результат работы не пустой, а несколько строк:
ОБНОВЛЕНИЕ СИСТЕМЫ DEBIAN 10 BUSTER
Обновите Debian 10 Buster до актуальной и перезагрузите по выполнении:
После перезагрузки установите необходимые пакеты:
НАСТРОЙКА ФАЙЛА /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. Вам это делать необязательно.
Пример создания локальной сети NAT
Вкратце рассмотрим создание локальной сети, в которой виртуальные машины смогут обмениваться данными. Для этого вполне сгодится режим «Сеть NAT».
Переходим в настройки Виртуалбокс,
выбираем «Сеть» и жмем плюсик.
Сеть создана, жмем «OK» и переходим в настройки виртуальной машины.
Здесь на вкладке «Сеть» тип подключения выбираем «Сеть NAT», а в выпадающем списке «Имя» выбираем только что созданную сеть.
Точно так же поступаем с другими виртуальными машинами, между которыми хотим наладить связь.
Из всех перечисленных выше типов «Сеть NAT» является наиболее часто используемой и удобной, к тому же она не требует специфических настроек. До реализации этого типа подключений чаще всего использовался виртуальный адаптер хоста, также не требующий дополнительных настроек, но сегодня к нему обращаются относительно редко, не говоря уже о других режимах, представляющих интерес разве что для сисадминов.
RemoteApp (удаленные приложения служб терминалов)
- Когда необходимо ограничить доступ к конкретным приложениям.
- Когда пользователю необходимо совмещать работу на локальной машине с использованием какого-то приложения, вынесенного в облако.
- Когда приложение должно быть доступно в специфических условиях и при низкой скорости Интернета.
Требования со стороны сервис-провайдера | Подключение клиента (возможные варианты) |
Наличие сконфигурированного RD Session Host Server с размещенным на нем списком соответствующих программ (RemoteApp Programs list). |
|
Как выглядит со стороны пользователя:
Установка
Есть два варианта установки Proxmox VE — использовать готовый образ или установка на Debian. Мы рассмотрим оба.
Установка готового образа ISO
1. Переходим на страницу загрузки Proxmox официального сайта. Загружаем дистрибутив, например, Proxmox VE 6.1:
2. Если установка выполняется на виртуальную машину, монтируем образ. Если нет — создаем установочную флешку, например, с помощью WinSetupFromUsb или загрузочный диск с помощью InfraRecorder.
3. Загружаем сервер с установочного ISO — мы увидим окно приветствия Proxmox — выбираем пункт меню Install Proxmox VE:
4. Принимаем лицензионное соглашения, кликнув по I agree.
5. Выбираем диск, на который будет установлена система:
* при необходимости, кликаем по Options и задаем настройки файловой системы и размера раздела.
6. Пишем страну, временную зону, язык раскладки клавиатуры по умолчанию:
7. Вводим дважды пароль, который будет использоваться для пользователя root:
8. Прописываем сетевые настройки:
* где:
- Management Interface: сетевой интерфейс для управления сервером виртуальных машин.
- Hostname (FQDN): имя хоста для сервера.
- IP Address: IP-адрес нашего сервера.
- Netmask: маска подсети для сервера.
- Gateway: шлюз по умолчанию.
- DNS Server: сервер DNS.
9. В окне «Summary» проверяем введенные данные и кликаем по Install. Начнется процесс установки, который займет не более 10 минут.
10. После установки мы должны увидеть «Installation Successful» — перезагружаем сервер, кликнув по кнопке Reboot.
После переходим к проверке установки.
Установка на Debian
Если мы решили установить Proxmox на уже установленный Debian, выполняем следующую инструкцию.
При установке среды виртуализации меняется ядро Linux. Это может привести к потери работоспособности уже установленных сервисов. Таким образом, установку Proxmox следует выполнять на чистый сервер, а не тот, который уже используется для каких-либо задач.
1. Имя сервера должно разрешаться по его IP-адресу. Для этого либо добавляем А-запись в DNS, либо настраиваем на сервере файл hosts:
nano /etc/hosts
… и добавляем:
192.168.1.55 proxmox.dmosk.local proxmox
* где 192.168.1.55 — IP-адрес нашего сервера; proxmox — имя сервера; dmosk.local — наш домен, если используется.
2. Добавляем репозитории, которые будем устанавливать для установки Proxmox PE и дополнительных компонентов:
nano /etc/apt/sources.list
deb http://mirror.yandex.ru/debian/ buster main non-free contrib
deb-src http://mirror.yandex.ru/debian/ buster main non-free contrib
deb http://download.proxmox.com/debian/pve buster pve-no-subscription
Чтобы мы могли работать с репозиторием proxmox добавляем в систему цифровую подпись:
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
Обновляем список пакетов:
apt-get update
3. Устанавливаем Proxmox PE и компоненты:
apt-get install proxmox-ve open-iscsi
* где proxmox-ve — собственно, сам гипервизор; open-iscsi — iSCSI-клиент для подключения iSCSI-target-ов.
4. Перезагружаем сервер:
systemctl reboot
Проверка установки
В браузере открываем панель управления системой виртуализации по адресу https://<IP-адрес сервера>:8006. В открывшемся окне выбираем язык, вводим логин и пароль от пользователя root:
Должно открыться окно управления.
Подключение к виртуальному серверу по SSH
Теперь посмотрим, как подключиться к виртуальному серверу через SSH. На Linux и macOS можно использовать терминал. Установка сторонних приложений не понадобится.
- Запустите терминал.
- Введите команду вида ssh root@IP_адрес_сервера и нажмите Enter.
- Подтвердите соединение.
- Введите пароль.
Если все данные указаны верно, то соединение будет установлено. Теперь вы можете управлять VPS/VDS через терминал.
На Windows для подключения к серверу через SSH требуется дополнительное ПО. Самый популярный SSH-клиент — PuTTy.
В настройках подключения укажите IP-адрес сервера (строка Host Name) и номер порта — по умолчанию 22. Чтобы сохранить сессию и каждый раз не задавать IP, впишите любое имя в после Saved session и нажмите Save.
Затем кликните Open, чтобы запустить соединение. При первом подключении появится окно подтверждения. Нажмите Yes. После подтверждения появится консоль. Авторизуйтесь с помощью логина и пароля, полученных от хостера. Нажмите Enter. Если все данные указаны верно, то соединение будет установлено.
Вспоминаем матчасть
- Конфигурация ВМ копируется с одного узла кластера на другой.
- Страницы памяти виртуальной машины помечаются для копирования на целевой хост, и начинается процесс их перемещения в режиме онлайн.
- Поскольку виртуальная машина все еще работает, страницы памяти постоянно меняются. Во время миграции Hyper-V отслеживает измененные страницы памяти и переносит их на другой хост. Процесс повторяется до тех пор, пока на первом узле кластера не останется только несколько измененных страниц.Копирование страниц памяти с одного узла на другой и их синхронизация.
- ВМ на исходном хосте выключается, оставшиеся страницы памяти копируются на целевой хост, и виртуальная машина на нем включается. Переключение происходит за доли секунды. Процесс достаточно быстрый, чтобы ни один клиент не заметил простоя.
для любого
Сжатие баз данных 1С:Предприятие в MS SQL Server Промо
Тема сжатия баз данных 1С в настоящий момент довольно часто обсуждается. Достоинства сжатия известны – уменьшение размера базы данных, уменьшение нагрузки на дисковую подсистему и некоторое ускорение выполнения тяжелых операций чтения/записи. Из недостатков – небольшое увеличение нагрузки на процессоры сервера СУБД за счет расхода ресурсов на компрессию/декомпрессию данных. Но при использовании в качестве MSSQL и DB2 (за Oracle и PostgreSQL не скажу, т.к. не знаю) есть один «подводный камень» — при выполнении реструктуризации происходит декомпрессия новых таблиц и индексов. Происходить это может как при выполнении обновления конфигурации с изменением структуры метаданных, так и при выполнении тестирования и исправления ИБ (реиндексация пересоздает только индексы, а реструктуризация – и таблицы, и индексы). «Проблема» кроется в том, что признак сжатия устанавливается индивидуально для каждой таблицы и индекса.
Проверка виртуализации[]
Для запуска KVM, вам нужен процессор с поддержкой виртуализации (intel-vt или amd-v). Для проверки того, что ваш процессор поддерживает эту технологию, выполните следующую команду:
egrep '(vmx|svm)' --color=always /proc/cpuinfo
Если вывод ничего не дал, это значит, что процессор не поддерживает аппаратную виртуализацию. Если вам все же повезло — проверьте настройки BIOS, вполне возможно, что виртуализация запрещена в BIOS по-умолчанию.
Задействована ли поддержка виртуализации в BIOS
kvm
если видим такое:
Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory No accelerator found!
значит поддержка отключена (в некоторых материнских платах отключен по умолчанию) надо зайти в BIOS компьютера и включить поддержку
Драйвера и Службы
Чтобы установить все недостающие драйвера для корректной работы Windows на Proxmox, запустите virtio-win-gt-x64.msi в корне диска virtio. Можете убрать установку тех драйверов и служб, что вы точно не будете использовать. Например, Qxl и Spice. После этого не только ip адреса, но и использования оперативной памяти должны корректно отображаться в веб интерфейсе.
Рекомендуется посмотреть менеджер устройств, чтобы убедиться в том, что там нет неопределённого оборудования. Если все драйверы установились корректно, то всё оборудование будет с драйверами и определено. Если это не так, то попробуйте установить драйвер устройства вручную. Для этого укажите в качестве источника драйвера виртуальный диск с virtio.iso и обязательно укажите использовать для поиска драйвера подпапки. Если драйвер будет найдет, то выберите его и установите, подтвердив, что доверяете установке драйверов от указанного поставщика.
Первый способ(его я использовал, когда не знал о втором)))
Не буду рассказывать на сколько и каких «граблей» пришлось наступить(с линуксом я знаком очень поверхностно), выложу содержимое файла /etc/network/interfaces. При этой конфигурации всё, вроде как, заработало.
Shell
# Создаем объединение физических сетевых интерфейсов
auto bond0
iface bond0 inet manual
slaves enp4s0f0 enp4s0f1
bond_miimon 100
bond_mode 802.3ad
bond_xmit_hash_policy layer2+3
# Добавляем VLAN100
auto bond0.100
iface bond0.100 inet manual
vlan-raw-device bond0
# Добавляем VLAN150
auto bond0.150
iface bond0.150 inet manual
vlan-raw-device bond0
# Создаем бридж VLAN150(его используем для подключения ВМ к VLAN150)
auto vmbr150
iface vmbr150 inet manual
address 0.0.0.0
netmask 0.0.0.0
bridge_ports bond0.150
bridge_stp off
bridge_fd 0
# Создаем бридж VLAN100(его используем для подключения ВМ к VLAN100. Также он служит для интерфейса управления ноды.)
auto vmbr100
iface vmbr100 inet static
address 192.168.102.63
netmask 255.255.252.0
gateway 192.168.102.251
bridge_stp off
bridge_ports bond0.100
bridge_fd 0
auto vmbr0
iface vmbr0 inet manual
bridge_ports bond0
bridge_stp off
bridge_fd 0
bridge_vlan_aware yes
1 |
# Создаем объединение физических сетевых интерфейсов auto bond0 iface bond0 inet manual slaves enp4s0f0 enp4s0f1 bond_miimon100 bond_mode802.3ad bond_xmit_hash_policy layer2+3 auto bond0.100 iface bond0.100inet manual vlan-raw-device bond0 auto bond0.150 iface bond0.150inet manual vlan-raw-device bond0 auto vmbr150 iface vmbr150 inet manual address0.0.0.0 netmask0.0.0.0 bridge_ports bond0.150 bridge_stp off bridge_fd auto vmbr100 iface vmbr100 inet static address192.168.102.63 netmask255.255.252.0 gateway192.168.102.251 bridge_stp off bridge_ports bond0.100 bridge_fd auto vmbr0 iface vmbr0 inet manual bridge_ports bond0 bridge_stp off bridge_fd bridge_vlan_aware yes |
В данном конфиге используются сети с VLAN ID 100 и 150. Если нужно добавить еще какие то, добавляем в файл:
Shell
auto bond0.<VLAN ID>
iface bond0.<VLAN ID> inet manual
vlan-raw-device bond0
1 |
auto bond0.<VLAN ID> iface bond0.<VLAN ID>inet manual vlan-raw-device bond0 |
и
Shell
auto vmbr<VLAN ID>
iface vmbr<VLAN ID> inet manual
address 0.0.0.0
netmask 0.0.0.0
bridge_ports bond0.<VLAN ID>
bridge_stp off
bridge_fd 0
1 |
auto vmbr<VLAN ID> iface vmbr<VLAN ID>inet manual address0.0.0.0 netmask0.0.0.0 bridge_ports bond0.<VLAN ID> bridge_stp off bridge_fd |
После редактирования файла /etc/network/interfaces не забудьте перезапустить службу /etc/init.d/networking restart(иногда нужно и перезагрузить хост).
В веб-интерфейсе это выглядит примерно так(добавлены еще несколько VLAN, которые не указаны в примере):
P.S. После экспериментов выяснилось, что bonde_mode 802.3ad не обеспечивает отказоустойчивость, в связи с чем она была заменена на bond_mode balance-xor
Настройка сети в Proxmox VE
После установки всех необходимых пакетов и перезагрузки ОС в WTB-интерфейсе Proxmox VE перейдите в раздел Датацентр, выберите имя гипервизора (на скриншоте PVE). В меню Система найдите раздел Сеть и нажмите кнопку Создать:
1. Настройка bridge
Создание интерфейса bridge для Open vSwitch и для ядра Linux практически ничем не отличаются, за исключением выбора способа создания и возможности указания для OVS Bridge дополнительных ключей Open vSwitch. Если планируется использовать VLAN для сетевого интерфейса, не забудьте указать чек-бокс возле пункта VLAN при создании bridge. Включение чек-бокса Автозапуск позволяет запускать выбранный сетевой интерфейс при загрузке гипервизора:
В общем случае, если сетевой интерфейс bridge создаётся единственный для гипервизора, то нет необходимости перечислять в пункте Порты сетевого моста все имеющиеся сетевые карты. Однако, если существует необходимость на уровне интерфейса разделить подключения к различным каналам связи или сегментам сети, то можно использовать различные комбинации сетевых устройств. На представленном хосте гипервизора их четыре, поэтому можно ввести два из них (перечислением через пробел) в bridge OVS:
Адрес интерфейса можно не указывать, настроенные на подключение к интерфейсу виртуальные машины будут использовать его как обычный свитч. Если же указать адрес IPv4 и/или IPv6, то он будет доступен извне на всех сетевых интерфейсах или на интерфейсах, перечисленных в поле Порты сетевого моста:
2. Настройка bond
Для балансировки нагрузки и объединения нескольких сетевых интерфейсов в один виртуальный, создайте OVS Bond. Это связано с тем, что его возможности шире, чем Linux Bond, а процесс создания практически идентичен. Для создания балансировщика нагрузки нажмите в меню Сеть кнопку Создать и выберите пункт OVS Bond:
В отличие от создания OVS bridge, в параметрах vmbr1 OVS Bond указано в портах сетевого моста bond0 и в пункте OVS Options для тегирования VLAN можно использовать ключ tag=$VLAN, где $VLAN надо заменить на целое числовое значение, в примере это 50:
Режимы балансировки можно установить только при создании интерфейса bond, перечислим их основные характеристики.
Для OVS Bridge:
- Режим Active-Backup использует один из перечисленных сетевых интерфейсов для работы, а остальные находятся в резерве в статусе down, на случай выхода из строя основного интерфейса
- Режимы Balance-slb, LACP (balance-slb), LACP (balance-tcp) подходят для случая, когда вам необходимо расширить полосу пропускания и отказоустойчивость канала, объединив в единый бонд несколько сетевых интерфейсов.
Для Linux Bond:
- Режим balance-rr ядра Linux скорее переназначен для исходящего траффика, чем для входящего. Пакеты отправляются последовательно, начиная с первого доступного интерфейса и заканчивая последним. Применяется для балансировки нагрузки и отказоустойчивости.
- Режим active-backup ничем не отличается от аналогичного режима в OVS. Передача распределяется между сетевыми картами используя формулу: . Получается одна и та же сетевая карта передаёт пакеты одним и тем же получателям. Режим XOR применяется для балансировки нагрузки и отказоустойчивости.
- Режим агрегирования каналов по стандарту IEEE 802.3ad. Создаются агрегированные группы сетевых карт с одинаковой скоростью и дуплексом. При таком объединении передача задействует все каналы в активной агрегации, согласно стандарту IEEE 802.3ad. Необходимо оборудование гипервизора и активной сетевой части с поддержкой стандарта.
- Режим адаптивной балансировки нагрузки передачи balance-tlb. Исходящий трафик распределяется в зависимости от загруженности каждой сетевой карты (определяется скоростью загрузки). Не требует дополнительной настройки на коммутаторе. Входящий трафик приходит на текущую сетевую карту. Если она выходит из строя, то другая сетевая карта берёт себе MAC адрес вышедшей из строя карты.
- Режим адаптивной балансировки нагрузки Balance-alb. Включает в себя политику balance-tlb, а также осуществляет балансировку входящего трафика. Не требует дополнительной настройки на коммутаторе.
3. Настройка VLAN
В меню Система найдите раздел Сеть и нажмите кнопку Создать и выберите OVS InPort:
Задайте имя интерфейса vlan50 тег VLAN, равный 50, укажите OVS Bridge. VLAN 50 на указанном виртуальном интерфейсе OVS Bridge vmbr1 с тегом 50 создан и может быть использован, например для организации видеонаблюдения. Таким образом, предлагаю настроить дополнительно VLAN30 для IP телефонии и VLAN100 для локальной сети с виртуализированными рабочими местами. Для создания всех VLAN используйте интерфейс vmbr1.
WEB-интерфейс гипервизора Proxmox VE
https://xxx.xxx.xx.xx:8006/
Аутентифицировавших польхователем 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, и на котором у нас будут размещены гостевые виртуальные машины.
Настройка сети. Для функционирования обычно используют три режима: Bridge, Routed и NAT. Bridge — при этом режиме, гостевые VM находятся в одной подсети с гипервизором и используют ip адреса этой подсети. Routed — при этом режиме, одна из виртуальных машин настроена как шлюз, для выхода в сеть интернет. NAT — виртуальные машины имеют собственную подсеть, однако во внешнюю выходят через NAT, который настроен на гипервизоре.
В этом примере мы используем режим Brige. Для этого необходимо перейти в раздел «Datacenter» — «your_Node» — «System» — «Network» и нажать «Create», выбрав режим «Linux 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 у Вас не сосотавит труда. Если во время использования инструкции у Вас возникнут вопросы, наша техническая поддержка готова прийти на помощь в любое время.
Заключение
- удаленным сотрудникам чувствовать себя «как на рабочем месте», находясь при этом в любой точке мира, где есть компьютер, подключенный к сети Интернет;
- не модифицировать и не дополнять программное обеспечение используемого компьютера;
- сотрудникам работать в любом подразделении компании, на любом свободном компьютере, используя при этом предварительно настроенное программное обеспечение и необходимые файлы;
- обеспечить конфиденциальность данных, хранящихся на переносном устройстве, в случае утери носителя либо попадания его к лицам, не имеющим санкционированного доступа к указанным данным и ресурсам корпоративной сети;
- использовать встроенную возможность двухфакторной аутентификации с OTP;
- подразделениям организации, отвечающие за техническую поддержку пользователей, администрирование системного и прикладного ПО, а так же обеспечение ИБ, не терять связь с удаленными системами и поддерживать их в актуальном состоянии;
- управлять интернет-трафиком удаленных клиентов, направив его через корпоративный прокси-сервер.