Содержимое
Рук-во системного программиста ↵
Общие сведения о программе
Назначение программы
SpaceVM обеспечивает создание и администрирование виртуальной инфраструктуры для аппаратных платформ на базе процессоров x86 с аппаратной поддержкой виртуализации, как на отдельной серверной платформе, так и на кластерной системе (группе серверных платформ).
SpaceVM обеспечивает автоматическую настройку узла при добавлении в кластер.
SpaceVM обеспечивает создание следующих типов объектов и управление ими:
-
Локации.
-
Кластеры.
-
Физические серверы.
-
Виртуальная машина (ВМ).
-
Виртуальная сеть.
-
Пулы ресурсов.
-
Пулы хранения данных.
-
Виртуальный диск.
-
Образ оптического диска.
-
Шаблон виртуальной машины.
SpaceVM обеспечивает запуск и работу с гостевыми операционными системами для архитектуры x86_64.
SpaceVM обеспечивает установку ОС на ВМ с образа оптического диска в формате ISO 9660.
SpaceVM обеспечивает создание, хранение и импорт шаблонов ВМ для автоматического развёртывания виртуальных машин.
SpaceVM обеспечивает создание шаблона из виртуальной машины, установленной с образа оптического диска.
SpaceVM обеспечивает для платформ, имеющих аппаратную поддержку виртуализации возможность монополизации виртуальными машинами физических компонентов аппаратной платформы, подключённых к интерфейсам SATA, PCI, PCI-E, USB, Serial.
SpaceVM поддерживает использование локальных групп томов LVM (VG LVM) на вычислительных узлах в качестве локальных хранилищ данных.
SpaceVM поддерживает использование внешних систем хранения данных, подключаемых по протоколу NFS, в качестве общих хранилищ.
SpaceVM поддерживает использование распределённых хранилищ данных в качестве общих хранилищ.
SpaceVM обеспечивает перенос ВМ между узлами, объединёнными в кластер.
SpaceVM обеспечивает поддержку переноса виртуальных дисков между пулами хранения данных.
SpaceVM при помощи средств интерфейса управления обеспечивает выполнение следующих операций над ВМ:
-
Создание шаблона ВМ.
-
Создание ВМ из шаблона.
-
Редактирование параметров ВМ.
-
Запуск.
-
Перезагрузка.
-
Принудительная перезагрузка.
-
Остановка.
-
Клонирование ВМ.
-
Создание копии состояния ВМ (снимок ВМ).
-
Восстановление состояния текущей ВМ из копии.
-
Уничтожение (с возможностью сохранения виртуального диска ВМ).
SpaceVM при создании ВМ обеспечивает возможность задать следующие параметры:
-
Локация.
-
Кластер.
-
Сервер.
-
Имя ВМ.
-
Описание ВМ.
-
Количество виртуальных процессоров (vCPU).
-
Максимальное количество виртуальных процессоров (vCPU).
-
Операционная система.
-
Версия операционной системы.
-
Выбор чипсета.
-
Тип видеокарты.
-
Тип звуковой карты.
-
Код звуковой карты.
-
Количество оперативной памяти.
-
Количество дискового пространства.
-
Количество сетевых интерфейсов и их сопоставление с виртуальными сетями.
-
Имя шаблона (при создании из шаблона).
-
Выбор существующего или создание нового виртуального диска.
-
Пул для хранения виртуального диска.
SpaceVM при помощи средств интерфейса управления обеспечивает выполнение следующих операций над виртуальными дисками:
-
Создание.
-
Клонирование.
-
Перенос виртуального диска в другой пул хранения данных.
-
Подключение/отключение диска от ВМ.
-
Скачивание.
-
Проверка диска.
-
Разрежение.
-
Настройка I/O.
-
Конвертация.
-
Уничтожение.
SpaceVM обеспечивает работу виртуальных машин в режиме высокой доступности.
SpaceVM обеспечивает работу ВМ в режиме высокой доступности путём автоматического перезапуска на резервном вычислительном узле ВМ, которые были запущенны на отказавшем вычислительном узле.
Работа ВМ в режиме высокой доступности возможна только при хранении виртуальных дисков данной ВМ на общем хранилище.
Высокая доступность обеспечивается только при объединении физических серверов в кластерную систему.
SpaceVM обеспечивает время запуска процедуры восстановления работы ВМ, запущенной в режиме высокой доступности, не более 5 минут.
SpaceVM обеспечивает создание изолированных виртуальных сетей между ВМ.
SpaceVM использует web-ориентированный графический интерфейс и REST-API.
SpaceVM обеспечивает возможность загрузки и использования SSL-сертификата для доступа по протоколу HTTPS.
SpaceVM обеспечивает вывод в интерфейс управления следующей информации об узле:
-
Имя хоста.
-
IP-адрес.
-
Количество процессоров (CPU).
-
Процент загрузки процессора (CPU).
-
Количество оперативной памяти (RAM).
-
Процент загрузки оперативной памяти (RAM).
-
Количество запущенных ВМ.
-
Общее количество ВМ.
-
Статус.
SpaceVM обеспечивает вывод в интерфейс управления следующей информации о ВМ:
-
Имя ВМ.
-
Процент загрузки CPU ВМ.
-
Количество сетевых интерфейсов ВМ.
-
Количество дисковой подсистемы ВМ.
-
Количество виртуальных функций ВМ.
-
Количество vGPU.
-
Приоритет.
-
Статус.
SpaceVM обеспечивает создание нескольких типов учётных записей с различным уровнем привилегий.
SpaceVM обеспечивает запись в журнал информации о следующих событиях:
-
Авторизация пользователя в интерфейсе управления.
-
Ошибка аутентификации пользователя.
-
Запуск контроллера.
-
Изменение состояния физического сервера.
-
Добавление нового физического сервера.
-
Удаление физического сервера.
-
Время создания ВМ.
-
Запуск ВМ.
-
Остановка ВМ.
-
Уничтожение ВМ.
-
Перенос ВМ.
-
Создание копии состояния ВМ (снимка).
-
Клонирование.
SpaceVM обеспечивает возможность настройки IP-адреса или доменного имени файлового хранилища.
SpaceVM обеспечивает возможность назначения для «организации» следующих сущностей:
-
Пользователи.
-
Пулы ресурсов.
-
Виртуальные сети.
SpaceVM обеспечивает создание, настройку и запуск задач по расписанию.
SpaceVM обеспечивает создание политики фильтрации при создании виртуальной сети на основе выбранной из существующих.
SpaceVM обеспечивает групповое добавление виртуальных машин в виртуальную сеть.
SpaceVM обеспечивает выбор физического подключения через виртуальный коммутатор или внешнюю сеть.
SpaceVM обеспечивает групповой перенос виртуальных дисков, как на выключенной, так и на включенной ВМ.
SpaceVM обеспечивает групповое удаление ZFS-пулов.
SpaceVM обеспечивает групповой перенос ВМ с выбором кластера.
SpaceVM обеспечивает настройку переподписки vCPU на ядро для ВМ.
SpaceVM обеспечивает возможность микросегментации сети.
SpaceVM обеспечивает технологию Floating IP для доступа к ВМ организаций из внешней сети.
SpaceVM обеспечивает возможность выгрузки событий во внешние системы логирования в формате UTF-8.
SpaceVM обеспечивает настройку лимитов пропускной способности на уровне ВМ и на уровне узла.
SpaceVM обеспечивает настройку приоритета политик безопасности межсетевого экрана.
SpaceVM обеспечивает запрет на удаление встроенного лицензионного ключа.
SpaceVM обеспечивает возможность настройки параметров FRL для виртуальных графических ускорителей.
SpaceVM обеспечивает возможность фиксации ВМ в начале общего списка.
SpaceVM обеспечивает возможность добавления ВМ в список избранных.
SpaceVM обеспечивает поддержку режимов "день/ночь" в графическом интерфейсе.
SpaceVM обеспечивает возможность выгрузки событий во внешние системы логирования ArcSight в формате CEF.
SpaceVM обеспечивает возможность назначения 30 и более тегов на сущность.
SpaceVM обеспечивает возможность мониторинга и автоматического перезапуска гостевых ОС в случае их недоступности.
SpaceVM обеспечивает безопасность хранения паролей в конфигурационных файлах.
SpaceVM обеспечивает создание правил с возможностью указания диапазонов портов и IP-адресов для подсистемы микросегментации.
SpaceVM обеспечивает возможность редактирования названия блочных устройств (LUN).
SpaceVM обеспечивает блокировку пользователей по IP-адресу.
SpaceVM поддерживает лицензии с запретом на расширение.
Требования ↵
Требования к техническим средствам
SpaceVM предназначена для использования на серверных платформах с архитектурой x86-64.
Минимальные аппаратные требования для работы со SpaceVM:
-
1 физический сервер (ограниченная функциональность);
Примечание
Ограниченная функциональность заключается в отсутствии механизмов балансировки нагрузки и отказоустойчивости.
-
материнская (процессорная) плата и процессор серверов должны поддерживать технологию аппаратной виртуализации: VT-d и VT-х для Intel, AMD-v для AMD или другую аналогичную технологию;
-
процессор должен иметь не менее 4 ядер;
-
объем установленной оперативной памяти в каждом сервере должен быть не менее 8 Гбайт;
-
на каждом сервере должно быть не менее одного сетевого интерфейса Ethernet с пропускной способностью не менее 1 Гбит/c;
-
каждый сервер должен иметь не менее одного запоминающего устройства объемом не менее 32 Гбайт (рекомендуется 120 Гбайт).
Примечание
Расчет необходимого места под хранение журналов и статистики на контроллере можно выполнить в соответствии Состава каталога журналов.
Для установки SpaceVM на физический сервер необходимо, чтобы данный сервер имел порт или устройство в соответствии с выбранным методом установки:
-
для установки с CD/DVD-диска должен быть внутренний или внешний CD/DVD-привод, а также возможность выбора в BIOS сервера загрузки с диска;
-
для установки с USB-накопителя должен быть USB-порт, а также возможность выбора в BIOS сервера загрузки с USB;
-
для установки по сети должен быть сетевой интерфейс с поддержкой загрузки по протоколу PXE, а также возможность выбора в BIOS сервера загрузки по сети;
-
для установки через IPMI-интерфейс в IPMI-интерфейсе должна быть поддержка подключения ISO-образа для загрузки.
Для полноценной работы SpaceVM необходимо:
-
не менее трех физических серверов;
-
система хранения данных (NAS, SAN);
-
не менее одного выделенного интерфейса IPMI;
-
не менее двух интерфейсов 10 Гбит Ethernet;
-
сетевые интерфейсы (кроме IPMI) должны поддерживать технологию Jumbo Frames.
Для выбора памяти на серверах кластера SpaceVM необходимо учитывать, что для одной ВМ может быть выделено виртуальной памяти не более, чем установленной физической памяти.
Примечание о совместимости с технологиями VT-d/AMD-Vi (SR-IOV, PCI passthru, vGPU)
В случае необходимости использования технологий VT-d/AMD-Vi (Intel IOMMU, AMD IOMMU) для проброса PCI-устройств либо виртуальных функций (SR-IOV, vGPU, GVT-g) следует убедиться, что в системе отсутствуют следующие устройства:
- PCI-e NVMe/SATA контроллеры на чипах Marvell 88SE9120, 88SE9123, 88SE9125, 88SE9128, 88SE9130, 88SE9143, 88SE9172, 88SE9215, 88SE9220, 88SE9230, 88SE9485
- PCI-X контроллеры на чипе 88SX6081
Сетевые адаптеры:
- HPE Ethernet 10Gb 2-port 530SFP+ Adapter
- HPE Ethernet 10Gb 2-port 530T Adapter
- HPE FlexFabric 10Gb 2-port 533FLR-T Adapter
- HPE FlexFabric 10Gb 2-port 534FLR-SFP+
- HPE FlexFabric 10Gb 2-port 536FLB Adapter
- HPE FlexFabric 10Gb 4-port 536FLR-T Adapter
- HPE FlexFabric 20Gb 2-port 630FLB Adapter
- HPE FlexFabric 20Gb 2-port 630M Adapter
- HP StoreFabric CN1100R Dual Port Converged Network Adapter
- HPE StoreFabric CN1100R-T Dual Port Converged Network
- HPE Synergy 3820C 10/20Gb Converged Network Adapter
- HPE Synergy 10Gb 2-port 2820C Converged Network Adapter
В случае крайней необходимости использования данного оборудования следует убедиться, что в BIOS машины отключена технология VT-d/AMD-Vi (SR-IOV в DELL BIOS). В противном случае не гарантируется стабильность работы системы, доступность данных и сетевая связность.
Требования к программному обеспечению
В состав программного обеспечения SpaceVM входят все компоненты, которые необходимы для корректного функционирования SpaceVM. При соблюдении требования установки/обновления программного обеспечения (ПО) только с репозиториев разработчика гарантируется корректное функционирование SpaceVM.
При необходимости использования дополнительного/стороннего ПО необходимо связаться со службой технической поддержки разработчика.
Требования к квалификации специалистов
Специалист, производящий установку SpaceVM, должен обладать знаниями, соответствующими специализации Администратор Linux, Администратор сетей передачи данных в областях:
-
установка ОС Linux семейства Debian/Ubuntu;
-
настройка ОС Linux семейства Debian/Ubuntu;
-
настройка и эксплуатация систем на базе Linux KVM;
-
основы построения сетей передачи данных TCP/IP, VLAN, настройка поддержки Jumbo Frame, LACP, VLAN на коммутаторах.
Ended: Требования
Структура программы
Тип гипервизора
SpaceVM является гипервизором 1 типа, то есть устанавливается на «голое железо» (bare-metal). Для установки модулей SpaceVM не требуется отдельной установки базовой ОС общего назначения. Установка модулей производится с дистрибутива непосредственно на физический сервер без предварительной установки дополнительного ПО.
Объем дистрибутива
Объем установочного дистрибутива равен примерно 2 Гбайт.
Структура ПО
В программе реализован принцип модульного построения программного обеспечения, когда каждый отдельный модуль отвечает за решение узкоспециализированной задачи. Все программное обеспечение разделяется на несколько подсистем. Каждая подсистема в свою очередь разделяется на набор модулей, которые реализуют определенную специализированную задачу.
-
Взаимодействие между модулями организовано на базе прямой адресации объектов в пределах одной подсистемы или же с использованием буферизированных средств взаимодействия (файлы, сокеты и сигналы).
-
Структурная схема SpaceVM
-
Менеджер конфигурации (МК) представляет собой программный комплекс, предназначенный для управления SpaceVM.
В состав МК входят следующие используемые программные продукты:
-
ПО, распространяемое в рамках лицензий GNU/GPL;
-
ПО Apache License 2.0.
Web-интерфейс МК, RESTful API-интерфейс и логика управления являются продуктами собственной разработки с применением языков программирования JavaScript, Python, bash, С, Ruby.
-
SpaceVM
SpaceVM — это программное обеспечение на базе Linux.
В SpaceVM входит комплект совместимых (проверенных) версий ПО, необходимый для корректного функционирования. Обновление ПО в составе SpaceVM может проводиться только с использованием сертифицированных репозиториев вендора. Обновления из других источников не допускаются, иначе вендор не несет ответственности за ущерб, нанесенный данным клиента.
Примечание
При соблюдении требования установки (обновления) ПО только с репозиториев вендора корректное функционирование SpaceVM. При необходимости использования дополнительного (стороннего) ПО необходимо связаться с технической поддержкой вендора.
Управление ВМ
Управление ВМ обеспечивается модулем-гипервизором qemu-kvm, входящим в состав ТОС. Гипервизор qemu-kvm устанавливается непосредственно на физический сервер вместе с ТОС с дистрибутива SpaceVM и отдельной установки не требует.
Супервизор узла
Супервизор узла — это python сервис в SpaceVM под именем в CLI node-engine. Сервис занимается запуском, остановкой и мониторингом состояния дочерних демонов.
Список дочерних демонов указан в таблице в порядке очередности запуска (может незначительно меняться в зависимости от версии).
Название | Описание |
---|---|
RpcServer | Сервис связи с контроллером |
RpcExecuteDaemon | Сервис выполнения операций от контроллера |
DomainStatus | Сервис обработки статистики по ВМ (цикл раз в 5 секунд) |
EventCollector | Сервис сбора сообщений о жизненном цикле от виртуальных машин |
DomainStatistics | Сервис отправки статусов виртуальных машин контроллеру (цикл раз в 5 секунд) |
Ballooning | Сервис балунинга узла (цикл раз в 5 секунд) |
StorageStatus | Сервис распознавания всех подключенных хранилищ и их вложенных сущностей (цикл раз в 30 секунд) |
HeartBeat | Сервис обновления состояния связи узла с контроллером и кворумом (цикл раз в 15 секунд) |
StorageHeartbeat | Сервис связности узла с контроллером и кворумом через файлы в сетевых пулах данных (цикл раз в 5 секунд) |
NetworkStatus | Сервис распознавания всех сетевых сущностей на узле (цикл раз в 30 секунд) |
ClusterStatus | Сервис определения и работы лидера кластера (цикл раз в 30 секунд) |
HardwareStatus | Сервис проверки состояния железа (цикл раз в 180 секунд) |
LibvirtCollector | Сервис сбора детальной статистики виртуальных машин (цикл раз в 5 секунд) |
ControllerEventListener | Сервис получения дополнительных сообщений от контроллера |
SnmpMibExtender | Сервис сбора статистики и расширения стандартного MIB для получения Space-специфичной информации (цикл раз в 30 секунд) |
WsDataHandler | Сервис получения сигналов базы данных, фильтрования их и отправления их демону терминации WS-соединений |
RecoveryDaemon | Демон, поднимающий ВМ, которые помечены как high available |
Супервизор контроллера
Супервизор контроллера — это python сервис в SpaceVM под именем в CLI controller-engine. Сервис занимается запуском, остановкой и мониторингом состояния дочерних демонов.
Список дочерних демонов указан в таблице в порядке очередности запуска (может незначительно меняться в зависимости от версии).
Название | Описание |
---|---|
GRPCManager | Демон связи с узлами |
StorageEventListener | Демон, прослушивающий очередь со статусами хранилищ от узлов |
NetworkEventListener | Демон, прослушивающий очередь со статусами сети от узлов |
DomainEventListener | Демон, прослушивающий очередь со статусами ВМ от узлов |
Events | Демон, сохраняющий сообщения о выполненных командах в CLI, сообщениях от узла и от загрузчика файлов |
HeartBeatDaemon | Демон, осуществляющий проверку доступности узлов и ставящий задачи на ограждение недоступных узлов (цикл раз в 5 секунд) |
NodeControllerManager | Демон управления узлами и контроллером |
TaskProcessor | Демон выставления статусов и выполнения success/failed методов функций |
TaskPreProcessor | Демон сбора результатов выполнения задач с узлов |
MultiTaskProcessor | Демон обработки запросов на выполнение следующей по счету задачи в рамках мультизадач |
MultiTaskLevelProcessor | Демон, реализующий логику запуска задач текущего уровня мультизадачи |
TaskChecker | Демон запуска задач по расписанию и проверки активных и завершенных задач на узлах (цикл раз в 15 секунд) |
TaskProgressWatcher | Демон выставления прогресса задач после получения прогресса от узлов |
DomainStatus | Демон обработки статистики ВМ с узлов |
StorageStatus | Демон обработки статусов хранилищ с узлов |
NetworkStatus | Демон обработки статусов сети с узлов |
ClusterStatus | Демон проверки загрузки узлов и доступности ВМ (цикл раз в 90 секунд) |
DRSDaemon | Демон распределения нагрузки между узлами (цикл раз в 5 секунд) |
Fencer | Демон, осуществляющий ограждение узлов |
RecoveryDaemon | Демон, поднимающий ВМ, которые помечены как high available |
WsDataHandler | Сервис получения сигналов базы данных, фильтрования и отправления их демону терминации WS-соединений |
ControllerHerald | Демон, получающий дополнительную информацию от API и рассылающий ее узлам |
Описание сервисов
Примечание
Список сервисов отличается в зависимости от типа установки и версии.
Название | Описание | Расположение или просмотр журналов |
---|---|---|
controller-engine | Супервизор контроллера | /var/log/veil/controller/controller.log |
controller-db (postgresql) | Postgresql (Реляционная база данных супервизора контроллера, работа ведется через PgBouncer) | /var/log/postgresql |
controller-web-api | Web-сервер контроллера | /var/log/veil/controller/django.log |
controller-web-proxy | Асинхронный прокси-сервер контроллера между nginx и Web-сервером контроллера | /var/log/veil/controller/veil_async.log |
controller-web-uploader | Асинхронный сервис контроллера загрузки файлов в пулы данных | /var/log/veil/controller/veil_async.log |
controller-log-sender | Асинхронный сервис контроллера отправки логов внешней системе | /var/log/veil/controller/veil_async.log |
loki | Loki (движок и база данных журналов) | /var/log/loki |
controller-websocket | Асинхронный сервис WS-соединений (принимает запросы на подписки пользователей и отправляет данные об изменениях в базе данных подписчикам) | /var/log/veil/controller/veil_async.log |
prometheus | Prometheus (база данных статистики) | /var/log/prometheus |
node-engine | Супервизор узла | /var/log/veil/node/node.log |
node-web-api | Web-сервер узла | /var/log/veil/node/django.log |
node-web-proxy | Асинхронный прокси-сервер узла между nginx и Web-сервером контроллера | /var/log/veil/node/veil_async.log |
node-web-uploader | Асинхронный сервис узла загрузки файлов в пулы данных | /var/log/veil/node/veil_async.log |
node-statistics | Prometheus-node-exporter (сервис сбора статистики о системе) | /var/log/syslog |
td-agent | Fluentd based data collector for Treasure Data (сервис сбора журналов системы) | /var/log/td-agent |
iscsi | iSCSI initiator сервис | /var/log/syslog |
multipath | Device-Mapper Multipath Device Controller | /var/log/syslog |
nginx | Граничный Web-сервер | /var/log/nginx |
ntp | Сервис синхронизации времени | /var/log/syslog |
redis | База данных супервизоров контроллеров и узлов NoSQL | /var/log/redis |
beanstalkd | Сервис очередей | /var/log/syslog |
snmp | Сервис SNMP | /var/log/syslog |
gluster | Сервис кластерного транспорта типа gluster | /var/log/glusterfs |
corosync | Сервис кворума кластерного транспорта типа gfs2 | /var/log/corosync/corosync.log |
dlm | Сервис блокировок и ограждения кластерного транспорта типа gfs2 | dmesg |
watchdog | Сервис слежения за "здоровьем" системы | /var/log/watchdog |
consul | Сервис выбора лидера и базы данных кластера | /var/log/syslog |
Схема системных пользователей
Примечание
Схемы системных пользователей контроллера и узла идентичны.
space - общая группа системных пользователей.
admins - группа SSH-пользователей.
Таблица временных параметров системы
Здесь приведены временные параметры системы, по достижению которых происходит проверка и изменение состояния.
Название | Инициатор | Параметр времени | Описание |
---|---|---|---|
Автотестирование системы | cron, CLI, WEB | Ежесуточно (в 1 час 1 минуту ночи) и при запуске (инициализации) узла | Происходит проверка файлов конфигураций и контроль статусов сервисов |
Сканирование ВМ | Супервизор узла (DomainStatus, LibvirtCollector) | 5 секунд | Проверка статусов питания ВМ, связи с агентом, статистики |
Сканирование хранилищ | Супервизор узла (StorageStatus) | 30 секунд | Сбор всех сущностей хранилищ с размерами |
Сканирование сетевых сущностей | Супервизор узла (NetworkStatus) | 30 секунд | Сбор всех сущностей сети |
Ballooning | Супервизор узла (Ballooning) | 5 секунд | Контроль памяти ВМ |
HardwareStatus | Супервизор узла (HardwareStatus) | 180 секунд | Проверка состояния "железа" |
Multitask divisor | Супервизор контроллера (MultitaskProcessor) | 4 | Количество параллельных задач в последовательных блоках мультизадач |
Установка и базовая настройка ↵
Общие сведения
Варианты установки
Выполнить установку SpaceVM на сервер можно как с физических носителей, таких как DVD-диск и USB-накопитель, так и без использования физических носителей, загрузив ISO-образ через интерфейс IPMI или с помощью сервера сетевых установок технологии PXE.
Устройства для установки Space VM могут быть как локальными (диски, SSD, логические диски локального RAID-контроллера), так и сетевыми (FC LUNs).
Независимо от выбранного метода установки существует 2 режима установки: ручной и полуавтоматический.
При использовании ручного режима установки необходимо самостоятельно выполнить разметку дисков и выбрать диск, на который будет выполнена установка загрузчика Grub, задать пароль от учетной записи root, выбрать часовой пояс и выполнить настройку сетевых интерфейсов.
При использовании полуавтоматического режима, в отличие от ручного, все перечисленные настройки будут заданы автоматически.
Основные требования
Для успешной установки программы на серверную платформу без использования IPMI к ней должны быть подключены следующие устройства:
-
монитор;
-
клавиатура;
-
привод DVD-ROM.
В случае невозможности подключить выше перечисленные устройства к серверу или при наличии доступа к серверу по протоколу IPMI или к Web-интерфейсу управления IPMI модуля, следует производить установку используя IPMI.
Подробную информацию о совместимом оборудовании можно найти в разделах Системные требования и Совместимое оборудование.
Примечание
Перед установкой программы на серверную платформу должны быть установлены сетевые карты в соответствии с конструкторской документацией.
Подготовка к работе
Перед началом работы необходимо выполнить следующие действия:
-
убедиться, что все оборудование комплектно, исправно и соответствует минимальным требованиям. Если в состав кластера виртуализации будет входить оборудование, не входящее в комплект поставки, его также надо подготовить до начала развертывания кластера;
-
при развертывании кластера в рамках уже существующей инфраструктуры необходимо заранее собрать информацию, требуемую для корректной интеграции SpaceVM в инфраструктуру. Для оценки объёма необходимой информации перед началом развертывания необходимо ознакомиться с данным руководством;
-
для корректной работы SpaceVM необходимо на всех серверах кластера настроить IPMI-интерфейсы таким образом, чтобы они находились в одной подсети. Использование данной подсети для других целей, в том числе в рамках SpaceVM, не допускается.
Примечания
- При наличии собственной системы мониторинга и управления по IPMI необходимо учитывать, что управление серверами кластера другими средствами (не самого кластера) по данному протоколу может нарушить его работу. В данном случае исполнитель (разработчик) не несет ответственности за ущерб, нанесенный данным клиента.
- В общей сложности в рамках SpaceVM будет функционировать четыре служебные, частично или полностью, изолированные сети. При настройке SpaceVM необходимо учитывать, что данные сети не смогут быть использованы для других целей в дальнейшем, так как система управления SpaceVM не позволит их инициализировать, а принудительная (ручная) настройка их может вызвать отказы в работе или снижение производительности системы.
- Возможна установка SpaceVM в роли Controller, Node или Controller+Node на ВМ, работающих в средах SpaceVM, VMware, Oracle Virtualbox, Microsoft Hyper-V, RHEV и других без ограничений.
- Возможна загрузка образа ВМ с предустановленной SpaceVM в роли Controller+Node с официального сайта https://spacevm.ru по запросу.
Проверка целостности программы
Проверка контрольной суммы установочного компакт-диска
Непосредственно перед установкой должна быть проверена контрольная сумма установочного компакт-диска SpaceVM. Проверка контрольной суммы осуществляется на ЭВМ с установленной ОС Debian версии 10.0 и выше.
Для проверки контрольной суммы установочного диска необходимо выполнить следующую последовательность действий:
-
войти в ОС под учетной записью суперпользователя (учетная запись root) и дождаться приглашения ввода консоли;
-
вставить компакт-диск с дистрибутивом SpaceVM в дисковод DVD-ROM;
-
смонтировать компакт-диск с помощью команды
mount /dev/sr0 /mnt/cdrom
; -
перейти в каталог точки монтирования компакт-диска (каталог с содержимым компакт-диска) с помощью команды
cd /mnt/cdrom
.
Примечание
Каталог точки монтирования компакт-диска зависит от настроек рабочего места и может отличаться.
-
в командной строке набрать команду для подсчета контрольной суммы
find . -type f -exec md5sum {} \; | sort -k2 | md5sum
Примечание
Будьте внимательны при наборе команды.
-
дождаться окончания выполнения введенной команды и получить на мониторе подсчитанную контрольную сумму;
-
размонтировать компакт-диск с помощью команды
cd /; umount /dev/cdrom
; -
извлечь компакт-диск из дисковода DVD-ROM.
Программа считается готовой к установке, если контрольная сумма, отображенная на мониторе ЭВМ для компакт-диска, совпала с контрольной суммой этого диска, записанной в формуляре.
Предупреждение
При несовпадении контрольных сумм запрещается производить дальнейшие действия по установке программы.
Проверка контрольных сумм файлов компакт-диска
Для оперативной проверки образа SpaceVM, чтобы убедиться в том, что он не поврежден, в корне установочного диска имеется файл «md5sum.txt» с контрольными суммами файлов диска. Для проверки установочного диска SpaceVM нужно загрузиться в режиме «Live CD» и перейти на смонтированный носитель дистрибутива SpaceVM с помощью команды:
cd /run/live/medium/
md5sum -c md5sum.txt
Проверка контрольной суммы ISO-образа
Для проверки контрольной суммы ISO-образа дистрибутива необходимо выполнить следующие действия:
-
войти в ОС под учетной записью суперпользователя (учетная запись root);
-
перейти в каталог размещения ISO-образа и примонтировать ISO-образ в существующий каталог с помощью команды:
mount <имя_файла>.iso /mnt/cdrom
- перейти в каталог с содержимым ISO-образа с помощью команды:
cd /mnt/cdrom
- запустить подсчет контрольной суммы командой:
find . -type f -exec md5sum {} \; | sort -k2 | md5sum
-
дождаться окончания выполнения введенной команды и получить на мониторе подсчитанную контрольную сумму;
-
размонтировать ISO-образ с помощью команды:
cd /; umount /dev/sr0
Варианты установки ↵
Установка с CD/DVD-диска
Для успешной установки SpaceVM необходимо удостовериться в поддержке оборудованием данного метода установки.
Порядок действий
-
вставить компакт-диск SpaceVM в дисковод CD/DVD-ROM;
-
при загрузке сервера активировать опцию Boot menu;
-
при появлении меню выбрать из списка необходимый привод CD/DVD;
Примечание
Если пункт загрузки с CD/DVD не обнаружен, зайти в BIOS, используя опцию BIOS Setup, и убедиться, что опция загрузки с CD/DVD активирована и необходимый привод CD/DVD есть в списке доступных устройств.
-
после отображения на экране монитора выбора типа установки перейти к Процесс установки.
Установка с USB-накопителя
Для успешной установки SpaceVM необходимо удостовериться в поддержке оборудованием данного метода установки.
Порядок действий
-
установить USB-накопитель в разъем USB;
-
при загрузке сервера активировать опцию Boot menu;
-
при появлении меню выбрать из списка необходимый USB-накопитель;
Примечание
Если пункт загрузки с USB-накопителя не обнаружен, зайти в BIOS, используя опцию BIOS Setup, и убедиться, что опция загрузки с USB-накопителя активирована и необходимый USB-накопитель есть в списке доступных устройств.
-
после отображения на экране монитора выбора типа установки перейти к Процесс установки.
Подготовка USB-накопителя в ОС Linux
Чтобы создать загрузочный образ SpaceVM на USB-накопителе, достаточно сделать секторную копию установочного компакт-диска.
В ОС Linux при помощи утилиты dd выполнить команду: sudo dd if=/dev/cdrom0 of=/dev/sdb
,
где /dev/cdrom0 - имя накопителя с вставленным CD-ROM,
а /dev/sdb - имя USB Flash накопителя.
Подготовка USB-накопителя в ОС Windows через Ventoy
При использовании ПО Ventoy необходимо выполнить следующие действия:
-
скачать программу Ventoy;
-
распаковать скачанный архив в любую удобную директорию;
-
запустить Ventoy2Disk;
-
выбрать накопитель:
-
установить опцию "Option - Partition Style - GPT";
-
нажать "Install";
-
монтировать раздел;
-
копировать образ SpaceVM в соответствующий раздел;
-
загрузить с носителя с выбором установки образа SpaceVM.
Подготовка USB-накопителя в ОС Windows через Rufus
При использовании ПО Rufus необходимо выполнить следующие действия:
-
перейти в расширенные свойства диска и установить опцию "Добавить исправления для старых BIOS";
-
использовать режим записи "DD".
Установка через IPMI
Для успешной установки SpaceVM необходимо удостовериться в поддержке оборудованием данного метода установки.
Интерфейс IPMI позволяет удалённо устанавливать ОС и подключать файл-образ как виртуальный DVD-ROM на сервере или через удаленное хранилище (например, cifs).
Замечания
-
После выбора в установочном меню пункта установки некоторое время при загрузке установщика экран может ничего не показывать, и в таких случаях рекомендуется перезагрузить сессию KVM.
-
Рекомендуется использовать образы, находящиеся в той же сети, что и серверы.
-
Рекомендуется всегда использовать последние прошивки BMC.
-
В идеальном случае, если BMC это поддерживает, лучше использовать общедоступное хранилище типа cifs/nfs для монтирования образов.
-
Не рекомендуется ставить одновременно с одного и того же образа более 5 серверов (это индивидуально для каждой сети и имплементации BMC).
Установка по сети
Для успешной установки SpaceVM необходимо удостовериться в поддержке оборудованием данного метода установки.
Порядок действий
-
подготовить собственный источник установки по PXE и разместить в нем данные с носителя SpaceVM в соответствии с инструкцией по настройке ОС, установленной на сервере сетевой установки;
-
для установки с PXE при загрузке сервера активировать опцию Boot menu;
-
при появлении меню выбрать из списка необходимый сетевой интерфейс, подключенный к сети с настроенным сервисом PXE установки;
Примечание
Если пункт загрузки с USB-накопителя не обнаружен, зайти в BIOS, используя опцию BIOS Setup, и убедиться, что опция загрузки по сети (с PXE) активирована и необходимый сетевой интерфейс есть в списке доступных устройств.
-
при установке средствами, предоставляемыми интерфейсом управления IPMI, действовать в соответствии с инструкциями к данному интерфейсу, предоставленными производителем оборудования;
-
после отображения на экране монитора выбора типа установки перейти к Процесс установки.
Установка на сетевые multipath-диски
Общий случай multipath-устройств
Для включения поддержки установки на multipath-устройства (например, FC LUN) следует убедиться в поддержке такой возможности оборудованием. В частности, при загрузке с FC LUN следует верно выбрать последовательность загрузочных устройств в BIOS сервера, а в BIOS FC адаптера следует включить возможность загрузки с него, а также выбрать WWNN/WWPN и номер LUN для всех путей, по которым нужный LUN предоставляет FC фабрика. Для более подробных сведений обратитесь к документации производителя.
Внимание!
Не используйте Auto установки в данном режиме.
Режимы загрузки
На данный момент поддерживается только Legacy режим загрузки.
При загрузке с установочного накопителя следует добавить параметр "disk-detect/multipath/enable=true" в строку загрузки ядра
Редактирование производится выбором нужной строки меню и нажатием Tab, а загрузка с изменённой строкой -- нажатием Enter.
Замечание
При редактировании строки добавлять параметры следует перед частью "--- quiet", так как эта часть отвечает за добавление параметра "quiet" в строку загрузки целевой (устанавливаемой) системы и должна заканчивать строку.
В случае необходимости изменить параметры multipath нужно задать ещё один параметр -- "disk-detect/multipath/customize=true"
При этом перед пунктами разметки диска появятся два пункта меню: пункт для задания параметра path_selector
и пункт для задания параметра path_grouping_policy
Установка с применением FCoE адаптеров, требующих активации FCoE
Некоторые адаптеры (например, HPE 630FLB) требуют включения поддержки FCoE со стороны ОС. После этого установка производится аналогично установке на multipath FC LUN.
Для включения режима в установщике Space VM следует добавить дополнительно к параметру "disk-detect/multipath/enable=true" также параметр "netcfg/fcoe/enable=true"
В процессе установки будет выведен экран со списком доступных в системе сетевых адаптеров, а также их MAC-адресов. На данном этапе следует включить поддержку FCoE для адаптеров, через которые подключены загрузочные и системные диски (LUN в данном случае).
Если правильно выбраны адаптеры и сконфигурирована FC/FCoE сеть, то на этапе определения дисков появятся multipath-устройства из FC LUN, на которые следует устанавливать систему.
Частные случаи при установке на multipath-устройства
-
В ряде случаев (например, СХД HPE Nimble) не активируется multipath в процессе установки. При этом программа разметки дисков видит диски только как отдельные устройства (sd*), а не multipath с соответствующим uuid. Это связано с тем, что данные LUN не предоставляют некоторую необходимую информацию (ID_WWN). Для решения проблемы следует добавить в командную строку инсталлятора наряду с указанным выше
disk-detect/multipath/enable=true
ещё и ключdisk-detect/multipath/no-wwn=true
.Для релиза 6.4
Если установка проводится повторно и LUN уже содержат LVM-тома, с некоторой вероятностью при инсталляции multipath всё равно не собирается. Это вызвано преждевременным запуском службы LVM, монопольно захватывающей LUN. Для решения проблемы следует в консоли 2 или 3 выполнить команду
vgchange -an
илиlvm vgchange -an
, перейти в консоль 1, вернуться на шаг определения дисков и продолжить установку в режиме Guided partitioning, выбрав режим с LVM-разметкой. -
Также, например, с СХД HPE Nimble после успешной установки и перезагрузки узел с некоторой вероятностью "зависает" на стадии загрузки с сообщением Loading initial ramdisk.... Это может быть вызвано задержками в обмене данными с СХД при сборке multipath загрузочных устройств. Для решения проблемы следует попробовать загрузку с ключом командной строки
rootdelay=N
(временно добавляется через меню Grub), где N -- количество секунд (следует подобрать в пределах от 5 до 10) перед обращением к собранному корневому устройству при загрузке. Если этот ключ обеспечивает стабильную работу, то дальнейшую установку следует производить с заданием его в командной строке инсталлятора наряду с ключамиdisk-detect/multipath ...
, но после символов '---', разделяющих параметры инсталлятора и параметры, которые будут добавлены к командной строке установленной системы. На постоянной основе этот ключ к командной строке запуска уже установленной системы можно добавить при помощи команды CLIsystem cmdline edit
.
Установка программы
Время в BIOS и BMC
Время в BIOS и BMC
Проверьте и при необходимости установите правильное время в BIOS. В BMC (при наличии) желательно также установить правильное время.
Процедура установки SpaceVM
Установка SpaceVM возможна в трёх вариантах:
-
установка контроллера;
-
установка сервера виртуализации;
-
установка контроллера + сервера виртуализации.
Каждый из этих вариантов доступен в ручном или полуавтоматическом режиме. Вариант и режим выбираются при помощи загрузочного меню (рис. 3). При этом Controller соответствует установке контроллера, Controller + Node соответствует установке контроллера и сервера виртуализации, Node - установке сервера виртуализации, Install - ручному режиму, Auto - полуавтоматическому.
Установка SpaceVM выполняется в следующем порядке:
Дождаться появления меню установки, выбрать нужный пункт и нажать Enter;
в ручном режиме: настроить VLAN при необходимости
-
в меню конфигурации сети выбрать необходимый сетевой интерфейс, через который будет проходить подключение к сети с DHCP-сервером, и нажать Enter;
-
в полуавтоматическом режиме: сетевой интерфейс будет выбран и настроен автоматически (первый интерфейс с активным линком, режим DHCP);
Дождаться окончания подготовки к установке;
На этапе ввода названия хоста (Hostname) можно вернутся к ручной настройке статического IP-адреса сервера. Для этого
Необходимо в данном окне нажать <Go Back> и вернутся к предыдущему шагу.
Далее в окне выбора способа конфигурирования сети выбрать ручную настройку Configure network manually (рис. 7).
Для задания статического IP-адреса сервера необходимо ввести следующие параметры:
- IP-адрес сервера IP address, на который устанавливается SpaceVM. IP-адрес сервера зависит от сети и подсети организации. IP-адрес выбирается из любых незанятых адресов в диапазоне подсети, кроме "нулевого".
- маска подсети Netmask
- шлюз подсети Gateway
- DNS-сервер IPv4 Name server addresses
-
в ручном режиме: задать имя хоста в меню конфигурации сети и нажать <Continue>;
-
в полуавтоматическом режиме имя хоста будет задано автоматически:
- controller для варианта установки контроллера,
- controller_node для варианта установки контроллера и сервера виртуализации,
- node для варианта установки сервера виртуализации;
Примечание
Эти имена хостов — временные. Они будут автоматически переназначены впоследствии на UUID узлов в процессе настройки SpaceVM.
-
в ручном режиме: задать имя домена в меню конфигурации сети и нажать <Continue>;
- в полуавтоматическом режиме: имя домена не задаётся;
Примечание
Параметр Domain name может остаться пустым.
-
в ручном режиме: задать пароль для пользователя root в меню задания пользователей и паролей и нажать <Continue>;
-
в полуавтоматическом режиме: пароль пользователя root задаётся равным bazalt;
-
в ручном режиме: в меню задания пользователя и пароля повторно ввести заданный на предыдущем шаге пароль для пользователя root и нажать <Continue>;
-
в полуавтоматическом режиме: этот пункт отсутствует;
-
в ручном режиме: задать временную зону в меню выбора временной зоны и нажать Enter;
-
в полуавтоматическом режиме: временная зона не задаётся. Она будет задана впоследствии при настройке SpaceVM;
- в ручном режиме: инсталлятор предложит выбрать размер, доступный для группы томов LVM;
для Legacy системы необходимо изменить выставленные по умолчанию разделы на следующие, выбрать Finish partitioning and write changes to disk и нажать Enter;
для UEFI системы необходимо изменить выставленные по умолчанию разделы на следующие, выбрать Finish partitioning and write changes to disk и нажать Enter;;
Внимание
- Рекомендуемые размеры разделов можно увидеть далее в пункте "полуавтоматический режим".
- По умолчанию в ручном варианте разбивки размер раздела подкачки (Swap) делается равным количеству ОЗУ на данном компьютере. При большом количестве ОЗУ и небольшом размере НЖМД возможна ситуация, когда раздел подкачки станет слишком велик, исключая возможность нормальной установки. В таких случаях следует скорректировать размеры разделов вручную.
- Детальная информация по расчету раздела журналов приведена в Состав каталога журналов.
-
в полуавтоматическом режиме разбивка дисков будет произведена автоматически следующим образом:
1. для UEFI системы: + создан раздел ESP размером 256 МB; + создан загрузочный раздел размером 512 МB; + создана группа томов LVM sys_vg01 на весь оставшийся объём диска; + в нём созданы логические тома: * swap объёмом 4.1 GB (~3.81 GiB);
* root объёмом 20 GB (~18.63 GiB); * log_storage объёмом 80 GB (~74.5 GiB); * local_storage на весь оставшийся объём диска; 2. для Legacy системы: + создан загрузочный раздел размером 512 МB; + создана группа томов LVM sys_vg01 на весь оставшийся объём диска; + в нём созданы логические тома: * swap объёмом 4.1 GB (~3.81 GiB); * root объёмом 20 GB (~18.63 GiB); * log_storage объёмом 80 GB (~74.5 GiB); * local_storage на весь оставшийся объём диска; -
в ручном режиме необходимо подтвердить выбранную конфигурацию в меню разбивки диска, выбрав Yes и нажав Enter;
- в полуавтоматическом режиме это меню отсутствует;
Дождаться окончания процесса установки системы;
Внимание
В случае ошибки на этапе установки базовой системы или разбивки диска следует перезагрузить систему в режиме Space Live и удалить имеющиеся разделы с НЖМД, на который производится инсталляция, посредством утилит fdisk или dd.
- в ручном режиме необходимо выбрать /dev/sda в меню выбора места установки GRUB и нажать Enter;
- в полуавтоматическом режиме выбор диска для установки загрузчика GRUB производится автоматически;
Дождаться окончания полной установки;
После окончания установки аппаратная платформа автоматически перезагрузится;
После перезагрузки аппаратной платформы для доступа к CLI-интерфейсу управления ввести имя пользователя root и пароль, заданный при установке сервера.
Внимание
Для подключения к сети управления (СУ) SpaceVM используется виртуальный сетевой адаптер. Для обеспечения доступа к СУ SpaceVM используется выбранный при установке или первый физический сетевой интерфейс в системе, который подключается к виртуальному коммутатору. Данный физический интерфейс должен быть подключен к СУ SpaceVM до начала установки ПО.
Базовая настройка сервера
При соблюдении условий корректной установки дополнительная настройка не требуется.
Установка сервера виртуализации выполняется в следующем порядке:
-
выполнить действия, перечисленные выше в Процедуре установки SpaceVM;
-
дождаться появления меню установки, выбрать установку Install Node и нажать Enter;
-
далее последовательно выполнить все шаги установки.
Установка контроллера на узел SpaceVM
В данном разделе представлен способ установки Контроллера SpaceVM в виртуальную машину на сервер, на котором установлен SpaceVM в конфигурации node.
Предупреждение
Установка контроллера на узел SpaceVM является экспериментальным режимом. Все выявленные ошибки необходимо завести в Space Bugzilla.
Для этого необходимо выполнить следующие действия:
-
Выполнить установку на физический сервер SpaceVM в конфигурации node согласно разделу Установка и базовая настройка.
-
Войти в Web-интерфейс узла с установленной SpaceVM в конфигурации node. Подробная информация, о получении доступа к Web-интерфейсу узла содержится в разделе Web-интерфейс узла.
-
Создать виртуальную сеть. В качестве Физ. подключения указать
default
, nic_driver указатьvirtio
, а MTU указать равным1500
. Подробная информация, о создании виртуальной сети через Web-интерфейс узла содержится в разделе Виртуальные сети и коммутаторы. -
Создать локальный пул данных или подключить файловое хранилище или zfs пул и создать на нем пул данных. При создании локального пула данных путь указать
default
. Подробная информация о создании пулов данных содержится в разделе Пулы данных. -
Загрузить в созданный пул данных сервера SpaceVM iso-образ установочного диска SpaceVM. Подробная информация о загрузке iso-образов через Web-интерфейс узла содержится в разделе Образы ISO.
-
Создать виртуальный диск размером не менее 32 Гбайт (рекомендуется 120 Гбайт). Подробная информация о создании виртуальных дисков содержится в разделе Виртуальные диски.
-
Создать виртуальную машину, в качестве Диска указать созданный виртуальный диск в пункте 6, в качестве Образа ISO указать образ установочного диска SpaceVM и с параметрами не ниже указанных в разделе Требования к техническим средствам, а именно:
- Размер RAM - не менее 8 Гбайт;
- Количество vCPU - не менее 1;
- Максимальное количество vCPU - не менее 2;
- Графический пароль и Описание можно не указывать.
-
Подключить ВМ к созданной виртуальной сети. Подробная информация содержится в разделе Интерфейсы.
-
Включить ВМ и осуществить подключение к ней через Web-интерфейс узла по протоколу SPICE или VNC. Подробная информация содержится в разделе Управление ВМ.
-
Подключившись к ВМ по протоколу SPICE или VNC через Web-интерфейс узла выполнить установку и настройку SpaceVM в конфигурации Controller согласно разделу Установка и базовая настройка.
IP-адрес
Для корректной работы необходимо настроить статический IP-адрес ВМ с установленным контроллером.
-
После завершения установки в Web-интерфейсе контроллера добавить физический сервер к установленному контроллеру SpaceVM. Подробная информация содержится в разделе Добавление сервера.
-
В Web-интерфейсе контроллера выполнить сканирование хранилищ узла, пулов данных, пула данных узла. Как альтернатива, можно сразу выполнить сканирование хранилищ кластера. Подробная информация содержится в разделе Пулы данных.
-
В Web-интерфейсе контроллера выполнить синхронизацию сетевых настроек узла. Подробная информация содержится в разделе Информация о сети.
-
В Web-интерфейсе контроллера выполнить сканирование и восстановление ВМ узла. Подробная информация содержится в разделе Виртуальные машины и шаблоны.
Установка SpaceVM для тестирования на VmWare
Для реализации функционала виртуальных коммутаторов в SpaceVM используется ПО OpenVSwitch. Соответственно сетевой интерфейс управления кластером является виртуальным. В среде VmWare, у виртуальных коммутаторов, базовая настройка политики безопасности «Forged transmits» и «Promiscuous mode» находится в состоянии «Disabled».
Примечание
Forged transmits - поддельные передачи. Promiscuous mode - неразборчивый режим. Отключение данных режимов запрещает передачу пакетов данных через виртуальный коммутатор между MAC-адресами сетевых карт, о которых коммутатор не знает.
Интерфейс управления кластером SpaceVM является виртуальным и находится внутри ВМ, все пакеты от него и к нему при таком состоянии политики безопасности будут блокироваться. Для предотвращения блокировки передачи пакетов данных необходимо включить эти режимы.
Для работы в среде ESXi достаточно включить их для группы портов (Networking - Port groups) виртуального коммутатора (Networking — Virtual switches), в которую подключена ВМ с установленной SpaceVM.
Если вы используете стандартный vSwitch, управляя серверами из vCenter, эти настройки производятся в разделе Host and Clusters — целевой сервер — Configure — Networking — Virtual switches — Standart Switch: <имя_коммутатора> - <имя_группы>.
Для работы с распределенными коммутаторами Distributed Switch необходимо изменить политики безопасности как для группы портов, так и отключить опцию блокировки портов (Block ports) для группы портов и аплинков.
Ended: Варианты установки
Процесс установки
С подробным описанием процесса установки можно ознакомиться в разделе Установка программы.
Действия при ошибке установки в режиме UEFI
Порядок действий
Время в BIOS и BMC
Проверьте и установите правильное время.
Установка SpaceVM выполняется в следующем порядке:
1. Выбор варианта установки
Ручной режим установки
После появления меню установки выбрать один из следующих вариантов: Controller, Controller + Node или Node.
-
Controller - установка контроллера.
-
Controller + Node - установка контроллера с возможностью использования собственных свободных вычислительных мощностей в качестве сервера виртуализации.
-
Node - установка сервера виртуализации.
Полуавтоматический режим установки
После появления меню установки выбрать один из следующих вариантов: Auto Controller, Auto Controller + Node или Auto Node.
-
Auto Controller - установка контроллера в полуавтоматическом режиме.
-
Auto Controller + Node - установка контроллера в полуавтоматическом режиме с возможностью использования собственных свободных вычислительных мощностей в качестве сервера виртуализации.
-
Auto Node - установка сервера виртуализации в полуавтоматическом режиме.
Install соответствует ручному режиму, Auto - полуавтоматическому.
2. Сетевые настройки
В меню конфигурации сети выбрать необходимый сетевой интерфейс, через который будет проходить подключение к сети с DHCP-сервером, или выбрать ручную настройку, указать интерфейс, а также его настройки, такие как IP-адрес, маску сети и основной шлюз.
Переход к ручной настройке статического IP-адреса сервера можно выполнить двумя способами:
-
дождаться окна для ввода названия хоста (Hostname) и нажать <Go Back>.
Далее в окне выбора способа конфигурирования сети выбрать ручную настройку Configure network manually (рис. 2).
-
во время автоматической установки сети с DHCP-сервером (этап Configuring the network with DHCP) прервать процесс, нажав Cancel.
Далее подтвердить прерывание автоматической настройки, нажав <Continue>
В окне выбора способа конфигурирования сети выбрать ручную настройку Configure network manually (рис. 2).
Для задания статического IP-адреса сервера необходимо ввести следующие параметры:
-
IP-адрес сервера IP address, на который устанавливается SpaceVM. IP-адрес сервера зависит от сети и подсети организации. IP-адрес выбирается из любых незанятых адресов в диапазоне подсети, кроме "нулевого".
-
маска подсети Netmask
-
шлюз подсети Gateway
-
DNS-сервер IPv4 Name server addresses
Задать имя сервера в меню конфигурации сети и нажать <Continue>.
Примечание
Имя хоста — временное. Оно будет автоматически переназначено впоследствии на UUID узлов в процессе дальнейшей настройки SpaceVM.
4. Имя домена
Задать имя домена в меню конфигурации сети и нажать <Continue>.
Примечание
Параметр Domain name может остаться пустым.
5. Пароль учетной записи root
Задать пароль для пользователя root в меню задания пользователей и паролей и нажать <Continue>.
6. Повторный ввод пароля учетной записи root
В меню задания пользователя и пароля повторно ввести заданный на предыдущем шаге пароль для пользователя root и нажать <Continue>.
7. Настройка часового пояса
Задать часовой пояс в меню выбора временной зоны и нажать Enter.
8. Разметка дисков
Разметка диска в автоматическом режиме будет осуществлена следующим образом:
для UEFI системы:
- создан раздел ESP размером 256 МB;
- создан загрузочный раздел размером 512 МB;
- создана группа томов LVM sys_vg01 на весь оставшийся объём диска со следующими логическими томами:
- swap объёмом 4.1 GB (~3.81 GiB);
- root объёмом 20 GB (~18.63 GiB);
- log_storage объёмом 80 GB (~74.5 GiB);
- local_storage на весь оставшийся объём диска;
для Legacy системы:
- создан загрузочный раздел размером 512 МB;
- создана группа томов LVM sys_vg01 на весь оставшийся объём диска со следующими логическими томами:
- swap объёмом 4.1 GB (~3.81 GiB);
- root объёмом 20 GB (~18.63 GiB);
- log_storage объёмом 80 GB (~74.5 GiB);
- local_storage на весь оставшийся объём диска;
Далее выбрать Finish partitioning and write changes to disk, нажать Enter и подтвердить конфигурацию, выбрав Yes и потом Enter.
Внимание
- По умолчанию в ручном варианте разбивки размер раздела подкачки (Swap) делается равным количеству ОЗУ на данном компьютере. При большом количестве ОЗУ и небольшом размере НЖМД возможна ситуация, когда раздел подкачки станет слишком велик, исключая возможность нормальной установки. В таких случаях следует скорректировать размеры разделов вручную.
- Детальная информация по расчету раздела журналов приведена в Составе каталога журналов.
- Не рекомендуется отходить от схемы LVM разбивки разделов. В случае LVM разбивки в последующем возможно менять размер разделов локального хранилища и журналов, а также перемещать их на другой накопитель. Подробнее см. в Описании команд расширения и перемещения системных разделов
9. Окончание процесса установки
Дождаться окончания процесса установки системы.
Внимание
В случае ошибки на этапе установки базовой системы или разбивки диска следует перезагрузить систему в режиме Space Live и удалить имеющиеся разделы с НЖМД, на который производится инсталляция, посредством утилит fdisk или dd.
10. Установка загрузчика GRUB
Необходимо выбрать необходимый диск, например, /dev/sda в меню выбора места установки GRUB и нажать Enter.
11. Окончание полной установки
Дождаться окончания полной установки, после чего аппаратная платформа автоматически перезагрузится.
12. Действия после перезагрузки
После перезагрузки сервер будет некоторое время, которое зависит от мощности аппаратной платформы, выполнять необходимую конфигурацию. Во время конфигурации Web-интерфейс не будет доступен, а также будет ограничена функциональность CLI-интерфейса. После завершения конфигурации все ограничения будут сняты. Для доступа к CLI-интерфейсу управления необходимо ввести имя пользователя root и пароль bazalt.
Внимание!
Для подключения к СУ SpaceVM используется виртуальный сетевой адаптер. Для обеспечения доступа к СУ SpaceVM используется выбранный при установке или первый физический сетевой интерфейс в системе, который подключается к виртуальному коммутатору. Данный физический интерфейс должен быть подключен к СУ SpaceVM до начала установки ПО.
Базовая настройка ↵
Изменение сетевых параметров из консоли сервера
Для проверки сетевых настроек сервера, необходимых для сборки кластера, надо подключиться к консоли сервера и авторизоваться пользователю с учетной записью root и паролем, который был задан при установке ПО.
После авторизации в консоли пользователю будет предоставлен доступ в CLI-интерфейс.
Для проверки настроек сетевой подсистемы используется команда
net info
.
Данная команда возвращает настройки виртуального сетевого интерфейса
управления mgmt и необходимые настройки физических интерфейсов.
На основании полученной информации можно определить, был ли выдан
IP-адрес интерфейсу mgmt или нет, и какой физический интерфейс
подключен в коммутатор СУ SpaceVM default.
Для проверки настроек тегов согласно стандарту IEEE 802.1Q для интерфейса mgmt и физического интерфейса используется команда
net show vlan
.
После установки СУ SpaceVM применяются следующие настройки:
- физический интерфейс настроен в режиме trunk и может принимать тегированный трафик согласно стандарту IEEE 802.1Q, а также нетегированный трафик. Тегированный трафик будет иметь тег, соответствующий тегу в заголовке данных. Нетегированный трафик будет иметь тег 0 (vlan id = 0);
- интерфейс mgmt настроен в режиме access. При этом принимает трафик только нетегированный (vlan id = 0). Для
того чтобы указать определенный тег, необходимо использовать команду
net conf vlan
.
Для изменения физического интерфейса, подключенного к коммутатору
СУ SpaceVM, используется команда
net conf ports
.
Для проверки сопоставления имен интерфейсов с физическими портами
на самом сервере используется команда net conf ports blink
.
Изменение настроек IP-адреса для виртуального сетевого интерфейса
управления mgmt выполняется командой
net conf ip
.
Управление vlan-тегом для физических интерфейсов СУ SpaceVM
выполняется командой
net conf vlan
.
Синтаксис команды следующий:
net conf vlan set -i <interface> -m {access,trunk,native-tagged,native-untagged} [-t <vlan tag>] [-u [<vlan trunks> [<vlan trunks> ...]]]
.
Данная команда имеет следующие опции:
- i - имя порта;
- m - режим порта;
- t - номер vlan-тега для режимов access, native-tagged и native-untagged. При этом опция u не должна быть указана, если режим порта access, в противном случае порт будет в режиме trunk;
- u - номер vlan-тега или тегов для режима trunk. Если не указывать номера, то это означает все номера vlan. Опция не должна быть указана, если режим порта access.
Примечание
Настройка номеров vlan-тегов выполняется согласно стандарту IEEE 802.1Q.
Управление агрегацией для физических интерфейсов СУ SpaceVM выполняется командой
net conf bonds
.
Для интерфейса управления mgmt используется команда
net conf ports set-default-bond
.
Для команд агрегации доступно расширенное описание по ключу -h. Для управления СУ SpaceVM надо использовать имя коммутатора default. Перечисление физических интерфейсов, объединяемых агрегацией, производится через пробел.
Для всех команд в интерфейсе CLI доступны подсказки. Для использования автоматического дополнения команд необходимо использовать на клавиатуре клавишу «Tab», а для получения подсказки необходимо выполнить команду без аргументов или с ключом «–h». Более подробное описание команд в интерфейсе CLI приведено в разделе CLI.
Технология VROC
В некоторых моделях серверов фирмы Intel используется технология Intel VROC. Intel VROC позволяет собирать рейды из разных типов SSD, будь то PCIeSSD, или же форм-факторы U.2, или привычные бытовые M.2 накопители с помощью специального модуля в процессор.
Выдержка из официальной документации:
Intel® Virtual RAID на CPU (Intel® VROC) — это корпоративное решение RAID, специально разработанное для твердотельных накопителей на базе NVMe.
Примечание
Часто задаваемые вопросы по VROC можно посмотреть по ссылке: https://www.intel.ru/content/www/ru/ru/support/articles/000024550/memory-and-storage.html
Использование VROC
Intel VROC для Linux создан на базе технологии MD RAID, однако обладает расширенным функционалом. Для использования технологии VROC с жёсткими дисками отличными от фирмы Intel необходимо приобрести аппаратный ключ. При конфигурации сервера жёсткими дисками фирмы Intel, например твердотельными накопителями Intel PCIe Gen3 x8, технологию VROC можно использовать без аппаратного ключа.
Таким образом, фирма Intel даёт некоторый бонус при использовании комплектующих собственного производства. При этом, в документации указано, что технология VROC может как заработать, так и не заработать. То есть, производитель не гарантирует работоспособность без аппаратного ключа.
Для использования нужно в BIOS сервера установить режим использования дисков - RAID. После перезагрузки сконфигурировать логический диск в BIOS RAID.
Далее необходимо установить SpaceVM. В процессе установки необходимо сконфигурировать LVM раздел на логическом диске, который был сконфигурирован в BIOS RAID (Процедура установки SpaceVM).
Важным условием является то, что в конце установки Space VM необходимо вручную прописать устройство, на которое будет устанавливаться загрузчик Grub (Ручной режим установки данного руководства). Имя устройства можно увидеть в процессе конфигурации разделов LVM. Пример имени устройства - /dev/md126.
Подкачка
Раздел подкачки размером 4 Гбайт создаётся при автоматической разбивке диска во время установки системы. Также такой раздел может быть создан при ручной разбивке.
При объёме ОЗУ на узле более 16 Гбайт подкачка автоматически отключается при начальной настройке во время первого запуска системы.
При необходимости можно воспользоваться командами CLI:
system swap status
показывает текущее состояние подкачки.
system swap disable
отключает подкачку.
system swap enable
включает подкачку.
Ended: Базовая настройка
Ended: Установка и базовая настройка
Обновления ↵
Переход с совместимых платформ виртуализации на SpaceVM
Внимание!
- Список совместимых платформ виртуализации: ECP VeiL.
- Все работы перехода с совместимых платформ на SpaceVM доступны с версии 5.1.9.
- Если на совместимой платформе виртуализации используются видеокарты NVIDIA GRID, для корректной работы после перехода необходимо переустановить драйвера по инструкции.
Вариант 1. С использованием внешних репозиториев SpaceVM
-
Необходимо зайти в личный кабинет и запросить актуальный адрес репозиториев.
-
Перейти в CLI.
-
Обновить список подключенных репозиториев, выполнив команду:
system repo update
Во время выполнения команды необходимо ввести новый адрес репозитория.
-
Выполнить синхронизацию между узлами командой
node repo-sync
. -
Выполнить обновление
upgrade release
. -
Перезайти в CLI.
-
Убедиться в успешном завершении перехода на SpaceVM.
Вариант 2. С использованием локальных репозиториев на подготовленном виртуальном диске формата qcow2
-
Необходимо зайти в личный кабинет и сформировать запрос на виртуальный диск формата qcow2.
-
Сохранить виртуальный диск, любым удобным способом, на свой персональный компьютер.
-
Создать ВМ вне поддерживаемой платформы виртуализации с загруженным виртуальным диском.
Внимание!
ВМ должна обладать минимум 2 vCPU и 2 Гбайт ОЗУ, подключена к виртуальной сети без L2 - связности. Если ВМ создана на поддерживаемой платформе виртуализации, необходимо выполнить кэширование.
-
Подключиться по протоколу SPICE, VNC, SSH.
-
Пройти авторизацию под пользователем root.
-
Настроить сетевые интерфейсы (подробная инструкция).
-
Перейти в CLI поддерживаемой платформы виртуализации для перехода.
-
Прописать репозитории
system repo host_update {адрес ВМ с репозиторием}
. -
Сменить репозиторий с prod-510 на prod-600.
-
Сменить источник репозитория с veil на space.
-
Итоговые оба репозитория должны выглядеть, как
deb http://{адрес ВМ с репозиторием}/prod-600/ space main deb http://{адрес ВМ с репозиторием}/extra-600/ space main
-
Выполнить обновление
upgrade release
. -
Перезайти в CLI.
-
Убедиться в успешном завершении перехода на SpaceVM.
Вариант 3. С использованием собственного локального репозитория
Внимание!
Локальные репозитории должны располагаться вне совместимой платформы виртуализации.
-
Необходимо зайти в личный кабинет и запросить актуальный адрес репозиториев.
-
Установить утилиту apt-mirror для создания локального зеркала репозитория на выделенный для этого сервер (рекомендованы:ОС Debian версии 9, 10, 11):
apt-get update apt-get install apt-mirror -y
-
Привести конфиг /etc/apt/mirror.list к виду:
############# config ################## # # set base_path /var/spool/apt-mirror # # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # set cleanscript $var_path/clean.sh # set defaultarch <running host architecture> # set postmirror_script $var_path/postmirror.sh # set run_postmirror 0 set nthreads 20 set _tilde 0 # ############# end config ############## deb http://update.spacevm.ru/prod-600 space main deb http://update.spacevm.ru/extra-600 space main clean http://update.spacevm.ru/prod-600 clean http://update.spacevm.ru/extra-600
-
Создать локальное зеркало репозитория:
su - apt-mirror -c apt-mirror
- Установить nginx:
apt-get install nginx -y
-
Привести конфиг
/etc/nginx/sites-enabled/default
к виду:server { listen 80 default_server; root /var/spool/apt-mirror/mirror/update.spacevm.ru; server_name _; location / { try_files $uri $uri/ =404; autoindex on; } }
-
Обновить конфиг nginx:
nginx -s reload
-
Прописать репозитории на поддерживаемой платформе виртуализации:
system repo update Current file contents: deb http://update.spacevm.ru/prod-600/ space main Enter new contents: deb http://{LOCAL_REPO_SERVER_IP}/prod-600/ space main
-
Выполнить обновление:
upgrade release
-
Перезайти в CLI.
-
Убедиться в успешном завершении перехода на SpaceVM.
Общие сведения об обновлении SpaceVM
Процедуру установки обновлений рекомендуется выполнять на контроллере после проверки доступности всех узлов SpaceVM. При запуске установки обновлений на контроллере SpaceVM происходит синхронное обновление всех доступных контроллеру узлов SpaceVM. Требуется руководствоваться той версией программной документации (встроенной или с официального сайта по ссылке), которая соответствует установленной версии ПО.
Внимание!
Рекомендуется производить все работы с обновлениями SpaceVM на контроллере, убедившись в доступности всех узлов SpaceVM.
В случае отсутствия доступа к репозиториям SpaceVM, расположенным по адресу update.spacevm.ru, необходимо обеспечить такой доступ или развернуть собственный сервер обновлений с репозиториями SpaceVM. Как развернуть собственный сервер обновлений с репозиториями SpaceVM смотрите в разделе Использование собственного сервера обновлений.
Внимание!
Если во время обновления SpaceVM один или несколько узлов SpaceVM невозможно обновить, то необходимо выполнить в кратчайшее время обновление данных узлов до соответствующей версии.
Контроль и учет версий SpaceVM
Релизы имеют семантическую систему нумерации релизов, в которой каждый номер версии состоит из трех чисел, разделенных точками, например, 6.1.0.
При каждом обновлении номер версии ПО увеличивается по следующим правилам:
-
Первое число (х, мажорный релиз) - при значительных изменениях архитектуры ПО, возможно, без сохранения обратной совместимости.
-
Второе число (y, минорный релиз) - при добавлении большого объема новых возможностей ПО.
-
Третье число (z, патч релиз) - внесение исправлений в предыдущую версию ПО, с сохранением обратной совместимости.
Порядок обновлений
Все обновления выполняются последовательно, начиная снизу вверх. Сначала обновляется версия патча X.Y.Z, далее минорная версия X.Y.Z, далее мажорная версия X.Y.Z.
В общем случае порядок действий следующий:
-
Обновить текущую версию ПО до последней версии патча в текущем репозитории (см. установка патчей).
-
Для обновления минорной версии ПО сменить текущий репозиторий на репозиторий со следующей минорной версией. Обновить минорную версию до последней версии патча. Повторить действия необходимое количество раз и последовательно обновить минорную версию ПО до последней минорной версии (см. установка минорного обновления).
-
Для обновления мажорной версии ПО сменить репозиторий с последней минорной версией на репозиторий со следующей мажорной версией. Обновить мажорную версию до последней версии патча. Повторить действие необходимое количество раз и последовательно обновить мажорную версию ПО до последней мажорной версии (см. установка мажорного обновления).
Последовательность обновлений
Необходимо соблюдать последовательность обновлений. Запрещено обновлять минорные и мажорные версии, пропуская нумерацию. То есть нельзя обновляться, например, с версии 6.2 сразу до версии 6.4. Также крайне рекомендуется перед обновлением минорной версии обновиться до последней доступной на данный момент версии патча. Это связано с необходимостью последовательного применения миграций базы данных и возможных подготовительных этапов перед минорным обновлением.
Стабильность обновлений
Каждый последующий релиз стабильнее предыдущего в общем случае, так как обычно больше времени между релизами тратится на исправление ошибок и расширение вариаций поведения ПО, чем на добавление нового функционала. Поэтому обновляться всегда рекомендуется до последней версии. В случае выявления ошибок после обновления рекомендуется сразу обратиться к вендору для выпуска оперативного патча.
Обновляться или нет
Если пользователя всё устраивает и нужный функционал работает корректно, то обновляться не стоит. В остальных случаях рекомендуем обновиться до последней версии.
Текущий цикл жизни ПО предусматривает поддержку релизов в течение года.
Базовая версия ПО
Берётся из версии пакета utils, как базового для любого типа инсталляции.
Определение версии SpaceVM
Версию установленного SpaceVM можно узнать через Web-интерфейс или при помощи CLI.
Определение версии в Web-интерфейсе контроллера
Определить версию установленного SpaceVM можно несколькими способами:
-
В правом нижнем углу Web-интерфейса указана версия SpaceVM.
-
Перейти в раздел Настройки - Контроллер основного меню, далее выбрать пункт ПО и Сервисы - ПО. В открывшемся окне будут указаны версия контроллера SpaceVM и версии основных модулей.
-
Перейти в раздел Серверы основного меню, выбрать сервер, версию которого необходимо узнать. В открывшемся окне выбрать пункт ПО и Сервисы - ПО. В данном разделе будут указаны версия SpaceVM и версии основных модулей.
Определение версии в Web-интерфейсе узла
Чтобы определить версию SpaceVM, необходимо перейти в раздел Версия ПО основного меню и в открывшемся окне будут указаны версия SpaceVM и версии основных модулей.
Определение версии в CLI
Определить версию SpaceVM можно, выполнив в CLI следующую команду:
version
Пример вывода команды version
для определения версии контроллера:
SpaceVM V6.0.3, LLC “DACOM M”
controller-app: 6.0.3-3148
controller-env: 6.0.3-1090
controller-ui: 6.0.3-1075
cli-app: 6.0.3-1128
cli-env: 6.0.3-1024
node-app: 6.0.3-1057
node-env: 6.0.3-874
node-ui: 6.0.3-135
docs: 6.0.3-1217
utils: 6.0.3-1425
Пример вывода команды version
для определения версии узла:
SpaceVM V6.0.3, LLC “DACOM M”
cli-app: 6.0.3-1128
cli-env: 6.0.3-1024
node-app: 6.0.3-1057
node-env: 6.0.3-874
node-ui: 6.0.3-135
utils: 6.0.3-1425
Описание пакетов
utils - базовый пакет со всеми основными зависимостями, необходимыми для работы основных компонентов SpaceVM. По нему определяется базовая версия и от него зависят все остальные пакеты. Обновляется всегда первый. Включает систему автотестирования узла.
docs - документация в Web-интерфейсе. Есть только на контроллере. На официальный сайт выкладывается последняя документация из общей ветки разработки каждый раз при сборке пакета.
cli-env - зависимости CLI.
cli-app - CLI.
node-env - зависимости узла.
node-app - супервизор и Web-сервер узла.
node-ui - Web-интерфейс узла.
controller-env - зависимости контроллера.
controller-app - супервизор и Web-сервер контроллера.
controller-ui - Web-интерфейс контроллера.
Механизм обновления SpaceVM
Во время обновления SpaceVM выполняет следующие действия:
- Блокируется Web-интерфейс с выводом сообщения о том, что идет процесс обновления.
- Происходит повторная проверка наличия обновлений.
- Если происходит обновление контроллера, то останавливаются все сервисы. В том числе, перестают работать Высокая доступность и Динамическое распределение ресурсов между серверами.
- Обновляется пакетная база SpaceVM.
- Происходит автотестирование системы.
- После завершения обновления контроллера запускаются все сервисы. Высокая доступность и Динамическое распределение ресурсов работают в штатном режиме.
- Возобновляется штатная работа Web-интерфейса SpaceVM.
Предварительные условия для успешного обновления
Перед обновлением необходимо убедиться, что все локальные и сетевые хранилища, подключенные к узлам, функционируют исправно. В случае, если на каких-то узлах
присутствуют недоступные каталоги сетевых хранилищ или пулов данных (каталоги, которые не отвечают при обращении, например, по команде ls),
установка на этом узле может остановиться до решения проблемы, или может потребоваться перезагрузка узла.
Признак подобных проблем -- это остановка процесса обновления на стадии или после загрузки пакетов. Например, такое возможно при смонтированных ресурсах NFS и недоступном NFS-сервере или при неисправной кластерной ФС типа GFS2. В случае возникновения такой проблемы следует проверить, что это именно тот случай, а не прерванное интернет-соединение,
мешающее закачке пакетов обновлений. Характерный признак -- это множество процессов на узле в D-state (можно увидеть из shell командой ps -ax | grep \ D
). Следует определить неотвечающие каталоги
и решить проблему по месту.
Безопасность обновлений
Для обеспечения безопасности используется проверка целостности пакетов в репозиториях SpaceVM на основе хеш-суммы, и файл, содержащий контрольные суммы, подписан закрытым ключом с алгоритмом шифрования RSA 4096. При обновлении производится сверка хеш-сумм и проверка подписи с использованием открытого ключа, который поставляется в комплекте с SpaceVM. Таким образом, при повреждении пакета или его подмены установка выполнена не будет.
Работа с репозиториями SpaceVM
Репозитории SpaceVM
Обновление репозиториев реализовано с версии SpaceVM 6.3.0.
Для каждой минорной версии SpaceVM использует 2 публичных репозитория - основной (base) и дополнительный (extra), включающие пакетную базу с последними патчами. Например, для релиза SpaceVM 6.3.х основным является prod-630 и дополнительным extra-630.
Основной (base) репозиторий
В base репозиториях содержится основная пакетная база SpaceVM.
Дополнительный (extra) репозиторий
В extra репозиториях содержатся опциональные дополнительные пакеты, не входящие в базовую установку SpaceVM. При необходимости установить пакет, который не входит в репозитории SpaceVM, следует сформировать запрос в личном кабинете на добавление такого пакета в extra репозитории.
Получение списка репозиториев SpaceVM
Для получения списка подключенных репозиториев SpaceVM необходимо выполнить в CLI команду:
system repo get
Обновление списка репозиториев SpaceVM
Для обновления сервера источника обновлений используется команда CLI:
system repo update host {host}
Для обновления основного (base) репозитория/ветки:
system repo update base {prod}
Для обновления дополнительного (extra) репозитория/ветки:
system repo update extra {extra}
Где:
host
- <PROTO>://<FQDN> или <PROTO>://<IP> - адрес сервера обновлений, например: 'https://update.example.com'. Значение по умолчанию: http://update.spacevm.ruprod
- базовый репозиторий. Например: 'prod-630'.extra
- репозиторий для опционального '3rd-party' ПО. Например: 'extra-630'.
После обновления списка репозиториев на контроллере следует его синхронизировать между узлами:
node repo-sync
Синхронизация репозиториев между контроллером и узлами
В случае невозможности автоматической синхронизации списка репозиториев необходимо вручную выполнить изменение репозиториев на каждом узле SpaceVM.
Пример. Предположим, что используется SpaceVM версии 6.3.0 и требуется обновить кластер до следующей версии 6.4.0. В CLI заменяем репозиторий на 6.4.0 и последующее обновление синхронизирует SpaceVM, соответствующее версии 6.4.0:
system repo update base prod-640
system repo update extra extra-640
node repo-sync
Сброс настроек репозиторев
Можно вернуть все настройки в первоначальное состояние Сброс настроек командой:
system reset apt
В этом случае вернется настройка обновлений через официальный сервер обновлений SpaceVM https://update.spacevm.ru/.
Кэширование обновлений SpaceVM
Кэширования обновлений выполняется в CLI контроллера SpaceVM.
При установке минорных обновлений с базовых репозиториев SpaceVM из-за высокой суммарной нагрузки на сеть при одновременном обновлении всех узлов рекомендуется использовать механизм кэширования (сохранение файлов обновлений на локальном диске).
Также рекомендуется использовать механизм кэширования при невозможности обеспечить доступ к базовым или локальным репозиториям SpaceVM во время установки любых обновлений.
Перед кэшированием необходимо выполнить проверку связи с репозиториями SpaceVM и наличия обновлений, выполнив в CLI команду:
upgrade check
Далее следует выполнить кэширование перед началом обновления на контроллере. Для этого выполнить в CLI команду:
upgrade download
upgrade cache
После окончания кэширования следует выполнить команду установки обновлений с ключом -l
, например:
upgrade start -l
Внимание!
Для кэширования обновлений может потребоваться наличие значительного свободного места на локальном диске.
Использование proxy-сервера
Обновление пакетов с помощью использования proxy-сервера описано в Прокси-сервер для обновления пакетов Space с контроллера.
Проверка наличия обновлений
Проверку наличия обновлений SpaceVM можно выполнить при наличии доступа к репозиториям соответствующей версии SpaceVM, как в CLI, так и в Web-интерфейсе контроллера или узла. В случае отсутствия доступа к базовым репозиториям SpaceVM информацию о выходе новых патчей можно получить в личном кабинете.
Получить информацию о выходе новой минорной (мажорной) версии SpaceVM, о наличии патчей SpaceVM при отсутствии доступа к репозиториям SpaceVM также можно получить в личном кабинете.
Проверка наличия обновлений в Web-интерфейсе контроллера
Выполнить проверку наличия обновлений минорной версии SpaceVM в Web-интерфейсе контроллера можно несколькими способами.
Проверка наличия обновлений для контроллера и всех узлов SpaceVM
В Web-интерфейсе контроллера перейти в раздел Настройки - Контроллер основного меню. Далее выбрать пункт ПО и Сервисы - ПО. В открывшемся окне нажать кнопку Обновление ПО контроллера для проверки наличия обновлений для контроллера или нажать кнопку Обновление ПО контроллера + серверов для проверки наличия обновлений для контроллера и всех подключенных к нему серверов, в том числе и для реплицирующего контроллера.
После проверки, при наличии обновлений, будет предложено установить все имеющиеся обновления.
Проверка наличия обновлений для отдельного узла SpaceVM
В Web-интерфейсе контроллера перейти в раздел Серверы основного меню, выбрать сервер и в открывшемся окне выбрать пункт ПО и Сервисы - ПО. Далее нажать кнопку Проверить обновления ПО.
После проверки, при наличии обновлений, будет предложено установить все имеющиеся обновления.
Проверка наличия обновлений в Web-интерфейсе узла
Для того чтобы выполнить проверку наличия обновлений в Web-интерфейсе узла, необходимо перейти в раздел Версия ПО основного меню. При наличии будут указаны доступные обновления.
Проверка наличия обновлений в CLI
Для того чтобы выполнить проверку наличия обновлений в CLI, необходимо выполнить следующую команду:
upgrade check
Процесс обновления ↵
Установка патчей
Сервер обновлений
В случае отсутствия доступа к базовым репозиториям SpaceVM, расположенным по адресу update.spacevm.ru, перед началом обновления необходимо обеспечить такой доступ или развернуть собственный сервер обновлений с репозиториями SpaceVM. Как развернуть собственный сервер обновлений с репозиториями SpaceVM смотрите в разделе Использование собственного сервера обновлений.
Обновление всех узлов через Web-интерфейс контроллера
В Web-интерфейсе контроллера перейти в раздел Настройки - Контроллер основного меню. Далее выбрать пункт ПО и Сервисы - ПО. В открывшемся окне нажать кнопку Обновление ПО контроллера для проверки наличия обновлений для контроллера или нажать кнопку Обновление ПО контроллера + серверов для проверки наличия обновлений для контроллера и всех подключенных к нему серверов, в том числе и для реплицирующего контроллера. При наличии обновлений и доступа к репозиториям SpaceVM нажать кнопку Обновить все пакеты ПО.
Доступность серверов контроллеру
Перед началом обновлений рекомендуется убедиться в доступности контроллеру всех узлов SpaceVM.
В начале процесса обновления всех пользователей должно "выбросить" из Web-интерфейса контроллера и открыться окно обновления, как показано ниже на рисунке. После завершения Web-интерфейс будет разблокирован, после чего желательно заново открыть или перезапустить вкладку браузера с открытым Web-интерфейсом для получения изменений. Если в какой-то момент обновления Web-интерфейс разблокируется или не заблокируется, но не будет активным, значит процесс обновления ещё идёт.
Обновление конкретного узла через Web-интерфейс контроллера
В Web-интерфейсе контроллера перейти в раздел Серверы основного меню, выбрать сервер, далее выбрать пункт ПО и Сервисы - ПО и в открывшемся окне нажать кнопку Проверить обновления ПО. При наличии обновлений нажать кнопку Обновить все пакеты ПО.
Внимание!
Если выбранный сервер не является контроллером, то обновления будут установлены только на выбранный сервер!
Обновление всех узлов через CLI
Для того чтобы убедиться в наличии обновлений и доступа к репозиториям SpaceVM, необходимо в CLI контроллера выполнить следующую команду:
upgrade check
При наличии обновлений и доступа к репозиториям SpaceVM выполнить команду установки обновлений:
upgrade start
Кэширование
В отдельных случаях рекомендуется использовать механизм кэширования при установке обновлений. Подробная информация содержится в разделе Кэширование обновлений SpaceVM.
После завершения процесса обновления SpaceVM необходимо заново зайти в CLI и Web-интерфейс.
Внимание!
Во время обновления SpaceVM не будет работать Высокая доступность и Динамическое распределение ресурсов между серверами.
Обновление конкретного узла через CLI
Для того чтобы убедиться в наличии обновлений и доступа к репозиториям SpaceVM, необходимо в CLI узла выполнить следующую команду:
upgrade check
upgrade start
Кэширование
В отдельных случаях рекомендуется использовать механизм кэширования при установке обновлений. Подробная информация содержится в разделе Кэширование обновлений SpaceVM.
Установка минорного (мажорного) обновления
Сервер обновлений
В случае отсутствия доступа к базовым репозиториям SpaceVM, расположенным по адресу update.spacevm.ru, перед началом обновления необходимо обеспечить такой доступ или развернуть собственный сервер обновлений с репозиториями SpaceVM. Как развернуть собственный сервер обновлений с репозиториями SpaceVM смотрите в разделе Использование собственного сервера обновлений.
Последовательность обновлений
Необходимо соблюдать последовательность обновлений. Запрещено обновлять минорные и мажорные версии, пропуская нумерацию. То есть нельзя обновляться, например, с версии 6.0 сразу до версии 6.4. Также крайне рекомендуется перед обновлением минорной версии обновиться до последней доступной на данный момент версии патча. Причиной является необходимость последовательного применения миграций базы данных и возможные подготовительные этапы перед минорным обновлением.
Несоответствие версий вычислительных узлов
Крайне не рекомендуется работать с инфраструктурой, где отличаются даже минорные версии на серверах. Убедитесь, что версии всех серверов после установки или обновления одинаковы. Подробная информация о том, как определить версию SpaceVM, содержится в разделе Определение версии SpaceVM.
Обновление всех узлов через CLI с использованием кэширования
Данный метод рекомендуется использовать при установке минорных (мажорных) обновлений SpaceVM с базовых репозиториев или при невозможности обеспечить доступ к базовым или локальным репозиториям SpaceVM во время процесса обновления.
Подготовка списка репозиториев
Перед установкой минорного (мажорного) обновления необходимо обновить и синхронизировать список репозиториев SpaceVM. Подробная информация об обновлении и синхронизации списка репозиториев содержится в разделах Обновление списка репозиториев SpaceVM и Синхронизация репозиториев. Для обновления и синхронизации списков репозиториев нужно выполнить в CLI контроллера следующие команды:
system repo update base **prod**
system repo update extra **extra**
node repo-sync
Кэширование обновлений
Далее необходимо кэшировать обновления SpaceVM. Подробная информация о кэшировании обновлений SpaceVM содержится в разделе Кэширование обновлений SpaceVM. Для выполнения кэширования обновления SpaceVM нужно выполнить следующие команды:
upgrade check
upgrade download
upgrade cache
Установка обновлений с использованием локального кэша
Следующим шагом необходимо выполнить обновление всех серверов с использованием локального кэша. Для этого в CLI контроллера нужно выполнить следующую команду:
upgrade start -l
После установки минорного (мажорного) обновления необходимо перезагрузить все обновленные узлы.
Внимание!
Во время обновления SpaceVM сервисы Высокая доступность и Динамическое распределение ресурсов между серверами работать не будут.
Обновление всех узлов через CLI без использования кэширования
Рекомендации
Данный метод рекомендуется использовать при установке минорных (мажорных) обновлений SpaceVM с локального сервера обновлений SpaceVM или при отсутствии достаточного свободного места для кэширования обновлений.
Подготовка списка репозиториев
Перед установкой минорного (мажорного) обновления необходимо обновить и синхронизировать список репозиториев SpaceVM. Подробная информация об обновлении и синхронизации списка репозиториев содержится в разделах Обновление списка репозиториев SpaceVM и Синхронизация репозиториев. Для обновления и синхронизации списков репозиториев при использовании локального сервера обновлений SpaceVM нужно выполнить в CLI контроллера следующие команды:
system repo update base **prod**
system repo update extra **extra**
node repo-sync
Внимание
При установке обновлений с локального сервера обновлений для обновления списка репозиториев необходимо использовать команду system repo update
.
Подробная информация о команде system repo update [base] [extra]
содержится в разделе Обновление списка репозиториев SpaceVM.
Установка обновлений без использования локального кэша
Следующим шагом необходимо выполнить проверку доступности репозиториев SpaceVM и запустить обновление всех серверов. Для этого в CLI контроллера нужно выполнить следующие команды:
upgrade check
upgrade start
После установки обновления требуется перезагрузить все обновленные узлы.
Внимание!
Во время обновления SpaceVM сервисы Высокая доступность и Динамическое распределение ресурсов между серверами работать не будут.
Ended: Процесс обновления
Локальный сервер обновлений
Создание локального сервера обновлений из готового виртуального диска
Загрузить виртуальный диск
Загрузить виртуальный диск с настроенными репозиториями в SpaceVM. Виртуальный диск с репозиториями актуальной версии в формате qcow2 доступен по ссылке. Там же находится и файл с контрольной суммой MD5 для проверки целостности. Если требуется виртуальный диск с настроенными репозиториями отличной от актуальной версии, то его можно получить по запросу в личном кабинете.
Последовательность
Необходимо соблюдать последовательность обновлений. Запрещено обновлять минорные и мажорные версии, пропуская нумерацию. То есть нельзя обновляться, например, с версии 6.2 сразу до версии 6.4. Также крайне рекомендуется перед обновлением минорной версии обновиться до последней доступной на данный момент версии патча. Причиной является необходимость последовательного применения миграций базы данных и возможные подготовительные этапы перед минорным обновлением.
Создать ВМ
Создать ВМ c типом ОС Linux в SpaceVM с загруженным виртуальным диском.
Подключать виртуальный диск к ВМ необходимо с использованием шины типа SATA.
Для стабильной работы ВМ с репозиториями SpaceVM она должна обладать:
- не менее 2 vCPU;
- не менее 2 Гбайт ОЗУ.
Также ВМ должна быть подключена к виртуальной сети БЕЗ L2-связанности.
Подробную информацию о создании ВМ и виртуальных сетей смотрите в Руководстве оператора
в разделах Создание ВМ и Создание виртуальной сети соответственно.
Настроить сеть ВМ
Выполнить настройку сетевых интерфейсов ВМ можно, подключившись к ней по протоколу SPICE из Web-интерфейса SpaceVM. Подробную информацию о подключении к ВМ по протоколу SPICE содержится в Руководстве оператора в разделе Терминал.
После подключения необходимо пройти авторизацию. Учетные данные пользователя:
- логин - root;
- пароль - spaceupdate.
Для получения списка сетевых интерфейсов необходимо выполнить следующую команду:
ip a
/etc/network/interfaces
. Для этого выполнить команду:
nano /etc/network/interfaces
# Include files from /etc/network/interfaces.d:
source /etc/network/interfaces.d/*
#The loopback network interface
auto lo
iface lo inet loopback
#The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.35
gateway 192.168.1.1
netmask 255.255.255.0
Для применения настроек выполнить команду:
service networking restart
Внимание!
Также вместо задания статических настроек сетевых интерфейсов ВМ можно зарезервировать IP-адрес для ВМ в настройках DHCP.
Подключить локальный сервер обновлений к SpaceVM
Для подключения локального сервера обновлений при установке патчей следует использовать команду CLI system repo update host [ipv4 or hostname]
,
а при установке минорных обновлений - system repo update [base] [extra]
. Подробное описание данных команд приведено в разделах Подключение локального репозитория SpaceVM и Обновление списка репозиториев SpaceVM.
После подключения локального репозитория следует выполнить синхронизацию списков со всеми узлами SpaceVM командой CLI: node repo-sync
.
Подробная информация о синхронизации списков репозиториев на узлах SpaceVM содержится в разделе Синхронизация репозиториев SpaceVM.
Проверка доступности локального репозитория
Для проверки доступности локального сервера обновлений SpaceVM следует выполнить следующую команду в CLI контроллера:
upgrade check
upgrade start
.
Подробная информация о процессе обновления содержится в разделах Установка патча и Установка минорного обновления.
Самостоятельное создание локального сервера обновлений
Подготовка ВМ
Создать ВМ и выполнить установку ОС "Debian" версии 9 или 10 с последующей настройкой сетевых интерфейсов. Обратите внимание, что для стабильной работы ВМ с репозиториями SpaceVM она должна обладать минимум 2 vCPU и 2 Гбайт ОЗУ, а также должна быть подключена к виртуальной сети БЕЗ L2-связанности. Подробную информацию о создании ВМ и виртуальных сетях смотрите в Руководстве оператора в разделах Создание ВМ и Создание виртуальной сети соответственно.
Внимание!
Копию репозиториев SpaceVM можно размещать не только на ВМ, но и в docker контейнере, на физическом сервере и т.д. Основным требованием к размещению локальных репозиториев SpaceVM является ОС "Debian" 9 или 10.
Установка необходимого программного обеспечения
Для работы репозиториев SpaceVM требуется установить Web-сервер nginx и утилиту зеркалирования репозиториев apt-mirror. Для установки данного программного обеспечения следует выполнить следующую команду:
apt-get update && apt-get install apt-mirror nginx -y
Зеркалирования репозитория
Перед настройкой следует в личном кабинете получить действующие адреса базовых репозиториев SpaceVM требуемой версии.
Полученные адреса необходимо внести в конфигурационный файл /etc/apt/mirror.list
, тем самым приведя его к виду:
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb http://update.spacevm.ru/prod-600 space main
deb http://update.spacevm.ru/prod-610 space main
clean http://update.spacevm.ru/prod-440
clean http://update.spacevm.ru/prod-450
http://update.spacevm.ru/prod-600
и http://update.spacevm.ru/prod-610
- адреса базовых репозиториев SpaceVM.
После внесения базовых репозиториев в конфигурационный файл apt-mirror можно начать процесс зеркалирования, выполнив следующую команду:
su - apt-mirror -c apt-mirror
Начнется загрузка пакетов. Может занять продолжительное время, в зависимости от скорости вашего канала.
Публикация репозиториев
Для того чтобы у узлов SpaceVM был доступ к локальным репозиториям, необходимо их опубликовать с помощью Web-сервера nginx.
Для этого нужно привести конфигурационный файл /etc/nginx/sites-enabled/default
к виду:
server {
listen 80 default_server;
root /var/spool/apt-mirror/mirror/update.spacevm.ru;
server_name _;
location / {
try_files $uri $uri/ =404;
autoindex on;
}
}
nginx -s reload
Подключить локальный сервер обновлений к SpaceVM
Для подключения локального сервера обновлений при установке патчей следует использовать команду CLIsystem repo update host [ipv4 or hostname]
.
Подробное описание данных команд приведено в разделах Подключение локального репозитория SpaceVM и Обновление списка репозиториев SpaceVM.
После подключения локального репозитория следует выполнить синхронизацию списков со всеми узлами SpaceVM командой CLI: node repo-sync
.
Подробная информация о синхронизации списков репозиториев на узлах SpaceVM содержится в разделе Синхронизация репозиториев SpaceVM.
Проверка доступности локальных репозиториев
Для проверки доступности локального сервера обновлений SpaceVM следует выполнить следующую команду в CLI контроллера:
upgrade check
upgrade start
.
Подробная информация о процессе обновления содержится в разделах Установка патча и Установка минорного обновления.Обновление инфраструктуры при отсутствии доступа к сети Интернет
- Вариант 1. Через виртуальный диск формата qcow2.
- Вариант 2. Создание локального репозитория.
Вариант 1. С использованием виртуального диска формата "qcow2"
- Зайти в ЛК https://spacevm.ru/lk и сделать запрос на виртуальный диск с обновлениями для нужной версии формата qcow2.
- Сохранить виртуальный диск на свой компьютер.
- Создать ВМ с загруженным виртуальным диском (желательно, чтобы ВМ была вне инфраструктуры SpaceVM. Если ВМ будет находиться в инфраструктуре SpaceVM, то обновление желательно выполнять с кэшированием.
- Настроить сеть в ВМ (логин root, пароль spaceupdate).
- Прописать репозитории на серверах Space
system repo update host {адрес ВМ с репозиторием}
. - Проверить обновления командой
upgrade check
. - При наличии доступных обновлений обновиться командой
upgrade start
.
Вариант 2. Создание пользователем локального репозитория для обновления SpaceVM без использования Интернета
Данные действия производятся на ОС Debian версии 9 или 10.
ВМ, на которой будет развернут локальный репозиторий, НЕ должна работать на той же инсталляции SpaceVM.
Актуальные адреса для репозиториев можно получить у службы поддержки.
-
Устанавливаем утилиту apt-mirror для создания локального зеркала репозитория на выделенный для этого сервер:
apt-get update apt-get install apt-mirror -y
-
Приводим конфигурационный файл
/etc/apt/mirror.list
к виду:############# config ################## # # set base_path /var/spool/apt-mirror # # set mirror_path $base_path/mirror # set skel_path $base_path/skel # set var_path $base_path/var # set cleanscript $var_path/clean.sh # set defaultarch <running host architecture> # set postmirror_script $var_path/postmirror.sh # set run_postmirror 0 set nthreads 20 set _tilde 0 # ############# end config ############## deb http://update.spacevm.ru/prod-600 space main deb http://update.spacevm.ru/prod-610 space main clean http://update.spacevm.ru/prod-600 clean http://update.spacevm.ru/prod-610
-
Создаём локальное зеркало репозитория. Начнется загрузка пакетов. Это может занять продолжительное время, в зависимости от скорости вашего канала:
su - apt-mirror -c apt-mirror
-
Устанавливаем утилиту nginx на тот же самый сервер:
apt-get install nginx -y
-
Приводим конфигурационный файл
/etc/nginx/sites-enabled/default
к виду:server { listen 80 default_server; root /var/spool/apt-mirror/mirror/update.spacevm.ru; server_name _; location / { try_files $uri $uri/ =404; autoindex on; } }
-
Обновляем nginx командой
nginx -s reload
-
Прописываем репозитории на клиентских машинах SpaceVM:
-
хост репозитория:
system repo update host {LOCAL_REPO_SERVER_IP}
-
основной репозиторий:
system repo update base prod-600
-
Extra репозиторий (необязательный):
system repo update extra extra-600
-
-
Обновляем клиентские машины SpaceVM:
upgrade start
Прокси сервер для обновления пакетов Space с контроллера
Одним из требований является возможность централизованного обновления пакетов SpaceVM.
Для того чтобы была возможность обновлять хосты свежими версиями пакетов Space, предусмотрена возможность использования кэширующего прокси-сервера пакетов apt-cacher-ng. Прокси-сервер является промежуточным звеном между вышестоящим сервером и хостами. Прокси-сервер устанавливается на контроллер. В задачу прокси-сервера пакетов входит раздача уже скачанных пакетов.
Сервер с обновлениями располагается по адресу - https://update.spacevm.ru/.
Здесь есть несколько вариантов развития событий, которые могу возникнуть:
- в изолированной подсети, где установлен SpaceVM, у контроллера есть доступ до внешних серверов.
- в изолированной подсети, где установлен SpaceVM, у контроллера нет доступа до внешних серверов.
Прокси-сервер для обновления пакетов SpaceVM с контроллера в условиях, когда у контроллера есть доступ до внешних серверов
Настройка хоста прокси для прокси-сервера встроенного в SpaceVM (каскадное соединение)
Установка настройки только на контроллере.
Без логина и пароля:
upgrade proxy set_proxy_host http://www-proxy.example.net:3128
С логином и паролем:
upgrade proxy set_proxy_host http://myuser:mypassword@www-proxy.example.net:3128
Удаление также только на контроллере:
upgrade proxy unset_proxy_host
Прокси-сервер для обновления пакетов SpaceVM с контроллера
Перед включением проксирования на ноде необходимо обязательно установить прокси на контроллере.
Для работы прокси-сервера обновлений необходимо включить режим проксирования пакетов на нодах (включая контроллер и резервный контроллер) командой:
upgrade proxy enable
Узлы должны принадлежать какому-либо контроллеру. После включения режима прокси выполняем команду на ноде:
upgrade check
upgrade start
Отключение режима проксирования пакетов на узлах выполняется командой:
upgrade proxy disable
Прокси-сервер для обновления пакетов SpaceVM с контроллера в условиях, когда у контроллера нет доступа до внешних серверов
Для обновления в этом режиме работы понадобится дистрибутивный диск SpaceVM со "свежей" пакетной базой. Содержимое диска копируется на накопитель, далее в ручном режиме переносится на контроллер в каталог:
/var/cache/apt-cacher-ng/_import
Переходим в Web-интерфейс кэширующего прокси-сервера пакетов apt-cacher-ng:
http://CONTROLLER-IP:3142/acng-report.html
Находим секцию Import и нажатием кнопки Import производим импорт содержимого диска.
Далее мы можем включить проксирование на узлах, как описано в предыдущем пункте.
Hint
На контроллере можно убедиться, что доставка пакетов проксируется командой
nethogs
В выводе будет показано сетевое взаимодействие, где будет фигурировать apt-cacher-ng.
Ended: Обновления
Первоначальная настройка ↵
Первоначальная настройка SpaceVM
Вход в систему
Для первоначальной настройки SpaceVM необходимо авторизоваться в Web-интерфейсе управления кластером с пользователем, имеющим права администратора. Данный интерфейс доступен по адресу СУ SpaceVM.
При открытии интерфейса управления в браузере откроется окно авторизации, в котором необходимо ввести:
-
имя пользователя, по умолчанию - admin;
-
пароль, по умолчанию - admin;
-
выбрать язык интерфейса.
Лицензирование
Лицензирование в CLI
Проверка зарегистрированного ключа в CLI выполняется командой:
system license
Лицензирование в Web-интерфейсе контроллера
После авторизации в Web-интерфейсе при отсутствии ключа или окончании тех. поддержки автоматически отобразится окно загрузки лицензионного ключа.
Для загрузки другого лицензионного ключа и просмотра действующей лицензии используется раздел Настройки - Лицензирование.
В разделе Настройки - Лицензирование содержится информация по действующему лицензионному ключу SpaceVM, содержащая:
- лицензия на ПО;
- e-mail;
- компания;
- количество серверов;
- дней до окончания лицензии;
- дней до окончания сервисной поддержки;
- дата завершения лицензии;
- дата завершения сервисной поддержки.
Если пользователь имеет бессрочную лицензию, то ограничений по времени использования лицензии не будет и будет отражаться следующая информация:
- дней до окончания лицензии - "0";
- дней до окончания сервисной поддержки - "0";
- дата завершения лицензии - "--";
- дата завершения сервисной поддержки - "--".
Количество физических процессоров на сервере
Количество используемых физических процессоров на сервере программными средствами не ограничено. При этом количество процессоров не может быть менее количества установленных на сервере и более количества сокетов на сервере.
Для установки лицензионного ключа активации необходимо выполнить следующие действия:
Пользователи и роли
Пользователи
Управление параметрами собственной учетной записи производится в разделе Безопасность - Пользователи или справа в окне при нажатии на профиль пользователя.
Если пользователь является администратором безопасности, то ему будет доступно управление учетными записями других пользователей в разделе Безопасность - Пользователи:
-
создание нового и деактивация (прекращение работы) имеющегося пользователя;
-
изменение пароля другого пользователя.
Прекращение работы пользователя в системе осуществляется посредством изменения статуса учетной записи на Неактивный. При этом все действия пользователя, произведенные им ранее и зафиксированные в системных журналах, сохранят связь с этим пользователем.
Удаление пользователя
Пользователь не удаляется при изменении статуса на Неактивный. Это сделано для сохранения истории.
Роли и разграничения доступа
В системе предусмотрен ролевой метод разграничения доступа. Существуют следующие типы пользователей (пользовательские роли):
-
администратор;
-
администратор безопасности;
-
оператор ВМ;
-
только чтение.
Для пользователя со встроенной учётной записью администратора admin применяется роли администратор и администратор безопасности. Для него доступны все настройки кластера.
При применении ролевой модели система управления кластером считает приоритетными запрещающие правила.
Для пользователя с ролью администратор действует разрешение: полный доступ, кроме разрешений администратора безопасности.
Для пользователя с ролью администратор безопасности действуют следующие разрешения:
-
управление службами каталогов;
-
управление SSL-сертификатами;
-
управление пользователями.
Для пользователя с ролью оператора ВМ действуют следующие разрешения:
-
управление ресурсами размещения ВМ;
-
управление пулами данных;
-
управление ВМ, владельцем которых он является.
Для пользователя с ролью только чтение действует ограничение: чтение всех параметров кластера, кроме параметров и информации безопасности.
Подробное описание разграничения доступа ролей пользователей в таблице.
Настройки ролей
Роли пользователей имеют приоритет - значения от 0 до 32767.
Сумма приоритетов ролей используется при сортировке соответствий служб каталогов для применения наиболее приоритетных ролей к LDAP учетной записи, которая прошла аутентификацию.
Службы каталогов
В системе реализована поддержка авторизации пользователей из Windows AD и FreeIPA посредством LDAP.
Для регистрации внешних пользователей необходимо в разделе Безопасность - Службы каталогов:
-
добавить подключение к внешнему LDAP-серверу;
-
для каждого LDAP-сервера настроить сопоставление пользователей (групп пользователей) с ролями системы управления кластером.
Если никакого сопоставления групп или пользователей AD не производилось, то все LDAP-пользователи могут зарегистрироваться в системе и иметь роль оператор ВМ.
В отличие от встроенной базы данных пользователей для Windows AD допускается назначать пользователю или группе роль суперпользователя.
В системе реализована поддержка технологии Single Sigh-On (SSO). Для её подключения необходимо:
-
на контроллере Active Directory (AD) создать пользователя с соответствующими правами (администратора домена или разрешить набор прав для проверки пользователей через сетевой протокол безопасной идентификации/аутентификации Kerberos);
-
зарегистрировать в Windows DNS доменное имя для контроллера(ов) ****;
-
сформировать на контроллере домена Kerberos (keytabs) файл, по которому контроллер SpaceVM будет авторизовываться в AD.
Kerberos (кeytabs) файл загружается для целевой службы каталогов на вкладке Keytabs.
В окне, открывающемся по кнопке Конфигурация SSO, вносятся данные, с которым будет проходить авторизация:
-
параметры пользователя AD (имя пользователя и пароль);
-
доменное имя контроллера SpaceVM (cубдомен).
В данном окне имя пользователя и DNS-имя контроллера SpaceVM вносится без указания имени домена AD.
Если в качестве основного DNS-сервера для SpaceVM не установлен DNS Windows AD, то поля url сервера управления AD и список всех url Key Distributed Centers можно указывать в виде IP-адреса контроллера Windows AD.
Ended: Первоначальная настройка
Репликация и резервное копирование ↵
Репликации контроллера ↵
Репликация контроллера
Репликация контроллера используется для предотвращения последствий возможных аварийных ситуаций, связанных с Контроллером SpaceVM. Также сервер, используемый для репликации, может использоваться в качестве сервера виртуализации, при этом в остальных аспектах эксплуатации, не касающихся репликации, такой сервер не имеет отличий от обычного сервера с установленным SpaceVM в режиме Node, за исключением отсутствия Web-интерфейса. Все работы, связанные с репликацией, выполняются из CLI на каждом экземпляре контроллера.
Проверка состояния репликации контроллера выполняется следующей командой в CLI:
controller status
Лицензирование при использовании нескольких контроллеров
Подробная информация о лицензировании при использовании механизма репликации содержится в разделе Лицензирование.
Описание вывода 'controller status':
- Current node status: роль, которую выполняет текущий сервер;
- Postgresql replication process: статус репликации БД. Значение 'inactive' означает, что репликация не запущена или имеются проблемы с сетевой связанностью - необходимо вмешательство оператора.
- Pg_last_xact_replay date: параметр показывает, на какую дату была получена последняя транзакция в БД.
Использование репликации в SpaceVM
Использование репликации и предотвращение последствий аварийных ситуаций, связанных с Контроллером SpaceVM, включает следующие шаги:
-
Инициализация связанности между основным и резервным контроллерами, на которых установлена SpaceVM в конфигурации Controller + Node или Controller.
-
Назначение соответствующих ролей основному (master) и резервному (slave) контроллеру.
-
В случае возникновения аварийной ситуации, связанной с основным контроллером SpaceVM, перевод реплицирующего контроллера в режим основного контроллера.
-
После устранения аварийной ситуации контролера перевести его в режим реплицирующего.
Обратите внимание
Команды CLI облегчают конфигурирование репликации, однако при аварийной ситуации не переключают нагрузку автоматически - это выполняет оператор. Если хотите автоматическое переключение, пожалуйста, ознакомьтесь с разделом Свидетель контроллеров.
Требования к репликации
-
Для возможности включения репликации контроллера в SpaceVM необходимо наличие еще одного сервера с установленной SpaceVM в режиме Controller + Node. Подробная информация об установке SpaceVM приведена в разделе Установка.
-
Между двумя серверами необходимо обеспечить сетевую связанность по портам 22/tcp и 5433/tcp.
-
Второй сервер (slave) должен иметь достаточно свободного дискового пространства перед инициализацией репликации.
Внимание
Использование сервера с установленной SpaceVM в режиме Controller + Node для осуществления репликации в качестве самостоятельного контроллера перед инициализацией репликации не допускается, поскольку назначение роли 'slave' обнуляет имеющуюся базу данных.
Инициализация связанности
Инициализация связанности необходима для взаимодействия двух серверов SpaceVM, установленных в режиме Controller + Node.
Перед инициализацией связанности рекомендуется сделать резервную копию БД основного контроллера. Подробная информация о процессе создания резервной копии БД контроллера содержится в разделе Резервное копирование БД контроллера.
Процесс инициализации связанности
Для инициализации связи между экземплярами контроллера используется следующая команда CLI на каждом контроллере:
controller add <IP второго контроллера>
В ходе выполнения данной команды происходит генерация SSH-ключей (если их еще нет) на локальном сервере и попытка соединения и получения ключей с удаленной машины через службу SSH (22/tcp), что потребует ввода пароля пользователя root второго контроллера.
Если операция генерации и обмена ключами происходит на нодах впервые, то полная процедура установления и проверки связанности и обмена ключами требует ввода команд три раза:
spacevm node1 # controller add node2
spacevm node2 # controller add node1
spacevm node1 # controller add node2
Если в процессе выполнения команд ошибок не возникало, то система готова к инициализации репликации и распределению ролей.
Роли в процессе репликации
Работа контроллера может меняться в зависимости от роли. Назначение роли происходит путем использования
команды controller role <роль>
в CLI контроллера.
Описание ролей
Master
master - роль основного (реплицируемого) контроллера. Является ролью по умолчанию.
Slave
slave - роль резервного (реплицируемого) контроллера. После применения данной роли контроллер начинает попытки подключиться к основному контроллеру с ролью master для получения данных о текущей конфигурации. В результате применения роли slave произойдут следующие изменения в его работе:
- прекращение возможности входа в Web-интерфейс;
- остановка системы очередей пользовательских и системных задач, если они были;
- сервер БД конфигурации кластера переведен в режим репликации.
Назначение ролей при настройке репликации
-
Назначить роль slave резервному контроллеру. Для этого выполнить следующую команду в CLI резервного контроллера:
controller role slave
-
Назначить роль master основному контроллеру. Для этого выполнить следующую команду в CLI основного контроллера:
controller role master
Действия при аварии контроллера
При аварии, связанной с прекращением работы основного контроллера или с отсутствием связи основного контроллера и остальных серверов SpaceVM, для обеспечения полного функционирования инфраструктуры SpaceVM необходимо незамедлительно выполнить перевод резервного контроллера в основной.
После перевода резервного контроллера в основной будет восстановлена работа системы очередей постановки задач, в том числе Высокая доступность и Живая миграция, а также возможность авторизации и работы в Web-интерфейсе SpaceVM.
Действия при аварии основного контроллера
-
Перевести резервный контроллер с ролью slave в основной с ролью master, выполнив следующую команду в CLI резервного контроллера:
controller role master
-
После восстановления работы аварийного контроллера или при получении доступа к CLI аварийного контроллера перевести его в режим резервного контроллера (slave), выполнив следующую команду:
controller role slave
Отключение репликации
В случае необходимости отключения репликации нужно перевести основной контроллер, а также, если резервный доступен, то и его, в режим обособленного контроллера и разорвать связанность.
Примечание
После отключения репликации это будут 2 независимых контроллера с полной базой данных! Но контроллер, бывший мастером до отключения репликации, будет управлять всеми узлами, а для резервного они станут неактивными.
Процесс отключения репликации
-
Перевести основной контроллер, а также, при необходимости, и резервный контроллер, в режим обособленной работы. Для этого необходимо выполнить следующую команду в CLI контроллера:
controller role alone
-
Разорвать связанность контроллеров, выполнив следующую команду в CLI контроллера:
controller del
Свидетель реплицируемых контроллеров
Общее описание
controller-witness - сервис автоматического переключения ролей репликации 2 Space контроллера.
controller-witness является SystemD сервисом с настройками из файла (/etc/default/controller-witness). Настройки должны быть внесены до старта сервиса (после их изменения необходимо перезагрузить сервис). Сервис пытается установить SSH соединение до обоих контроллеров и далее периодически проверяет связь до них и их роли. Если контроллер-мастер становится недоступен, свидетель пытается переключить роль slave на master. Если оба контроллера обнаружены как master, то свидетель пытается снова поставить роль master на тот контроллер, который известен как master большее время. При установке роли master на контроллер последний при наличии связи с другим контроллером пытается переключить его в **slave*.
Детальное описание работы и настроек смотрите ниже.
Требования к установке
- Поддерживаемые ОС: на базе Debian/Ubuntu
- Зависимости: python3 (>= 3.6), python3-paramiko
- Для заполнения настроек при установке необходимо предустановить один из пакетов: whiptail, dialog.
Рекомендуется устанавливать свидетеля отдельно от инфраструктуры под управлением Space VM в виртуальную машину или контейнер.
Установка deb пакета
sudo dpkg -i controller-witness_*.deb
Установка с репозитория
sudo echo "deb http://update.spacevm.ru/extra-600/ space main" > /etc/apt/sources.list.d/spacevm-extra.list
sudo apt update
sudo apt install controller-witness
Настройки и детальное описание
Сервис берёт настройки из файла /etc/default/controller-witness.
Подробное описание смотрите через man: man controller-witness
.
Удаление
sudo apt remove controller-witness
Описание процедуры создания репликации
-
Инициализировать связь между экземплярами контроллера, используя следующую команду в CLI на каждом контроллере:
controller add <IP второго контроллера>
В ходе выполнения данной команды необходимо будет по запросу ввести пароль пользователя root второго контроллера. -
Назначить роль slave резервному контроллеру. Для этого выполнить следующую команду в CLI резервного контроллера:
controller role slave
Примечание
WEB-интерфейс slave всегда заблокирован
-
Назначить роль master основному контроллеру. Для этого выполнить следующую команду в CLI основного контроллера:
controller role master
Обновление slave из master
Основной контроллер дополнительно к репликации базы циклично кроном синхронизирует по ssh свою конфигурацию с резервным контроллером (ssh ключи контроллера для доступа к узлам, лицензионные ключи, данные контроллера, настройки системы автотестирования, /etc/hosts.d, настройки ntp и openvswitch)
-
Проверить связность контроллеров:
controller status
-
Перевести резервный контроллер с ролью slave в основной с ролью master, выполнив следующую команду в CLI резервного контроллера:
controller role master
Автоматическая смена роли
При смене роли при условии наличия связности между контроллерами роль на втором переключится автоматически.
-
Проверить связность контроллеров:
controller status
Статус pending
Означает недоступность второго контроллера по ssh. Необходимо проверить ssh ключи и сетевую связность контроллеров.
Ended: Репликации контроллера
Резервное копирование БД контроллера
В БД контроллера содержится конфигурация SpaceVM, включая пользователей и их настройки, информация о виртуальных машинах, подключенных серверах и систем хранения данных, сетевые настройки как физических подключений, так и виртуальных сетей и т.д.
Повреждение БД может вызвать необратимые последствия, поэтому SpaceVM поддерживает контроль целостности БД, резервное копирование БД и восстановление БД из резервной копии.
Просмотр статистики БД
Для просмотра статистики БД контроллера необходимо в CLI выполнить следующую команду:
controller db-stats
Проверка целостности БД
Для проверки целостности БД контроллера необходимо в CLI выполнить следующую команду:
controller db-check
В случае повреждения базы данных система обнаружит поврежденные или отсутствующие файлы.
Создание резервной копии БД
Для создания резервной копии БД необходимо в CLI выполнить следующую команду:
controller backupdb-create
Внимание
Хранятся только 3 последние резервные копии.
Проверка наличия резервной копии БД
Для проверки наличия резервной копии БД контроллера необходимо в CLI выполнить следующую команду:
controller backupdb-list
Восстановление БД из резервной копии
Для восстановления БД из резервной копии необходимо в CLI выполнить следующую команду:
controller backupdb-restore
Резервное копирование серверов ↵
Резервное копирование ОС SpaceVM
SpaceVM поддерживает резервное копирование ОС серверов, установленных как в режиме Controller + Node, так и в режиме Node для восстановления с резервных машинных носителей.
Важно!
При создании резервной копии все операции в среде SpaceVM становятся недоступны, узел переходит в критическую ошибку до окончания процесса.
При резервном копировании ОС не рекомендуется!
- использование разметки отличное от dos и gpt;
- использование "сложного" разбиения диска;
- использование более чем одного раздела типа Linux LVM на диске с корневой файловой системой;
- использование технологии Soft/FakeRAID, Intel VROC.
При резервном копировании ОС рекомендуется!
- предварительная проверка на стороннем узле с аналогичными конфигурациями;
Резервное копирование ОС SpaceVM поддерживает восстановление полное и частичное (отдельные файлы и директории).
Внимание!
Восстановление из резервной копии выполняется под ОС GNU/Linux с базовым набором утилит. Рекомендовано использовать установочный дистрибутив SpaceVM в режиме Space Live.
Создание резервной копии сервера ↵
Резервное копирование через CLI
Важно!
При создании резервной копии все операции в среде SpaceVM становятся недоступны, узел переходит в критическую ошибку до окончания процесса.
Внимание
Рекомендуется в качестве хранения резервной копии ОС SpaceVM использовать такое хранилище, которое можно подключить к серверу, запущенному в режиме Live CD. Space Live CD поддерживает NFS, поэтому для резервного копирования рекомендованным считается соответствующее сетевое хранилище. Не рекомендуется использовать в качестве источника резервных копий диск от узла с установленным SpaceVM, даже если вы не собираетесь восстанавливать на этот диск, так как вероятен конфликт имен LVM-томов или групп томов.
Для создания резервной копии ОС SpaceVM необходимо в CLI выполнить следующую команду:
backup-os [ -d | --description < description >] | [ -v | --verbose ] < path to datapool >
где < description> - описание резервной копии ОС SpaceVM, а < path to datapool > - путь до пула данных, на котором будет создана резервная копия. Резервная копия будет создана в поддиректории пула данных _LIBRARY. Пример команды создания резервной копии ОС SpaceVM:
backup-os -d "before upgrade, current version 4.2.11\n" /storages/nfs/remote_storage/backups_os/
При успешном выполнении будет создан самораспаковывающийся файл резервной копии ОС этого узла следующего формата:
192.168.122.41__v8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run
Резервное копирование через Web
В окне Серверы – <имя сервера> – Резервные копии содержится список имеющихся резервных копий, включая для каждой из них название, имя пула данных, размер и статус.
Важно!
При создании резервной копии все операции в среде SpaceVM становятся недоступны, узел переходит в критическую ошибку до окончания процесса.
В данной вкладке можно создавать резервные копии ОС (операционной системы) с помощью кнопки Создать резервную копию. В открывшемся окне можно выбрать пул данных для сохранения. Если его не указывать, то резервная копия будет создана на базовом пуле данных узла. Также в этом окне имеется текстовое поле Описание, в которое можно внести дополнительную информацию, помогающую более точно идентифицировать файл резервной копии при восстановлении. Это описание можно будет в дальнейшем посмотреть при открытии файла через Web-интерфейс или непосредственно из posix shell.
При создании резервной копии корневая файловая система резервируемого узла "замораживается", поэтому все операции на узле становятся не возможны. При создании резервной копии узла, на котором расположен контроллер, будет также приостановлена работа Web-интерфейса.
Правильным будет создавать резервные копии на сетевых хранилищах NFS, что в дальнейшем сильно упростит восстановление из них, используя Space Live загрузку с установочного DVD.
Для загрузки резервной копии из файловой системы необходимо нажать кнопку Загрузка из файловой системы и в открывшемся окне выбрать файл (через стандартное окно загрузки файла) и пул (из раскрывающегося списка). После этого подтвердить операцию, нажав кнопку ОК.
Для выбора определенной резервной копии с применением фильтра необходимо нажать на кнопку . В открывшемся окне содержатся следующие поля для фильтрации:
- Имя файла;
- Пул данных – выбор из раскрывающегося списка;
- ВМ – выбор из раскрывающегося списка;
- Серверы – выбор из раскрывающегося списка.
После настройки фильтра необходимо нажать Применить или Сбросить все.
При открытии файла резервной копии, кроме обычных для файла кнопок (Обновить, Копировать, Скачать, Удалить), имеется кнопка Описание, при нажатии на которую отобразится окно с описанием, внесенном при создании резервной копии. Берется из файла резервной копии, поэтому оно будет доступно, даже если файл был загружен.
При нажатии на название резервной копии открывается окно состояния резервной копии, содержащее следующую информацию:
- название;
- описание (с возможностью редактирования);
- расположение;
- название пула данных;
- дата и время создания;
- дата и время изменения;
- сообщения, выдаваемые при работе с резервными копиями с возможностью их сортировки по признакам – По всем типам, Ошибки, Предупреждения, Информационные.
Ended: Создание резервной копии сервера
Восстановление из резервной копии
Восстановление из резервной копии выполняется под ОС GNU/Linux с базовым набором утилит. Рекомендовано использовать установочный дистрибутив SpaceVM в режиме Space Live.
Подробная информация о возможностях работы с резервной копией ОС содержится в разделе Работа с резервной копией ОС.
Процесс полного восстановления из резервной копии ОС SpaceVM
Для полного восстановления из резервной копии ОС SpaceVM необходимо выполнить следующие действия:
1. Загрузиться в режиме Space Live с диска ОС SpaceVM.
2. Примонтировать ФС с резервной копией.
Примонтируйте файловое хранилище, на котором находятся резервные копии. Пример команды монтирования сетевого хранилища NFS:
sudo mount -t nfs 192.168.8.8:/storages/datapool_of_backups_of_nodes /mnt
/mnt
- путь до директории _LIBRARY, в которой находится резервная копия ОС SpaceVM.
Внимание
Не рекомендуется использовать в качестве источника резервных копий диск от узла с установленным SpaceVM, даже если вы не собираетесь восстанавливать на этот диск, так как вероятен конфликт имен LVM-томов или групп томов.
3. Подготовить диск.
Подготовить диск, на который будет производиться восстановление, удалив с него LVM-тома, группы томов и физические LVM-тома. Примеры команд:
# deactivate all volumes
sudo vgchange -an
# remove volume groups with all volumes
sudo vgremove -y `sudo vgs --noheadings -o vg_name`
# remove physical volumes
sudo pvremove `sudo pvs --noheadings -o pv_name`
Внимание
Будьте предельно аккуратны, используя приведенные ниже команды. Они для случая, когда вы точно уверены, что нет других дисков с LVM, иначе можете удалить то, что не собирались.
4. Начать восстановление.
Запустить восстановление ОС SpaceVM из резервной копии. Так как файл резервной копии является posix-shell скриптом, то запуск восстановления из резервной копии выполняется следующей командой:
sudo sh /mnt/_LIBRARY/192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run -v restore /dev/sda
где: /mnt/_LIBRARY/192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run
- путь к файлу, /dev/sda
- целевой диск
для восстановления.
Восстановление (опция restore) считается успешным, если последняя строка вывода была следующего вида: Restore to /dev/sda successful.
,
после этого вы можете перезагружаться, загружаясь с восстановленного диска.
Отмонтировать файловое хранилище командой sudo umount /mnt
и перезагрузите сервер. При успешном восстановлении должна
произойти загрузка ОС SpaceVM, которая была восстановлена из резервной копии.
Процесс восстановления отдельных файлов или директорий из резервной копии ОС SpaceVM
Для восстановления отдельных файлов или директорий из резервной копии ОС SpaceVM необходимо выполнить следующие действия:
1. Войдите в CLI.
Войдите в CLI сервера, на котором требуется восстановить отдельные файлы или директории из резервной копии. В случае невозможности зайти в CLI загрузитесь в режиме Space Live с диска ОС SpaceVM.
2. Примонтировать ФС с резервной копией.
Примонтируйте файловое хранилище, на котором находятся резервные копии, если оно еще не примонтировано. Пример команды монтирования сетевого хранилища NFS:
sudo mount -t nfs 192.168.8.8:/storages/datapool_of_backups_of_nodes /mnt
где /mnt
- путь до директории _LIBRARY, в которой находится резервная копия ОС SpaceVM.
3. Извлечение файлов и директорий.
Извлеките целевые файлы или директории из резервной копии, выполнив следующую команду:
sudo sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run tar -xC extract-backup/ 'etc/passwd'
где 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run
- путь до файла резервной копии,
extract-backup/
- путь до директории, в которую будет извлечен файл или директория,
'etc/passwd'
- путь к целевому файлу или директории.
4. Отмонтирование ФС, если это необходимо.
Отмонтировать файловое хранилище командой sudo umount /mnt
и перезагрузите сервер. При успешном восстановлении
должна произойти загрузка ОС SpaceVM, которая была восстановлена из резервной копии.
Ended: Резервное копирование серверов
Ended: Репликация и резервное копирование
Статистика и журналирование серверов ↵
Стек статистики
Сбор статистики осуществляется через комплект ПО prometheus. На контроллере находится центральный сервис prometheus, который собирает метрики с сервисов node_exporter и domain_exporter с каждого узла.
Примечание
На основе сбора статистики работают сервисы распределения ВМ по узлам, то есть выбор узлов для создания, миграции, восстановления ВМ, поэтому при отказе сервисов данные операции, возможно, будут недоступны.
Команды CLI для работы с сервисами
Для проверки статуса сервисов в CLI есть команды:
-
Проверка статуса прометеуса на контроллере выполняется командой CLI
services list
. -
Проверка статуса прометеуса на узле (сервис node-statistics) выполняется командой CLI
services list
. -
Проверка базы прометеуса на контроллере выполняется командой CLI
system statistics [list|clear|reload|set_storage_time|service]
.
Порты сервисов
-
Центральный прометеус на контроллере: порт 9090.
-
Прометеус статистики узла: порт 9100.
-
Прометеус статистики ВМ: порт 9177.
-
Grafana: порт 3000.
Каталог хранения статистики на контроллере
/var/log/prometheus/metrics2
Просмотр и работа с графиками (Grafana)
Grafana — это платформа для визуализации, мониторинга и анализа данных. В рамках SpaceVM она является дополнительным обособленным инструментом, используемым при необходимости расширенного мониторинга элементов платформы виртуализации. Преднастроенными являются 2 приборные панели: SpaceVM Node DashBoard для мониторинга данных узла и SpaceVM Domains DashBoard для мониторинга данных виртуальных машин. По запросу пользователей команда SpaceVM может добавить базовые настроенные экспортёры прометеуса или другие приборные панели, а также и сам пользователь может добавлять свои панели и источники данных. В дальнейшем планируется автоматическая настройка службы каталогов Grafana при настройке службы каталогов в SpaceVM.
- Запуск/останов Web-интерфейса grafana на контроллере выполняется командами CLI
grafana [start|stop]
. - базовые логин/пароль: admin/admin.
- порт 3000 (пример http://192.168.20.120:3000, где 192.168.20.120 адрес контроллера)
Управление временем хранения статистики узлов на контроллере
Выполняется на контроллере командой CLI system statistics set_storage_time
.
Базовое значение - 360 часов (15 дней).
Расчет размера каталога статистики на контроллере
1 вычислительный узел (ВУ) за 1 день при штатной работе условно займет 150 Мб.
Пример расчета
Для 20 ВУ с временем хранения 168 часов (7 дней) каталог будет занимать примерно 21 Гбайт.
Пример расчета
Для 5 ВУ с временем хранения 360 часов (15 дней) каталог будет занимать примерно 11.2 Гбайт.
Пример расчета
Для 30 ВУ с временем хранения 30 дней каталог будет занимать примерно 135 Гбайт.
Итого примерный размер каталога равен
150 Мбайт * количество ВУ * количество дней
.
Стек журналирования
Сбор журналов осуществляется с помощью комплекта ПО td-agent + Loki + Grafana. На контроллере находится центральный сервис Loki, который собирает журналы с сервисов td-agent с каждого узла. Сервис td-agent в свою очередь собирает журналы CLI, супервизора узла, Web-сервиса узла, супервизора контроллера, Web-сервиса контроллера, системные журналы. Grafana служит для удобного просмотра в одном месте всех журналов всех узлов.
Команды CLI для работы с сервисами
Для проверки статуса сервисов в CLI есть команды:
-
Проверка статуса loki на контроллере выполняется командой CLI
services list
. -
Проверка статуса td-agent на узле выполняется командой CLI
services list
. -
Отдельно в Web-интерфейсе выведена кнопка редиректа (перенаправления) на сервис Grafana, находящийся на контроллере. По умолчанию сервис выключен, а включить (выключить) его можно из CLI командой
grafana start|stop|status
. Grafana позволяет удобно просматривать и фильтровать все журналы системы. Подробности настройки и фильтрации смотрите на официальном сайте Grafana.
Каталог хранения журналов на контроллере
/var/log/loki/
Управление временем хранения журналов узлов на контроллере
Выполняется на контроллере командой CLI loki [storage_retention|set_storage_retention]
.
Базовое значение - 2 недели.
Пример управления временем (видно, что было 128 часов и изменилось на 168).
Расчет размера каталога журналов узлов на контроллере
1 вычислительный узел (ВУ) за 1 день при штатной работе условно займет 200 Мбайт.
Пример расчета
Для 20 ВУ с временем хранения 7 дней каталог будет занимать примерно 28 Гбайт.
Пример расчета
Для 5 ВУ с временем хранения 30 дней каталог будет занимать примерно 30 Гбайт.
Пример расчета
Для 30 ВУ с временем хранения 30 дней каталог будет занимать примерно 180 Гбайт.
Итого примерный размер каталога равен
200 Мбайт * количество ВУ * количество дней
.
Очистка журналов loki
- Очистка журналов loki на контроллере выполняются командой CLI
loki clear
.
Grafana
Состав каталога журналов
Общая информация
Расположение: /var/log
По умолчанию под каталог журналов при установке выделяется 80 Гбайт.
Ротирование
Журналы на контроллере и узлах автоматически ротируются.
Состав каталога журналов
-
Журналы всех узлов (только на контроллере). Подробное описание смотрите в Стек журналирования.
-
Статистика всех узлов (только на контроллере). Подробное описание смотрите в Стек статистики.
-
Журналы сервисов узла: /var/log/.
-
Журналы дампов крахов процессов: /var/log/crash/.
-
Журналы общих сервисов Space: /var/log/veil/.
-
Журналы CLI Space: /var/log/veil/cli/.
-
Журналы супервизора узла Space: /var/log/veil/node/.
-
Журналы супервизора контроллера Space (только на контроллере): /var/log/veil/controller/.
-
Резервная копия базы данных контроллера Space (только на контроллере): /var/log/veil/controller/db_backup/.
-
Архивы журнала контроллера Space (только на контроллере): /var/log/veil/controller/journal/.
Расчет размера каталога журналов на контроллере
Сильно зависящими от размера инфраструктуры и времени хранения являются размеры каталога журналов всех узлов и статистики всех узлов.
Базовый размер /var/log в режиме установки Preceed равен 80 Гбайт. Оставляем 10 Гбайт под журналы сервисов Space и системные, остается 70 Гбайт.
Условный расчет выполняется следующим образом:
150 Mбайт * количество серверов * 15 дней + 200 Мбайт * количество серверов * 30 дней = 8250 Мбайт * количество серверов
Имея 70 Гбайт, получаем 8 серверов.
В итоге места по умолчанию хватит на 8 серверов на 15 дней хранения статистики и
30 дней хранения журналов.
Общая условная формула для расчёта:
(количество серверов * количество дней * 350 Mбайт + 10000 Мбайт) / 1000
Возможные действия при переполнении каталога журналов
-
Проверить вывод команды
df -h
. -
Запустить в CLI команду
log remove-archives
, которая рекурсивно удалит все архивы .gz. - Запустить в CLI команду
ncdu /var/log/
, найти и очистить самые крупные файлы с помощью команды, например,> /var/log/syslog
. - Уменьшить на будущее время хранения статистики.
- Уменьшить на будущее время хранения журналов.
- Очистить хранилище журналов с помощью CLI команды
system logging clear
. - Возможно, для корректной работы потребуется перезапустить часть сервисов: redis, controller-db (postgresql), node-engine, controller-engine.
- Запустить в CLI команду
system autotest
. - Принудительно ротировать файлы журналов можно командой
log rotate
.
Причины возможного переполнения раздела журналов
Желательно перед очисткой разобраться, почему переполнились журналы, и принять меры по донастройке систем журналирования и ротирования или устранению причины генерации большого количества журналов.
Возможные причины:
-
Увеличилось количество узлов, и, соответственно, размер журналируемых данных на контроллере. Рекомендуется уменьшить количество времени хранения журналов loki с помощью команды
system logging [get_days2keep|set_days2keep]
. -
Увеличилось количество узлов, и, соответственно, размер собираемой статистики на контроллере. Рекомендуется уменьшить количество времени хранения статистики prometheus с помощью команды
system statistics [set_storage_time]
. -
Какое-то ПО постоянно журналирует ошибки. Это может быть как прикладное ПО, так и ошибки оборудования, например, BMC платы или процессора. Необходимо локализовать сервис, посмотрев, какой файл журналов заполняется или syslog, и принять меры по устранению (самим или написать в техподдержку).
Перемещение на другой локальный накопитель или расширение каталога журналов
Использование шаблонов для Zabbix на основе MIB-файлов SpaceVM
Установка ZABBIX
Загрузка и установка Zabbix для kubuntu 22.04.1
- zabbix version 6.0
- os distribution Ubuntu
- os version 22.04
- zabbix component: Server,Frontend,Agent
- database PostgreSQL
-
web server Nginx
-
Инсталлируем и конфигурируем репозиторий, устанавливаем Zabbix server, frontend, agent.
- Создаем начальную базу данных.(Необходимо удостовериться что postgresql установлен и работает. Рекомендуется команды postgres выполнять из каталога /tmp).
- Импортируем схему БД и начальные данные.
- Конфигурируем базу данных для сервера.
- Конфигурируем PHP для frontend.
- Запускаем процессы сервера и агента.
Загрузка и проверка базы управляющей информации MIB SNMP для SpaceVM
- Проверяем с помощью MIB-браузера.
- Устанавливаем java-jre (java-sdk).
- Загружаем в MIB-браузер
MIB файлы и шаблоны для Zabbix можно скачать по ссылке.
Создание шаблонов Zabbix из MIB
MIB файлы могут быть проанализированы и конвертированы в шаблоны, содержащие элементы данных, правила обнаружения и типы данных.
- Необходимо загрузить скрипт, доступный по ссылке.
- Установить и сконфигурировать пакеты командой:
apt install snmp snmp-mibs-downloader
-
Отредактировать
/etc/snmp/snmp.conf
4. Необходимо загрузить и распаковать базу управляющей информации MIB SNMP для SpaceVM в каталог /usr/share/snmp/mibs/spacevm (или /root/.snmp/mibs).mibs : mibdirs /root/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/snmp/mibs/spacevm: mibs +DACOM-SPACEVM-ENV-MIB mibs +DACOM-SPACEVM-HADR-MIB mibs +DACOM-SPACEVM-RESOURCES-MIB mibs +DACOM-SPACEVM-ROOT-MIB mibs +DACOM-SPACEVM-SYSTEM-MIB mibs +DACOM-SPACEVM-VMINFO-MIB
-
Выполнить тест командой
snmptranslate 1.3.6.1.4.1.51290
.Ответ должен быть: DACOM-SPACEVM-ROOT-MIB::spacevm
snmptranslate готов транслировать MIB OID между числовым и текстовым представлением.
-
Для корректной работы необходимо установить зависимости для скрипта:
apt install perl libxml-simple-perl libsnmp-perl
- Загрузить скрипт:
wget -O mib2zabbix https://raw.githubusercontent.com/cavaliercoder/mib2zabbix/master/mib2zabbix.pl
-
Настроить права на исполнение:
9. Протестировать скрипт:chmod a+x mib2zabbix
./mib2zabbix -h
Ответ должен быть:
Usage:
mib2zabbix.pl -o <OID> [OPTIONS]...
Export loaded SNMP MIB OIDs to Zabbix Template XML
-f, --filename=PATH output filename (default: stdout)
-N, --name=STRING template name (default: OID label)
-G, --group=STRING template group (default: 'Templates')
-e, --enable-items enable all template items (default: disabled)
-o, --oid=STRING OID tree root to export
-v, --snmpver=1|2|3 SNMP version (default: 2)
-p, --port=PORT SNMP UDP port number (default: 161)
SNMP Version 1 or 2c specific
-c, --community=STRING SNMP community string (default: 'public')
SNMP Version 3 specific
-L, --level=LEVEL security level (noAuthNoPriv|authNoPriv|authPriv)
-n, --context=CONTEXT context name
-u, --username=USERNAME security name
-a, --auth=PROTOCOL authentication protocol (MD5|SHA)
-A, --authpass=PASSPHRASE authentication protocol passphrase
-x, --privacy=PROTOCOL privacy protocol (DES|AES)
-X, --privpass=PASSPHRASE privacy passphrase
Zabbix item configuration
--check-delay=SECONDS check interval in seconds (default: 60)
--disc-delay=SECONDS discovery interval in seconds (default: 3600)
--history=DAYS history retention in days (default: 7)
--trends=DAYS trends retention in days (default: 365)
-h, --help print this message
./mib2zabbix -f spacevm.xml -o .1.3.6.1.4.1.51290 -N SPACEVM -e --check-delay=60
При выполнении данной команды, будет создан файл с именем spacevm.xml. Имя шаблона SPACEVM. Все элементы данных будут иметь статус Enabled. Интервал проверки, по умолчанию, установлен в 60 сек. Типы данных Integer32 преобразуются в Numeric(Float).
Импорт шаблонов SpaceVM в Zabbix
- Для импорта необходимо перейти во вкладку Configuration -> Template -> Import -> Choose File.
- Выбрать xml-файл и нажать на «Import».
После выполнения данных действий, будет создан шаблон с именем, указанным опцией -N.
Присоединение шаблонов к хосту
- Для привязки необходимо перейти во вкладку Configuration -> Hosts -> HOST -> Templates -> Select ->SpaceVM.
- Выбрать шаблон SpaceVM.
Все элементы данных имеют статус Enabled.
Создание графиков и триггеров
- Для создания графиков необходимо перейти во вкладку Configuration -> Hosts -> HOST -> Graphs ->Create graph или Configuration ->Templates -> TEMPLATE -> Graphs ->Create graph.
- Для создания триггеров необходимо перейти во вкладку Configuration -> Hosts -> HOST -> Triggers ->Create Trigger.
Графики и триггеры создаются штатными средствами Zabbix.
Исправление типов данных в MIB
База управляющей информации MIB SNMP SpaceVM содержит описание объектов, по которым могут быть построены графики и созданы триггеры. Для этих объектов должен быть определен числовой тип Unsigned32 или Integer32.
Примечание
Объекты с типом DisplayString не пригодны для построения графиков и триггеров.
Графическое дерево MIB SpaceVM, можно получить с помощью команды:
snmptranslate -Tp .1.3.6.1.4.1.51290
Дерево объектов MIB SPACEVM
+--spacevm(51290)
+--spacevmSystemObjects(10)
| +--spacevmSystemMIB(1)
| |
| +--spacevmSystemScalarObjects(1)
| | |
| | +-- -R-- String spacevmSystemEnv(1)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmSystemRole(2)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmSystemBaseVersion(3)
| | Textual Convention: DisplayString
| | Size: 0..255
| |
| +--spacevmSystemTableObjects(2)
| |
| +-- -RW- Unsigned spacevmSystemProductVersionsCount(1)
| |
| +--spacevmSystemProductVersionsTable(2)
| |
| +--spacevmSystemProductVersionsEntry(1)
| | Index: spacevmSystemProductIdx
| |
| +-- ---- String spacevmSystemProductIdx(1)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmSystemProductLabel(2)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmSystemProductVersion(3)
| Textual Convention: DisplayString
| Size: 0..255
|
+--spacevmResourcesObjects(20)
| +--spacevmResourcesMIB(1)
| +--spacevmResourcesCPU(1)
| | +-- -R-- Integer32 spacevmResourcesCPUUsed(1)
| | +-- -RW- Unsigned spacevmResourcesCPUProcUsedCount(2)
| | |
| | +--spacevmResourcesCPUProcUsedTable(3)
| | |
| | +--spacevmResourcesCPUProcUsedEntry(1)
| | | Index: spacevmResourcesCPUIdx
| | |
| | +-- ---- String spacevmResourcesCPUIdx(1)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmResourcesCPULabel(2)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- Integer32 spacevmResourcesCPUUsage(3)
| |
| +--spacevmResourcesMemory(2)
| | +-- -R-- Integer32 spacevmResourcesMemCount(1)
| | +-- -R-- Integer32 spacevmResourcesMemFree(2)
| | +-- -R-- Integer32 spacevmResourcesMemUsed(3)
| |
| +--spacevmResourcesDisks(3)
| | +-- -RW- Unsigned spacevmResourcesDisksCount(1)
| | |
| | +--spacevmResourcesDisksTable(2)
| | |
| | +--spacevmResourcesDisksEntry(1)
| | | Index: spacevmResourcesDiskIdx
| | |
| | +-- ---- String spacevmResourcesDiskIdx(1)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmResourcesDiskLabel(2)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- Integer32 spacevmResourcesDiskReadRate(3)
| | +-- -R-- Integer32 spacevmResourcesDiskWriteRate(4)
| |
| +--spacevmResourcesNetwork(4)
| | +-- -RW- Unsigned spacevmResourcesNetCount(1)
| | |
| | +--spacevmResourcesNetTable(2)
| | |
| | +--spacevmResourcesNetEntry(1)
| | | Index: spacevmResourcesNetIdx
| | |
| | +-- ---- String spacevmResourcesNetIdx(1)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmResourcesNetLabel(2)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- Integer32 spacevmResourcesNetReceiveRate(3)
| | +-- -R-- Integer32 spacevmResourcesNetTransmitRate(4)
| |
| +--spacevmResourcesCluster(5)
| +-- -RW- Unsigned spacevmResourcesClusterCount(1)
| |
| +--spacevmResourcesClusterTable(2)
| |
| +--spacevmResourcesClusterEntry(1)
| | Index: spacevmResourcesClusterIdx
| |
| +-- ---- String spacevmResourcesClusterIdx(1)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmResourcesClusterUuid(2)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- Integer32 spacevmResourcesClusterMemCount(3)
| +-- -R-- Integer32 spacevmResourcesClusterMemUsed(4)
| +-- -R-- Integer32 spacevmResourcesClusterMemUsedP(5)
| +-- -R-- Integer32 spacevmResourcesClusterMemFree(6)
| +-- -R-- Integer32 spacevmResourcesClusterCPUUsed(7)
| +-- -R-- Unsigned spacevmResourcesClusterCPUCount(8)
| +-- -R-- Unsigned spacevmResourcesClusterCPUHiLevel(9)
| +-- -R-- Unsigned spacevmResourcesClusterCPUHhLevel(10)
| +-- -R-- Unsigned spacevmResourcesClusterMEMHiLevel(11)
| +-- -R-- Unsigned spacevmResourcesClusterMEMHhLevel(12)
|
+--spacevmEnvObjects(30)
| +--spacevmEnvMIB(1)
| |
| +--spacevmEnvTableObjects(1)
| |
| +-- -RW- Unsigned spacevmEnvIPMICount(1)
| |
| +--spacevmEnvIPMITable(2)
| | |
| | +--spacevmEnvIPMIEntry(1)
| | | Index: spacevmEnvIPMIIdx
| | |
| | +-- ---- String spacevmEnvIPMIIdx(1)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmEnvIPMIName(2)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmEnvIPMIStatus(3)
| | Textual Convention: DisplayString
| | Size: 0..255
| |
| +-- -RW- Unsigned spacevmEnvHDDCount(3)
| |
| +--spacevmEnvHDDTable(4)
| |
| +--spacevmEnvHDDEntry(1)
| | Index: spacevmEnvHDDIdx
| |
| +-- ---- String spacevmEnvHDDIdx(1)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmEnvHDDName(2)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmEnvHDDStatus(3)
| Textual Convention: DisplayString
| Size: 0..255
|
+--spacevmVmInfoObjects(40)
| +--spacevmVmInfoMIB(1)
| |
| +--spacevmVmTableObjects(1)
| |
| +-- -RW- Unsigned spacevmVmCount(1)
| |
| +--spacevmVmTable(2)
| | |
| | +--spacevmVmEntry(1)
| | | Index: spacevmVmIdx
| | |
| | +-- ---- String spacevmVmIdx(1)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmVmUuid(2)
| | | Textual Convention: DisplayString
| | | Size: 0..255
| | +-- -R-- String spacevmVmStatus(3)
| | Textual Convention: DisplayString
| | Size: 0..255
| |
| +-- -RW- Unsigned spacevmVmAggCount(3)
| |
| +--spacevmVmAggTable(4)
| |
| +--spacevmVmAggEntry(1)
| | Index: spacevmVmAggIdx
| |
| +-- ---- String spacevmVmAggIdx(1)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggUuid(2)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggName(3)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggStatus(4)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggCpuCount(5)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggMemCount(6)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggNodeUuid(7)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggNodeName(8)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggNodeIp(9)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggPowerState(10)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmVmAggUptime(11)
| Textual Convention: DisplayString
| Size: 0..255
|
+--spacevmHADRObjects(50)
+--spacevmHADRMIB(1)
|
+--spacevmHADRTableObjects(1)
|
+-- -RW- Unsigned spacevmHAVmCount(1)
|
+--spacevmHAVmTable(2)
| |
| +--spacevmHAVmEntry(1)
| | Index: spacevmHAVmIdx
| |
| +-- ---- String spacevmHAVmIdx(1)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmUuid(2)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmName(3)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmStatus(4)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmHaStatus(5)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodeUuid(6)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodeName(7)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodeIp(8)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmMigrated(9)
| Textual Convention: DisplayString
| Size: 0..255
|
+-- -RW- Unsigned spacevmHAVmNodesCount(3)
|
+--spacevmHAVmNodesTable(4)
| |
| +--spacevmHAVmNodesEntry(1)
| | Index: spacevmHAVmIdx, spacevmHAVmNodesIdx
| |
| +-- ---- String spacevmHAVmNodesIdx(1)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodesUuid(2)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodesName(3)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodesIp(4)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodesStatus(5)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAVmNodesClusterUuid(6)
| Textual Convention: DisplayString
| Size: 0..255
|
+-- -RW- Unsigned spacevmHAClusterCount(5)
|
+--spacevmHAClusterTable(6)
| |
| +--spacevmHAClusterEntry(1)
| | Index: spacevmHAClusterIdx
| |
| +-- ---- String spacevmHAClusterIdx(1)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAClusterUuid(2)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAClusterName(3)
| | Textual Convention: DisplayString
| | Size: 0..255
| +-- -R-- String spacevmHAClusterHaStatus(4)
| Textual Convention: DisplayString
| Size: 0..255
|
+-- -RW- Unsigned spacevmHAClusterNodesCount(7)
|
+--spacevmHAClusterNodesTable(8)
|
+--spacevmHAClusterNodesEntry(1)
| Index: spacevmHAClusterIdx, spacevmHAClusterNodesIdx
|
+-- ---- String spacevmHAClusterNodesIdx(1)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- String spacevmHAClusterNodesUuid(2)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- String spacevmHAClusterNodesName(3)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- String spacevmHAClusterNodesIp(4)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- String spacevmHAClusterNodesStatus(5)
| Textual Convention: DisplayString
| Size: 0..255
+-- -R-- String spacevmHAClusterNodesClusterUuid(6)
Textual Convention: DisplayString
Size: 0..255
Следует учитывать, что Unsigned преобразуется в Numeric(Unsigned), Integer преобразуется в Numeric(Float).
snmpwalk -v1 -c public 192.168.145.10 1.3.6.1.4.1.51290
Дает предупреждение о том, что типы данных не совпадают, например:
DACOM-SPACEVM-RESOURCES-MIB::spacevmResourcesMemCount.0 = Wrong Type (should be IN
TEGER): STRING: "385620.5703125"
DACOM-SPACEVM-RESOURCES-MIB::spacevmResourcesMemFree.0 = Wrong Type (should be INT
EGER): STRING: "285185.12109375"
DACOM-SPACEVM-RESOURCES-MIB::spacevmResourcesMemUsed.0 = Wrong Type (should be INT
EGER): STRING: "63855.69140625"
Для корректной работы требуется соответствие типов данных OID и snmp-agent.
Ended: Статистика и журналирование серверов
Проверка программы
Самотестирование программы
При включении серверной платформы автоматически запускается SpaceVM и начинается процедура самотестирования, при этом осуществляются проверки целостности файловой системы.
Результаты тестирования
Результаты тестирования выдаются на консоль сервера в процессе загрузки.
В консоли сервера, перед приглашением ввода имени пользователя, отображается IP-адрес, присвоенный интерфейсу управления сервером.
После авторизации в системе суперпользователя root предоставляется интерфейс CLI для управления параметрами сервера из консоли. Этот интерфейс предназначен для настройки параметров, влияющих на целостность системы. Из данного интерфейса можно получить информацию о настройке сетевой подсистемы и произвести устранение неполадок.
Удаленное управление сервером
При наличии на сервере разъема последовательного порта номер 2 (ttyS1, COM2, 115200 бит/с, 8n1) в SpaceVM предусмотрена возможность работы через этот порт посредством подключения через нуль-модемный кабель с рабочей станции.
При наличии поддержки аппаратурой сервера протокола IPMI Serial-over-Lan (SoL) возможно удаленное управление сервером.
Пример включения SoL в BIOS сервера приведен ниже:
На клиентской машине устанавливаем утилиту ipmitools
.
Установка на ОС Ubuntu выполняется командой:
sudo apt-get install ipmitool
Пример команды проверки текущего статуса питания сервера:
ipmitool -H 192.168.99.1 -U ADMIN -P 4a23t887UP -I lanplus chassis power status
Пример команды рабочего терминала:
ipmitool -H 192.168.99.1 -U ADMIN -P 4a23t887UP -I lanplus sol activate
Возможные сценарии/архитектуры контроллеров и кластеров
Описание ролей
Роль Node
Роль сервера виртуализации, используется для управления сетями, хранилищами, ВМ и т.д.
Роль Controller
Роль используется для управления кластерами серверов из единой консоли.
Роль Controller + Node
Роль является суммарной ролью Node и Controller.
Контроллеры
1 контроллер
- 1 контроллер с ролью Controller + Node на физическом сервере.
- 1 контроллер с ролью Controller на физическом сервере.
- 1 контроллер с ролью Controller в ВМ. Устанавливает на сервер роль Node, затем через Web-интерфейс узла ставится контроллер в ВМ.
2 контроллера
- 2 контроллера: первый и второй контроллеры с ролью Controller + Node на физических серверах.
- 2 контроллера: первый и второй контроллеры с ролью Controller на физических серверах.
- 2 контроллера: первый и второй контроллеры с ролью Controller на ВМ.
- 2 контроллера: первый контроллер с ролью Controller + Node на физическом сервере, второй контроллер с ролью Controller на ВМ.
- 2 контроллера: первый контроллер с ролью Controller на физическом сервере, второй контроллер с ролью Controller на ВМ.
Отказоустойчивость контроллеров
-
Репликация контроллеров (Active/StandBy)
-
Свидетель контроллеров (автоматическое переключение StandBy на Active при отказе Active)
-
Резервное копирование БД контроллера
Репликация ВМ с контроллером
Кластер с кворумом и без
-
Кластер без кворума не может принимать решения при потере сетевой связности с контроллером.
-
Кластер с кворумом может принимать решения, но возможны разнообразные сложности после появления сетевой связности контроллера с кластером.
Сценарии
-
1 локация с 1 небольшим кластером: 1 "железный" контроллер с ролью Controller + Node в составе кластера.
-
1 локация с несколькими кластерами или 1 большим кластером: 1 "железный" контроллер с ролью Controller + Node в составе первого кластера, 2 "виртуальный" контроллер на другом кластере, между ними поднята репликация.
-
2 локации с несколькими кластерами: 1 "железный" контроллер с ролью Controller + Node в составе первого кластера, 2 "виртуальный" контроллер в другой локации, поднята репликация, поднят свидетель.
Используемые внутренними сервисами порты (список пополняется)
Список портов | Применение |
---|---|
80 | Веб-интерфейс(http) |
443 | Веб-интерфейс(https) |
9090 | Шина статистики (Prometheus на контроллере) |
9100 | Шина статистики (Prometheus статистики узла на узле) |
9177 | Шина статистики (Prometheus статистики ВМ на узле) |
3000 | Шина статистики и логирования (GRAFANA) |
6379 | REDIS |
11300 | Шина обмена статусами хранилищ, сети и ВМ между узлами и контроллером |
22 | SSH |
8 | ICMP |
53 | DNS |
46003 | Шина heartbeat, постановки и проверки выполнения задач между узлами и контроллером |
24224 | Шина логирования (FLUENTD) |
3100 | Шина логирования (LOKI) |
(SCTP,UDP)/(5404, 5405, 5406) | GFS2 (corosync) кластерный транспорт |
7777 | OCFS2 кластерный транспорт |
24007-24008, 38465-38467, 49152-49199 | GLUSTER кластерный транспорт |
(TCP,UDP)/111 | RPC portmapper (используется GLUSTER) |
UDP/123 | Сервис синхронизации времени (NTP) на контроллере |
UDP/161,162 | SNMP |
9400, 9401 | Объектное S3 хранилище (MinIO) |
50000-65535 | Spice/VNC порты узла |
5900-6000 | Spice/VNC порты контроллера |
5432, 5433 | POSTGRES порты узла/контроллера |
6081 | вебсокеты контроллера |
4789 | VXLAN туннели |
623 | IPMI |
8300, 8301, 8302, 8500 | CONSUL |
Порты, используемые при обмене данными между контроллерами и узлом
Источник | Приемник | Протокол | Порт | Применение |
---|---|---|---|---|
Узел | Контроллер | tcp | 11300 | Beanstalkd |
Контроллер | Узел | tcp | 9100 | Prometheus |
Контроллер | Узел | tcp | 9177 | Prometheus |
Контроллер | Узел | tcp | 22 | SSH |
Контроллер | Узел | tcp | 46003 | GRPC |
Узел | Контроллер | tcp | 24224 | FLUENTD |
Узел | Контроллер | tcp/udp | 111 | NTP |
Контроллер | Контроллер | tcp | 5432, 5433 | POSTGRES |
Контроллер | Узел | tcp | 50000-65535 | Spice/VNC |
Контроллер | Узел | udp | 623 | IPMI |
Порты, используемые при обмене данными между узлами
Источник | Приемник | Протокол | Порт | Применение |
---|---|---|---|---|
Узел | Узел | tcp | 22 | SSH |
Узел | Узел | tcp | 46003 | GRPC |
Узел | Узел | tcp | 5404, 5405, 5406 | GFS2 |
Узел | Узел | tcp | 7777 | OCFS2 |
Узел | Узел | tcp | 24007-24008, 38465-38467, 49152-49199, 111 | GLUSTER |
Узел | Узел | tcp | 9400, 9401 | MinIO |
Узел | Узел | tcp | 4789 | VXLAN |
Узел | Узел | udp | 623 | IPMI |
Узел | Узел | tcp | 8300, 8301, 8302, 8500 | CONSUL |
Узел | Узел | udp | 8301, 8302 | CONSUL |
Порты, используемые при обмене данными между МК (менеджером конфигураций) и ТОС (технологической операционной системой)
Источник | Приемник | Протокол | Порт | Применение |
---|---|---|---|---|
МК | ТОС | tcp | 11300 | Beanstalkd |
МК | ТОС | tcp | 9090 | Prometheus |
МК | ТОС | tcp | 6379 | REDIS |
МК | ТОС | tcp | 3100 | Loki |
МК | ТОС | tcp | 5433 | POSTGRES |
Сообщения системному программисту
Действия системного программиста должны осуществляться в соответствии с подсказками, выдаваемыми в процессе инсталляции и настройки программы на экране монитора.
Подсказка по командам CLI-интерфейса вызывается командой help
.
Перечень принятых сокращений
Сокращение | Описание |
---|---|
ВД | высокая доступность |
ВМ | виртуальная машина |
МК | менеджер конфигурации |
НЖМД | накопитель на жёстком магнитном диске |
ОС | операционная система |
ПО | программное обеспечение |
ПЭВМ | персональная электронно-вычислительная машина |
СУ | сеть управления |
ТОС | технологическая операционная система |
ЦСХД | централизованная система хранения данных |
ЭВМ | электронно-вычислительная машина |
AD | Active Directory (активный каталог) |
ECP | Enterprise Cloud Platform (облачная платформа корпоративного уровня) |
SSO | Single Sigh-On (технология единого входа) |
Ended: Рук-во системного программиста
Рук-во оператора ↵
Подготовка к работе
Перед началом работы пользователю необходимо у администратора системы виртуализации получить параметры авторизации (имя учетной записи и пароль), с которыми он в дальнейшем будет работать.
Если учетная запись не была создана, то необходимо воспользоваться учетной записью администратора.
Если не производилась первоначальная настройка системы, то ее необходимо выполнить в следующем порядке:
-
установить SpaceVM на все серверы. Установка выполняется в соответствии с руководством системного программиста Установка;
-
добавить все серверы в кластер, используя Web-интерфейс (Добавление сервера);
-
подключить сетевые (общие) хранилища (Файловые хранилища, Блочные хранилища);
-
при необходимости использования высокой доступности (ВД) или другого функционала, недоступного для базового кластера, создать дополнительный кластер и перенести в него серверы (Перемещение сервера);
-
при управлении одним контроллером группами серверов, сети управления которых отличаются (находятся в разных центрах обработки данных (ЦОД)), внести в разделе Сети — Сетевые настройки для сети управления контроллера статические маршруты до сетей управления остальных групп серверов. Настройка маршрутизации для серверов другой сети управления производится из Command Line Interface (CLI) серверов группы перед их добавлением к контроллеру;
-
при необходимости использования второго (резервного) контроллера произвести настройку репликации данных (из CLI). Более полное описание приведено в руководстве системного программиста Репликации контроллера;
-
при необходимости создать и настроить дополнительные коммутаторы, группы интерфейсов (Виртуальные коммутаторы);
-
для формирования L2-сетевой связанности между локациями настроить туннель (L2-туннели);
-
создать и настроить виртуальные машины (Создание ВМ).
Общие правила при работе с программой
Важно
- ряд объектов помимо функции штатного удаления имеют опцию форсированного удаления;
- форсированное удаление объектов должно производиться только компетентным сотрудником. При форсированном удалении не выполняется проверка состояния и связанности удаляемого объекта с другими объектами кластера. Фактически данная операция удаляет запись об объекте из базы данных (БД), что может нарушить работу связанных объектов и (или) привести к потере данных;
- восстановление объектов, удаленных таким образом, невозможно, так как все объекты кластера имеют уникальный идентификатор, генерируемый при создании объекта. Созданный заново объект будет иметь новый идентификатор.
Все действия выполняются одинарным нажатием левой клавиши графического манипулятора (далее по тексту — нажатием клавиши) на объект (его изображение или название), на который в данный момент указывает курсор. При этом открываются окна с информацией о состоянии (свойствах) любого объекта кластера, для которого такое окно предусмотрено. Если открытие окна не произошло, значит оно не предусмотрено для этого объекта.
Для комфортной работы с интерфейсом программы рекомендуется разрешение экрана 1920*1080. При меньшем разрешении экрана часть элементов интерфейса может быть скрыта.
Включение программы
Включение программы происходит с помощью запуска сервера (впоследствии ВМ) контроллера, на котором располагается МК. В процессе запуска контроллера автоматически запускаются все службы и сервисы, необходимые для его работы, и становится доступным интерфейс системы управления МК.
Для начала работы пользователю необходимо авторизоваться в системе управления. Для этого необходимо выполнить следующие действия:
-
проверить следующие возможности браузера, установленного на АРМ, для нормального функционирования интерфейса управления:
-
браузер поддерживает протоколы HTTP/HTTPS;
-
браузер поддерживает исполнение HTML5 и Type & Java script кода;
-
браузер позволяет интерфейсу управления открывать дополнительные окна (вкладки);
-
-
осуществить доступ к Web-интерфейсу управления. Для этого пользователю необходимо ввести в строке адреса браузера адрес МК, который был настроен при установке SpaceVM;
Примечания
- Если было использовано значение "по умолчанию", то IP-адрес интерфейсу управления назначается автоматически.
- После установки доступ к Web-интерфейсу автоматически перенаправляется на протокол HTTP.
- Первоначально для доступа по HTTPS используется самоподписанный сертификат, созданный автоматически в процессе установки ПО. Для корректной работы необходимо заменить HTTPS-сертификат на валидируемый локальным или глобальным центром сертификации.
-
в Web-интерфейсе управления ввести имя учетной записи и пароля, а также отметить необходимость использования LDAP и выбрать язык из списка;
-
после первой авторизации в системе в Web-интерфейсе необходимо ввести лицензионный ключ. Для этого необходимо перейти в раздел Настройки – Лицензирование и в окне управления лицензиями нажать на кнопку Выбрать файл лицензии. В стандартном окне загрузки файлов выбрать нужную лицензию и нажать на кнопку Открыть.
Более подробная информация приведена в руководстве системного программиста Первоначальная настройка;
-
после успешной авторизации пользователь переходит в основное окно интерфейса. При установке автоматически создается базовая локация default location с базовым кластером default cluster.
Окно интерфейса
Основное окно
В основном окне интерфейса представлена инфраструктура локаций, включающая информацию об основных объектах системы:
- кластеры;
- серверы;
- виртуальные машины;
- пулы данных.
Представлен мониторинг ресурсов в реальном времени:
- графики загрузки процессов CPU;
- графики загрузки памяти RAM.
Индивидуальная загрузка для каждого сервера и виртуальной машины отображается во вкладке Мониторинг.
При нажатии кнопки происходит автоматическое обновление графиков.
При нажатии кнопки в открывшемся окне существует возможность:
- задать начало и конец графика путём выбора даты и времени;
- задать интервал между точками;
- сброса настроек — выполняется автоматически при нажатии кнопки Сбросить;
- применения настроек — выполняется автоматически при нажатии кнопки Применить.
Функциональные возможности интерфейса
Глобальный поиск
Поиск доступен в любом окне системы.
Для поиска объектов в системе необходимо нажать кнопку поиска(1) и указать данные. (2)
В окне поиска (3) отобразится список найденных объектов сгруппированных по типам.
Для поиска доступны следующие типы объектов:
-
виртуальная машина;
-
виртуальная сеть;
-
виртуальный диск;
-
пользователь;
-
пул данных;
-
iso-образ;
-
кластер;
-
узел;
-
файл;
-
тег;
Примечание
В поиске будут отображены только те объекты, доступ к которым есть у текущего пользователя системы.
Управление окнами интерфейса
При работе с окнами существует возможность:
В левой части окна интерфейса:
-
локации;
-
кластеры;
-
серверы;
-
виртуальные машины;
-
шаблоны ВМ;
-
пулы ресурсов;
-
хранилища:
-
пулы данных;
-
диски;
-
образы ISO;
-
файлы;
-
LUNs;
-
ZFS;
-
сетевые хранилища:
- файловые;
- блочные;
-
кластерные хранилища:
- кластерные транспорты;
- тома;
-
ISCSI сервер:
- ISCSI storage;
- ISCSI target;
-
сети:
- сетевые настройки;
- контроль трафика;
- виртуальные сети;
-
внешние сети;
-
журнал:
- события;
- задачи;
-
предупреждения;
-
безопасность:
- пользователи;
- роли;
- сессии;
- NTP и время;
- ключ шифрования;
- SSL сертификаты;
- службы каталогов;
- события безопасности;
-
Web-sockets;
-
задачи по расписанию;
-
настройки:
- организации;
- контроллер;
- лицензирование;
- теги;
- системные.
События
В случае регистрации в системе ошибок или предупреждений при выполнении операций в нижнем окне интерфейса появляются соответствующие индикаторы. Цифра рядом с индикатором указывает на количество соответствующих событий.
Более подробная информация о работе с журналами описана в разделе Журнал.
Профиль пользователя
В правом верхнем углу окна интерфейса отображается имя пользователя, авторизовавшегося в системе. Более подробная информация о пользователе описана в Профиль пользователя.
Профиль пользователя
В окне профиля пользователя содержится основная информация пользователя. Кнопка Изменить пароль позволяет изменить свой пароль указав текущий.
Генерация пароля
Есть возможность сгенерировать пароль соответствующий установленному в системе уровню стойкости паролей.
Информация о пользователе разделена на следующие группы:
-
информация;
-
настройки;
-
роли и разрешения;
-
сессии.
Во вкладке Информация отображаются:
-
логин;
-
имя (редактируемый параметр);
-
фамилия (редактируемый параметр);
-
электронная почта (редактируемый параметр);
-
состояние;
-
дата создания.
Во вкладке Настройки отображаются:
-
часовой пояс;
-
дата окончания действия пользователя;
-
дата окончания действия пароля;
-
суточный период пользователя;
-
время начала суточного периода;
-
время окончания суточного периода;
-
посылать ошибки на электронную почту;
-
посылать предупреждения на электронную почту;
-
посылать информационные сообщения на электронную почту;
Примечание
Отправка уведомлений на почту происходит с интервалом 5 мин.
-
двухфакторная аутентификация (при включении появляется возможность ввести почту для получения ключей);
-
максимальное количество одновременных сеансов;
-
время неактивности для деактивации пользователя.
Во вкладке Роли и разрешения отображаются:
-
роли пользователя;
-
разрешения пользователя.
Во вкладке Доступ к ВМ и Ресурсы пользователя отображается список доступных ВМ, пулов данных, дисков, образов, файлов и виртуальных сетей пользователю.
Во вкладке Сессии для каждой сессии отображаются IP-адрес клиента, агент клиента, статус, дата создания сессии, дата последнего использования и действие Завершить сессию.
Во вкладке Ключ интеграции доступен список ключей интеграции, возможность создать или удалить ключ.
Для создания ключа интеграции необходимо нажать кнопку Создать ключ и указать Приложение для интеграции и нажать кнопку Сгенерировать ключ.
Для удаления ключа интеграции необходимо в списке ключей выбрать ключ для удаления и нажать кнопку Удалить ключ интеграции.
Управление пользователями подробно описано в Безопасность-Пользователи.
Локации
Локации представляют собой сущности, предназначенные для группирования кластеров. Изначально предполагается, что каждая локация - это отдельный ЦОД или его часть. Кластеры, серверы, сетевые хранилища и другие единицы из состава одной локации должны находиться в одной локальной вычислительной сети (ЛВС), а скорость сетевого соединения между ними должны быть не менее 1 Гбит/с с сетевыми задержками не более 400 мс.
В рамках одной локации допускается использование одного общего сетевого хранилища для всех кластеров, перенос серверов между кластерами.
Также присутствуют ограничения на построение туннелей и катастрофоустойчивой ВМ. Эти единицы кластера могут быть настроены только между разными локациями.
Список всех локаций, включая ее название, количество процессоров (CPU), объем памяти (RAM), количество кластеров, файловых и блочных хранилищ, а также статус локации, можно посмотреть, выбрав раздел Локации основного меню.
Существует возможность обновить, добавить или просмотреть уже существующие локации более подробно.
Для создания новой локации необходимо нажать кнопку Добавить локацию и указать следующие параметры:
- название локации;
- описание локации.
Для изменения локации необходимо нажать на ее название, после чего в открывшемся окне отобразится информация, разграниченная по следующим группам:
- Информация содержит сведения о локации:
- график загрузки cpu_rate_percent (общая загрузка процессорных ресурсов (Central Processing Unit, далее CPU)) и memory_rate_percent (общая загрузка оперативной памяти (Random Access Memory, далее RAM);
- название (редактируемый параметр);
- описание (редактируемый параметр);
- процессоры;
- оперативная память;
- дата и время создания (изменения).
- Кластеры содержит список кластеров, входящий в состав локации,
включая:
- название кластера;
- сведения о CPU, RAM;
- количество серверов;
- статус.
- Хранилища -- отображаются общие сетевые хранилища (файловые и блочные) для этой локации.
- События -- отображаются системные события для этой локации.
- Теги -- отображаются назначенные к локации метки (теги).
Примечание
При добавлении серверов необходимо указывать локацию, в которую добавляется сервер. Процедура добавления сервера описана в Добавление сервера.
Кнопка Сканировать хранилища локации запускает сканирование и синхронизацию на всех серверах локации следующих хранилищ:
Примечание
Поиск пулов данных будет осуществлен на всех (на уже известных и на найденных) хранилищах. Все пулы данных, включая найденные, будут просканированы на предмет содержащихся на них образов, дисков и файлов.
Кластеры ↵
Общие сведения
Кластеры представляют собой сущности, предназначенные для группировки серверов. Изначально предполагается, что каждый кластер — это группа серверов, объединенных ЛВС со скоростью передачи данных более или равно 1 Гбит/с с сетевыми задержками не более 100 мс. Сетевые СХД, подключенные к серверам кластера, используются для хранения дисков ВМ. Для каждого кластера можно настроить параметры высокой доступности ВМ и динамического распределения нагрузки. Также для каждого кластера можно настроить индивидуальные сетевые параметры, применяемые ко всем серверам кластера. В рамках одного кластера можно настроить распределенный виртуальный коммутатор.
Базовый кластер, в состав которого входит контроллер SpaceVM, имеет ограничение на включение поддержки кластерной файловой системы (ФС) и предназначен для применения к добавляемому серверу организационных операций. Это связано с тем, что большинство кластерных ФС требуют сохранения кворума серверов-клиентов и, в случае отсутствия кворума, серверы могут отключаться для предотвращения повреждения данных. При этом сервер, выполняющий роль контроллера, не может быть огражден для предотвращения потери управления системой.
Базовые сущности
При установке по умолчанию создается базовая локация и кластер. Удалять их запрещено. При создании новых локаций их базовые кластеры создаются автоматически. При удалении локаций удаляются и их базовые кластеры.
Просмотр имеющихся кластеров
Список всех кластеров можно посмотреть в разделе Кластеры основного меню. В этом же окне имеется возможность обновления кластеров, добавление нового кластера, а также поиск кластера по названию.
-
Кластерный транспорт gfs2 при отказе одного из 2 узлов не сможет продолжить работу файловой системы до восстановления этого узла в строй.
-
Кластерный транспорт gluster при отказе одного из 2 узлов не сможет продолжить работу файловой системы до восстановления этого узла в строй.
-
Кластер из 2 узлов после включения кворума при потере связи с контроллером не сможет выбрать лидера и перезапустить ВМ.
-
В кластере из 2 узлов, в составе которого есть контроллер, при выключении контроллера не отработает механизм высокой доступности, то есть ВМ существующие на контроллере, не перезапустятся на другом узле.
Создание кластера
Создать кластер в составе соответствующей локации для добавления нераспределенных серверов можно в разделе Кластеры основного меню, нажав кнопку Добавить кластер. Далее в открывшемся окне нужно ввести уникальное название создаваемого кластера и выбрать его локацию, в которую будет включен созданный кластер.
Внимание!
Перемещение уже добавленного сервера между кластерами в составе разных локаций невозможно!
Информация о кластере
Для просмотра или изменения информации о существующем кластере необходимо в разделе Кластеры основного меню выбрать целевой кластер, после чего в открывшемся окне во вкладке Информация отобразится следующая информация:
Кнопка Сканировать хранилища кластера запускает сканирование и синхронизацию на всех серверах кластера следующих хранилищ:
Примечание
Поиск пулов данных будет осуществлен на всех (на уже известных и на найденных) хранилищах. Все пулы данных, включая найденные, будут просканированы на предмет содержащихся на них образов, дисков и файлов.
Графики загрузки CPU и RAM кластера
При наличии данных будет сформированы обновляемые в реальном времени графики использования CPU и RAM в процентах.
Для удобства анализа использования аппаратных мощностей кластера можно настроить отображение графиков, нажав на кнопку слева от графиков Задать интервал и в открывшемся окне настроить интервал.
Для увеличения определенного интервала можно нажать на кнопку Масштабировать и в миниатюрном изображении графиков под основными графиками выделить область для просмотра.
Название и описание
Название - уникальное имя кластера. Чтобы его изменить, необходимо нажать кнопку Изменение названия кластера и в открывшемся окне ввести новое уникальное имя кластера, после чего нажать кнопку Сохранить.
Описание - описание кластера. Чтобы его изменить, необходимо нажать кнопку Изменение описания кластера и в открывшемся окне ввести описание, после чего нажать кнопку Сохранить.
Локация
Локация - локация, в которую входит кластер.
Характеристики кластера
Процессоры - общее количество потоков всех узлов кластера.
Оптимальный тип процессора для ВМ определяется по наименьшему совпадению функций (флагов) процессоров всех узлов кластера, и при отсутствии совпадения выводит тип определения «default».
Оперативная память - общий объем доступной оперативной памяти всех узлов кластера.
Кворум кластера
Данный параметр показывает, включен ли механизм поддержания состояния кворума на контроллере. Включение данного параметра необходимо для реализации механизма Высокой доступности. Чтобы изменить состояние кворума кластера, необходимо нажать кнопку Настройки кворума и в открывшемся окне подтвердить действие.
Даты создания и изменения
Дата создания показывает, когда был создан данный кластер.
Дата изменения показывает, когда были внесены изменения в конфигурацию кластера.
Серверы в составе кластера
Вкладка Серверы содержит список физических серверов в табличном виде, включая информацию о каждом из них:
- название;
- IP-адрес;
- сведения о CPU и RAM;
- количество ВМ (включенных и всего);
- статус.
Перемещение сервера между кластерами в составе одной локации возможно только после перевода сервера в Сервисный режим. Перевод в сервисный режим осуществляется в окне Серверы - <имя сервера>.
Добавление сервера в состав кластера производится в разделе Серверы основного меню при выполнении операции Добавить сервер.
Более подробное описание сервера и операции с ним приведены в разделе Операции с физическими серверами.
Пулы ресурсов в составе кластера
Вкладка Пулы ресурсов содержит список пулов ресурсов в табличном виде, включая информацию о каждом из них:
- название;
- ВМ;
- ограничение памяти;
- ограничение CPU.
Для создания нового пула ресурсов необходимо нажать кнопку Создать пул ресурсов.
Более подробное описание пула ресурсов и операции с ним приведены по ссылке Пулы ресурсов.
Виртуальные машины в составе кластера
Вкладка Виртуальные машины содержит список ВМ кластера в табличном виде, включая информацию о каждой из них:
- название;
- сервер;
- IP-адрес;
- количество виртуальных процессоров vCPU;
- объём виртуальной оперативной памяти vRAM;
- количество виртуальных дисков vDisk;
- количество виртуальных сетевых интерфейсов vNIC;
- количество сетевых адаптеров vFunc;
- количество mediated-устройств vGPU;
- приоритет;
- статус.
Более подробное описание ВМ и операции с ней приведены по ссылке Операции с ВМ.
Хранилища в составе кластера ↵
Хранилища в составе кластера
В состав каждого кластера могут входить различные хранилища данных и кластерные транспорты, перечисленные во вкладке Хранилища, а именно:
Пулы данных
Вкладка Пулы данных содержит список пулов данных в табличном виде, включая информацию о каждом из них:
- название;
- тип пула данных;
- количество серверов, к которым подключен конкретный пул данных;
- количество виртуальных дисков, находящихся на конкретном пуле данных;
- количество ISO-образов, находящихся на конкретном пуле данных;
- количество файлов, находящихся на пуле данных;
- использованный и общий объем пула данных;
- приоритет;
- статус.
Также имеется возможность создания нового пула данных и обновления списка.
Более подробное описание пула данных и операции с ним приведены по ссылке Пулы данных.
ZFS пулы
Вкладка ZFS пулы содержит информацию обо всех ZFS-пулах кластера в табличном виде, а именно:
- название;
- сервер, на котором развернуто конкретное ZFS-хранилище;
- тип ZFS-хранилища;
- размер хранилища ZFS;
- состояние (Health) хранилища ZFS;
- количество локальных устройств хранения данных, используемых для организации ZFS-хранилища;
- количество внешних устройств хранения данных, используемых для организации ZFS-хранилища;
- статус.
Также имеется возможность создания нового ZFS-пула и поиска ZFS-пула с применением фильтра.
Более подробное описание ZFS-хранилища и операции с ним приведены по ссылке ZFS пулы.
Файловые хранилища
Вкладка Файловые хранилища содержит информацию обо всех файловых хранилищах кластера в табличном виде, а именно:
- название;
- тип подключения файлового хранилища;
- использованный и общий объем конкретного пула данных;
- количество созданных пулов данных на файловом хранилище;
- количество серверов кластера, к которым подключено файловое хранилище;
- статус.
Также имеется возможность добавить файловое хранилище.
Более подробное описание файлового хранилища и операции с ним приведены по ссылке Файловые хранилища.
Блочные хранилища
Вкладка Блочные хранилища содержит информацию обо всех блочных хранилищах кластера в табличном виде, а именно:
- название;
- тип подключения блочного хранилища;
- статус.
Также имеется возможность добавить блочное хранилище.
Более подробное описание блочного хранилища и операции с ним приведены по ссылке Блочные хранилища.
Кластерные транспорты
Вкладка Кластерные транспорты содержит информацию обо всех кластерных транспортах кластера в табличном виде, а именно:
- название;
- кластер, к которому подключен кластерный транспорт;
- тип кластерного транспорта;
- статус.
Также имеется возможность добавить кластерный транспорт.
Более подробное описание кластерного транспорта и операции с ним приведены по ссылке Кластерные транспорты.
Тома
Вкладка Тома содержит список подключенных к кластеру томов в табличном виде, включая информацию о каждом из них:
- название;
- используемый кластерный транспорт;
- тип тома;
- использованный и общий объем тома;
- Gluster статус;
- статус тома.
Также имеется возможность создания нового тома.
Более подробное описание тома и операции с ним приведены по ссылке Тома.
Ended: Хранилища в составе кластера
Высокая доступность ↵
Общие сведения
Высокая доступность — это набор механизмов управления, позволяющий восстанавливать работоспособность ВМ без риска повреждения данных при прекращении работы узла кластера.
Механизмы ВД для платформы виртуализации SpaceVM позволяют повысить отказоустойчивость вычислительной инфраструктуры за счет возможности автоматического восстановления ВМ на резервном физическом сервере в случае сбоя или отказа сервера, на которой она выполнялась. Механизмы ВД возможно активировать на кластере до 96 физических серверов.
ВД SpaceVM отличается от аналогичных решений тем, что позволяет организовывать инфраструктуру автоматизированного восстановления ВМ на кластере из двух серверов и более (до 96), а также позволяет сохранять работоспособность при отказе более половины серверов виртуализации.
Это достигается тем, что ВД SpaceVM имеет централизованную архитектуру, встроенную в программный контроллер SpaceVM. Вследствие чего кворум (согласованность) поддерживается централизованно арбитром контроллера, а не распределенными равнозначными между собой физическими серверами. Только на тех узлах, которые находятся в состоянии кворума, возможна попытка восстановления ВМ на своих вычислительных ресурсах.
Механизм поддержания состояния кворума необходим для предотвращения проблемы с запуском нескольких
экземпляров ВМ при потере связности между работоспособными узлами, так как это может повлечь за собой,
например, повреждение данных в следствие одновременного выполнения операции записи двух экземпляров ВМ
в один участок дисковой памяти. Данная проблема известна под названием «Расщепление» или «Split Brain».
Например, достаточность количества работоспособных узлов при распределенном поддержании кворума определяется
по формуле n > N/2
, где n – количество работоспособных узлов, N – общее количество узлов в кластере.
То есть узлы считают, что находятся в состоянии кворума, если количество «видимых» узлов превышает
половину от общего количества. Таким образом, в случае отказа более половины серверов, кластер теряет кворум
и не предпринимает попыток восстановить на работоспособных серверах отказавшие ВМ.
В SpaceVM по причине поддержания кворума контроллером кластер может сохранять работоспособность, если отказало больше половины серверов. В таком случае контроллер продолжит восстановление отказавших ВМ на работоспособных серверах. В случае отказа сервера с контроллером возможно активировать резервный контроллер и механизмы ВД SpaceVM продолжат работу.
Описание механизмов ограждения
IPMI ограждения
Основной частью отказоустойчивости является настройка высокой доступности (ВД) ВМ в составе кластера. Важным моментом защиты ВМ, предотвращающим восстановление ВМ на новом сервере до полной остановки её копии на аварийном оборудовании, является управление сервером по IPMI.
Поэтому без получения от сервера сигнала об ограждении (отключении питания или перезагрузке), ВМ не будет перезапущена на новом сервере. Для серверов, не оборудованных IPMI, предусмотрена возможность признания сервера выключенным автоматически, что теоретически может привести к повреждению диска ВМ из-за попыток записи данных на один диск двумя экземплярами ОС ВМ.
Требования к реализации
Реализация механизмов по типу ограждения IPMI основывается на соблюдении ряда требований:
-
серверы в составе кластера должны поддерживать управление по протоколу IPMI v2 (LanPlus) по выделенному сетевому интерфейсу. Если IP-адреса управления находятся в сети, отделенной от сети управления SpaceVM, то в разделе Сети - Сетевые настройки основного меню для контроллера SpaceVM необходимо прописать маршрут для доступа к IP-адресам IPMI-интерфейсов. Также допускается настройка виртуального внутреннего интерфейса для контроллера с доступом в сеть управления IPMI. Это необходимо для возможности опроса серверов в составе кластера на предмет состояния питания сервера;
-
на основании состояния питания сервера (Power On/Off, Cycle) принимается решение о возможности запуска ВМ на другом сервере. Это связано с тем, что, если сервер, на котором выполняется ВМ, не был гарантированно выключен, то возможно, что восстановление работы ВМ на новом сервере начнется до окончания её функционирования на сервере, где произошел сбой.
GFS2 кворум
Реализация механизмов в случае наличия кластерного транспорта типа GFS2:
- кворум серверов GFS2 может самостоятельно принимать решение об ограждении узлов. Подробности смотрите по ссылке Кластерные транспорты.
Управление высокой доступностью кластера
В данном разделе описывается настройка Высокой доступности (далее «ВД») для кластера. Настройка высокой доступности, применяемая на весь кластер, выполняется в разделе Кластеры основного меню. Для разных кластеров могут быть применены индивидуальные настройки. ВД может применяться как для всего кластера целиком (для всех ВМ кластера), так и выборочно для конкретной виртуальной машины (машин).
Примечание
Необходимо учитывать, что индивидуальные настройки ВМ перекрывают настройки кластера. Настройка ВД для виртуальных машин описана в разделе Виртуальные машины - Высокая доступность.
Включение (отключение) высокой доступности
Для включения или отключения ВД необходимо перевести переключатель Высокая доступность в соответствующее положение. По умолчанию - Выключено.
Включение ВД для кластера будет означать, что для всех ВМ, параметры которых позволяют применить к ним Высокую доступность, будет активирована данная опция.
Включение (отключение) автоматического выбора сервера
Для включения или отключения автоматического выбора сервера необходимо перевести переключатель Автоматический выбор сервера для восстановления ВМ в соответствующее положение. По умолчанию - Выключено.
Включение автоматического выбора сервера для кластера будет означать, что автоматическое восстановление ВМ будет осуществлено на наименее загруженный сервер кластера. Определяется на основе параметра DRS Тип собираемых метрик. Подробнее в разделе DRS - Настройка DRS.
Количество попыток автоматического восстановления ВМ
В некоторых случаях запуск ВМ не удается. Причин может быть множество - к примеру нет доступа к виртуальному диску или сбой СХД. Количество попыток - это изменяемое число попыток запуска ВМ, по истечении которых система считает, что восстановление ВМ невозможно, прекращает попытки запуска ВМ и выключает ВД для этой ВМ. По умолчанию - 5.
Интервал между попытками восстановления ВМ
Интервал перезапуска - это пауза (в секундах), применяемая между попытками автоматического восстановления ВМ. По умолчанию - 60 секунд.
Признаки полной загрузки (готовности) ВМ
Для обеспечения правильной очередности включения ВМ (например, до полной загрузки ВМ, обеспечивающей сервис DNS, нет смысла включать другие ВМ, которые не могут работать без DNS) в SpaceVM предусмотрены два настраиваемых признака:
Истечение заданного времени - время (в секундах), по истечению которого, предполагается, что ВМ будет способна осуществлять свои функции. Очередь автоматического восстановления ВМ приостанавливается (другие ВМ не запускаются) на время ожидания. По умолчанию - 0 секунд.
Запуск гостевого агента ВМ - очередь автоматического восстановления ВМ приостанавливается на время ожидания ответа от гостевого агента ВМ. В случае, если агент по каким-либо причинам не отвечает, предусмотрено максимальное время ожидания (в секундах), по истечению которого, очередь восстановления будет продолжена, вне зависимости от того, получен ли ответ от гостевого агента. Нулевое значение признака означает, что наличие ответа гостевого агента не требуется. По умолчанию - 0 секунд.
Примеры значений и их значения:
- ответ от гостевого агента ВМ не требуется. Значение 0 (задержка очереди составляет 0 секунд);
- требуется ответ от гостевого агента и максимальное время ожидания 2 минуты. Значение 120.
Существует два основных варианта развития событий:
- гостевой агент дал ответ через 50 (к примеру) секунд после включения ВМ и очередь восстановление немедленно продолжена (задержка очереди составляет 50 секунд);
- ответ от гостевого агента не получен за 2 минуты и очередь восстановления продолжена (задержка очереди составляет 2 минуты).
Примечание
Если задать оба признака готовности ВМ, то приоритет будет у того признака, у которого время ожидания больше.
Синхронизация с кластером
Синхронизация конфигурации высокой доступности с кластера на выбранную виртуальную машину осуществляется включением функции Синхронизация с кластером (имя кластера).
Таблица серверов
Данный функционал позволяет ограничить список серверов, на которых будут восстанавливаться ВМ. Опция будет недоступна при включенном автоматическом выборе целевого сервера для восстановления ВМ.
Примечание
При использовании ограниченного списка серверов, участвующих в ВД, добавляемые в кластер новые серверы попадут в список Нераспределенные серверы.
Сохранение настроек
Если были внесены изменения в настройки ВД, то становится доступна кнопка Сохранить.
Примечание
После изменений настроек ВД важно их сохранить. В противном случае все изменения будут утеряны!
Примечание
В случае успешного сохранения настроек функции ВД будут реализованы вне зависимости от состояния контроллера.
Редактирование очереди автоматического восстановления и настроек ВД всех ВМ кластера
По нажатию кнопки Групповая настройка ВМ открывается диалоговое окно с таблицей всех ВМ кластера.
Для редактирования параметров ВД ВМ необходимо в таблице выделить нужные ВМ и в верхней части заполнить форму настроек.
Пример использования групповой настройки ВД кластера:
- По нажатию кнопки Групповая настройка ВМ откроется диалоговое окно с текущими настройками каждой ВМ кластера;
- В таблице отметить необходимые ВМ (если выбрано несколько ВМ, и у них совпадают параметры, то они будут отображены в соответствующих полях формы, если параметры выбранных BM отличаются, то поле в котором параметры различны будет пустым);
- Изменить/вписать необходимые настройки (для сохранения индивидуальных значений несовпадающих параметров необходимо оставить их поля незаполненными);
- Нажать кнопку Сохранить.
Пример использования высокой доступности ВМ кластера
Сотрудники организации используют виртуальные рабочие столы, службу каталогов (LDAP) и сервер доменных имен (DNS). Служба каталогов, сервер доменных имен и все ВМ сотрудников расположены на сервере А, а сервер Б - резервный. Серверы объединены в кластер В. Высокая доступность кластера В включена с настройками по умолчанию и автоматическим выбором сервера для восстановления ВМ. Выполнены все условия для успешной миграции и восстановления ВМ в рамках кластера В (см. Методику демонстрации работы Высокой Доступности). Все виртуальные машины подлежат восстановлению в случае аварийной остановки любого сервера.
Для корректного восстановления работы данной инфраструктуры следует в первую очередь перезапустить сервер доменных имен, так как и служба каталогов, и ВМ сотрудников используют этот сервис. Следующей ВМ в очереди на восстановление должна быть служба каталогов, так как сотрудники должны пройти аутентификацию на своих ВМ через LDAP. Далее, одновременно, должны быть восстановлены все ВМ сотрудников. Таким образом, очередь восстановления должна быть следующей:
- сервер доменных имен;
- служба каталогов;
- все ВМ сотрудников (999 - номер в очереди по умолчанию).
Далее следует настроить признак готовности для сервера DNS и службы LDAP. Предположим, опытным путем выяснено, что ВМ с сервером DNS запускается 2 минуты, а служба каталогов 3 минуты. В данном случае удобно использовать признак готовности Истечение заданного времени - для сервера DNS 120 сек., а для службы LDAP 180 сек.
Примечание
Как правило, признак Истечение заданного времени используется для тяжелых сервисов, загрузка которых занимает некоторое время уже после старта операционной системы. Если необходима полная загрузка только операционной системы ВМ, то следует использовать признак Запуск гостевого агента ВМ - при получении ответа от агента, очередь восстановления будет продолжена немедленно.
Теперь, в случае потери связи между контроллером и сервером А, будет запущено автоматическое восстановление ВМ на сервере Б в следующем порядке:
- запуск сервера доменных имен;
- ожидание загрузки сервера доменных имен 120 секунд;
- запуск службы каталогов;
- ожидание загрузки службы каталогов 180 секунд;
- параллельный запуск всех ВМ сотрудников.
Примечание
Если контроллер недоступен в рамках кластера, список задач и событий (связанных с восстановлением ВМ) можно посмотреть на вкладке кластера в веб-интерфейсе любого сервера, входящего в кворум данного кластера.
Методика демонстрации работы Высокой Доступности
Высокая доступность — это набор механизмов управления, позволяющий восстанавливать работоспособность ВМ без риска повреждения данных при прекращении работы узла кластера.
Методика демонстрации
- Добавляем IPMI настройки для каждого сервера в кластере.
- Выставляем тип ограждения IPMI на кластер или отдельно на каждый сервер (крайне желательно, чтобы это была отдельная сеть от management).
- Создаем пул данных одного из типов: nfs, cifs, glusterfs, gluster, gfs2, доступный для всех узлов данного кластера.
- Создаем ВМ с дисками на этом пуле данных.
- Включаем ВД целиком на кластер или отдельно на каждую ВМ.
- Отключаем сетевой кабель management сети (или отключаем питание сервера/супервизор узла) из сервера в кластере.
- Наблюдаем процесс, как сервер переходит через 30 секунд в статус ERROR (Ошибка - узел недоступен), затем в статус HERMIT (Ограждается - узел недоступен продолжительное время и его необходимо оградить для перезапуска виртуальных машин на других узлах, возможен мгновенный переход от ERROR в FAILED), затем в статус FAILED (узел был недоступен и его оградили (fence), виртуальные машины могут быть перезапущены на других узлах).
- Наблюдаем в журнале задач, как ВМ перезапускаются на других узлах поочередно (имя задачи Восстановление виртуальной машины {domain_name} на узле {node_name}).
ВД на 2 серверах (узел и узел+контроллер)
Восстановление ВМ возможно только в одну сторону - с узла на узел на контроллере.
Неудачное восстановление
Если все попытки восстановления ВМ завершились неудачей, то высокая доступность выключается для этой ВМ, что можно проследить по журналу событий.
Ended: Высокая доступность
DRS ↵
DRS
DRS (система распределения ресурсов) настраивается на кластер и выполняет роль "выравнивателя" выбранного ресурса по всем его узлам.
Описание работы
В начале каждого цикла работы сервиса DRS через заданный интервал (Тайм-аут между проверками и попытками переезда виртуальных машин) происходит группировка узлов кластера в зависимости от Типа собираемых метрик.
Далее считается Cреднеквадратичное (стандартное) отклонение нагрузки узлов кластера в процентах. Если оно меньше или равно Пределу среднеквадратичного отклонения для начала работы DRS, то никаких действий не происходит до следующего цикла. Если отклонение больше заданного значения, то создается карта использования ресурсов кластера, суммированная по узлам, и выбирается наиболее нагруженный сервер.
После чего происходит выбор ВМ, миграция которой удовлетворит требования к нагрузке на все узлы кластера. Для этого для всех включенных ВМ наиболее нагруженного узла последовательно симулируется изменение нагрузки на серверы после миграции на все остальные узлы кластера с последующим расчетом возможного среднеквадратичного отклонения нагрузки кластера. В качестве целевой ВМ и целевого узла для "живой" миграции выбирается та комбинация, после выполнения которой среднеквадратичное отклонение нагрузки на серверы кластера будет минимальным.
Если ВМ для миграции или узел назначения не найдены, то ничего не происходит до следующего цикла.
После отработки механизма предсказания нагрузки система определяет ВМ для миграции, узел-источник и узел назначения.
Далее, если в Режиме создания виртуальных машин и воздействий задан SOFT, то появляется подсказка с предложением миграции ВМ, если же задан HARD, то происходит попытка выполнения миграции целевой ВМ на узел назначения.
Cреднеквадратичное отклонение (подсчёт)
Детальные текущие параметры можно получить для кластера и узла, выполнив GET запросы
http://{CONTROLLER_IP}/api/clusters/{CLUSTER_ID}/drs-stats/
и
http://{CONTROLLER_IP}/api/clusters/{NODE_ID}/drs-stats/
.
Центральный prometheus находится по адресу http://{CONTROLLER_IP}:9090
.
Подсчёт domains_mem_deviation_percent
float
cluster.domains_mem_deviation_percent = std(list(cluster.domains_by_node_mem_used_percent.values() or [0]))
dict
cluster.domains_by_node_mem_used_percent = {node.uuid: node.domains_mem_used_percent for node in cluster.active_nodes}
float
node.domains_mem_used_percent = prometheus_client.domains_mem_used(node) / node.memory_count * 100
float
prometheus_client.domains_mem_used(node) = prometheus_client.libvirt_domains_memory_usage_mb_sum(node)
float
prometheus_client.libvirt_domains_memory_usage_mb_sum(node) = scalar((sum(libvirt_mem_stats_actual_kibibytes{node}) - sum(libvirt_mem_stats_usable_kibibytes{node})) / 1024)
Подсчёт domains_cpu_deviation_percent
float
cluster.domains_cpu_deviation_percent = std(list(cluster.domains_by_node_cpu_used_percent.values() or [0]))
dict
cluster.domains_by_node_mem_used_percent = {node.uuid: node.domains_cpu_used_percent for node in cluster.active_nodes}
float
node.domains_cpu_used_percent = prometheus_client.domains_cpu_used_percent(node)
float
prometheus_client.domains_cpu_used_percent(node) = prometheus_client.libvirt_cpu_rate_sum(node) * 100
float
prometheus_client.libvirt_cpu_rate_sum(node) = scalar(avg by (node) (irate(node_cpu_guest_seconds_total{node}[3m])))
Настройка параметров DRS
Вкладка Настройка параметров DRS содержит информацию о параметрах динамического управления ресурсами (DRS). DRS настраивается на кластер и выполняет роль сервиса, который выравнивает нагрузку по всем узлам, входящих в кластер.
Включение (отключение) DRS
Для включения или отключения DRS необходимо перевести флаг DRS в соответствующее положение. По умолчанию - Выключено.
Таймаут между проверками и попытками переезда виртуальных машин
Таймаут между проверками и попытками переезда виртуальных машин - это интервал проверки загруженности узлов кластера. В случае выявления отклонения выше заданного параметра осуществляется попытка выравнивания нагрузки на узлы путем выдачи предупреждений или "живой" миграции ВМ, в зависимости от режима работы. По умолчанию - 180 секунд.
Предел среднеквадратичного отклонения для начала работы DRS
В начале каждого цикла сервис проверяет отклонение нагрузки на каждый узел кластера от среднего по всем узлам, и, если отклонение превышает заданный предел (предел среднеквадратичного отклонения для начала работы DRS), пытается привезти нагрузку на узлы путем "живой" миграции ВМ к значениям, удовлетворяющим данный параметр. По умолчанию - 2 %.
Типы собираемых метрик
Типы загрузки хостов кластера, по которым каждый цикл происходит выявление отклонений нагрузки. Возможные варианты - CPU, MEMORY, CPU_MEMORY. Для последнего типа высчитывается среднее отклонение для метрик CPU и MEMORY. По умолчанию - MEMORY.
Режим создания виртуальных машин и воздействий
Варианты действий при выявлении отклонения выше заданного параметра предела среднеквадратичного отклонения для начала работы DRS или достижения верхних аварийных уровней загрузки сервера. Подробная информация о верхних аварийных уровней загрузки сервера содержится в разделе Пределы ресурсов. Возможные варианты - SOFT (ручной), HARD (автоматический). При выбранном типе SOFT будут выдаваться предупреждения (рекомендации) о миграции определённой ВМ. При выбранном типе HARD ВМ будет выполнена "живая" миграция ВМ. По умолчанию - SOFT.
Сохранение настроек
Если были внесены изменения в настройки, доступна кнопка Сохранить.
Методика демонстрации DRS
DRS настраивается на кластер и выполняет роль выравнивателя выбранного ресурса по всем его узлам.
Методика демонстрации
-
Создаем в кластере из 2 и более узлов с примерно одинаковым качеством и количеством ресурсов ВМ на одном узле, чтобы максимально использовать ресурсы узла с условиями, что ВМ могут мигрировать на все узлы данного кластера (диски на общем хранилище, интерфейсы подключены к одной виртуальной сети, нет примонтированных устройств, относящихся только к конкретному узлу и т.д.).
-
Включаем все ВМ.
- Переходим во вкладку кластера Настройки параметров DRS.
-
Включаем DRS:
-
Выбираем нужный нам Тип собираемых метрик: MEMORY. При выборе типа можно увидеть отклонение данной метрики от среднего по кластеру. Работа DRS идёт, пока отклонение выше Предела среднеквадратичного отклонения для начала работы DRS.
-
Выбираем нужный нам Режим создания виртуальных машин и воздействий: SOFT.
-
Таймаут между проверками и попытками переезда виртуальных машин рекомендуется оставлять по умолчанию (180 секунд).
-
Включаем флаг DRS.
-
Нажимаем кнопку Сохранить.
-
-
Проверка создания предупреждений и рекомендаций. Через максимум 180 секунд (Таймаут между проверками и попытками переезда виртуальных машин) в общей вкладке предупреждений или во вкладке предупреждений этого кластера появится рекомендация по миграции одной из ВМ на менее загруженный узел. Также при невозможности миграций каких либо ВМ в кластере появятся предупреждения о невозможности миграции и рекомендации по оптимизации ресурсов кластера.
-
Включение автоматического режима DRS.
-
Переходим во вкладку кластера Настройки параметров DRS.
-
Выбираем нужный нам Режим создания виртуальных машин и воздействий.
-
Нажимаем кнопку Сохранить.
-
-
Проверка автоматических миграций. Через максимум 180 секунд (Таймаут между проверками и попытками переезда виртуальных машин) ВМ будут мигрировать по одной за цикл. То есть, если таймаут 180 секунд (3 минуты), то за час в одном кластере может мигрировать до 20 ВМ. Следить за миграциями можно в журнале задач.
Ended: DRS
Кворум кластера
Вкладка Кворум кластера содержит информацию обо всех участниках кворума кластера в табличном виде, а именно:
- IP-адрес - IP-адрес участника кворума и порт для поддержания связи в рамках кворума;
- ID участника кворума;
- лидер кворума;
- сервер;
- версия протокола;
- Voter.
Включение кворума кластера является обязательным условием для реализации функций высокой доступности в системе. Сервер, определенный как лидер кворума запускает процессы восстановления виртуальных машин, если контроллер недоступен в рамках кластера.
Для включения кворума необходимо 3 вычислительных узла.
Пределы ресурсов
В разделе отображается информация о состоянии динамического управления ресурсами. Данные настройки предназначены для ограничения загруженности серверов кластера. При изменении базовых настроек необходимо учитывать возможную пиковую нагрузку на сервер. Также данные настройки влияют на распределение ВМ по серверам при срабатывании механизмов ВД и DRS.
Верхний аварийный уровень загрузки процессора
Уровень загрузки процессора в процентах, при котором происходит выключение ВМ. По умолчанию - 85.
Верхний предупредительный уровень загрузки процессора
Уровень загрузки процессора в процентах, при котором появляется предупреждение о высоком уровне загрузки процессора узла (узлов) кластера. По умолчанию - 80.
Верхний аварийный уровень загрузки памяти
Уровень загрузки оперативной памяти в процентах, при котором происходит выключение ВМ. По умолчанию - 85.
Верхний предупредительный уровень загрузки памяти
Уровень загрузки оперативной памяти в процентах, при котором появляется предупреждение о высоком уровне загрузки памяти узла (узлов) кластера. По умолчанию - 80.
Сохранение настроек
Если были внесены изменения в настройки ресурсов, то становится доступна кнопка Сохранить.
События
Во вкладке События содержится список последних событий для кластера с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Теги
Раздел Теги содержит список присвоенных кластеру меток. Существует возможность создать, применить тег и обновить список назначенных кластеру тегов.
Создание тегов
Для создания тега необходимо нажать кнопку Создать тег и в открывшемся окне указать уникальное название тега и выбрать цвет.
Применение тегов
Для применения тега к кластеру необходимо нажать кнопку Применить и выбрать существующий тег.
Настройки тегов кластера
При включении опций тегирования кластера теги, установленные на ВМ и узлы этого кластера, будут влиять на работу механизмов ВД и DRS.
При включении опции Разрешение на использование тегов узлов и ВМ при миграции, HA, DRS при выборе доступных узлов для миграции и восстановления ВМ будут браться только те узлы, у которых стоит такой же тег, как и у ВМ.
При включении дополнительно опции Дополнительное разрешение на использование тегов узлов и ВМ при миграции, HA, DRS, при котором ВМ мигрируют только на те узлы, на которых нет ВМ с таким же тегом при выборе доступных узлов для миграции и восстановления ВМ будут браться только те узлы, у которых стоит такой же тег, как и у ВМ, и на которых нет ВМ с таким же тегом.
Пример настройки и проверки работы Разрешения на использование тегов узлов и ВМ при миграции, HA, DRS
- Создайте или выберите нужную ВМ
- Проверьте, что ВМ может мигрировать по всем серверам кластера
- Создайте тег
- Добавьте тег ко всем серверам и к ВМ;
- Включите Разрешение на использование тегов узлов и ВМ при миграции, HA, DRS
- Проверьте, что ВМ может мигрировать по всем серверам кластера
- Уберите тег от одного из узлов кластера
- Проверьте, что ВМ теперь не может мигрировать на этот узел
Пример настройки и проверки работы Дополнительного разрешения на использование тегов узлов и ВМ при миграции, HA, DRS
- Создайте или выберите несколько ВМ
- Добавьте теги на эти ВМ и все сервера кластера
- Проверьте, что ВМ могут мигрировать по всем серверам кластера
- Разнесите (смигрируйте ВМ на разные сервера)
- Включите Дополнительное разрешение на использование тегов узлов и ВМ при миграции, HA, DRS
- Проверьте, что ВМ теперь не может мигрировать на узел, где есть другая ВМ с таким же тегом
Сохранение настроек
Если были внесены изменения в настройки тегирования, то становится доступна кнопка Сохранить.
Ended: Кластеры
Серверы ↵
Общая информация
Физические серверы могут добавляться в кластер и удаляться из него. Физические серверы — это основная среда исполнения ВМ. ПО, устанавливаемое на сервер, формирует слой абстрагирования реального аппаратного обеспечения от ресурсов, предоставляемых ВМ. Это позволяет распределять физические ресурсы между ВМ и создавать виртуальные ресурсы (диски, сетевые карты и прочее) для обеспечения корректной работы ВМ и их взаимодействия.
На физических серверах могут размещаться файловые и блочные хранилища для дисков виртуальных машин, хранилища образов CD/DVD-дисков.
Физические серверы также могут предоставлять ресурсы для распределенных хранилищ.
Физические сетевые интерфейсы серверов участвуют в работе виртуальных и распределенных коммутаторов. Важной частью настройки физического сервера является настройка виртуальных и распределенных коммутаторов. На основании этих настроек обеспечивается сетевая связанность внутри кластера и доступ к сетям вне кластера. При добавлении сервера автоматически создается набор базовых сетевых настроек — базовый коммутатор и сетевой интерфейс.
В разделе Серверы основного меню содержится список серверов в табличном виде, включая для каждого из них его название, IP-адрес, сведения о CPU и RAM, количество ВМ (включенных и всего) и статус. Также имеется возможность обновления списка серверов, добавление нового сервера и выбора определенного сервера с применением фильтра.
Для поиска определенного сервера с применением фильтра необходимо в разделе Серверы нажать на кнопку Фильтр в верхней строчке окна. В открывшемся окне содержатся следующие поля для фильтрации:
- Имя сервера – имя искомого сервера;
- Статус – выбор из раскрывающегося списка («Без фильтра», «Исправно», «Нет соединения» или «Произошла ошибка»);
- Файловое хранилище – выбор из раскрывающегося списка;
- Пул данных – выбор из раскрывающегося списка;
- Кластеры – выбор из раскрывающегося списка;
- Локации – выбор из раскрывающегося списка;
- Пулы ресурсов – выбор из раскрывающегося списка;
- Теги – выбор из раскрывающегося списка.
После настройки фильтра необходимо нажать Применить или Сбросить все.
Информация о сервере
Для просмотра или изменения информации о добавленном сервере в кластере необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Информация отобразится следующая информация:
Название и описание
Название - уникальное имя сервера. Чтобы его изменить, необходимо нажать кнопку Изменение названия сервера и в открывшемся окне ввести новое уникальное имя сервера, после чего нажать кнопку Сохранить.
Описание - описание сервера. Чтобы его изменить, необходимо нажать кнопку Изменение описания сервера и в открывшемся окне ввести описание, после чего нажать кнопку Сохранить.
Локация
Локация - локация, в которую входит сервер.
Кластер
Кластер - кластер, в который входит сервер.
IP-адрес сервера
IP-адрес - IP-адрес сервера.
Тип установки
Тип установки - тип установленного SpaceVM на сервер. Может быть Space controller + Space server и Space server. Space controller + Space server соответствует установке Node + Controller, а Space server - Node.
Даты создания и изменения
Дата создания показывает, когда был добавлен данный сервер.
Дата изменения показывает, когда были внесены изменения в конфигурацию сервера.
Время
Время беспрерывной работы - время работы сервера после последнего старта.
Дата запуска - дата и время последнего запуска сервера.
Системное время - дата и время сервера.
Часовой пояс - часовой пояс на сервере. Чтобы его изменить, необходимо нажать кнопку Изменение часового пояса и в открывшемся окне выбрать необходимый часовой пояс, после чего нажать кнопку ОК.
Мониторинг
Для просмотра используемых ресурсов сервера необходимо в разделе Кластеры основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Мониторинг отобразится следующая информация:
Графики загрузки CPU и RAM сервера
При наличии данных будут сформированы обновляемые в реальном времени графики использования CPU и RAM в процентах.
Для удобства анализа использования аппаратных мощностей кластера можно настроить отображение графиков, нажав на кнопку слева от графиков Задать интервал и в открывшемся окне настроить интервал.
Для увеличения определенного интервала можно нажать на кнопку Масштабировать и в миниатюрном изображении графиков под основными графиками выделить область для просмотра.
Использование CPU и RAM
Суммарная текущая частота - рабочая частота CPU сервера.
Текущая нагрузка - текущая нагрузка CPU.
Как считается потребление памяти сервером:
scalar(100 - (avg by (job) (irate(node_cpu_seconds_total{mode="idle"}[3m])) * 100))
Оперативная память - общий объем RAM.
Объем занятой памяти под кэш - объем RAM, занятый под кэширование данных.
Текущая нагрузка оперативной памяти - общий занятый объем RAM.
Как считается потребление памяти сервером:
filters = 'job="{id}"[{interval}s]'.format(id=node.uuid, interval=interval)
memory_rate = prometheus.query(
metric=f"scalar(100 * (avg_over_time(node_memory_MemTotal_bytes{filters}) "
f"- avg_over_time(node_memory_MemFree_bytes{filters}) - "
f"avg_over_time(node_memory_Buffers_bytes{filters}) - "
f"avg_over_time(node_memory_Cached_bytes{filters})) / "
f"avg_over_time(node_memory_MemTotal_bytes{filters}))")
Среднее значение загрузки
Среднее значение загрузки в SpaceVM показывает среднее отношение имеющихся запросов на вычислительные ресурсы к количеству этих самых ресурсов за заданный промежуток времени (1 минута, 5 минут и 15 минут).
Среднее значение загрузки системы за 1 минуту показывает среднее значение загрузки за последнюю минуту.
Среднее значение загрузки системы за 5 минут показывает среднее значение загрузки за последние 5 минут.
Среднее значение загрузки системы за 15 минут показывает среднее значение загрузки за последние 15 минут.
Если среднее значение загрузки:
-
меньше числа ядер (потоков) CPU, то это означает, что на выполнение всех текущих запросов тратится такое количество тиков, которое меньше доступного количества тиков CPU;
-
равно числу ядер (потоков) CPU, то это означает, что на выполнение всех текущих запросов тратится такое количество тиков, которое равно доступному количеству тиков CPU;
-
больше числа ядер (потоков) CPU, то это означает, что на выполнение всех текущих запросов тратится такое количество тиков, которое больше доступного количества тиков CPU (часть запросов ожидают выполнение и не могут быть выполнены своевременно).
Ожидание выполнения запросов может происходить не только по причине загрузки CPU, но и из-за дисковой нагрузки ввода/вывода (запрос не может быть выполнен, пока не будут получены данные с диска и т.д.).
Нагрузка ВМ
Нагрузка процессора ВМ - нагрузка на CPU, которую создают ВМ.
Нагрузка памяти ВМ - используемый ВМ объем RAM.
Количество памяти ВМ - объем RAM, выданный ВМ.
Управление физическими серверами ↵
Добавление сервера
Добавление сервера происходит при нажатии в верхней строчке окна кнопки Добавить и заполнения в открывшемся окне следующей информации:
IP-адрес контроллера
IP-адрес контроллера, который будет использован для управления платформой. Для его выбора необходимо раскрыть список и выбрать соответствующий контроллер.
Локация, кластер и название сервера
Локация - локация, из состава которой будет добавлен сервер.
Кластер - кластер, куда будет добавлен сервер.
Локацию и Кластер можно выбрать из раскрывающегося списка доступных локаций и кластеров.
Чтобы задать Название сервера, необходимо его ввести в соответствующее поле. Название должно быть уникальным.
Данные сервера
Для добавления сервера необходимо указать следующие данные: IP-адрес сервера, SSH пользователь, SSH порт и SSH пароль.
IP-адрес сервера необходимо указать в соответствующем поле. Форма записи IP-адреса - 192.168.1.1
.
IP-адрес
IP-адрес, используемый для управления кластером, должен выбираться исходя из настроек IP-адресов, присвоенных интерфейсам управления серверов. Интерфейс, не являющийся интерфейсом управления, может быть ограничен встроенным межсетевым экраном (МСЭ) и не пропускать трафик с управляющими командами.
SSH пользователь - по умолчанию root. Если политика безопасности запрещает использовать root, то следует предварительно создать другого пользователя с необходимым набором прав. Для того чтобы задать SSH пользователя, его имя необходимо ввести в соответствующее текстовое поле.
SSH порт - порт для входящих SSH-подключений. По умолчанию 22. Если политика запрещает использовать порт 22 для входящих SSH-подключения, его следует предварительно сменить на сервере. Для того чтобы задать SSH порт, необходимо ввести его в соответствующее поле.
SSH пароль - пароль от пользователя, введенного в поле SSH пользователь. При автоматической установке пароль от учетной записи root - bazalt.
Проверка соединения
После того как все данные были введены, рекомендуется выполнить проверку соединения. Для этого необходимо нажать кнопку Проверить соединение. В случае, если не удалось выполнить тестовое соединение, необходимо проверить корректность введенных данных сервера и его доступность по сети контроллеру.
Дополнительные настройки
Описание - это любой текст, который будет отображаться в соответствующем поле сервера.
Форсированное добавление используется, если сервер уже участвовал ранее в составе (в том числе другого) кластера Space или ранее был удален из состава кластера форсированно. Эта операция принудительно заменяет привязку сервера к контроллеру.
Применение настроек
Для применения настроек необходимо нажать кнопку OK.
В процессе добавления на сервере настраиваются базовые объекты, необходимые для включения в состав кластера. Процесс добавления выполняется в фоновом режиме, а пользователь возвращается к списку серверов.
В процессе создания статус сервера в общем списке серверов - создается. После успешного добавления сервера статус сервера изменится на исправно. В случае возникновения ошибки необходимо проверить вводимые данные и обратиться к журналам для выявления неисправности.
Шифрованный канал
После добавления сервера к контроллеру управление сервером идёт по шифрованному каналу с ключом RSA длиной 1024.
Hostname
После добавления сервера к контроллеру выбранный при установке «hostname» узла
сменится на системный ID (UUID v4). Общение между контроллером и узлом происходит именно
по нему, поэтому ручная корректировка его в «hosts» не допускается! Следует
учитывать, что файл «hosts» одинаковый на всех узлах системы. При необходимости ручной
корректировки надо зайти в CLI контроллера и добавить новый файл в каталог
/etc/hosts.d/
c необходимым сопоставлением имени и IP-адреса, после чего
ввести команду sudo /usr/local/sbin/hosts -c
. Далее можно
проверить файл hosts
.
Сервисный и стандартный режим
Сервисный режим предназначен для проведения обслуживания сервера или миграции его в другой кластер. Перевод сервера в сервисный режим возможен только после выключения или миграции всех ВМ этого сервера.
После активации сервисного режима становится доступна операция перевода узла в другой кластер и перевод в стандартный (активный) режим.
Перевод сервера в сервисный режим
Для перевода в сервисный режим необходимо нажать в окне Серверы – <имя сервера> кнопку Сервисный режим. При переводе в сервисный режим есть три опции: автоматическая миграция всех ВМ, автоматическое выключение всех ВМ и выключение сервера.
При включенной опции Автоматическая миграция всех ВМ узла перед переводом сервера в сервисный режим будет выполнена попытка миграции всех ВМ на другие серверы в рамках кластера.
При включенной опции Автоматическое выключение всех ВМ узла перед переводом сервера в сервисный режим будет выполнена попытка параллельного выключения всех ВМ. Если ВМ мягко не выключатся в течение 3 минут, то тогда они будут выключены по питанию.
Внимание!
Все ВМ, которые не имеют возможности мигрировать, а также другие сущности, расположенные на этом сервере, перейдут в состояние failed.
При включенной опции Выключение сервера через 1 минуту после перехода сервер после успешного перехода в сервисный режим будет выключен через 1 минуту.
Перевод сервера в стандартный режим
Для того чтобы сервер из сервисного режима перевести в стандартный, необходимо в окне Серверы – <имя сервера> нажать кнопку Стандартный режим.
Проверка связанности
Перед переводом сервера в стандартный (активный) режим необходимо во вкладке ПО и Сервисы - Сервисы запустить проверку по кнопке Проверка связи с супервизором узла, чтобы убедиться, что сетевая связность между сервером и контроллером присутствует, и он готов к работе.
Автотестирование узла
Автотестирование узла используется для автоматического выявления сбоев в работе и нарушений конфигураций сервера.
Во время автотестирования узла система автоматически исправит выявленные неисправности. Если выявленную неисправность система не может автоматически исправить, то она сообщит о наличии такой неисправности.
Внимание!
В случае, если сервер недоступен контроллеру или на узле не запущена служба node-engine, то задача автотестирования на узле завершится со статусом LOST.
Запуск автотестирования узла
Для того чтобы запустить автотестирование узла, необходимо в окне Серверы – <имя сервера> нажать кнопку Автотестирование узла, после чего подтвердить действие в открывшемся окне.
Перезагрузка сервера
Выполнить перезагрузку сервера можно несколькими способами: через CLI и Web-интерфейс.
Внимание!
Перед перезагрузкой необходимо выключить или перенести все ВМ, расположенные на сервере, после чего перевести его в Сервисный режим.
Перезагрузка через CLI
Для того чтобы выполнить перезагрузку, необходимо получить доступ к CLI и выполнить в CLI команду reboot
.
Быстрая перезагрузка
Команда reboot -k
или reboot --kexec
позволяет перезагрузить узел без повторного
прохождения фазы инициализации оборудования, PCI ROMs и GRUB, при помощи механизма kexec. Это
позволяет быстро перезагрузить узел, например, после обновления ядра. Для примера, использование ключа
--kexec
команды reboot
сокращает время перезагрузки на сервере HPE BL460c G7 в среднем на 4
минуты при прочих равных условиях. В редких случаях в силу разных алгоритмов подготовки системы к
перезагрузке и разной специфики дисковых подсистем время перезагрузки с этим ключом, напротив,
больше времени обычной перезагрузки за счёт более долгого отключения системы, поэтому следует
экспериментально проверять практическую пользу применения данного ключа на конкретной инсталляции.
Перезагрузка через Web-интерфейс
Для того чтобы выполнить перезагрузку, необходимо в окне Серверы – <имя сервера> – Оборудование – IPMI нажать кнопку перезагрузить :fontawesome-solid-undo-alt: или нажать кнопку принудительно перезагрузить :fontawesome-solid-undo: для принудительной перезагрузки.
IPMI
Для работы IPMI необходимо, чтобы аппаратная платформа имела поддержку и были сделаны соответствующие настройки в SpaceVM. Информация о том, как настроить IPMI в SpaceVM, содержится в разделе Настройка IPMI сервера.
Выключение сервера
Выполнить выключение сервера можно несколькими способами: через CLI и Web-интерфейс.
Внимание!
Перед выключением сервера необходимо выключить или перенести все ВМ, расположенные на сервере, после чего перевести его в Сервисный режим.
Выключение через CLI
Для того чтобы выполнить выключение сервера, необходимо получить доступ к CLI и выполнить в CLI команду poweroff
.
Внимание!
После выключения через консоль без доступа к IPMI сервера может потребоваться физический доступ к серверу для его включения.
Выключение через Web-интерфейс
Для того чтобы выполнить выключение сервера, необходимо в окне Серверы – <имя сервера> – Оборудование – IPMI нажать кнопку выключить .
IPMI
Для работы IPMI необходимо, чтобы аппаратная платформа имела поддержку и были сделаны соответствующие настройки в SpaceVM. Информация о том, как настроить IPMI в SpaceVM, содержится в разделе Настройка IPMI сервера.
Перемещение сервера в другой кластер
В SpaceVM реализовано перемещение узлов между кластерами в пределах одной локации.
Внимание
При переводе узла в другой кластер необходимо убедиться в том, что он не участвует в кластерных транспортах.
Процесс перемещения
Для перемещения сервера в другой кластер необходимо перевести сервер в Сервисный режим. Подробная информация о переводе сервера в сервисный режим содержится в разделе Перевод сервера в сервисный режим.
Далее в окне Серверы – <имя сервера> нажать кнопку Переместить и выполнить операцию переноса, выбрав целевой кластер.
После перемещения сервера необходимо перевести сервер в стандартный режим. Подробная информация о переводе сервера в стандартный режим содержится в разделе Перевод сервера в стандартный режим.
Терминал
Некоторые действия при работе с SpaceVM можно выполнять в терминале (CLI) узлов как с ролью контроллер+нода, так и нода. Подробная информация о командах в терминале находится в разделе CLI.
Получить доступ к CLI можно несколькими способами: подключившись к узлу по протоколу SSH, в Web-интерфейсе или напрямую, используя IPMI сервера или подключенные клавиатуру и "мышь".
Терминал
Для получения доступа к терминалу узел должен быть включен!
Для входа в CLI SpaceVM после получения доступа необходимо ввести логин и пароль SSH-пользователя.
Пользователь по умолчанию
В SpaceVM при установке в автоматическом режиме по умолчанию создается пользователь со следующими учетными данными:
логин root
и пароль bazalt
.
Подключение в Web-интерфейсе
Для получения доступа к терминалу в Web-интерфейсе необходимо в окне Серверы – <имя сервера> нажать кнопку Терминал. После нажатия кнопки окно терминала откроется в новой вкладке браузера.
Терминал
Также возможно получить доступ к терминалу через Web-интерфейс узла. Информация о том как это сделать находится в разделе Терминал в Web-интерфейсе узла.
Внимание
Невозможно выполнить подключение к терминалу через Web-интерфейс при использовании механизма NAT.
Подключение по протоколу SSH
Для получения доступа к терминалу по протоколу SSH необходимо в приложении, которое имеет функционал подключения по протоколу SSH, например, Putty, выполнить подключение и ввести учетные данные SSH-пользователя.
SSH
Если в настройках сервера Статус SSH - Выключен, то подключение к терминалу доступно только в Web-интерфейсе.
IPMI
В случае, если аппаратная платформа сервера, на которую установлен SpaceVM, поддерживает управление сервером по IPMI, можно перейти к IPMI из Web-интерфейса SpaceVM.
Для того чтобы появилась возможность перехода к IPMI сервера, необходимо выполнить настройку IPMI. Описание настройки смотрите в разделе Настройка IPMI сервера.
Переход к IPMI сервера
Для получения доступа к IPMI в Web-интерфейсе необходимо в разделе Серверы выбрать целевой сервер и нажать кнопку IPMI. После нажатия на указанную кнопку произойдет открытие IPMI в новой вкладке браузера.
Управление питанием по IPMI
Для управления питанием сервера необходимо перейти в Web-интерфейсе в раздел Серверы, выбрать целевой сервер, далее перейти во вкладку Оборудование и в раскрывшемся списке выбрать IPMI. В открывшемся окне будут доступны следующие действия:
-
Запуск сервера. Для того чтобы выполнить запуск сервера, необходимо нажать кнопку запустить;
-
Приостановка работы сервера. Для того чтобы приостановить работу сервера, необходимо нажать кнопку приостановить;
-
Перезагрузка сервера. Для того чтобы выполнить перезагрузку сервера, необходимо нажать кнопку перезагрузить;
-
Принудительная перезагрузка сервера. Для того чтобы выполнить принудительную перезагрузку сервера, необходимо нажать кнопку принудительно перезагрузить;
-
Выключение сервера. Для того чтобы выполнить выключение сервера, необходимо нажать кнопку выключить.
Внимание!
Перед управлением питанием сервера необходимо перевести его в Сервисный режим, нажав кнопку Сервисный режим!. После окончания работ, связанных с управлением питанием сервера, необходимо перевести его в Стандартный режим, нажав кнопку Стандартный режим. Подробная информация о Сервисном и стандартном режимах приведена в разделе Сервисный и стандартный режим.
Удаление сервера
В окне состояния выбранного сервера имеется возможность удаления сервера.
Для удаления сервера из кластера необходимо:
-
нажать кнопку Удалить сервер и в открывшемся окне заполнить поля о сервере:
-
SSH-пользователь;
-
SSH-пароль;
-
SSH-порт.
Если использовались параметры по умолчанию, то необходимо заполнить поля следующим образом:
-
SSH-пользователь - root;
-
SSH-пароль, который был задан при установке ОС сервера;
-
SSH-порт - 22;
-
-
после заполнения подтвердить удаление, нажав кнопку Удалить.
Внимание
- Перед удалением сервера из кластера необходимо проверить, все ли данные объекты от него отключены или удалены, так как в составе кластера с сервером связаны многие другие объекты кластера.
- Штатное удаление проводит проверку на связанность удаляемого объекта с другими в составе кластера. Предупреждение о наличии связанных объектов будет отображаться при попытке удаления.
- С сервером могут быть связаны:
- файловые (локальные), блочные и распределенные хранилища;
- виртуальные машины, их шаблоны, диски, резервные копии;
- образы CD/DVD-дисков;
- физические сетевые интерфейсы, привязанные к ВМ или ВК.
- Если сервер находится в аварийном состоянии (недоступен для управления) и связанные с данным сервером объекты не нужны или не могут быть отключены или удалены из кластера штатным образом, то удаление сервера будет произведено форсированно.
- Если сервер принадлежит кластеру, на котором поднят кластерный транспорт типа Gluster, то следует убедиться, что ни одному тому Gluster не принадлежат в качестве разделов какие-либо ZFS пулы сервера, даже удалённые на данный момент. В противном случае удаление сервера завершится ошибкой.
Замена узла, принадлежащего кластерному хранилищу Gluster:
В случае, если избыточность и архитектура тома позволяют сохранять работоспособность (прим.1)
при отсутствии одного из узлов:
- Остановить все разделы томов Gluster, расположенные на заменяемом узле
- Отмонтировать датапулы Gluster и тома Gluster от заменяемого узла
- Удалить заменяемый узел из кластерного транспорта в свойствах кластерного транспорта
- Вывести заменяемый узел из кластера Space
- Добавить заменяющий узел к кластеру Space
- При необходимости настроить внешнюю сеть на заменяющем узле
- При необходимости создать ZFS пулы для замены разделов томов Gluster, располагавшихся на заменённом узле
- Провести переконфигурацию кластерного транспорта Gluster
- При необходимости провести замену остановленных разделов томов Gluster на свежесозданные ZFS пулы
В случае, если том не обладает избыточностью: (разделы на заменяемом узле должны быть исправны)
- При наличии достаточного свободного места на разделах тома, остающихся на прочих узлах кластера (прим.2) (смотрится в расширенных свойствах тома), удалить разделы с заменяемого узла и дождаться завершения задачи, проверить успешность миграции данных в выводе задачи
- Если свободного места недостаточно или миграция данных прошла неуспешно, выполнить п.п. 5-8 предыдущего списка (ввести заменяющий узел), и далее:
- Заменить разделы томов Gluster с заменяемого узла на ZFS пулы заменяющего узла
- Отмонтировать датапулы Gluster и тома Gluster от заменяемого узла
- Удалить заменяемый узел из кластерного транспорта в свойствах кластерного транспорта
- Вывести заменяемый узел из кластера Space
Note
При проектировании тома следует учитывать, что разделы, составляющие один подтом и обеспечивающие избыточности, должны располагаться на разных узлах так, чтобы при отказе одного из узлов прочие составляющие подтом разделы продолжали быть доступны раздел "Важность выбора последовательности разделов ..."
Note
Более подробно описано в разделе "Удаление разделов из тома"
Ended: Управление физическими серверами
Оборудование сервера ↵
Процессоры
Для просмотра информации об установленных CPU на сервер необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Оборудование - Процессоры отобразится следующая информация о CPU:
Сокеты, ядра и потоки
Количество сокетов - количество процессорных сокетов на материнской плате сервера, в которые установлены физические процессоры.
Количество ядер на сокет - количество процессорных ядер, приходящихся на один сокет.
Количество потоков на ядро - количество потоков, приходящихся на один сокет.
Общее количество потоков - количество потоков на сервер.
Количество NUMA узлов - количество NUMA узлов на сервер.
Физические процессоры
Архитектура - архитектура установленных физических процессоров в сервер.
Средняя частота - текущая средняя частота всех потоков сервера (virsh nodeinfo
(CPU frequency) или cpufreq-info
(current CPU frequency)).
Общая максимальная частота - суммарная частота всех потоков сервера.
Модель - оптимальная модель vCPU для установленных процессоров, которая будет использоваться по умолчанию.
Детальная информация о физических процессорах
Процессоры - раскрывающийся список, в котором установленные процессоры упорядочены по их идентификатору. Для просмотра детальной информации необходимо выбрать интересующий процессор. В раскрывающемся меню будет приведена следующая информация:
-
Семейство - семейство процессора.
-
Производитель - производитель физического процессора.
-
Максимальная частота - максимальная рабочая частота процессора.
-
Версия - версия процессора.
-
Статус - текущий статус процессора.
Занятые ВМ процессоры
Занятые ВМ процессоры - раскрывающийся список индивидуально присвоенных ВМ ядер (потоков) физических процессоров. Настройка присвоения ядер (потоков) влияет на конечную производительность ВМ и описана в разделе Присвоение ядер (потоков).
Доступные функции
Доступные функции - раскрывающийся список доступных функций и инструкций физического процессора.
Тип - тип процессора.
IPMI
IPMI-управление сервером необходимо для операций ограждения (при авариях) и управления электропитанием серверов в составе кластера в режиме динамического управления питанием в кластере. Также на основании ответа Baseboard Management Controller (BMC) сервера принимается решение о запуске ВМ на другом сервере кластера.
Настройка доступа по IPMI-интерфейсу сервера необходима для использования типа ограждения IPMI при настройке связности узла (в окне Серверы – <имя сервера> – Настройка связанности). При нажатии кнопки Настройки - Получить IP происходит опрос ВМС сервера на предмет текущих сетевых настроек первого канала управления IPMI. Если IP-адрес не отобразился, то стоит проверить работоспособность BMC платы сервера или ввести адрес вручную.
Есть ли жизнь без IPMI?
Есть, но с некоторыми ограничениями в плане ограждения сервера.
Управление питанием по IPMI
Для управления питанием сервера необходимо перейти в Web-интерфейсе в раздел Серверы основного меню, выбрать целевой сервер, далее перейти во вкладку Оборудование и в раскрывшемся списке выбрать IPMI. В открывшемся окне будут доступны следующие действия:
-
Запуск сервера. Для того чтобы выполнить запуск сервера, необходимо нажать кнопку запустить.
-
Приостановка работы сервера. Для того чтобы приостановить работу сервера, необходимо нажать кнопку приостановить.
-
Перезагрузка сервера. Для того чтобы выполнить перезагрузку сервера, необходимо нажать кнопку перезагрузить.
-
Принудительная перезагрузка сервера. Для того чтобы выполнить принудительную перезагрузку сервера, необходимо нажать кнопку принудительно перезагрузить.
-
Выключение сервера. Для того чтобы выполнить выключение сервера, необходимо нажать кнопку выключить.
Внимание!
Перед управлением питанием необходимо перевести сервер в Сервисный режим, нажав кнопку Сервисный режим!. После окончания работ, связанных с управлением питанием сервера, необходимо перевести сервер в Стандартный режим, нажав кнопку Стандартный режим. Подробная информация о Сервисном и стандартном режимах приведена в разделе Сервисный и стандартный режим.
Просмотр показаний датчиков IPMI
Для получения списка датчиков IPMI и их показаний необходимо нажать кнопку Запросить состояние датчиков.
Настройка IPMI сервера
Для того чтобы выполнить настройку IPMI сервера, необходимо перейти в Web-интерфейсе в раздел Серверы основного меню, выбрать целевой сервер, далее перейти во вкладку Оборудование, в раскрывшемся списке выбрать IPMI и нажать кнопку Настройки. В открывшемся окне необходимо настроить следующие поля:
-
IP-адрес IPMI - это IP-адрес платы управления IPMI. Его можно получить автоматически, нажав кнопку Получить IP. Если автоматическое получение IP-адреса не работает или полученный IP-адрес некорректный, то необходимо проверить работоспособность BMC платы или ввести его вручную в соответствующее поле.
-
Имя пользователя IPMI - это имя (логин) учетной записи IPMI, от имени которой будут выполняться все дальнейшие действия.
-
Пароль IPMI - это пароль от используемой учетной записи IPMI.
После заполнения всех полей необходимо нажать кнопку Сохранить.
IPMI over Lan
Перед изменением IPMI настроек убедитесь через Web-интерфейс, что в ВМС сервера включена поддержка запросов по сети (например, опция "IPMI over Lan" в iDRAC).
Проверить доступность IPMI можно командой
ipmitool -I lanplus -H [ipmi_ip] -U [ipmi_username] -P [ipmi_password] power status
.
Если при изменении настроек IPMI появляется ошибка Интерфейс IPMI на указанном адресе
недоступен с указанными параметрами, то можно посмотреть детальную ошибку в журнале контроллера в CLI командой log controller
.
Варианты использования IPMI
-
Для удобного мониторинга состояния датчиков материнской платы.
-
Для связности контроллера с сервером и его ограждения. Подробное описание смотрите в Настройки связности.
-
Для использования кластерного транспорта типа gfs2. Подробное описание смотрите в Кластерные транспорты.
-
Для watchdog. Подробное описание смотрите в Кластерные транспорты.
Проверка IPMI
Базовая команда:
ipmitool -I lanplus -H {ip} -U {username} -P {password} {subset} {action}
Параметры:
subset: 'power' if action not in ('sensor', 'sdr') else ''
action: soft, cycle, on, off, reset, status, sdr, sensor
Пример получения статуса питания
ipmitool -I lanplus -H {ip} -U {username} -P {password} power status
Сведения о HDD
В SpaceVM поддерживаются диски и созданные на них блочные тома объемом до 100 Тбайт.
Для просмотра информации об установленных HDD на сервер необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Оборудование - Сведения о HDD отобразится следующая информация о всех установленных HDD на сервер:
Основная информация о диске
-
ID диска - уникальный ID диска.
-
CONN_TYPE - тип подключения диска.
-
DRIVE_NAME - имя устройства в системе.
Идентификационная информация
IDENTIFY - раскрывающийся список идентификационной информации, который может отличаться в зависимости от модели и производителя диска. Как правило, идентификационная информация содержит следующие данные:
-
производитель диска;
-
модель диска;
-
серийный номер диска;
-
доступная емкость диска;
-
максимальная скорость вращения шпинделя жесткого диска (HDD) или тип диска для твердотельных накопителей (SSD);
-
форм-фактор диска;
-
поддержка SMART;
Примечание
Необходимо учитывать, что подключенные по iSCSI и FC (Fiber Channel) блочные устройства LUN определяются гипервизором как локальные устройства. В этом случае в модели устройства IDENTIFY в поле Vendor (производитель диска) будет указан поставщик LUN.
Результаты самодиагностики
SMART - при поддержке технологии SMART раскрывающийся список, который содержит результаты самопроверки диска. В зависимости от типа диска и производителя информация, содержащаяся в результате самопроверки диска, может отличаться. Пример входящей информации:
-
количество переназначенных секторов;
-
общее время работы диска;
-
количество полных циклов включения-выключения диска;
-
текущая температура диска;
-
состояние пула резервных блоков;
-
общее количество ошибок, происходящих при записи сектора;
-
число секторов, являющихся кандидатами на замену.
Статус
STATUS - раскрывающийся список, который содержит текущее состояние диска.
Графики использования дисков
Для формирования графика использования дисков необходимо в поле Выбрать устройства для вывода метрик выбрать целевой диск (можно выбрать несколько).
При наличии данных будут выведены следующие графики для каждого выбранного диска:
-
read - скорость чтения Мбит/с;
-
write - скорость записи Мбит/с;
-
r_await - среднее время (миллисекунды) на обработку запросов на чтение (включает время, потраченное в очереди на обработку и время на обработку запроса);
-
w_await - среднее время (миллисекунды) на обработку запросов на запись (включает время, потраченное в очереди на обработку и время на обработку запроса);
-
wrqms - обобщенное количество запросов на запись в секунду;
-
rrqms - обобщенное количество запросов на чтение в секунду;
-
rs - количество запросов на чтение в секунду;
-
ws - количество запросов на запись в секунду;
-
io_now - текущее число выполняемых операций ввода-вывода;
-
util - процент процессорного времени, в течение которого диску были отправлены запросы ввода-вывода.
-
avgrq - средний размер (в секторах) запросов к диску;
-
avgqu - средний размер очереди запросов к диску.
Для удобства анализа использования аппаратных мощностей кластера можно настроить отображение графиков, нажав на кнопку слева от графиков Задать интервал и в открывшемся окне настроить интервал.
Для увеличения определенного интервала можно нажать на кнопку Масштабировать и в миниатюрном изображении графиков под основными графиками выделить область для просмотра.
Остальное оборудование
В окне Серверы – <имя сервера> – Оборудование – Остальное оборудование отображаются все устройства системы, фактически повторяя вывод результата работы утилиты Linux lshw. Для того чтобы получить информацию об оборудовании, необходимо в левой верхней части окна раскрыть список, нажав на знак , после чего в окне отобразится следующая информация:
-
вus (раскрывающийся многоуровневый список) — основная шина PCI express;
-
power — информация о блоках питания;
-
network — активные системные сетевые интерфейсы.
Память
Для получения информации об оперативной памяти сервера необходимо перейти в окно Серверы – <имя сервера> – Оборудование - Память.
В открывшемся окне Память содержится следующая информация:
-
оперативная память в Мбайтах;
-
состояние механизма очистки памяти Ballooning (включить или выключить);
-
настройки Swappiness (раскрывающийся список). При нажатии на кнопку в открывшемся окне отображаются следующие параметры с возможностью редактирования:
-
процент свободной оперативной памяти;
-
уровень выделяемой памяти под кэш в условных единицах;
-
-
настройки Дедупликации (раскрывающийся список):
-
состояние дедупликации;
-
количество полных сканирований (Full scans);
-
max_page_sharing;
-
режим дедуплицирования памяти между NUMA nodes на узле (Merge across nodes);
-
использующиеся дедуплицированные страницы памяти (Pages shared);
-
страницы памяти для проверки (Pages to scan);
-
недедуплицированные страницы памяти (Pages to scan);
-
быстро меняющиеся страницы памяти для дедуплицирования (Pages volatile);
-
работа сервиса (Run);
-
время ожидания между сканированиями (Sleep millisecs);
-
stable_node_chains;
-
stable_node_chains_prune_millisecs;
-
stable_node_dups;
-
use_zero_pages.
-
В окне Серверы – <имя сервера> – Оборудование - Память также имеется возможность обновления информации о ресурсах и настройка параметров системы сжатия и дедупликации страниц памяти.
Обновление информации о ресурсах производится после изменения аппаратной конфигурации сервера – изменения количества и (или) типа процессоров, памяти, дисков.
KSM
Включение и настройки механизма дедупликации производятся с помощью кнопки , при нажатии на которую в открывшемся окне можно настроить:
-
управление работой системы (раскрывающийся список):
-
выключить с сохранением имеющихся дупликацированных страниц;
-
включить;
-
выключить и сбросить все дедупликацированные страницы;
-
-
режим доступности дедуплицированных страниц между NUMA (Non-Uniform Memory Access) узлами (раскрывающийся список):
-
страницы памяти становятся общими в рамках одного NUMA узла;
-
страницы памяти становятся общими для всех NUMA узлов;
-
-
время перерыва между сканированиями страниц памяти;
-
количество страниц памяти для сканирования за один цикл.
Для сохранения изменений необходимо нажать кнопку Изменить.
Для закрытия окна Изменение параметров системы сжатия и дедупликации страниц памяти необходимо нажать кнопку Закрыть или
Настройка сжатия и дедупликации страниц памяти сервера управляет механизмами контроля выделения страниц памяти NUMA узлам и появления дубликатов страниц при их перераспределении. Включение данных механизмов предотвращает возможность доступа к теневым копиям страниц памяти сервера, ищет и убирает дублирующие страницы памяти, но негативно влияет на производительность системы.
Пределы ресурсов
Для получения информации о пределах ресурсов на сервере необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Оборудование - Пределы ресурсов отобразится следующая информация о состоянии динамического управления ресурсами:
-
Верхний аварийный уровень загрузки процессора - при достижении CPU данной отметки будет выведено событие с предупреждением о том, что достигнут аварийный уровень загрузки системы. Также в случае, если включен DRS, выбран режим создания виртуальных машин и воздействий HARD и выбраны типы собираемых метрик CPU или CPU_MEMORY, SpaceVM предпримет попытки живой миграции ВМ с целью понизить нагрузку на данный сервер.
-
Верхний предупредительный уровень загрузки процессора - при достижении CPU данной отметки будет выведено событие с предупреждением о том, что достигнут предупредительный уровень загрузки системы.
-
Верхний аварийный уровень загрузки памяти - при достижении RAM данной отметки будет выведено событие с предупреждением о том, что достигнут аварийный уровень загрузки системы. Также в случае, если включен DRS, выбран режим создания виртуальных машин и воздействий HARD и выбраны типы собираемых метрик MEMORY или CPU_MEMORY, SpaceVM предпримет попытки живой миграции ВМ с целью понизить нагрузку на данный сервер.
-
Верхний предупредительный уровень загрузки памяти - при достижении RAM данной отметки будет выведено событие с предупреждением о том, что достигнут предупредительный уровень загрузки системы
Подробная информация о механизме DRS содержится в разделе DRS.
Данные настройки предназначены для ограничения загруженности сервера. При изменении базовых настроек необходимо учитывать возможную пиковую нагрузку на сервер. Также данные настройки влияют на распределение ВМ по серверам при срабатывании механизмов ВД при автоматическом распределении ВМ.
Для применения настроек необходимо нажать на кнопку Сохранить (доступно, если вносились изменения).
Ended: Оборудование сервера
Пулы ресурсов
Для просмотра или изменения информации о пулах ресурсов, в которые входит сервер, необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Пулы ресурсов отобразится таблица следующего содержания:
- Название - название пула ресурса, в который входит данный сервер.
- ВМ - количество ВМ, которые созданы в рамках данного пула ресурсов.
- Ограничение памяти - ограничение RAM, указанное в настройках данного пула ресурсов.
- Ограничение CPU - ограничение CPU, указанное в настройках данного пула ресурсов.
Также в этом окне существует возможность создания нового пула по кнопке Создать пул ресурсов и выбора определенного пула с применением фильтра по кнопке.
Подробное описание пулов ресурсов смотрите в разделе Пулы ресурсов.
Хранилища ↵
Пулы данных
Просмотр информации
Для просмотра информации о подключенных к серверу Пулах данных необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Хранилища - Пулы данных отобразится таблица, содержащая следующую информацию:
- Название - название подключенного пула данных к серверу;
- Тип - тип пула данных;
- Серверы - количество серверов, к которым подключен данный пул данных;
- Диски - количество содержащихся виртуальных дисков на данном пуле данных;
- Образы - количество содержащихся образов ISO на данном пуле данных;
- Файлы - количество содержащихся файлов на данном пуле данных;
- Использовано/Всего - занятый и общий объем пула данных;
- Статус - статус пула данных.
Работа с пулами данных
Также в данном окне имеется возможность:
-
создание нового пула. Для этого необходимо нажать кнопку Создать и в открывшемся окне ввести необходимые данные;
-
фильтр списка пулов данных. Для этого необходимо нажать кнопку Фильтр;
-
сканирование подключенных пулов данных к серверу. Для этого необходимо нажать кнопку Сканировать;
-
сбор статистики работы пула данных. Для этого необходимо нажать кнопку Статистика I/O. При нажатии открывается окно выбора параметров сбора с заданными значениями по умолчанию. Сбор происходит с сервера в верхней директории всех активных пулов данных типа файловый с размером блока 4K.
Подробное описание работы с пулами данных содержится в разделе Пулы данных.
ZFS-пулы
Просмотр информации
Для просмотра информации о подключенных к серверу ZFS-пулах необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Хранилища - ZFS-пулы отобразится таблица, содержащая следующую информацию:
- Название - название подключенного ZFS-пула к серверу;
- Сервер - имя сервера, к которому подключен данный ZFS-пул;
- Тип - тип ZFS-пула;
- Размер - объем ZFS-пула;
- Health - состояние ZFS-пула;
- Локальные устройства - количество локальных дисковых устройств, используемых для создания данного ZFS-пула;
- LUNs - количество сетевых дисковых устройств, используемых для создания данного ZFS-пула;
- Статус - статус пула данных.
Работа с пулами данных
В данном окне имеется возможность:
-
создания нового ZFS-пула. Для этого необходимо нажать кнопку Добавить ZFS и в открывшемся окне ввести необходимые данные;
-
Вывод детальной информации об ARC-кэше узла;
-
фильтра списка пулов данных. Для этого необходимо нажать кнопку Фильтр;
-
сканирования подключенных ZFS-пулов к серверу. Для этого необходимо нажать кнопку Сканировать.
Подробное описание работы с ZFS-пулами содержится в разделе ZFS пулы.
Файловые хранилища
Просмотр информации
Для просмотра информации о подключенных к серверу Файловых хранилищах необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Хранилища - Файловые хранилища отобразится таблица, содержащая следующую информацию:
- Название - название подключенного файлового хранилища;
- Тип подключения - тип подключения файлового хранилища;
- Использовано/Всего - занятый и общий объем файлового хранилища;
- Пулы данных - количество пулов данных, использующих данное файловое хранилище;
- Серверы - количество серверов, к которым подключен данный пул данных;
- Статус - статус пула данных.
Работа с файловыми хранилищами
Также в данном окне имеется возможность:
- добавить новое файловое хранилище. Для этого следует нажать кнопку Добавить и ввести необходимые данные в открывшемся окне;
- сканировать подключенные к серверу файловые хранилища. Для этого необходимо нажать кнопку Сканировать.
Подробное описание работы с файловыми хранилищами содержится в разделе Файловые хранилища.
Блочные хранилища
Просмотр информации
Для просмотра информации о подключенных к серверу Блочных хранилищах необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Хранилища - Блочные хранилища отобразится таблица, содержащая следующую информацию:
- Название - название подключенного блочного хранилища;
- Тип подключения - тип подключения блочного хранилища;
- Статус - статус пула данных.
Работа с блочными хранилищами
В окне управления блочными хранилищами имеется возможность:
- сканирования SCSI Hosts. Для этого необходимо нажать кнопку Сканировать SCSI HOSTS;
- сканирования подключенных к серверу блочных хранилищ. Для этого необходимо нажать кнопку Сканировать;
- редактирования подключенных WWNS-хранилищ. Для этого необходимо нажать кнопку WWNS;
- получения локальных WWNS-хранилищ. Для этого необходимо нажать кнопку Локальные WWNS;
- получения iSCSI инициатора узла с возможностью его изменения. Для этого необходимо нажать кнопку Имя инициатора iscsi;
- добавления нового блочного хранилища. Для этого необходимо нажать кнопку Добавить и в открывшемся окне ввести соответствующие данные.
Подробное описание работы с блочными хранилищами содержится в разделе Блочные хранилища.
Блочные устройства
Для управления дисковой подсистемой сервера в окне Серверы – <имя сервера> – Хранилища – Блочные устройства существуют возможности управления блочными устройствами (группами логических разделов, группами томов LVM).
В окне Управление блочными устройствами содержится информация об имеющихся блочных устройствах, включая название группы, общий и свободный объём, возможность расширения и удаления.
Управление блочными устройствами позволяет изменять конфигурацию дисковой подсистемы (добавлять и удалять физические диски, управляемые менеджером LVM) без необходимости обращаться к консоли сервера.
В окне Управление блочными устройствами предусмотрена возможность создания, расширения и удаления новых групп логических разделов на физических дисках, не используемых в системном разделе.
Примечание
Создание, расширение и удаление новых групп логических разделов на съемных устройствах невозможно.
Дополнительные группы томов LVM могут использоваться для формирования пулов данных форматов LVM и thin-LVM (далее *LVM) в окне Серверы – <имя сервера> – Хранилища - Пулы данных. Пулы данных форматов *LVM используются для размещения виртуальных дисков ВМ на логических разделах в рамках группы. Таким образом, в ВМ в качестве жесткого диска предоставляется не файл формата qcow2, а блочное устройство, являющееся логическим разделом физического жесткого диска (раздел LVM).
Тома LVM, размещенные в группах LVM на физических дисках сервера, имеют более высокую производительность, но возможности по операциям над ними ограничены.
Важно
Будьте осторожны при операциях с системным разделом диска.
Примечание
При использовании хранилищ форматов *LVM необходимо понимать принцип работы механизмов самого LVM и предоставления логического раздела в качестве НЖМД для ВМ.
Для создания группы необходимо в окне Управление блочными устройствами:
-
нажать кнопку Создать группу VG;
-
если в дисковой подсистеме сервера есть неиспользуемое (неразмеченное) дисковое пространство, то в открывшемся окне необходимо ввести название группы логических томов и выбрать блочные устройства для включения в группу;
-
если неиспользуемого пространства нет, то появится надпись нет доступных блочных устройств;
-
для сохранения изменений нажать кнопку Сохранить.
После успешного создания группы она отобразится в списке блочных устройств.
Примечание
В списке доступных блочных устройств показываются только устройства без разметки (разделов). Чтобы очистить требуемое устройство от ранее созданной разметки, следует воспользоваться командой CLI wipefs, после этого устройство появится в списке. В случае устройств LUN, возможно, потребуется отключить и заново присоединить устройство.
В окне Управление блочными устройствами для свободного устройства существует возможность:
-
расширения. При нажатии на кнопку Расширить в открывшемся окне необходимо выбрать из раскрывающегося списка дополнительные блочные устройства, после чего подтвердить операцию, нажав кнопку Расширить;
-
очистки дисков узла (полная очистка). Доступно для незадействованного устройства. Выполняется при нажатии на кнопку Очистка дисков узла. В открывшемся окне необходимо выбрать из раскрывающегося списка блочное устройство, после чего подтвердить операцию, нажав кнопку Сохранить.
Управление связанными объектами производится в разделе Хранилища основного меню и соответствующих подразделах интерфейса. Более подробное описание смотрите в разделе LUN.
Кластерные транспорты
Просмотр информации
Для просмотра информации о подключенных к серверу Кластерных транспортах необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Хранилища - Кластерные транспорты отобразится таблица, содержащая следующую информацию:
- Название - название подключенного кластерного транспорта;
- Кластер - кластер, к которому подключен данный кластерный транспорт;
- Тип - тип кластера;
- Статус - статус кластерного транспорта.
Добавление кластерного хранилища
Для добавления хранилища необходимо нажать кнопку Создать. В открывшемся окне заполнить следующие поля:
- название хранилища;
- его описание;
- кластер, в котором расположено хранилище (выбор из раскрывающегося списка);
- тип хранилища (выбор из раскрывающегося списка);
- LUN (выбор из раскрывающегося списка);
- определиться с выбором внешней сети.
Для подтверждения операции необходимо нажать кнопку Создать.
Более подробное описание смотрите в разделе Кластерные транспорты.
Тома
Просмотр информации
Для просмотра информации о подключенных к серверу Томах необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Хранилища - Тома отобразится таблица, содержащая следующую информацию:
- Название - название подключенного тома;
- Кластерный транспорт - название кластерного транспорта, используемого для подключения;
- Тип - тип транспорта для тома;
- Использовано/Всего - занятый и общий объем тома;
- Статус - статус кластерного транспорта.
Добавление Тома
Для добавления тома необходимо нажать кнопку Создать. В открывшемся окне заполнить следующие поля:
- название хранилища;
- его описание;
- тип тома (выбор из раскрывающегося списка);
- кластерные транспорты;
- разделы (ZFS пулы);
- значение репликации тома;
- наличие раздела арбитра в реплицированном томе (вкл/выкл);
- тип транспорта для тома (выбор из раскрывающегося списка);
- путь;
- определиться с созданием пула данных (вкл/выкл).
Для подтверждения операции необходимо нажать кнопку Создать.
Более подробное описание смотрите в разделе Тома.
Ended: Хранилища
Виртуальные машины
Для получения списка ВМ и шаблонов необходимо перейти в окно Серверы – <имя сервера> – Виртуальные машины. В данном окне существует два подраздела Виртуальные машины и Шаблоны. В каждом из подразделов представлен список объектов, размещенных на данном сервере.
Управление ВМ в составе данного сервера производится в окне Серверы – <имя сервера> – Виртуальные машины – Виртуальные машины.
Управление шаблонами ВМ в составе данного сервера производится в окне Серверы – <имя сервера> – Виртуальные машины – Шаблоны.
Для ВМ и шаблонов ВМ на выбранном сервере в окне управления ВМ предусмотрены следующие операции:
-
включения всех ВМ сервера. Для этого необходимо нажать кнопку Включение всех ВМ и в открывшемся окне подтвердить операцию, нажав кнопку Да;
-
выключения всех ВМ сервера. Для этого необходимо нажать кнопку Выключение всех ВМ и в открывшемся окне выставить тайм-аут ожидания выключения питания ВМ, после чего подтвердить операцию, нажав кнопку ОК;
-
порядок загрузки всех ВМ сервера при работе высокой доступности. При нажатии соответствующей кнопки открывается информационное окно с очередностью загрузки существующих ВМ. Окно закрывается с помощью кнопки Закрыть;
-
миграции всех ВМ сервера на доступные серверы. Для этого необходимо нажать кнопку Миграция всех ВМ и в открывшемся окне подтвердить операцию, нажав кнопку Да;
-
сканирования ВМ. При нажатии соответствующей кнопки открывается информационное окно с выявленными незарегистрированными ВМ. Окно закрывается с помощью кнопки Закрыть;
В окне управления ВМ содержится список виртуальных машин, существующих в системе и привязанных к данному серверу, включая для каждой из них её название, сервер, количество виртуальных процессоров vCPU, объём виртуальной оперативной памяти vRAM, количество виртуальных дисков vDisk и сетевых адаптеров vNIC, количество виртуальных функций vFunc и статус.
Подробное описание смотрите в разделе Операции с ВМ.
Сети ↵
Виртуальные сети
Просмотр информации
Для просмотра информации о Виртуальных сетях сервера необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Сети - Виртуальные сети отобразится таблица, содержащая следующую информацию:
- Название - название виртуальной сети;
- Связанность - тип связанности в виртуальной сети;
- Подсеть - подсеть виртуальной сети;
- VLAN ID - тег по стандарту 802.1Q, который назначается всему трафику данной сети;
- MAC-адрес - МАС (физический адрес) внутреннего интерфейса;
- Используется брандмауэр - параметр, который указывает, используется ли межсетевой экран для данной сети;
- Статус - статус виртуальной сети.
Добавление виртуальных сетей на узле
В разделе Серверы основного меню выбрать целевой сервер и перейти в Сети - Виртуальные сети.
Нажать кнопку Добавить. Из раскрывающегося списка выбрать одну или несколько виртуальных сетей, которые необходимо добавить и подтвердить операцию кнопкой ОК.
Подробная информация о виртуальных сетях содержится в разделе Виртуальные сети.
Виртуальные интерфейсы и коммутаторы
Виртуальные коммутаторы
Виртуальные коммутаторы (ВК) -- это коммутаторы уровня сервера (узла), предназначенные для управления физическими и виртуальными интерфейсами сервера, а также для обеспечения L2-связанности распределенных коммутаторов.
По умолчанию существует как минимум один специальный коммутатор (свитч) с именем veil-blackhole, который используется для перенаправления или отбрасывания сетевого трафика, не передавая его на реальные физические интерфейсы. Обычно этот интерфейс используется в том случае, когда система затрудняется определить в автоматическом режиме, куда необходимо подключить ВМ (например, при импорте OVMF). Также этот свитч может использоваться для защиты от нежелательного трафика и предотвращения перегрузки сети, поскольку весь трафик, направленный в veil-blackhole, не будет обрабатываться.
Просмотр информации
Для просмотра информации о Виртуальных коммутаторах сервера необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Сети - Виртуальные коммутаторы отобразится таблица, содержащая следующую информацию:
- Название - название виртуального коммутатора;
- Сервер - название сервера, на котором находится виртуальный коммутатор;
- Тип - тип виртуального коммутатора;
- Статус - статус виртуального коммутатора.
Добавление виртуального коммутатора
Также в окне управления ВК имеется возможность добавить новый ВК, используя кнопку Добавить виртуальный коммутатор. При нажатии на данную кнопку открывается окно, в котором необходимо заполнить следующие поля:
- название ВК;
- описание ВК (при необходимости);
- тип (выбрать из раскрывающегося списка).
Для подтверждения операции необходимо нажать кнопку ОК.
Информацию по коммутатору можно получить, нажав на его название в списке коммутаторов.
Дополнительную информацию о ВК смотрите здесь. Управление ВК смотрите в разделе здесь.
Виртуальные интерфейсы
Внутренние интерфейсы -- это виртуальные интерфейсы уровня гипервизора, подключаемые в порт-группы внутреннего коммутатора. Основным внутренним интерфейсом является veil-mgmt, через который происходит взаимодействие между серверами в составе кластера. За счёт настройки дополнительных внутренних интерфейсов можно отделить от сети управления сеть передачи данных (доступ к NFS и iSCSI), сеть доступа к интерфейсу управления, сеть управления серверами по IPMI и другие сети.
Просмотр информации
Для просмотра информации о Внутренних интерфейсах сервера необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке Сети - Внутренние интерфейсы отобразится таблица, содержащая следующую информацию:
- Название - название внутреннего интерфейса;
- IP-адрес - IP-адрес внутреннего интерфейса в сети;
- Маска подсети - маска подсети сети, к которой подключен внутренний интерфейс;
- DHCP - параметр, который указывает, включено ли на внутреннем интерфейсе автоматическое получение сетевых настроек;
- MAC-адрес - МАС (физический адрес) внутреннего интерфейса;
- Подключение к виртуальному коммутатору - название внутреннего виртуального коммутатора, к которому подключен внутренний интерфейс;
- Статус - статус внутреннего интерфейса.
Информацию о конкретном внутреннем интерфейсе можно получить, нажав на его название в списке интерфейсов.
Добавление внутреннего интерфейса
Также в окне управления внутренними интерфейсами имеется возможность добавить интерфейс, используя кнопку Добавить. При нажатии на эту кнопку открывается окно, в котором необходимо заполнить следующие поля:
-
название интерфейса;
-
описание интерфейса (при необходимости);
-
ВК (выбрать из раскрывающегося списка);
-
порт-группа;
-
протокол DHCP (включить или выключить);
-
IP-адрес;
-
маска подсети;
-
MAC-адрес.
Для подтверждения операции необходимо нажать кнопку ОК.
Дополнительную информацию смотрите здесь.
Агрегированные интерфейсы
Общая информация
Агрегированные интерфейсы -- это список групповых сетевых интерфейсов. Каждый агрегированный интерфейс представляет собой группу физических интерфейсов сервера со своей политикой объединения. Политики объединения могут быть как для резервирования, так и для увеличения пропускной способности каналов связи.
Необходимо учитывать, что при группировании интерфейсов для увеличения пропускной способности с балансировкой нагрузки и применением протокола LACP, порты физического коммутатора, к которым подключена данная группа физических интерфейсов, также должны быть собраны в группу, и на них должна быть включена поддержка LACP.
Попытка агрегировать несколько портов с использованием уже настроенных ранее может привести к временной потере сетевого соединения. Это связано с тем, что перед агрегацией ранее настроенный порт должен быть отсоединен от своих старых связей. При удалении агрегированного порта (высвобождении сетевых интерфейсов из объединения) их настройки (VLAN, MTU) сбрасываются.
В окне Серверы – <имя сервера> – Сети – Агрегированные интерфейсы содержится список агрегированных интерфейсов сервера, включая для каждого из них его режим агрегации и LACP, LACP time, переключение в режим, состояние и статус.
Добавление
Для агрегации нескольких интерфейсов необходимо в окне управления агрегированными интерфейсами сервера нажать кнопку Добавить. В открывшемся окне необходимо заполнить необходимые поля:
-
название агрегированного интерфейса;
-
описание агрегированного интерфейса (при необходимости);
-
ВК (выбрать из раскрывающегося списка);
-
порт-группа (выбрать из раскрывающегося списка);
-
физические интерфейсы (выбрать из раскрывающегося списка), которые будут объединены (агрегированы). Если при создании агрегированного интерфейса в раскрывающемся списке написано нет доступных интерфейсов, это означает отсутствие на узле доступных для добавления устройств;
-
тип агрегации (режим связи) (выбрать из раскрывающегося списка). Настройка типа агрегации выбирается исходя из потребностей и возможностей сетевого оборудования:
-
аctive-backuр - режим резервирования. Резервный канал не используется;
-
balance-tcp - режим балансировки с использованием LACP;
-
balance-slb - режим простой балансировки на основе MAC и VLAN.
Для правильного выбора режима необходимо обратиться к своему сетевому администратору.
-
-
связь протокола управления агрегацией каналов (выбрать из раскрывающегося списка);
-
включение агрегированного интерфейса после создания.
Для подтверждения операции необходимо нажать кнопку ОК.
Тип агрегации (режим связи) balance-tcp
Для использования balance-tcp необходимо предварительно включить поддержку LACP у физического коммутатора, к которому подключены агрегируемые порты. Порты, агрегируемые по этому типу, должны быть подключены в порты коммутатора, объединенные в порт-группу. Порт-группа физического коммутатора с включенным LACP не будет пропускать трафик, пока не увидит, что порты сервера прошли агрегацию. Это необходимо учитывать при настройке и, если агрегация данного типа будет применяться для сети управления её необходимо делать из CLI-интерфейса сервера и при наличии доступа к интерфейсу управления коммутатором. При отсутствии поддержки LACP со стороны коммутатора сформируется сетевая петля, что приведет к срабатыванию защиты от петель.
Информация
Информацию по агрегированному интерфейсу можно получить, нажав на его название в списке интерфейсов.
Во вкладке Информация содержатся следующие сведения:
-
название;
-
описание (редактируемый параметр);
-
дата и время создания;
-
дата и время изменения;
-
статус;
-
конфигурация управления агрегацией каналов (раскрывающийся список):
-
связь протокола управления;
-
режим связи;
-
резервный вариант протокола управления;
-
время протокола управления;
-
-
интерфейсы с возможностью их добавления по кнопке Каждый из интерфейсов содержит:
-
состояние связи;
-
скорость соединения;
-
дуплексный режим;
-
MAC-адрес.
-
-
сообщения о работе агрегированного интерфейса с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Операции
Также в окне состояния выбранного агрегированного интерфейса предусмотрены следующие операции:
-
обновление информации;
-
изменение параметров. Для этого необходимо нажать кнопку Изменение параметров и в открывшемся окне выбрать из раскрывающегося списка режим связи и связь протокола управления агрегацией каналов. Для сохранения изменений необходимо нажать кнопку ОК;
-
включение экземпляра. При нажатии кнопки Включение экземпляра в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Да;
-
удаление интерфейса. При нажатии кнопки Удалить в открывшемся окне необходимо определиться с возможностью сохранения физического интерфейса после удаления соединения. Если опция Оставить физический интерфейс включена, осуществить выбор из раскрывающегося списка физического интерфейса и определится с возможностью включения агрегированного интерфейса после подключения. Далее необходимо подтвердить операцию, нажав кнопку ОК.
Физические интерфейсы
В окне Серверы – <имя сервера> – Сети – Физические интерфейсы содержится список физических интерфейсов сервера, включая для каждого из них его название, поддержку SR-IOV, включен или выключен режим SR-IOV, включен или выключен неразборчивый режим, MTU, MAC-адрес, агрегацию, состояние, наличие физического подключения к серверу и статус (исправно или ошибка). Данные о состоянии интерфейсов берутся от гипервизора.
Информацию о состоянии физического интерфейса и его загруженности можно получить, нажав на название интерфейса в его окне управления.
В открывшемся окне состояния доступны следующие операции с физическим интерфейсом:
-
включение (выключение) интерфейса. При нажатии на кнопку Включение (up) (Выключение (down)) в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Да;
-
подключение (отключение) интерфейса. Для варианта с неподключенным интерфейсом при нажатии на кнопку Подключение в открывшемся окне необходимо выбрать из раскрывающегося списка ВК и порт-группу, после чего подтвердить операцию, нажав кнопку ОК. Для варианта с подключенным интерфейсом при нажатии на кнопку Отключение (vswitch) в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Да;
-
переподключение интерфейса. При нажатии на кнопку Переподключение (vswitch) в открывшемся окне необходимо выбрать из раскрывающегося списка ВК и порт-группу, после чего подтвердить операцию, нажав кнопку ОК;
-
включение режима SR-IOV. При нажатии на кнопку Включение SR-IOV в открывшемся окне необходимо подтвердить операцию, нажав кнопку Да;
-
настройка длительности индикации светодиода. При нажатии на кнопку LED в открывшемся окне необходимо задать длительность индикации, после чего подтвердить операцию, нажав кнопку ОК.
Также в окне состояния выбранного интерфейса содержится следующая информация:
-
графики загрузки receive и transmit;
-
название физического интерфейса;
-
его описание (редактируемый параметр);
-
дополнительная информация. Раскрывающаяся информация содержит:
- изготовитель;
- модель;
- драйвер;
- вервия драйвера;
- PCI-устройство;
- неразборчивый режим (редактируемый параметр). Позволяет включить или выключить режим Promisc;
- MTU (редактируемый параметр);
- max MTU;
-
MAC-адрес;
-
включен в агрегацию (Да/Нет);
-
статус;
-
скорость соединения;
-
дуплексный режим;
-
состояние связи (Активен/Неактивен);
-
состояние порта (Включен/Выключен);
-
сообщения о работе интерфейса с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Внимание
ВАЖНО помнить, что физический интерфейс, настроенный при установке SpaceVM участвует в обеспечении работоспособности кластера. Все операции над этим интерфейсом необходимо проводить с учетом того, что при потере его настроек связь с управляемым сервером будет потеряна. Восстановление работоспособности сети будет возможно только через консоль сервера.
Возможность использования одного физического сетевого интерфейса несколькими ВМ с применением технологии SR-IOV
Условия
Примечание
Для использования технологии SR-IOV необходимо включить на целевом сервере поддержку IOMMU. Подробности смотрите в разделе Управление настройками IOMMU.
InfiniBand
Поделить интерфейс InfiniBand на виртуальные функции разрешается, но "прокинуть" функцию в ВМ на данный момент невозможно, так как её MAC-адрес состоит из 20 байт, а не из 6, что вызывает ошибку гипервизора. Виртуальные функции можно "прокинуть" в ВМ через проброс PCI-устройств.
Для перевода физического интерфейса в режим SR-IOV необходимо выбрать нужный интерфейс с поддержкой SR-IOV и включить его в окне управления.
В окне Серверы – <имя сервера> – Сети – SR-IOV содержатся данные о режимах SR-IOV. Информацию о состоянии физического интерфейса и его запущенного режима SR-IOV можно получить, нажав на название интерфейса в его окне управления SR-IOV.
Операция с интерфейсом SR-IOV
В окне состояния доступны следующие операции с физическим интерфейсом в режиме SR-IOV:
-
выключение SR-IOV. При нажатии на кнопку Выключение SR-IOV в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Да.
Сведения об интерфейсе SR-IOV
В окне состояния содержатся следующие сведения:
- название (физического интерфейса);
- описание;
- дополнительная информация (раскрывающийся список):
- изготовитель;
- модель;
- драйвер;
- версия драйвера;
- PCI-устройства;
- MAC-адрес;
- включен в агрегацию (Да/Нет);
- статус (ACTIVE/IN ACTIVE);
- скорость соединения;
- дуплексный режим;
- состояние связи;
- сообщения (список задач, отсортированный по дате).
Проверка
Проверка использования одного физического сетевого интерфейса несколькими ВМ с применением технологии SR-IOV осуществляется следующим образом:
-
необходимо включить SR-IOV на физическом интерфейсе. Перейти в раздел Серверы основного меню, выбрать целевой сервер, перейти во вкладку Сети - Физические интерфейсы, выбрать целевой физический интерфейс с поддержкой технологии SR-IOV, нажать кнопку Включение SR-IOV. Таким образом, на физическом сетевом интерфейсе будут созданы виртуальные функции — виртуальные сетевые интерфейсы;
-
далее необходимо создать ВМ. Проверка возможна при загрузке в режиме Live CD, поэтому создание диска и последующая установка операционной системы необязательны. После создания ВМ перейти в раздел Виртуальные машины основного меню, выбрать созданную ВМ, перейти во вкладку Виртуальные функции, нажать кнопку Добавить функцию, в раскрывающемся списке выбрать виртуальную функцию, нажать кнопку ОК;
-
повторить предыдущий пункт необходимое количество раз, но не больше, чем количество доступных виртуальных функций, так как одна виртуальная функция может быть подключена к одной виртуальной машине;
-
включить созданные ВМ, после завершения загрузки. Если целевой физический сетевой интерфейс подключен к внешней сети с доступным DHCP-сервером, убедиться, что ВМ получили IP-адреса от DHCP сервера;
-
проверить доступность ВМ между собой, выборочно выполнив команду
ping {IP-адрес другой ВМ} -c 1
; -
если целевой физический сетевой интерфейс подключен к внешней сети с доступом к сети Интернет, проверить доступность публичных DNS-серверов, выполнив на ВМ команду
ping 77.88.8.1 -c 1
.
Ended: Сети
Связность и ограждение
Общая информация
Настройки связности и ограждения -- определение механизмов контроля доступности сервера и управления его питанием.
Для обеспечения целостности данных ВМ может работать только на одном узле или любой другой службе кластера в одно и то же время. Применение в конфигурации оборудования выключателей электропитания дает возможность выполнять цикл выключения-включения питания другого узла до перезапуска служб высокой доступности этого узла во время процесса отказов. Это предотвращает от одновременного доступа 2 узлов к одним и тем же данным и к их разрушению. Ограждающие (fence) устройства используются для обеспечения гарантии целостности данных при сбоях в любых условиях.
В окне Серверы – <имя сервера> – Настройки связности можно получить информацию о текущих настройках:
-
тип ограждения;
-
тип связности;
-
пулы данных.
Также существует возможность изменения настроек. При нажатии на кнопку Изменить настройки в открывшемся окне выбрать из раскрывающегося списка тип ограждения и тип связности, после чего подтвердить операцию, нажав кнопку ОК.
Дополнительно можно и рекомендуется изменять настройки целиком на весь кластер во вкладке Кластеры – <имя кластера> – Настройки связности.
Связность
Тип связности узла отвечает за метод принятия решения о том, что на сервере произошла авария.
Может быть следующих типов:
-
KERNEL – контролирует исполнение модулей системы управления на сервере. Контроллер открывает поток данных (grpc stream) до каждого узла по его UUID (hostname) и отправляет узлу свой IPv4-адрес. Узел при открытом потоке данных сверяет присланный ему адрес контроллера с адресом из его конфигурации и при совпадении раз в 1 секунду посылает через поток данных heartbeat. Контроллер при каждом получении heartbeat обновляет 2 метки с временем жизни 30 секунд (error label) и 60 секунд (hermit label) о доступности узла. Если контроллер признал узел недоступным, то начинается процедура ограждения.
-
KERNEL_IPMI – дополнительно раз в 5 секунд проверяется доступность IPMI-интерфейса сервера с контроллера. Происходит проверка и KERNEL, и IPMI. Если что-то недоступно, то контроллер начинает процедуру ограждения.
-
KERNEL_STORAGE – дополнительно раз в 5 секунд проверяется метаданные пула данных сервера на общем с контроллером файловом сетевом хранилище. Происходит проверка и KERNEL, и STORAGE. Если что-то недоступно, то контроллер начинает процедуру ограждения.
Хранилище можно выбрать только в настройках сервера, но не кластера. Если выбрать данный тип связности, то может возникнуть ошибка, при которой узел отмечается как "недоступен".
- AUTO – кроме проверки KERNEL связи при наличии настроек IPMI проверяется его доступность. При наличии общего пула данных проверяется и последний.
В данный момент проверка пула данных недоступна.
Ограждение
Ограждение - процесс получения подтверждения того, что аварийный сервер перешел в состояние, не допускающее повреждения ВМ (по умолчанию - выключен). Тип ограждения может принимать несколько значений и, в соответствии с этим, определяется каким образом система управления будет пытаться оградить сервер при обнаружении аварии. Сервис ограждения циклически пытается оградить узлы, находящиеся в статусе HERMIT (Ограждается) в соответствии с настройками.
Тип ограждения узла может быть следующим:
- IPMI: использует управляющие команды ВМС для форсированного выключения узла. Контроллер делает попытки подключиться к интерфейсу IPMI узла и послать команду форсированного выключения узла. Контроллер должен иметь доступ к данному интерфейсу: контроллер и интерфейс IPMI узла должны либо быть в одной сети, либо должна быть настроена маршрутизация между данными сетями. При данном типе ограждение узла будет признано успешным только в случае, если IPMI-интерфейс был доступен и подтвердил, что сервер действительно выключен. Таким образом, контроллер не признает огражденным узел, если у узла было выключено питание.
При включении данного типа ограждения нужно убедиться, что у необходимых узлов настроен IP-адрес IPMI-интерфейса. Также нужно убедиться, что контроллер имеет доступ к данному интерфейсу: контроллер и интерфейс IPMI узла должны либо быть в одной сети, либо должна быть настроена маршрутизация между данными сетями.
- VIRTUAL: признает сервер выключенным через 30 с после наступления аварии (по умолчанию). Рекомендуется использовать для тестовых стендов, в том числе на виртуальных машинах, либо на объектах, где не требуется использование функционала высокой доступности ВМ.
При данном типе ограждения не гарантируется изоляция или отключение узла. Соответственно, если на неогражденном сервере останется ВМ, имеющая доступ к разделяемой системе хранения данных, а контроллер выполнит восстановление ВМ на одном из других серверов, может возникнуть ситуация Split Brain. Два экземпляра одной ВМ будут работать параллельно, используя один диск на общем хранилище. Таким образом данные ВМ могут быть повреждены.
-
SSH: использует подключение SSH для передачи команды выключения. Контроллер делает попытки подключиться к узлу и выполнить команду форсированного выключения узла. Предупреждение: данный тип ограждения не сработает в случае, если была потеряна сетевая связность в управляющей сети (KERNEL). Рекомендуется использовать данный тип ограждения при использовании высокой доступности ВМ для того, чтобы защититься от сбоев или отказов программных модулей SpaceVM.
-
NODE: использует вызов управляющих команд через систему управления кластером. В момент настройки данного типа ограждения контроллер передает на узел "флаг" самоограждения. В случае, когда узел теряет связь с контроллером, он пытается выполнить следующие действия:
* выключение контейнера сетевых служб; * корректное выключение всех ВМ максимум за 40 с; * отмонтирование всех LUN gfs2; * выключение хоста.
Данный тип ограждения позволяет защититься при использовании высокой доступности ВМ от выключения серверов по питанию. Но при этом контроллер также не может гарантировать, что узел огражден. Возможен случай, когда произошел сбой или отказ программных модулей SpaceVM, ответственных за самоограждение узла.
- AUTO: использует все возможные варианты последовательно: IPMI, SSH, NODE.
Данный тип ограждения может позволить защититься при использовании высокой доступности ВМ от выключения серверов по питанию (NODE), от отказа или сбоя программных модулей (SSH, IPMI), от потери сетевой связности (IPMI).
В окне Настройки – Контроллер в Настройках ограждения есть редактируемые поля:
-
начальный тайм-аут между попытками ограждения узлов (по умолчанию - 15 секунд);
-
максимальный тайм-аут между попытками ограждения узлов (по умолчанию - 600 секунд);
-
множитель увеличения тайм-аута между попытками (по умолчанию - 2).
-
перевод узла в статус Failed при достижении максимального тайм-аута (по умолчанию - выкл).
Пример ограждения. Тип ограждения узла IPMI. Настройки ограждения контроллера по умолчанию.
Сразу после перехода узла в статус HERMIT (Ограждается) производится первая попытка ограждения узла с контроллера. В случае удачного выключения узла он переходит в статус FAILED (Ошибка). Если первая попытка не удалась, то через 15 секунд (начальный тайм-аут между попытками ограждения узлов) попытка повторяется. Если вторая попытка не удалась, то через 15 секунд * 2 (2 - множитель увеличения тайм-аута между попытками) попытка повторяется. Если третья попытка не удалась, то через 15 секунд * 4 попытка повторяется. Тайм-аут будет увеличиваться до 600 секунд (максимальный тайм-аут между попытками ограждения узлов) и продолжаться до бесконечности, пока оператор либо не оградит узел вручную, либо ограждение закончится успешно.
Оптимальный выбор типов связности и ограждения
Оптимальным считается использование типа ограждения IPMI и типа связности AUTO. Тип ограждения IPMI позволяет получить однозначное подтверждение о том, что сервер был огражден, а контроль модулей управления сервером реагирует также на проблемы в работе гипервизора.
Статусы узла и переходы между ними
Статусы узла:
-
CREATING (Создается) - узел находится в процессе инсталляции;
-
ACTIVE (Исправно) - узел активен и работает;
-
FAILED (Ошибка) - узел был недоступен и его оградили (fence), виртуальные машины могут быть перезапущены на других узлах;
-
ERROR (Ошибка) - узел недоступен;
-
HERMIT (Ограждается) - узел недоступен продолжительное время и его необходимо оградить для перезапуска виртуальных машин на других узлах;
-
DELETING (Удаляется) - узел находится в процессе удаления из кластера;
-
SERVICE (Сервисный режим) - узел находится на техобслуживании.
При установке узел сначала находится в статусе CREATING (Создается) и после успешного добавления переходит в статус ACTIVE (Исправно). В случае неуспешного добавления переходит в статус FAILED (Ошибка). В этом случае рекомендуется посмотреть в журнале задач ошибку задачи добавления, разобраться с ошибкой, форсированно удалить узел и добавить его снова.
При потере связи контроллера с узлом последний переходит из статуса ACTIVE (Исправно) сначала в статус ERROR (Ошибка), далее по истечению дополнительного времени и отсутствии связи в статус FAILED (Ошибка), если узел на контроллере, или в статус HERMIT (Ограждается) для всех остальных узлов. Подробности ограждения описаны выше. При переходе узла в статус ERROR (Ошибка) контроллер пытается подключиться по SSH к узлу и перезапустить супервизор контроллера.
Контроллер постоянно циклически пытается опросить все известные ему узлы. Если узел НЕ ACTIVE и НЕ SERVICE и связь с ним появляется, то он переходит автоматически в статус ACTIVE (Исправно).
Пользователь для перевода узла на техобслуживание должен перевести узел в статус SERVICE (Сервисный режим). При этом все принадлежащие узлам сущности и связи узла переходят в статус FAILED (Ошибка). ВМ узла перед переводом должны быть выключены.
При запуске задачи удаления узел сначала переходит в статус DELETING (Удаляется), далее после успешного последовательного выполнения всех внутренних операций очистки узла от привязок к контроллеру он удаляется из базы системы управления. После неуспешного удаления переходит в статус FAILED (Ошибка). В этом случае рекомендуется посмотреть в журнале задач ошибку задачи удаления, разобраться с ошибкой на будущее и форсированно удалить узел. В случае, если узел не находится в статусе ACTIVE (Исправно), его можно удалить форсированно, то есть исключительно из базы системы управления.
Профили
В окне Серверы – <имя сервера> – Профили содержится список имеющихся профилей, включая для каждого из них название, имя пула данных и статус.
Также в этом окне существует возможность создания нового профиля по кнопке Создать и синхронизации настроек с другим узлом напрямую по кнопке Синхронизировать.
При нажатии на название профиля открывается окно состояния профиля, содержащее следующую информацию:
- ballooning;
- drs_settings (раскрывающийся список);
- description;
- cluster;
- shared_storages;
- storages_transport.
В окне состояния профиля доступны следующие операции:
SSH ↵
Настройки SSH
Для просмотра и изменения настроек доступа по протоколу SSH к серверу необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке SSH - Настройки отобразятся следующие настройки:
- Статус SSH - параметр, который показывает, включен ли доступ по SSH к серверу. По умолчанию - Включен;
- Количество одновременных подключений каждого пользователя - параметр, который указывает предельное количество одновременных подключений к терминалу по SSH от имени каждого пользователя. По умолчанию - 1;
- Общее количество одновременных подключений - параметр, который указывает предельное общее количество одновременных подключений по протоколу SSH. По умолчанию - 10;
- Количество мультиплексированных сеансов SSH в течение одного сеанса SSH - параметр, указывающий на предельное количество сеансов в рамках одного TCP соединения. По умолчанию - 10;
- Период неактивности пользователя в секундах, по истечению которого он будет отключен - параметр, указывающий временной интервал после последней активности (выполнение команд, ввод символов и т.д.). По умолчанию - 7200;
- Количество периодов неактивности, по истечению которых пользователь будет отключен - количество периодов бездействия, по истечению которых будет произведено завершение сессии. По умолчанию - 1;
- Количество неудачных попыток входа - количество неудачных попыток входа подряд, после которых пользователь будет заблокирован.
Пользователи SSH
Для просмотра текущих пользователей SSH, а также добавления, удаления и изменения пользователей необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке SSH - Пользователи отобразится список пользователей, которым доступно SSH-подключение.
Управление пользователями SSH
Для управления SSH-пользователями доступны следующие действия:
-
блокировка (разблокировка) пользователя при помощи кнопки. В открывшемся окне Управление доступом по SSH необходимо выбрать действие (заблокировать или разблокировать), определиться со способом выбора пользователей (ручной выбор пользователей или заблокировать всех), выбрать пользователей (при ручном способе выбора пользователей) и нажать кнопку Отправить;
-
добавление пользователя при помощи кнопки. В открывшемся окне Добавить пользователя необходимо нажать кнопку Добавить. Далее необходимо ввести имя пользователя и пароль, после чего подтвердить операцию, нажав кнопку Добавить. Имя пользователя появится в списке добавленных пользователей. Нажатие кнопки ОК завершает операцию добавления новых пользователей;
-
удаление пользователя. В открывшемся окне Удалить пользователя необходимо выбрать пользователя и нажать кнопку ОК.
У каждого пользователя имеется возможность изменить пароль доступа SSH при помощи кнопки. В открывшемся окне Изменения пароля необходимо ввести пароль доступа SSH для выбранного пользователя и нажать кнопку ОК.
Ключи шифрования
Для просмотра подключенных ключей шифрования, подключения новых и удаления необходимо в разделе Серверы основного меню выбрать целевой сервер, после чего в открывшемся окне во вкладке SSH - Ключи шифрования отобразится список подключенных ключей шифрования.
Управление ключами шифрования
Доступны следующие действия:
-
подключение нового ключа шифрования осуществляется при помощи кнопки Подключение SSH ключа. В открывшемся окне Подключение SSH ключа необходимо выбрать ключ, пользователя SSH и нажать кнопку ОК;
-
отключение конкретного ключа шифрования осуществляется при помощи кнопки Отключить в таблице ключей;
-
отключение всех ключей шифрования осуществляется при помощи кнопки Отключить все ключи SSH.
Ended: SSH
События
В окне Серверы – <имя сервера> – События отображается список последних событий для данного сервера с возможностью их сортировки по признакам – По всем типам, Ошибки, Предупреждения, Информационные. Более подробную информацию смотрите здесь.
Резервное копирование
В окне Серверы – <имя сервера> – Резервные копии содержится список имеющихся резервных копий, включая для каждой из них название, имя пула данных, размер и статус.
Важно!
При создании резервной копии все операции в среде SpaceVM становятся недоступны, узел переходит в критическую ошибку до окончания процесса.
В данной вкладке можно создавать резервные копии ОС (операционной системы) с помощью кнопки Создать резервную копию. В открывшемся окне можно выбрать пул данных для сохранения. Если его не указывать, то резервная копия будет создана на базовом пуле данных узла. Также в этом окне имеется текстовое поле Описание, в которое можно внести дополнительную информацию, помогающую более точно идентифицировать файл резервной копии при восстановлении. Это описание можно будет в дальнейшем посмотреть при открытии файла через Web-интерфейс или непосредственно из posix shell.
При создании резервной копии корневая файловая система резервируемого узла "замораживается", поэтому все операции на узле становятся невозможны. При создании резервной копии узла, на котором расположен контроллер, будет также приостановлена работа Web-интерфейса.
Правильным будет создавать резервные копии на сетевых хранилищах NFS, что в дальнейшем сильно упростит восстановление из них, используя Space Live загрузку с установочного DVD.
Для загрузки резервной копии из файловой системы необходимо нажать кнопку Загрузка из файловой системы и в открывшемся окне выбрать файл (через стандартное окно загрузки файла) и пул (из раскрывающегося списка). После этого подтвердить операцию, нажав кнопку ОК.
Для выбора определенной резервной копии с применением фильтра необходимо нажать на кнопку. В открывшемся окне содержатся следующие поля для фильтрации:
- Имя файла;
- Пул данных – выбор из раскрывающегося списка;
- ВМ – выбор из раскрывающегося списка;
- Серверы – выбор из раскрывающегося списка.
После настройки фильтра необходимо нажать Применить или Сбросить все.
При открытии файла резервной копии, кроме обычных для файла кнопок (Обновить, Копировать, Скачать, Удалить), имеется кнопка Описание, при нажатии на которую отобразится окно с описанием, внесенном при создании резервной копии. Берется из файла резервной копии, поэтому оно будет доступно, даже если файл был загружен.
При нажатии на название резервной копии открывается окно состояния резервной копии, содержащее следующую информацию:
- название;
- описание (с возможностью редактирования);
- расположение;
- название пула данных;
- дата и время создания;
- дата и время изменения;
- сообщения, выдаваемые при работе с резервными копиями с возможностью их сортировки по признакам – По всем типам, Ошибки, Предупреждения, Информационные.
Про восстановление из резервной копии смотрите здесь.
Теги
В окне Серверы – <имя сервера> – Теги отображается список назначенных серверу меток. Также имеется возможность создания, удаления, обновления, назначения и отмены тега.
Более подробная информация описана здесь.
ПО и сервисы
ПО (X.Y.Z)
Версия SpaceVM соответствует классической версии нумерации X.Y.Z:
-
X – мажорная версия. Меняется при крупных релизах. Может быть обратно несовместима с прежними релизами;
-
Y – минорная версия. Меняется при промежуточных релизах. Обязательно должна быть обратная совместимость;
-
Z – версия патча. Меняется при исправлении ошибок промежуточных релизов.
В окне Серверы – <имя сервера> – ПО и Сервисы – ПО (Х.Y.Z) отображается список компонентов SpaceVM, установленных на данном сервере и их текущие версии.
Также имеется возможность проверки наличия обновлений для компонентов системы. При нажатии кнопки Проверить обновление ПО в открывшемся окне отобразится информация о компонентах, текущих версиях и доступных для обновления версиях, после чего необходимо подтвердить обновление, нажав на кнопку Обновить все пакеты ПО.
Сервисы
В окне Серверы – <имя сервера> – ПО и Сервисы – Сервисы отображается список сервисов и статус.
При нажатии кнопки Действия над сервисами узла отобразится мастер Действия над сервисами узла, в котором можно выбрать Сервис из раскрывающего списка (он может изменяться в зависимости от версии ПО и роли сервера):
-
controller-engine;
-
controller-db (postgresql);
-
controller-web-api;
-
controller-web-proxy;
-
controller-web-uploader;
-
controller-log-sender;
-
loki;
-
controller-websocket;
-
prometheus;
-
node-engine (Действия выполняются из окна "Проверка связи с супервизором узла");
-
node-statistics;
-
td-agent;
-
multipath;
-
nginx;
-
ntp;
-
redis;
-
snmp;
-
gluster;
-
corosync;
-
dlm;
-
watchdog;
-
consul.
Над всеми сервисами можно выполнить следующие действия:
-
start;
-
stop;
-
restart.
Для сохранения параметров необходимо нажать на кнопку Изменить.
Также имеется возможность проверки состояния супервизора системы управления сервером. При нажатии на кнопку Проверка связи с супервизором узла в открывшемся окне отобразится статус супервизора, после чего существует возможность его перезапуска, нажав на кнопку Перезапустить супервизор узла.
Задачи по расписанию
В окне Серверы – <имя сервера> – Задачи по расписанию отображается список задач, запланированных на данном сервере, включая для каждой из них её название, действие, статус, дату и время последнего и следующего запуска. Также в данном окне имеется возможность обновления списка по кнопке и добавления задачи.
Для создания задачи по расписанию необходимо нажать кнопку Добавить. В открывшемся окне заполнить следующие поля:
-
название задачи;
-
действие (выбор из раскрывающегося списка). Может принимать значение upgrade, backup_os или service_mode;
-
периодичность выполнения (выбор из раскрывающегося списка);
-
дата и время первого запуска;
-
описание;
-
для задачи создания резервной копии (backup_os) можно выбрать пул данных, на котором будет создана резервная копия (если не выбран, то это базовый пул данных узла). Надо учитывать, что пул данных должен быть доступен на данном узле при создании задачи и её выполнении.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
При нажатии на название задачи открывается окно состояния задачи, в котором предусмотрены следующие операции с выбранной задачей:
-
запуск задачи. При нажатии кнопки Запуск в открывшемся окне необходимо подтвердить операцию, нажав кнопку Да;
-
удаление задачи. При нажатии кнопки Удалить в открывшемся окне необходимо подтвердить операцию, нажав кнопку Да.
Также в окне состояния задачи содержится следующая информация:
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
периодичность (редактируемый параметр);
-
действие;
-
дата и время первого запуска задачи (редактируемый параметр);
-
дата и время следующего запуска задачи;
-
дата и время последнего запуска задачи;
-
статус последнего запуска задачи;
-
дата и время создания задачи;
-
дата и время изменения задачи;
-
сообщение об ошибке;
-
сообщения истории жизненного цикла задачи с возможностью их сортировки по признакам — По всем типам, Ошибки, Предупреждения, Информационные.
Ended: Серверы
Пулы ресурсов
Описание
Пул ресурсов — это логическая абстракция для гибкого управления ресурсами.
Пулы ресурсов позволяют делегировать управление ресурсами узла (или кластера), и преимущества очевидны, когда администратор использует пулы ресурсов для разделения всех ресурсов в кластере. Необходимо создать несколько пулов ресурсов и настроить их. Затем можно делегировать контроль над пулами ресурсов другим лицам или организациям.
Использование пулов ресурсов может привести к следующим преимуществам:
- гибкая иерархическая организация — добавление, удаление или реорганизация пулов ресурсов или изменение распределения ресурсов по мере необходимости;
- изоляция между пулами, совместное использование внутри пулов — администраторы верхнего уровня могут сделать пул ресурсов доступным для администратора организации. Изменения распределения, которые являются внутренними для одного пула ресурсов, не оказывают влияния на другие несвязанные пулы ресурсов;
- контроль доступа — когда администратор верхнего уровня делает пул ресурсов доступным администратору уровня организации, этот администратор может затем выполнять все операции по созданию и управлению виртуальными машинами в пределах ресурсов, на которые пул ресурсов имеет право в соответствии с настройками «shares», «guarantee» и «limit». Делегирование обычно выполняется в сочетании с настройками разрешений;
- отделение ресурсов от железа. Это означает, что администраторы могут выполнять управление ресурсами независимо от фактических серверов, которые вносят свой вклад в ресурсы. Если вы замените три узла по 2 ГБ на два узла по 3 ГБ, вам не нужно будет вносить изменения в распределение ресурсов. Такое разделение позволяет администраторам больше думать о совокупной вычислительной мощности и меньше об индивидуальных серверах;
- управление наборами виртуальных машин. Не нужно устанавливать ресурсы на каждой виртуальной машине. Вместо этого можно управлять совокупным распределением ресурсов для набора виртуальных машин, изменяя настройки их пула ресурсов.
Например, предположим, что узел имеет 5 виртуальных машин. Отдел бухгалтерии использует 3 виртуальные машины, а отдел программистов - 2 виртуальные машины. Поскольку отделу программистов требуется больший объем vCPU и памяти, администратор создает пул ресурсов для каждой группы. Администратор устанавливает «vcpu_shares» и «memory_shares» на более высокий уровень для пула отделов программистов, чтобы пользователи отдела программистов могли выполнять автоматические тесты и на средний для пула отделов бухгалтерии. Второй пул ресурсов с меньшим количеством ресурсов vCPU и памяти достаточен для более легкой нагрузки персонала бухгалтерии. Всякий раз, когда отдел программистов не полностью использует свои ресурсы, отдел бухгалтерии может использовать доступные ресурсы.
Условное соотношение vCPU на одно ядро процессора
VCPU_PER_CORE = 4
У каждого кластера по умолчанию существует базовый пул ресурсов, которому принадлежат все узлы и пулы данных этого кластера. Базовый пул ресурсов кластера является родительским для всех созданных пользователем пулов ресурсов в этом кластере. Его нельзя удалить, а также убирать из него узлы и пулы данных.
В разделе Пулы ресурсов основного меню содержится список имеющихся пулов ресурсов, в табличном виде, включая для каждого из них его название, количество подключенных ВМ, ограничение памяти и CPU. В этом разделе производится основное управление пулом ресурсов.
Также в этом окне существует возможность создания нового пула по кнопке Создать пул ресурсов и выбора определенного пула с применением фильтра по кнопке
Создание
При нажатии кнопки Создать пул ресурсов открывается окно для создания пула с соответствующими полями:
- название пула ресурсов;
- его описание;
- кластер – выбор из раскрывающегося списка;
- сервер – выбор из раскрывающегося списка или выбрать все;
- приоритет CPU пула относительно других пулов (значение по умолчанию - 1024, минимум - 2, максимум - 10000);
- приоритет памяти пула относительно других пулов (значение по умолчанию - 1024, минимум - 2, максимум - 10000);
- количество зарезервированных процессоров (минимум - 0, максимум — свободное количество vCPU выбранных узлов);
- количество зарезервированной памяти в Мб (минимум - 0, максимум — свободное количество памяти выбранных узлов);
- ограничение сверху по процессорам vCPU;
- ограничение сверху по памяти в Мб.
После заполнения полей необходимо нажать Сохранить.
При нажатии на кнопку открывается окно для настройки фильтра с соответствующими полями:
- «Имя пула ресурсов» – название искомого пула;
- «Кластеры» – выбор из раскрывающегося списка;
- «Организации» – выбор из раскрывающегося списка;
- «Теги» – выбор из раскрывающегося списка.
После заполнения полей необходимо нажать Применить или Сбросить все.
Информация
При нажатии на название пула ресурсов открывается окно состояния, в котором информация разделена на следующие группы:
- информация;
- серверы;
- виртуальные машины;
- пулы данных;
- процессор;
- память;
- события;
- теги.
Также существует возможность обновления информации с помощью кнопки и удаления пула с помощью кнопки Удалить пул ресурсов.
В окне Пулы ресурсов – <имя пула ресурсов> – Информация содержатся следующие сведения:
- виджет используемого места с возможностью обновления;
- название (редактируемый параметр);
- описание (редактируемый параметр);
- признак базового пула кластера («Да» или «Нет»);
- дата и время создания;
- дата и время изменения.
Серверы
В окне Пулы ресурсов – <имя пула ресурсов> – Серверы содержится список серверов, присутствующих в системе, в табличном виде, включая для каждого из них его название, IP-адрес, CPU и RAM, количество ВМ (включенных и всего), статус и возможность их подключения (отключения) для не базовых пулов.
Примечание
При отключении узла отключатся принадлежащие только ему пулы данных, а его ВМ перейдут в базовый пул ресурсов кластера этого узла.
Имеется возможность выбора определенного сервера с применением фильтра по кнопке «Фильтр» в верхней строчке окна. В открывшемся окне содержатся следующие поля для фильтрации:
- «Имя сервера»;
- «Статус» – выбор из раскрывающегося списка («Без фильтра», «Исправно», «Нет соединения» или «Произошла ошибка»);
- «Файловое хранилище» – выбор из раскрывающегося списка;
- «Пул данных» – выбор из раскрывающегося списка;
- «Кластеры» – выбор из раскрывающегося списка;
- «Локации» – выбор из раскрывающегося списка;
- «Пулы ресурсов» – выбор из раскрывающегося списка;
- «Теги» – выбор из раскрывающегося списка.
После настройки фильтра необходимо нажать Применить или Сбросить все.
Виртуальные машины
В окне Пулы ресурсов – <имя пула ресурсов> – Виртуальные машины – Виртуальные машины содержится список ВМ, присутствующих в системе, в табличном виде, включая для каждой из них ее название, сервер, vRAM, vDisk, vNIC, vFunc и статус.
Для ВМ имеется возможность:
- добавления их в пул ресурсов по кнопке Добавить ВМ;
- применить параметры пула ресурсов к ВМ;
- поиска ВМ по названию с помощью поля Найти.
Шаблоны
В окне Пулы ресурсов – <имя пула ресурсов> – Виртуальные машины – Шаблоны содержится список имеющихся шаблонов ВМ. Для шаблонов ВМ (аналогично ВМ) имеется возможность:
- добавления их в пул ресурсов по кнопке Добавить шаблон ВМ;
- применить параметры пула ресурсов к ВМ;
- поиска шаблона ВМ по названию поля Найти.
Примечания
- При добавлении шаблона в пул добавятся все его тонкие клоны.
- При добавлении тонкого клона в пул добавятся его шаблон и все тонкие клоны этого шаблона.
- После изменения параметров процессоров и памяти необходимо применить их ко всем ВМ пула, нажав кнопку Применения параметров пула ресурсов.
Пулы данных
В окне Пулы ресурсов – <имя пула ресурсов> – Пулы данных содержится список имеющихся пулов в табличном виде, включая для каждого из них его название, тип, количество подключенных серверов, дисков, образов, файлов, использование памяти, его статус и возможность отключения (подключения) для не базовых пулов.
Имеется возможность выбора определенного пула с применением фильтра по кнопке В открывшемся окне содержатся следующие поля для фильтрации:
- «Имя пула»;
- «Серверы» – выбор из раскрывающегося списка;
- «Кластеры» – выбор из раскрывающегося списка;
- «Локации» – выбор из раскрывающегося списка;
- «Пулы ресурсов» – выбор из раскрывающегося списка;
- «Файловые хранилища» – выбор из раскрывающегося списка;
- «Кластерные хранилища» – выбор из раскрывающегося списка;
- «Разделы (ZFS пулы)» – выбор из раскрывающегося списка;
- «Статус» – выбор из раскрывающегося списка («Без фильтра», «Исправно», «Нет соединения» или «Произошла ошибка»);
- «Тип пула» – выбор из раскрывающегося списка;
- «Теги» – выбор из раскрывающегося списка.
После настройки фильтра необходимо нажать Применить или Сбросить все.
Процессор
В окне Пулы ресурсов – <имя пула ресурсов> – Процессор содержится информация о настройках процессора:
- приоритет vCPU пула (раскрывающаяся информация):
- приоритет vCPU пула относительно других пулов (редактируемый параметр);
- средний приоритет vCPU по всем ВМ пула (пользователь может изменить приоритет у самой ВМ);
- резервирование (раскрывающаяся информация):
- количество зарезервированных vCPU (редактируемый параметр);
- количество зарезервированных vCPU на 1 ВМ (
кол-во vCPU/кол-во ВМ
); - среднее количество зарезервированных vCPU на 1 ВМ (пользователь может изменить параметр у самой ВМ);
- переподписка vcpu на ядро (редактируемый параметр);
- ограничение (раскрывающаяся информация):
- максимальное количество vCPU (редактируемый параметр);
- количество vCPU серверов;
- количество vCPU ВМ.
Память
В окне Пулы ресурсов – <имя пула ресурсов> – Память содержится информация о настройках памяти:
- приоритет памяти пула (раскрывающаяся информация):
- приоритет памяти пула относительно других пулов (редактируемый параметр);
- средний приоритет памяти по всем ВМ пула (пользователь может изменить приоритет у самой ВМ);
- резервирование (раскрывающаяся информация):
- количество зарезервированной памяти (редактируемый параметр);
- количество зарезервированной памяти на 1 ВМ (
кол-во памяти/кол-во ВМ
); - среднее количество зарезервированной памяти на 1 ВМ (пользователь может изменить параметр у самой ВМ);
- ограничение (раскрывающаяся информация):
- максимальное количество памяти (редактируемый параметр);
- количество памяти серверов;
- количество памяти ВМ.
События
В окне Пулы ресурсов – <имя пула ресурсов> – События содержится список последних событий для этого пула с возможностью их сортировки по признакам - «По всем типам», «Ошибки», «Предупреждения», «Информационные».
Теги
В окне Пулы ресурсов – <имя пула ресурсов> – Теги содержится список назначенных пулу тегов. Существует возможность создать, удалить, назначить тег и обновить список назначенных пулу тегов.
Виртуальные машины ↵
Общая информация
В разделе Виртуальные машины производится основное управление жизненным циклом. Здесь представлен список ВМ в табличном виде, включающий следующую информацию:
- Состояние -- показывает в каком состоянии находится ВМ в данный момент (включена, выключена, на паузе);
- Название;
- Сервер -- сервер на котором расположена ВМ;
- IP-адрес;
- vCPU -- количество выделенных vCPU ВМ;
- Загруженность vCPU -- процентный показатель загруженности процессора;
- vRAM -- объем выделенной ВМ оперативной памяти;
- Загруженность vRAM -- процентный показатель загруженности оперативной памяти;
- vDisk -- количество виртуальных дисков;
- vNIC -- количество виртуальных контроллеров сетевого интерфейса;
- vFunc -- количество виртуальных функций;
- vGPU -- количество графических процессоров;
- Приоритет;
- Статус;
- Закрепление в начале списка;
- Избранное.
Окно состояния ВМ открывается по нажатию на название ВМ. В окне состояния для всех ВМ доступны следующие операции:
-
управление ВМ (набор управляющих кнопок зависит от состояния ВМ);
Примечание
Данные операции выполняются с помощью соответствующих кнопок в верхней части окна.
В левой части окна состояния ВМ находится панель вкладок:
- Информация;
- Мониторинг;
- ВМ/Шаблон;
- Процессоры;
- Память;
- Виртуальные диски;
- CD-ROM;
- USB-устройства;
- PCI-устройства;
- Mediated-устройства;
- Снимки;
- Интерфейсы;
- Виртуальные функции;
- Контроллеры;
- LUN;
- Высокая доступность;
- Опции загрузки;
- Резервное копирование;
- Удаленный доступ;
- Настройка безопасности;
- События;
- Теги;
- Задачи по расписанию.
В каждой вкладке перечислены специализированные настройки ВМ.
Управление питанием
В зависимости от состояния ВМ набор управляющих кнопок разный:
-
обновление окна информации о ВМ;
-
запуск ВМ;
-
приостановка ВМ (только для включенной);
-
выключение ВМ;
-
перезагрузка ВМ (только для включенной);
-
принудительная перезагрузка ВМ (только для включенной);
-
выключение питания.
Остановка ВМ без изменения конфигурации доступна только для ВМ с установленной ОС, так как остановка осуществляется с помощью передачи управляющим процессам ОС ACPI-команды на выключение. При этом процесс работы ВМ не останавливается полностью и при повторном запуске конфигурация ВМ не изменяется. Данный процесс аналогичен спящему режиму для ноутбуков. Это необходимо учитывать при внесении изменений в конфигурацию ВМ.
Клонирование
Операция клонирования ВМ выполняется при нажатии кнопки Клонировать. В открывшемся окне необходимо заполнить название ВМ (необязательное), выбрать из раскрывающегося списка сервер и пул данных, количество клонов, опцию включения после клонирования, после чего подтвердить операцию, нажав кнопку ОК.
Конвертация
При клонировании шаблона можно выбрать опцию конвертации его в ВМ и наоборот.
Перенос (миграция)
При нажатии кнопки Перенести в открывшемся окне необходимо выбрать автоматический или ручной перенос, после чего подтвердить операцию, нажав кнопку Мигрировать.
По умолчанию для миграций ВМ используется сеть управления серверов, то есть миграция идет через коммутаторы default, внутренние интерфейсы mgmt и через тот физический или агрегированный интерфейс, куда они соответственно подключены. То есть адресом назначения миграции является IP-адрес внутреннего интерфейса mgmt сервера, куда будет переноситься ВМ. Можно использовать внешние сети для миграции ВМ и переноса дисков.
При автоматическом выборе ВМ переносится на наименее нагруженный первый сервер из кластера. Выбор нагруженности происходит исходя из настройки "Типы собираемых метрик" DRS кластера. Например, если стоит memory, то выбирается самый ненагруженный узел кластера по оперативной памяти.
При миграции с переносом дисков недоступные на целевом узле виртуальные диски переносятся на выбранный пользователь пул данных.
Причины отсутствия узла для миграции:
- Нет активных узлов в кластере (base_check).
- Подключенные PCI-устройства (base_check).
- Подключенные Mediated-устройства (base_check).
- Включен безопасный режим и ВМ включена (base_check).
- Есть неактивные виртуальные интерфейсы (network_check).
- Виртуальная сеть, в которую включен интерфейс, недоступна на узле (network_check).
- Есть виртуальные диски с типом кэширования не none (pools_check).
- Есть неактивные виртуальные диски (pools_check).
- Пул данных диска недоступен на узле (pools_check).
- Пул данных снимка недоступен на узле (pools_check).
- Есть неактивные LUN (luns_check).
- Есть LUN с типом кэширования не none (luns_check).
- LUN недоступен на узле (luns_check).
- Оперативная память на узле меньше или равна памяти ВМ (resources_check).
- Нет вхождения списка функций процессора ВМ в список функций процессора узла (resources_check).
- Нет свободной памяти на узле (если ВМ включена) (resources_check).
- Количество гарантированной памяти ВМ больше свободной памяти узла (если ВМ включена) (resources_check).
- Количество используемой памяти ВМ больше свободной памяти узла (если ВМ включена) (resources_check).
- Количество используемой частоты процессора ВМ больше свободной частоты процессора узла (если ВМ включена) (resources_check).
- На узле нет свободных vCPU (resources_check).
- Количество гарантированных vCPU ВМ больше свободных vCPU узла (если ВМ включена) (resources_check).
- При включенных опциях использования тегов у кластера проверяются совпадения и несовпадения тегов ВМ и тегов узла и его ВМ (tags_check).
Процесс миграции при выключенной ВМ:
- Если диски на общем хранилище, то ВМ просто сменяет родительский узел на узел назначения в базе контроллера.
- Если не все диски на общем хранилище, то дополнительно происходит перенос дисков на новый узел.
- Если у шаблона его тонкие клоны выключены, то доступна миграция с переносом дисков, при условии, что у шаблона и тонких клонов диски на пулах данных типа файловый, исключая zfs. При такой миграции, вслед за шаблоном переносятся также тонкие клоны, перенос всех дисков и снимков шаблона и его клонов производится в выбранный пул данных.
Процесс миграции при включенной ВМ:
- Генерируется временный SSH-ключ на узле назначения.
- При использовании внешних сетей для миграции берется IP-адрес внутреннего интерфейса узла назначения из первой внешней сети, куда включен этот сервер. Если не используются внешние сети, то адресом назначения миграции является IP-адрес внутреннего интерфейса mgmt узла назначения.
- На узле-источнике, где находится ВМ, запускается процесс миграции, состоящий из адаптации конфигурации ВМ, переносов недоступных дисков при необходимости и, собственно, самого процесса миграции, при котором сначала копируется состояние памяти, сети, дисков ВМ, после чего она выключается на узле источнике, происходит докопирование изменившихся блоков состояния, и ВМ продолжает работу уже на узле назначения.
- Удаляется временный SSH-ключ на узле назначения.
- Адаптируется сетевые настройки ВМ на узле назначения.
- Ставится приоритет ВМ на узле назначения относительно других ВМ.
Миграция между хранилищами в рамках одного узла
Надо понимать, что на самом деле это не миграция, а перенос дисков.
Вариант при включенной ВМ: перенести на другой узел, а потом на предыдущий с переносом дисков.
Вариант при выключенной ВМ: перенести сами диски на другое хранилище.
Серверы, на которые не может быть перенесена ВМ
Посмотреть серверы, на которые не может быть перенесена эта ВМ с причинами, можно во вкладке управления высокой доступности по кнопке "Серверы для восстановления". Причины сгруппированы в 6 групп: базовая, проверка ресурсов, проверка дисков, проверка LUN, проверка сети, проверка тэгов.
Факторы, максимально влияющие на скорость миграции:
- Максимальная производительность и загруженность сетевого канала, используемого для миграции.
- Объём оперативной памяти ВМ и уровень её использования ВМ.
- Производительность и загруженность дисковой подсистемы при переносе дисков.
Закрепление ВМ в начале таблицы (списка)
Виртуальные машины можно закрепить в начале таблицы. Чтобы закрепить ВМ, необходимо отметить "галочкой" нужные и нажать на кнопку Закрепить в начале списка. Закрепленные ВМ будут в начале таблицы у всех пользователей, которые имеют к ним доступ. В таблице закрепленные ВМ будут отмечены иконкой 📌.
Добавление ВМ в список избранных
Пользователь может добавлять виртуальные машины в список избранных ВМ. Чтобы добавить ВМ в список избранных, необходимо отметить "галочкой" нужные и нажать на кнопку Избранное. Список избранных ВМ у каждого пользователя свой. В таблице избранные ВМ отмечены иконкой ⭐. Для просмотра полного списка избранных ВМ необходимо выполнить фильтрацию с соответствующим параметром.
Мониторинг
Для просмотра используемых ресурсов ВМ необходимо перейти во вкладку Мониторинг. При наличии данных будут сформированы обновляемые в реальном времени графики:
- графики загрузки процессоров cpu;
- графики загрузки памяти memory;
- графики загрузки дисков, образов, LUNs read, write;
- графики загрузки сетевых интерфейсов transmit, receive.
Для удобства анализа можно настроить отображение графиков, нажав на кнопку слева от графиков Задать интервал и в открывшемся окне настроить интервал.
Для увеличения определенного интервала можно нажать на кнопку Масштабировать и в миниатюрном изображении графиков под основными графиками выделить область для просмотра.
Так же доступны кнопки Остановить/Возобновить график и Выбрать интервал с указанием временного промежутка из раскрывающегося списка.
Операции с ВМ ↵
Информация
В левой части окна состояния ВМ находится панель вкладок. В каждой вкладке перечислены специализированные настройки ВМ.
При открытии окна состояния ВМ сразу открывается вкладка Информация.
Вкладка Информация содержит основные параметры ВМ:
-
виджет используемого места с возможностью обновления;
-
id (является также uuid материнской платы);
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
операционная система (редактируемый параметр);
-
версия операционной системы (редактируемый параметр);
-
сервер, на котором располагается ВМ;
-
пул ресурсов;
-
приоритет (редактируемый параметр);
-
закрепление в начале списка (редактируемый параметр);
-
избранное (редактируемый параметр).
В разделе Конфигурация оборудования представлены данные:
-
чипсет (pc или q35);
-
модель графического адаптера (редактируемый параметр);
-
модель и состояние (вкл/выкл) звуковой карты (редактируемый параметр);
-
количество сокетов;
-
количество ядер сокетов;
-
общее количество потоков;
-
оперативная память;
-
приоритет памяти ВМ;
-
максимальное значение памяти;
-
минимально гарантированная память.
В разделе Информация о виртуальной машине представлена информация:
-
статусы служб гостевых агентов (QEMU, версия гостевого агента, имя хоста, IP-адрес);
-
модель и состояние (вкл/выкл) watchdog устройства (редактируемый параметр);
-
планшет (вкл/выкл) (редактируемый параметр);
-
оптимизация для vgpu (вкл/выкл) (редактируемый параметр);
-
TPM устройство (вкл/выкл) (редактируемый параметр);
-
возможности гипервизора (редактируемый параметр);
-
аргументы Qemu (редактируемый параметр);
-
устройство рендеринга GL (редактируемый параметр);
-
консоли (редактируемый параметр);
-
высокая доступность (вкл/выкл);
-
дата и время создания;
-
дата и время изменений;
-
дата и время последней успешной миграции;
-
время активности (работа с последнего запуска или рестарта);
-
время работы на текущем сервере.
В разделе Использование оперативной памяти и Использование процессора представлен мониторинг с возможностью задать интервал, масштабировать, остановить/возобновить и задать интервал мониторинга.
Создание и удаление ВМ
Создание ВМ
Для создания ВМ необходимо перейти в раздел Виртуальные машины и нажать кнопку Добавить ВМ. В процессе необходимо выполнить пять шагов:
Первый шаг — настройка параметров ВМ
-
выбрать из раскрывающегося списка локацию и кластер;
-
выбрать из раскрывающегося списка сервер;
Примечание
В автоматическом режиме будет предложен наименее загруженный сервер первоначального размещения.
- указать название ВМ;
Tip
Описание правил создания и обработки имен в системе.
-
указать режим определения процессора (оптимальный процессор определяется по наименьшему совпадению функций (флагов) процессоров всех узлов кластера);
-
указать количество ядер vCPU;
Примечание
Количество ядер не должно превышать значения Максимальное количество vCPU.
-
указать максимальное количество vCPU;
-
выбрать из раскрывающегося списка приоритет предоставления ресурсов CPU – «LOW», «MEDIUM» или «HIGH»;
-
указать количество выделяемой оперативной памяти;
-
выбрать из раскрывающегося списка тип операционной системы – «Windows», «Linux» или «Other»;
-
выбрать из раскрывающегося списка версию операционной системы;
-
выбрать чипсет - "pc" или "q35";
-
выбрать видеокарту:
-
тип эмулируемого видео адаптера из раскрывающегося списка - «vga», «cirrus», «gxl» или «virtio»;
-
объем памяти из раскрывающегося списка – «16», «32», «64», «128», «256» или «512»;
-
количество мониторов из раскрывающегося списка;
-
-
выбрать звуковую карту:
-
тип эмулируемой аудио карты из раскрывающегося списка – «es1370», «sb16», «ac97», «ich6» или «usb»;
-
кодек из раскрывающегося списка – «micro» или «duplex»;
-
-
выбрать тип загрузчика – «LegacyMBR» или «UEFI»;
-
заполнить описание (при необходимости).
Замечания о загрузке ВМ в режиме Secure Boot смотрите по ссылке
Внимание
Не рекомендуется превышать количество ресурсов физически присутствующих на узле (сервере), на котором создается ВМ. Необходимо учитывать, что при переносе (миграции) на целевом узле должно быть не меньше физических ресурсов, чем присвоено ВМ. В противном случае ВМ не будет запускаться до исправления ошибки. Если на целевом сервере будет недостаточно свободных ресурсов для запуска ВМ, то она также не запустится.
Для сохранения изменений необходимо нажать кнопку OK и виртуальная машина с заданными параметрами будет создана, но мастер создания ВМ не закроется.
Следующими шагами мастера по созданию ВМ будут:
-
создание нового или подключение ранее созданного виртуального диска ВМ;
-
монтирование в виртуальный CD-ROM образ CD/DVD-диска, загруженного в хранилище;
-
создание виртуального сетевого адаптера ВМ и подключение его к виртуальной сети, к ранее созданному распределенному коммутатору в созданную на нем группу интерфейсов.
Примечание
Каждый из этих шагов можно пропустить или закрыть мастер создания ВМ. В таком случае, все настройки ВМ, которые были пропущены, возможно произвести в окне управления ВМ.
При последовательной настройке ВМ с помощью мастера создания ВМ необходимо перейти к шагу 2.
Второй шаг — управление виртуальными дисками
Имеется две возможности:
-
создать новый виртуальный диск (создание диска);
-
добавить существующий (подключение диска).
Нажать кнопку Далее для перехода к шагу 3.
Третий шаг — управление приводами CD-ROM
Имеется две возможности:
-
добавить CD-ROM;
-
монтировать образ utils.
Порядок действий описан в разделе CD-ROM.
Нажать кнопку Далее для перехода к шагу 4.
Четвертый шаг — управление виртуальными интерфейсами
Для создания сетевого интерфейса необходимо нажать кнопку Добавить виртуальный интерфейс и заполнить следующие параметры:
-
виртуальная сеть (выбор из раскрывающегося списка);
-
MAC-адрес. Поле МАС-адрес является необязательным для заполнения. Если не указывать MAC-адрес, он будет сгенерирован автоматически;
-
NIC-драйвер (выбор из раскрывающегося списка). В качестве модели сетевой карты можно выбрать «virtio», «e1000», «rtl8139» или «vmxnet3», в зависимости от поддерживаемых вариантов в устанавливаемой ОС;
-
описание виртуального интерфейса (при необходимости).
Для сохранения изменений необходимо нажать кнопку ОК. Для перехода к шагу 5 нажать кнопку Далее.
Пятый шаг — включение
Выбор опции запуска ВМ после создания (включить или не включить питание ВМ). Для подтверждения операции необходимо нажать кнопку ОК.
После этого происходит возврат в окно со списком ВМ.
При нажатии на уже существующую ВМ открывается окно, в котором содержится информация о ней. Работа с окнами ВМ подробна описана в Операции с ВМ.
Добавление ВМ из шаблона
Для создания ВМ из ранее созданного шаблона необходимо перейти в раздел Виртуальные машины и нажать кнопку Добавить ВМ из шаблона, которая расположена в верхней части окна над списком ВМ. Далее необходимо:
- в открывшемся окне указать название ВМ (необязательно);
- выбрать сервер из раскрывающегося списка ранее созданных;
- выбрать пул данных из раскрывающегося списка ранее созданных;
- выбрать шаблон из раскрывающегося списка ранее созданного;
- указать количество клонов;
Примечание
Максимальное количество создаваемых ВМ - 100.
- при необходимости активировать опцию включения ВМ после создания;
Примечание
Включение произойдет после создания всех ВМ.
- подтвердить операцию, нажав кнопку OK.
Добавление тонкого клона
Для добавления тонкого клона ВМ необходимо перейти в раздел Виртуальные машины и нажать кнопку Добавить тонкий клон, которая расположена в верхней части над списком ВМ. Далее необходимо:
- указать название ВМ (необязательно);
- выбрать шаблон из раскрывающегося списка ранее созданного;
- указать количество ВМ;
- при необходимости активировать опцию включения ВМ после создания;
- при необходимости активировать опцию Cloud Init;
- подтвердить операцию, нажав кнопку OK.
Удаление ВМ
Удаление ВМ выполняется в окне состояния ВМ с помощью кнопки Удалить.
В открывшемся окне необходимо определить удалять только ВМ или ВМ с дисками, подключенными к ней. После этого необходимо подтвердить операцию, нажав кнопку Удалить.
ВМ/Шаблон
Вкладка ВМ/Шаблон позволяет переводить виртуальную машину в режим шаблона или обратно и содержит кнопки:
-
Если это ВМ, то переключение ВМ в режим шаблона по кнопке В режим шаблона. Если это Шаблон, то переключение шаблона в режим ВМ по кнопке В режим ВМ. В открывшемся окне необходимо подтвердить переключение, нажав на кнопку Да;
-
Кнопка SysPrep открывает окно настроек SysPrep. Можно выбрать xml файл с настройками SysPrep, который будет скопирован на ВМ и применен. Можно дополнительно выбрать опции SysPrep;
-
Кнопка VirtSysPrep открывает окно настроек VirtSysPrep. Необходимо выбрать загрузочный диск ВМ, который будет подготовлен и любые опции команды.
-
Кнопка Hostname открывает окно настроек задания hostname. Необходимо выбрать имя и опции задания hostname для конкретной ОС.
-
Кнопка Ввод в домен открывает окно настроек заведения ВМ в AD.
-
Кнопка Вывод из домена открывает окно настроек выведения ВМ из AD.
-
Кнопка Добавить SSH ключ добавляет SSH-ключ для выбранного пользователя (только для ОС Linux, для выключенной ВМ или для включенной с активным гостевым агентом).
Когда виртуальная машина находится в режиме ВМ во вкладке отображается информация:
-
Шаблон ВМ — имя шаблона на основе которого создана данная ВМ;
-
Тонкий клон (да/нет) - является ли данная ВМ тонким клоном.
В режиме шаблона во вкладке отображается список виртуальных машин - "наследников" шаблона, созданных в кластере, включая их названия, сервер, сведения о vCPU, vRAM, vDisk, vNIC, vFunc, vGPU и статус.
Для изменения шаблона воспользуйтесь руководством изменить шаблон.
Снимки
Вкладка Снимки позволяет управлять сохраненными состояниями ВМ.
В данной вкладке можно сохранить состояние ВМ с помощью кнопки Сохранить состояние ВМ. В открывшемся окне необходимо заполнить:
-
название и описание состояния;
-
выбрать из раскрывающегося списка диски;
-
выбрать из раскрывающегося списка хранилище для снимков памяти;
-
определить необходимость сохранения состояния памяти.
После этого необходимо подтвердить операцию, нажав кнопку Сохранить.
Снимок ВМ является слепком состояния системы ВМ на конкретный момент времени.
Примечание
- Для работающей ВМ также делается снимок памяти ВМ.
- В некоторых случаях при создании снимка включенная ВМ будет переходить в состояние Приостановлено.
Управление снимками состояний
В окне "Управление снимками состояний" снимки отображаются в виде вершин графа. Текущее состояние машины отображается в виде анимированной вершины.
Между снимками может проводиться навигация.
Ветвление снимков формируется по принципу дерева.
Нажав на изображение снимка, открывается информационное окно Состояние снимка, содержащее информацию о сохраненном состоянии виртуальной машины:
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
статус;
-
дата создания;
-
дата изменения;
-
состояние ВМ на момент создания;
Кроме редактирования параметров снимка в окне Состояние снимка возможны действия:
-
Переход в состояние снимка. Кнопка Перейти в состояние снимка открывает окно в котором можно определить настройкии подтвердить переход кнопкой "Перейти": - ВМ будет восстановлена во включенном состоянии - ВМ будет восстановлена в приостановленном состоянии - ВМ будет восстановлена без использования сохраненного состояния памяти.
-
Удаление состояния снимка. Кнопка Удалить состояние снимка открывает окно в котором можно определить параметр Удалить вместе с потомками подтвердить удаление нажатием кнопки Удалить или отменить действие нажатием кнопки Отмена.
Внимание
При переходе на сохраненное состояние текущее безвозвратно теряется.
На неактивной ветке можно удалить все снимки от выбранного до последнего, что позволяет без трудностей удалить всю ненужную ветку.
Удалить все состояния
Цепочка снимков от текущего состояния вливается в базовый образ диска, и все файлы снимков удаляются, включая снимки неактивных состояний. При удалении ВМ происходит вызов Удалить все состояния, то есть все текущие состояния вливаются в диски, а неактивные ветки состояний удаляются.
При Клонировать ВМ, клонируются также сохраненные состояния, кроме наличия дисков с сохраненными состояниями на thinlvm пуле данных, в этом случае клонирование не возможно, требуется Удалить все состояния.
Разбить дерево состояний
Удаляются сохраненные состояния ВМ, но при этом остаются снимки дисков, делая их неконсолидированными. Эта операция требуется для возможности исключить проблемный диск из ВМ, но затем потребуется провести операцию Консолидировать для каждого диска в отдельности.
Делая копию диска имеющего снимки, делается копия от первого сохраненного состояния.
Консистентный снимок
ВМ включена, доступен её гостевой агент и создается снимок без памяти. Перед созданием снимка через гостевой агент запускается команда сброса кэша и заморозки ФС всех дисков на госте.
Опции загрузки
Вкладка Опции загрузки отвечает за настройку типа загрузчика ВМ (LegacyMBR/UEFI) и выбор порядка опроса загрузочных устройств. Во вкладке отображаются доступные загрузочные устройства в двух списках - Нераспределенные устройства и Используемые в загрузке устройства. Порядок используемых устройств сверху вниз соответствует порядку опроса при загрузке ВМ. В случае, если первым в очереди стоит CD-ROM, но нет образа, который в него установлен, то загрузка произойдет со следующего устройства.
На вкладке можно настроить параметры:
-
Автозапуск ВМ при активации узла (вкл/выкл);
-
Загрузочное меню (вкл/выкл);
-
Время ожидания до начала загрузки по умолчанию (сек)
-
Выбор типа загрузки (LegacyMBR/UEFI)
Для сохранения всех изменений параметров необходимо нажать кнопку Сохранить.
Автозапуск ВМ при активации узла
При переходе узла в активный режим (неважно, по какой причине, ручной ли это вывод узла из сервисного режима или автоматический после сбоев), проверяются все ВМ этого узла с включенной опцией автозапуск и включаются.
Space Agent VM, драйверы и утилиты для SPICE
Space Agent VM - это набор системных утилит в формате ISO-образа, который улучшает взаимодействие пользователя с ВМ и автоматизирует технологические процессы.
Состав образа
-
Spice guest tools -- этот установщик содержит некоторые дополнительные драйверы и службы, которые можно установить в гостевой системе Windows для повышения производительности и интеграции SPICE. Это включает видеодрайвер qxl и гостевой агент SPICE (для копирования и вставки, автоматического переключения разрешения и т.д.). Все драйверы, которые будут доступны при установке, указаны ниже в Virtio guest tools.
-
Spice vdagent -- необязательный компонент, улучшающий интеграцию окна гостевой системы с графическим интерфейсом удалённого пользователя. SPICE-протокол поддерживает канал связи между клиентом и агентом на стороне сервера. Агент работает внутри гостевой системы. Для связи с Space Agent VM в гостевой системе также используется специальное устройство, так называемый VDI-порт.
-
Spice webdavd -- служба, которая использует протокол WebDAV для предоставления общего доступа к файлам ВМ.
-
Virtio guest tools -- этот установщик содержит некоторые дополнительные драйверы и службы, которые можно установить в гостевой системе:
- NetKVM -- Virtio сетевой драйвер;
- viostor -- Virtio блочный драйвер;
- vioscsi -- Virtio драйвер интерфейса SCSI;
- viorng -- Virtio RNG (генератор случайных чисел) драйвер;
- vioser -- Virtio serial driver (предоставляет несколько портов гостю в виде простых символьных устройств для простого ввода-вывода между гостевым и хостовым пользовательскими пространствами. Это также позволяет открывать несколько таких устройств, снимая ограничения на одно устройство);
- Balloon -- Virtio memory balloon driver («Баллонное устройство» virtio позволяет гостям KVM уменьшить объем своей памяти (тем самым освободив память для хоста) и увеличить ее обратно (тем самым забрав память у хоста));
- qxl -- QXL графический драйвер для Windows 7 и ниже;
- qxldod -- QXL графический драйвер для Windows 8 и выше;
- pvpanic -- драйвер устройства QEMU pvpanic (устройство pvpanic - это смоделированное устройство ISA);
- guest-agent -- Qemu Guest Agent 32bit and 64 bit MSI installers;
- qemupciserial -- драйвер QEMU PCI;
Другие варианты скачивания Virtio Drivers
Обычно драйверы довольно стабильны, поэтому сначала следует попробовать самый последний выпуск.
Последние драйверы virtio можно скачать по ссылке.
Стабильные драйверы virtio можно скачать по ссылке.
Монтирование образа
После загрузки образа в SpaceVM необходимо примонтировать образ к ВМ и, используя стандартные установщики, поставить требуемое ПО на ВМ.
Установка qemu-guest-agent на Linux ВМ
В Linux ВМ нужно просто установить qemu-guest-agent из стандартных репозиториев. За дополнительной информацией следует обратиться к документации вашей ОС.
Для систем на базе Debian/Ubuntu (с apt-get) запустите команду:
apt-get install qemu-guest-agent
Для систем на базе RedHat (с yum) запустите команду:
yum install qemu-guest-agent
При отсутствии доступа к репозиториям можно установить агент с образа. Для этого перейдите в образы по пути
"/linux/qemu-guest-agent/" и установите нужную версию, например,
dpkg -i qemu-guest-agent_5.2+dfsg-9_amd64.deb
.
В зависимости от дистрибутива Space Agent VM может не запуститься автоматически после установки. Тогда
запустите его командой systemctl start qemu-guest-agent
(для дистрибутивов, использующих systemd),
или перезагрузите ВМ.
Взаимодействие гипервизора с qemu-guest-agent
qemu-guest-agent - утилита, которая принимает команды от хоста через virtio-канал с именем org.qemu.guest_agent.0 и исполняет их в контексте гостя. На стороне гипервизора канал заканчивается unix-сокетом, в который можно писать текстовые команды. Для каждой ВМ создается отдельный канал взаимодействия гипервизора с гостевым агентом (не зависящий от наличия сети у ВМ).
Пример:
<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-89-d1134f72-2b4e-41c4-a/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
<alias name='channel3'/>
<address type='virtio-serial' controller='0' bus='0' port='4'/>
</channel>
В SpaceVM qemu-guest-agent используется для:
-
получения сетевых адресов, hostname;
-
корректного выключения ВМ вместо посылания ACPI команд;
-
"замораживания" файловой системы перед созданием снимка (то есть и при создании резервных копий ВМ);
-
ввода/вывода из AD;
-
установки hostname;
-
добавления SSH-ключей;
-
любых пользовательских команд и скриптов при необходимости.
Подробности работы qemu-guest-agent смотрите в QEMU Features/GuestAgent.
Настройка qemu-guest-agent
После установки qemu-guest-agent создайте административную локальную учетную запись, откройте службы Windows и настройте запуск службы qemu агентa не от local system, а от ранее созданной учетной записи.
При блокировании пароля данной учетной записи, служба гостевого агента не будет работать.
Примечание
Необходимо для автоматического ввода ВМ в AD.
Проверка связи SpaceVM c qemu-guest-agent
Удостоверьтесь, что связь с qemu_guest_agent есть во вкладке Информация ВМ.
Также в CLI сервера есть команды работы с гостевым агентом: vm guest_info.
Установка hostname
В ВМ во вкладке ВМ/Шаблон при активном гостевом агенте можно установить hostname ВМ.
Примечание
Для разных ОС установка hostname происходит по-разному.
Для Windows через powershell командой Rename-Computer
с последующей перезагрузкой для принятия изменений.
Для Linux командой /usr/bin/hostnamectl
при включенной ВМ.
Для Linux утилитой virtsysprep
с сервера при выключенной ВМ.
Для установки hostname из веб-интерфейса SpaceVM в Alt Linux и РЕД ОС, при активном гостевом агенте, необходимо:
В Alt Linux:
- Перейти во вкладку ВМ/Шаблон;
- Внесите необходимые данные в поле hostname;
- Сохранить изменения.
В РЕД ОС:
- Отредактировать конфигурационный файл qemu-guest-agent (
/etc/sysconfig/qemu-ga
) и включить настройку BLACKLIST_RPC; - Отредактировать конфигурационный файл selinux (
/etc/selinux/config
), найтиSELINUX=enforcing
и отредактировать наSELINUX=disabled
;Если строки нет, добавьте ее в конец файла.
- Перейти во вкладку ВМ/Шаблон;
- Внести необходимые данные в поле hostname;
- Сохранить настройки и выполнить команду
sudo reboot
;
После выполнения указанных шагов, "hostname" будет успешно установлен из веб-интерфейса.
Windows Sysprep
Для подготовки шаблона с ОС Windows можно использовать утилиту Sysprep. Для этого необходимо:
-
в ВМ во вкладке ВМ/Шаблон при включенной ВМ и активном гостевом агенте нажать кнопку SysPrep;
-
в открывшемся окне выбрать стандартные опции утилиты Sysprep из раскрывающегося списка;
-
после настройки нажать кнопку ОК.
Linux Virt-sysprep
Для подготовки шаблона с ОС Linux можно использовать утилиту Virt-sysprep. Для этого необходимо:
-
в ВМ во вкладке ВМ/Шаблон при выключенной ВМ нажать кнопку VirtSysPrep;
-
в открывшемся окне выбрать загрузочный диск и стандартные опции утилиты Virt-sysprep из раскрывающегося списка;
-
после настройки нажать кнопку ОК.
Добавление в AD
В ВМ во вкладке ВМ/Шаблон при активном гостевом агенте можно добавить ВМ в AD, указав:
- hostname (необязательный параметр);
- имя домена;
- логин;
- пароль;
- опция рестарта после применения параметров (по умолчанию -- включено).
Примечание
Не забудьте прописать DNS домена или настройте DHCP - домен должен быть доступен по имени.
Список операционных систем Linux, которые могут быть добавлены в домен AD автоматически:
- РЕД ОС 7
- CentOS 4-8, Stream
- RHEL 4-9
- AltLinux 9, 10
- Astra Смоленск, Орёл
- Rosa, Rosa Cobalt
Необходимые условия (настройки ВМ) для автоматического ввода Linux ВМ в домен
- домен доступен по имени без дополнительных записей в /etc/hosts;
- установлены необходимые пакеты (списки для разных типов Linux ниже) или предоставлен доступ в интернет;
- отключена система контроля доступа, если таковая присутствует (например: Selinux в Centos);
- отключена или пуста настройка BLACKLIST_RPC в конфиге гостевого агента (/etc/sysconfig/qemu-ga);
- выполнена необходимая подготовка/настройка используемой ос ( Alt, Rosa, RedOS, Astra ).
Список необходимых пакетов для Linux систем семейства Red Hat:
- adcli
- realmd
- sssd
- krb5-workstation
- krb5-libs
- oddjob
- oddjob-mkhomedir
- samba-common-tools
Список необходимых пакетов для Linux систем семейства Alt Linux:
- task-auth-ad-sssd
Список необходимых пакетов для Linux систем семейства Astra:
- ssh
- astra-ad-sssd-client
Список необходимых пакетов для Linux систем семейства Rosa:
- adcli
- realmd
- sssd
- krb5-workstation
- krb5-libs
- oddjob
- oddjob-mkhomedir
- samba-common-tools
Список необходимых пакетов для Linux систем семейства Rosa Cobalt:
- adcli
- realmd
- sssd
- krb5-workstation
- krb5-libs
- oddjob
- oddjob-mkhomedir
- samba-common-tools
Удаление из AD
В ВМ во вкладке ВМ/Шаблон при активном гостевом агенте можно убрать ВМ из AD, указав:
- логин;
- пароль.
- имя домена (только для Linux систем).
Добавление SSH-ключей
Условия корректного добавления SSH-ключей в ВМ:
- ОС Linux;
- ВМ выключена или ВМ включена и активен Space Agent VM.
В ВМ во вкладке ВМ/Шаблон при активном гостевом можно добавить SSH-ключи, указав:
- SSH-пользователя;
- SSH-ключ.
Запуск пользовательских скриптов через Space Agent VM
Условия для запуска пользовательских скриптов через Space Agent VM:
- ОС Linux;
- ВМ включена и активен Space Agent VM.
Получение вариантов команд к гостевому агенту
VM_GUEST_CMDS=$(curl -s -f -S -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
https://${VEIL_ADDRESS}/api/domains/${VM_ID}/available-guest-cmds/
echo ${VM_GUEST_CMDS}
{
"qemu_available_cmds": [
"guest-ssh-remove-authorized-keys",
"guest-ssh-add-authorized-keys",
"guest-ssh-get-authorized-keys",
"guest-get-devices",
"guest-get-osinfo",
"guest-get-timezone",
"guest-get-users",
"guest-get-host-name",
"guest-exec",
"guest-exec-status",
"guest-get-memory-block-info",
"guest-set-memory-blocks",
"guest-get-memory-blocks",
"guest-set-user-password",
"guest-get-fsinfo",
"guest-get-disks",
"guest-set-vcpus",
"guest-get-vcpus",
"guest-network-get-interfaces",
"guest-suspend-hybrid",
"guest-suspend-ram",
"guest-suspend-disk",
"guest-fstrim",
"guest-fsfreeze-thaw",
"guest-fsfreeze-freeze-list",
"guest-fsfreeze-freeze",
"guest-fsfreeze-status",
"guest-file-flush",
"guest-file-seek",
"guest-file-write",
"guest-file-read",
"guest-file-close",
"guest-file-open",
"guest-shutdown",
"guest-info",
"guest-set-time",
"guest-get-time",
"guest-ping",
"guest-sync",
"guest-sync-delimited"
]
}
Исполнение команды guest-get-time гостевым агентом
VM_GUEST_RESPONSE=curl -s -f -S -XPOST -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"qemu_cmd\\":"guest-get-time", \\"fargs\\":{}}" \
https://${VEIL_ADDRESS}/api/domains/${VM_ID}/guest-command/
echo ${VM_GUEST_RESPONSE}
{"guest-get-time": 1638259995198604000}
Исполнение команды guest-get-osinfo гостевым агентом
VM_GUEST_RESPONSE=curl -s -f -S -XPOST -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"qemu_cmd\\":"guest-get-osinfo", \\"fargs\\":{}}" \
https://${VEIL_ADDRESS}/api/domains/${VM_ID}/guest-command/
echo ${VM_GUEST_RESPONSE}
{
"guest-get-osinfo": {
"name": "Fedora Linux",
"kernel-release": "5.14.10-300.fc35.x86_64",
"version": "35 (Cloud Edition)",
"variant": "Cloud Edition",
"pretty-name": "Fedora Linux 35 (Cloud Edition)",
"version-id": "35",
"variant-id": "cloud",
"kernel-version": "#1 SMP Thu Oct 7 20:48:44 UTC 2021",
"machine": "x86_64",
"id": "fedora"
}
}
Исполнение команды guest-exec гостевым агентом
VM_GUEST_RESPONSE=curl -s -f -S -XPOST -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"qemu_cmd\\":"guest-exec", \\"fargs\\":{ {\\"path\\": \\"ls\\", \\"arg\\": [\\"-la\\", \\"/\\"]} }" \
https://${VEIL_ADDRESS}/api/domains/${VM_ID}/guest-command/
echo ${VM_GUEST_RESPONSE}
{
"guest-exec": {
"exitcode": 0,
"out-data": "total 18\ndr-xr-xr-x. 1 root root 132 Oct 26 05:38 .\ndr-xr-xr-x. 1 root root 132 Oct 26 05:38 ..\nlrwxrwxrwx. 1 root root 7 Jul 21 23:47 bin -> usr/bin\ndr-xr-xr-x. 7 root root 1024 Oct 26 05:40 boot\ndrwxr-xr-x. 19 root root 3980 Nov 29 05:31 dev\ndrwxr-xr-x. 1 root root 2634 Nov 29 05:33 etc\ndrwxr-xr-x. 1 root root 20 Nov 29 05:32 home\nlrwxrwxrwx. 1 root root 7 Jul 21 23:47 lib -> usr/lib\nlrwxrwxrwx. 1 root root 9 Jul 21 23:47 lib64 -> usr/lib64\ndrwxr-xr-x. 1 root root 0 Jul 21 23:47 media\ndrwxr-xr-x. 1 root root 0 Jul 21 23:47 mnt\ndrwxr-xr-x. 1 root root 0 Jul 21 23:47 opt\ndr-xr-xr-x. 197 root root 0 Nov 29 05:30 proc\ndr-xr-x---. 1 root root 158 Nov 29 05:32 root\ndrwxr-xr-x. 31 root root 820 Nov 29 05:35 run\nlrwxrwxrwx. 1 root root 8 Jul 21 23:47 sbin -> usr/sbin\ndrwxr-xr-x. 1 root root 0 Jul 21 23:47 srv\ndr-xr-xr-x. 13 root root 0 Nov 29 05:30 sys\ndrwxrwxrwt. 12 root root 280 Nov 30 06:51 tmp\ndrwxr-xr-x. 1 root root 100 Oct 26 05:38 usr\ndrwxr-xr-x. 1 root root 170 Nov 29 05:31 var\n",
"exited": true
}
}
Изменить шаблон
Способ изменить шаблон без ручного пересоздания всех клонов -- это воспользоваться операцией вливания снимка тонкого клона в шаблон.
Для этого требуется подготовить тонкие клоны с панели SpaceVM, выполнив:
-
на всех тонких клонах не должно быть сохраненных состояний. Требуется при необходимости зайти в снимки и Удалить все состояния;
-
внести нужные изменение в имеющийся тонкий клон или создать новый тонкий клон и произвести там изменения;
-
отключить все включенные тонкие клоны от родительского шаблона;
-
для ОС Windows рекомендуется перед вливанием подготовить тонкий клон через Sysprep, если это использовали для шаблона;
-
произвести операцию в тонком клоне, который подготовили для вливания в шаблон, нажав во вкладке ВМ/Шаблон кнопку Изменить шаблон и подтвердив свои намерения в открывшемся окне.
Эти действия внесут изменения из подготовленного тонкого клона в диски шаблона, и от них пересоздадутся диски во всех остальных тонких клонах.
Внимание
Изменение шаблона напрямую при наличии тонких клонов запрещено, так как это приведет в нерабочее состояние все тонкие клоны.
Оптимизатор работы Windows 10 / Windows Server 2019 в виртуальной среде
Для оптимизации работы Windows в виртуальной среде необходимо:
- запустить файл install-menu в образе диска guest-utils;
- запустить пункт optimize guest tools;
- дождаться сообщения "Оптимизация завершена, требуется перезагрузка".
Во время работы могут выдаваться сообщения типа "Отказ в доступе" или ошибки определения экрана. Это штатная ситуация, вызванная архитектурными различиями дистрибутивов.
Некоторые модификации применяются исключительно для новых пользователей, и окружение, созданных ранее до модификации пользователей, не изменяется, чтобы не возникало проблем с изменением окружения.
Логирование гостевого агента для Linux ВМ
В файл /etc/qemu/qemu-ga.conf надо поправить:
[general]
verbose = 1
logfile = /var/log/qemu-ga.log
После этого перезапустить агент командой systemctl restart qemu-guest-agent
Файл логов
Без ключа -v (verbose) Space Agent VM логирует только ошибки. Но с verbose лог-файл растёт очень быстро.
Логирование гостевого агента для Windows ВМ
Проверка в ВМ
Проверить состояние агента через PowerShell можно, введя Get-Service QEMU-GA
.
Ответом должно быть: Running QEMU-GA QEMU Guest Agent.
Необходимо модифицировать сервис:
HKLM/SYSTEM/CCS/Services/QEMU-GA/ImagePath = “"C:\Program Files\Qemu-ga\qemu-ga.exe" -d --retry-path -v -l c:\users\user\qga.log
Лог будет писаться в c:\users\user\qga.log.
Файл логов
Ключ -l как раз указывает куда писать лог. В Windows stderr, в который лог пишется по-умолчанию, в Журналы не заносится.
Виртуальные функции
Вкладка Виртуальные функции позволяет управлять виртуальными функциями ВМ. В данной вкладке отображается список виртуальных функций.
Подробности смотрите в SR-IOV.
Ended: Операции с ВМ
Файл конфигурации ВМ
Посмотреть действующую конфигурацию xml запущенной ВМ можно в CLI сервера командой vm xml [имя или id ВМ]
.
Посмотреть действующую конфигурацию xml ВМ можно через REST API запрос GET /api/domains/{id}/xml/
.
Модифицировать конфигурацию xml ВМ вручную не рекомендуется из-за сложности обработки всех случаев при создании и импорте резервных копий ВМ, а также при работе с ними. Если всё же есть такая необходимость, то можно добавить свою часть xml через REST API.
Пример изменения пользовательской xml
PUT http(s)://<адрес контроллера>/api/domains/94450c3e-b452-46b0-af4a-f688c726f054/
{
"user_xml": "<features>\n<acpi/>\n<apic/>\n</features>"
}
Cloud-init
Общая информация
Cloud-init - это программа, запускающаяся на ВМ при загрузке, которая ищет данные конфигурации для применения к ВМ во время инициализации.
Примечание 1
Только для ВМ с ОС Linux.
Образы
Можно использовать как готовые образы, предоставляемые производителями ОС, например Debian, так и подготовить свои образы, например OpenStack create images manually.
Идея состоит в том, чтобы иметь определенный независимый от операционной системы формат конфигурации для параметров, общих для многих систем (таких, как имя хоста и конфигурация сети).
Подробные примеры командной строки см. в Документации cloud-init.
Рекомендуется использовать источник NoCloud. Подробное описание см. в Источники Cloud-Init.
Использование в SpaceVM
При включении Cloud-init для ВМ создается ISO-образ, содержащий 2 YAML файла user-data и meta-data и монтирующийся через виртуальный CD-ROM (через первый свободный имеющийся или создаваемый новый).
Также можно передать параметры cloud-init при создании ВМ через эндпоинт multi-create-domain или clone.
user-data
user_data - строка (может быть закодированной в base64), содержащая в формате yaml конфигурацию user_data.
Пример user_data
#cloud-config
groups:
- ubuntu: [root,sys]
- cloud-users
users:
- default
# Создает пользователя user1 в группе sudo без пароля с незашифрованном паролем
# Не рекомендуется описывать пароль в незашифрованном виде (plain_text_passwd).
- name: user1
gecos: test user1 with plain passwd configured and sudo nopasswd enabled
groups: sudo
sudo: ['ALL=(ALL) NOPASSWD:ALL']
plain_text_passwd: < plain text password here >
lock_passwd: false
# Создает пользователя user2 с хэшированным паролем
- name: user2
gecos: test user2 with hashed passwd configured
passwd: < hashed password here >
lock_passwd: false
# Создает пользователя user3 с отключенным входом по паролю и вклюнным входом по публичному ключу.
# The following entry creates user3, disables password-based login and enables an SSH public key.
- name: user3
gecos: test user3 with SSH key configured
ssh_authorized_keys:
- ssh-public-key-information
lock_passwd: true
# Обновление базы пакетов
package_update: True
# Обновление пакетов
package_upgrade: False
# Устанавливаемые или обновляемые пакеты
packages:
- docker.io
- curl
- openssh-server
- qemu-guest-agent
# Запись файлов
write_files:
- path: /etc/rancher/rancherd/config.yaml
permissions: "0444"
content: |
role: server
server: https://192.168.6.113:8443
token: somethingrandom
# NOTE: Cloud-init applies network settings on every boot by default. To retain network settings from first
boot, uncomment the following section:
- path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg
content: |
# Отключение конфигурации сети полсе первой загрузки
network:
config: disabled
# Отключение Selinux
- path: /etc/sysconfig/selinux
encoding: b64
permissions: "0644"
owner: root:root
content: ClNFTElOVVg9ZGlzYWJsZWQKU0VMSU5VWFRZUEU9dGFyZ2V0ZWQK
runcmd:
# Принудительное отключение Selinux сразу
- setenforce 0
# Старт гостевого агента
- systemctl start qemu-guest-agent
# запуск rancherd
- curl -fL https://raw.githubusercontent.com/rancher/rancherd/master/install.sh | sh -
- [ ls, -l, / ]
- ls -l /root
- curl -fL https://raw.githubusercontent.com/rancher/rancherd/master/install.sh | sh -
final_message: "The system is finally up, after $UPTIME seconds"
meta-data
meta_data - строка (может быть закодированной в base64), содержащая в формате yaml конфигурацию meta_data.
Автогенерация meta_data
Если meta_data не задана пользователем, то instance-id и local-hostname будут заданы, как ID ВМ.
Пример meta_data
instance-id: 898a905c-e9b8-4ea1-87a3-452497e467b6
local-hostname: ubuntu-guacamole
Пример meta_data с настройкой интерфейса eth0
instance-id: 898a905c-e9b8-4ea1-87a3-452497e467b6
local-hostname: ubuntu-guacamole
network-interfaces: |
iface eth0 inet static
address 192.168.1.10
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.254
Пример генерации хэшированного пароля в Python3
import crypt, getpass
print(crypt.crypt(getpass.getpass()))
Пример кодирования в base64 meta-data и user-data в Python
import base64
user_data = '''#cloud-config
groups:
- ubuntu: [root,sys]
- cloud-users
package_update: True
package_upgrade: False
packages:
- docker.io
- curl
- openssh-server
- qemu-guest-agent
write_files:
- path: /etc/rancher/rancherd/config.yaml
permissions: "0444"
content: |
role: cluster-init
token: bazalt
runcmd:
- curl -fL https://raw.githubusercontent.com/rancher/rancherd/master/install.sh | sh -
final_message: "The system is finally up, after $UPTIME seconds"
'''
user_data_bytes = user_data.encode('ascii')
base64_bytes = base64.b64encode(user_data_bytes)
base64_user_data = base64_bytes.decode('ascii')
print(base64_user_data)
meta_data = '''
instance-id: b73e86d6-6b77-4d14-bcef-a1df736ce87e
local-hostname: somedomain
'''
meta_data_bytes = meta_data.encode('ascii')
base64_bytes = base64.b64encode(meta_data_bytes)
base64_meta_data = base64_bytes.decode('ascii')
print(base64_meta_data)
Пример json параметров запроса создания тонкого клона с Cloud_init
POST http(s)://<адрес контроллера>/api/domains/multi-create-domain/?async=1
{"parent": "bfd282a4-3b1f-4f68-98cb-16deee43a3b8", # id шаблона ВМ
"start_on": true, # Включить тонкий клон после создания
"thin": true, # Параметр, что создается тонкий клон
"cloud_init": true, # Включение подготовки образа с cloud_init
"cloud_init_config": {
"user_data": "I2Nsb3VkLWNvbmZpZwoKZ3JvdXBzOgotIHVidW50dTogW3Jvb3Qsc3lzXQotIGNsb3VkLXVzZXJzCgpwYWNrYWdlX3VwZGF0ZTogVHJ1ZQpwYWNrYWdlX3VwZ3JhZGU6IEZhbHNlCgpwYWNrYWdlczoKICAtIGRvY2tlci5pbwogIC0gY3VybAogIC0gb3BlbnNzaC1zZXJ2ZXIKICAtIHFlbXUtZ3Vlc3QtYWdlbnQKCndyaXRlX2ZpbGVzOgogIC0gcGF0aDogL2V0Yy9yYW5jaGVyL3JhbmNoZXJkL2NvbmZpZy55YW1sCiAgICBwZXJtaXNzaW9uczogIjA0NDQiCiAgICBjb250ZW50OiB8CiAgICAgIHJvbGU6IGNsdXN0ZXItaW5pdAogICAgICB0b2tlbjogYmF6YWx0CgpydW5jbWQ6CiAtIGN1cmwgLWZMIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9yYW5jaGVyL3JhbmNoZXJkL21hc3Rlci9pbnN0YWxsLnNoIHwgc2ggLQoKZmluYWxfbWVzc2FnZTogIlRoZSBzeXN0ZW0gaXMgZmluYWxseSB1cCwgYWZ0ZXIgJFVQVElNRSBzZWNvbmRzIiAgIAo",
"meta_data": "Cmluc3RhbmNlLWlkOiBiNzNlODZkNi02Yjc3LTRkMTQtYmNlZi1hMWRmNzM2Y2U4N2UKbG9jYWwtaG9zdG5hbWU6IHNvbWVkb21haW4KCg=="
}
}
Создание SSH-ключей через ssh-keygen
Пример создания SSH-ключей
[user@host ~]$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in .ssh/key-with-password.
Your public key has been saved in .ssh/key-with-password.pub.
The key fingerprint is:
SHA256:s7GGB7EyHUry4aOcNPKmhNKS7dl1YsMVLvFZJ77VxAo user@host.lab.example.com
The key's randomart image is:
+---[RSA 2048]----+
| . + =.o ... |
| = B XEo o. |
| . o O X =.... |
| = = = B = o. |
|= + * * S . |
|.+ = o + . |
| + . |
| |
| |
+----[SHA256]-----+
По умолчанию ключи будут сохранены в ~/.ssh/id_rsa и ~/.ssh/id_rsa.pub соответственно.
Ручное создание cloud образа
Для создания cloud образа необходимо выполнить команду
genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
Подготовка ВМ
- Установите нужную ОС. Это может быть любая ОС, на которую можно поставить пакет Cloud-init. Желательно ставить наиболее свежую версию Cloud-init.
Пример создания кластера k8s через Rancherd
Rancher — это популярная платформа управления контейнерами с открытым исходным кодом. Выпущенная в начале 2018 года версия Rancher 2.X работает на Kubernetes и включает новые инструменты, такие как управление несколькими кластерами и встроенные CI конвейеры. Помимо повышенной безопасности, масштабируемости и простых инструментов развертывания, уже имеющихся в Kubernetes, Rancher предлагает графический пользовательский интерфейс, упрощающий управление контейнерами. Благодаря графическому интерфейсу Rancher пользователи смогут управлять секретами, безопасно обрабатывать роли и разрешения, масштабировать узлы и поды, а также выполнять настройку средств распределения нагрузки и томов без необходимости использования инструментов командной строки или сложных файлов YAML.
ОС | Статус проверки | Доп. инфо |
---|---|---|
Debian Bullseye | + | |
CentOS-7 | + | |
CentOS-8 | + | Требуется настройка SELinux |
CentOS-8-Stream | + | Требуется настройка SELinux |
Fedora (Cloud Base image for Openstack) | + | |
ALTLinux P10 | + |
-
Загружаем в пул данных нужный нам cloud образ.
-
Импортируем этот файл в виртуальный диск.
-
Расширяем размер виртуального диска до нужной величины.
-
Создаем ВМ, добавляем к ней этот диск, сетевой интерфейс, 2 консоли (необходимы для Сloud_init).
-
Переводим ВМ в шаблон.
-
Создаем первый тонкий клон, который будет мастером кластера, используя приведённый ниже конфиг cloud.
#cloud-config
groups:
- cloud-users
package_update: False
package_upgrade: False
users:
- default
- name: user
groups: sudo
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
lock_passwd: false
# пароль user для пользователя user
passwd: $6$rounds=4096$9cYh.jYsend9bOZ$VBqFtH6Jc6cgpYga.sWD.G5l/h.Fedn.CRO7ouw7S7JiMbwXvf5cuENpOk9W4pqAAmF7vxKJy62QCHZ9xVvAd0
# cгенерируйте свой ключ
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWRyWsZAFDAiUuCPAz0cN1jFREnnBdLkpIoQygLJqkrzh85l47Omib+IlryIaa7QsjaKhI2dYUfviTiOeUM0yLH17YD7IR+8n2uADy3kNHbjwDn3+9OOfCGExLXH6Az1imenWJj6ErLmelTJi66xLWcGQhBNtr37XwOlL8eguP4TwZ1LmoUqWseKXEerUoOKqP2abYu5zgWNtkWJ5604V8lvQt5JgMJMqr7oGCIT/DgD/ndqOOu0G6698deEk/ooADVB1CUglrPni+ZPBHhwwMrovpkKgwbOTUXrmE5I9OrmsjLGiaLkjsSyQrfx5xfrXhogbCE174PWJaCy8zD7HLGArmhsBnMz8FKEbX/We547llCKGPGmc4H6IMhbryiZky3XuGK3nBKvmOiwwKUNoamt7yXUIRfFcoOqhC63DZfHT/4OvfvKnv3HtnY2VoDgZCaYCcT6ZZwntk2p6LY2zoDwqThXLtvZwouPkhtdOs2ATvW04CMnXCKBsu2W76c60= user@user-To-be-filled-by-O-E-M
manage_resolv_conf: false
manage_etc_hosts: false
# qemu-guest-agent нужен для интеграции ВМ с гипервизором
# curl, openssl нужен для загрузки и установки rancherd
# openssh-server нужен для подключения по ssh
packages:
- qemu-guest-agent
- openssl
- curl
- openssh-server
# Конфигурация rancherd
write_files:
- path: /etc/rancher/rancherd/config.yaml
permissions: "0444"
content: |
kubernetesVersion: v1.21
rancherVersion: stable
rancherValues:
# cгенерируйте свой пароль
bootstrapPassword: admin
role: cluster-init
token: random
# Disable Selinux
- path: /etc/sysconfig/selinux
encoding: b64
permissions: "0644"
owner: root:root
content: ClNFTElOVVg9ZGlzYWJsZWQKU0VMSU5VWFRZUEU9dGFyZ2V0ZWQK
runcmd:
# Принудительное отключение Selinux сразу
- setenforce 0
# Старт гостевого агента
- systemctl start qemu-guest-agent
# Скачивание и запуск rancherd
- curl -fL https://raw.githubusercontent.com/rancher/rancherd/master/install.sh | sh -
-
Ждем завершения активации мастера кластера. Проверяем, что Rancher доступен для управления по адресу https://{адрес ВМ}:8443 и там появился первый узел.
-
Создаем необходимое количество тонких клонов, которые будет узлами кластера, используя приведённый ниже конфиг cloud. Не забудьте указать адрес мастера (первой ВМ) в конфигурации Rancherd!
#cloud-config
groups:
- cloud-users
package_update: False
package_upgrade: False
users:
- default
- name: user
groups: sudo
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
lock_passwd: false
passwd: $6$rounds=4096$9cYh.jYsend9bOZ$VBqFtH6Jc6cgpYga.sWD.G5l/h.Fedn.CRO7ouw7S7JiMbwXvf5cuENpOk9W4pqAAmF7vxKJy62QCHZ9xVvAd0
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCWRyWsZAFDAiUuCPAz0cN1jFREnnBdLkpIoQygLJqkrzh85l47Omib+IlryIaa7QsjaKhI2dYUfviTiOeUM0yLH17YD7IR+8n2uADy3kNHbjwDn3+9OOfCGExLXH6Az1imenWJj6ErLmelTJi66xLWcGQhBNtr37XwOlL8eguP4TwZ1LmoUqWseKXEerUoOKqP2abYu5zgWNtkWJ5604V8lvQt5JgMJMqr7oGCIT/DgD/ndqOOu0G6698deEk/ooADVB1CUglrPni+ZPBHhwwMrovpkKgwbOTUXrmE5I9OrmsjLGiaLkjsSyQrfx5xfrXhogbCE174PWJaCy8zD7HLGArmhsBnMz8FKEbX/We547llCKGPGmc4H6IMhbryiZky3XuGK3nBKvmOiwwKUNoamt7yXUIRfFcoOqhC63DZfHT/4OvfvKnv3HtnY2VoDgZCaYCcT6ZZwntk2p6LY2zoDwqThXLtvZwouPkhtdOs2ATvW04CMnXCKBsu2W76c60= user@user-To-be-filled-by-O-E-M
manage_resolv_conf: false
manage_etc_hosts: false
packages:
- qemu-guest-agent
- curl
- openssh-server
write_files:
- path: /etc/rancher/rancherd/config.yaml
permissions: "0444"
content: |
kubernetesVersion: v1.21
rancherVersion: stable
role: server
server: https://{адрес мастера}:8443
token: random
runcmd:
# Принудительное отключение Selinux сразу
- setenforce 0
# Старт гостевого агента
- systemctl start qemu-guest-agent
# запуск rancherd
- curl -fL https://raw.githubusercontent.com/rancher/rancherd/master/install.sh | sh -
- Ждем завершения активации узлов кластера. Проверяем, что они доступны в интерфейсе управления Rancher.
Отказоустойчивость ↵
Резервное копирование
В окне Виртуальные машины – <имя ВМ> – Резервные копии имеется возможность создавать и управлять резервными копиями ВМ.
Также в окне отображается список файлов копий данной ВМ и их параметры:
-
название файла с архивом ВМ;
-
пул данных;
-
название ВМ;
-
тип;
-
размер;
-
статус.
Важно!
При создании резервной копии все операции в среде SpaceVM становятся недоступны, узел переходит в критическую ошибку до окончания процесса.
Для создания резервной копии необходимо нажать кнопку Создать резервную копию и в открывшемся окне "Создание архива ВМ" включить/выключить следующие опции:
-
Исключить ISO из резервной копии - эта опция позволяет не включать в резервную копию образ ISO, так как этот образ неизменяемый, и может быть нерационально сохранение его таким способом;
-
Создать резервную копию с возможностью инкремента - эта опция позволяет создать резервную копию с возможностью дополнять её последними изменениями;
-
Выбрать резервную копию - эта опция позволяет дополнить одну из имеющихся резервных копий. При включении появится раскрывающийся список резервных копий из доступных для дополнения;
-
Инкрементировать последнюю резервную копию. При включении выбирается новейшая из доступных инкрементальных резервных копий или создается новая с возможностью инкремента;
-
Выбрать пул данных. При включении опции появляется раскрывающийся список пулов, в котором перечислены доступные для этой операции пулы данных. Если не включать опцию, то резервная копия будет создана на базовом пуле данных узла;
-
Генерация хеш суммы. Позволяет рассчитать хеш сумму для проверки целостности данных.
-
Сжать - эта опция позволяет создать или инкрементировать резервную копию со сжатием.
Далее необходимо подтвердить операции, нажав кнопку ОК.
Высокая доступность
Вкладка Высокая доступность позволяет назначить индивидуальные настройки высокой доступности ВМ. Централизованная настройка ВД для кластера производится в настройках кластера. Индивидуальные настройки для ВМ идентичны настройке ВД для кластера.
В окне состояния выбранной ВМ во вкладке Высокая доступность предусмотрены следующие операции:
-
синхронизация всех настроек с настройками кластера. Происходит автоматически при нажатии кнопки Синхронизировать с кластером и загрузит для данной ВМ настройки ВД от кластера, в состав которого входит данная ВМ;
-
просмотр информации о порядке загрузки ВМ;
-
просмотр информации о порядке серверов для восстановления, а также серверов в кластере, на которые не может быть перенесена эта ВМ с указанием причин.
Также в окне управления системой ВД существует возможность редактировать следующие параметры:
-
количество попыток восстановления ВМ;
-
интервал между попытками восстановления ВМ (сек);
-
номер в очереди на восстановление;
Tip
Номер в очереди на восстановление может повторяться. ВМ с одинаковыми номерами будут восстановлены одновременно.
-
признак полной загрузки ВМ - истечение заданного времени (сек);
-
признак полной загрузки ВМ - запуск гостевого агента ВМ. Задается максимальное время ожидания (сек);
-
включение или выключение ВД;
-
автоматический выбор сервера для восстановления ВМ;
-
ручной выбор серверов, используемых для восстановления ВМ.
Для сохранения всех изменений необходимо нажать на кнопку Сохранить.
Неудачное восстановление
Если все попытки восстановления ВМ завершились неудачей, то высокая доступность выключается для этой ВМ. Процесс можно проследить по журналу событий.
Доступность гостевой ОС
Функция находится на вкладке Высокая доступность. Централизованная настройка функции для кластера производится в настройках кластера. Индивидуальные настройки для ВМ идентичны настройке функции для кластера.
Проверка активности ОС виртуальной машины по разным признакам. В случае недоступности ОС при включенной функции будут произведены попытки автоматической перезагрузки ВМ. После нескольких попыток без ответа от ОС будет произведено выключение ВМ.
Для настройки функционала предусмотрены следующие атрибуты:
-
IP-адрес. (1) необходим при включенном переключателе "Проверять пинг" (5).
-
Время в секундах, по окончании которого после регистрации недоступности ОС произойдет перезагрузка (2).
-
Время в секундах для загрузки ВМ, по окончании которого начинается проверка доступности гостевой ОС (3).
-
Лимит перезагрузок ВМ в течении часа, по достижении которого ВМ будет выключена (4).
-
Проверять пинг до ВМ. Если нет ответа, то ВМ считается недоступной (5).
-
Проверять доступность Guest Agent. Если нет ответа от Guest Agent, то ВМ считается недоступной (6).
Tip
Перед включением проверки Guest Agent необходимо убедится, что он установлен на ВМ.
-
Проверять активность CPU ВМ. Если показатели CPU ВМ не меняются, то ВМ считается недоступной (7).
-
Перезагружать ВМ (выключать по достижении лимита перезагрузок (4)) после регистрации недоступности гостевой ОС (8).
Info
При включении нескольких проверок доступности ОС ВМ будет считаться недоступной только, если все проверки показали недоступность.
Info
При регистрации недоступности ОС в журнале ВМ начнут появляться записи о ее недоступности.
Note
Интервал проверки доступности ОС - 20 секунд
Ended: Отказоустойчивость
Безопасность ВМ ↵
Удалённый доступ
Вкладка Удалённый доступ позволяет управлять настройками удаленного доступа в консоль ВМ:
-
включение или отключение удалённого доступа (вкл/выкл);
-
изменением настроек SPICE.
-
задание пароля. При нажатии кнопки необходимо ввести пароль, после чего подтвердить операцию, нажав кнопку Сохранить;
-
просмотр IP-адреса и порта подключения;
-
определение возможности доступа со всех адресов (вкл/выкл). Если доступ разрешён только с конкретного адреса, то необходимо заполнить поля в группе Доступ разрешён с:
-
IP-адрес;
-
маска подсети;
-
комментарий;
-
возможно добавление дополнительных адресов по кнопке Добавить адрес;
-
сохранение добавленных адресов по кнопке Сохранить;
-
удаление одного адреса кнопкой Х или очистка всего списка адресов кнопкой Очистить список;
Настройка протокола SPICE осуществляется в окне вызываемом кнопкой Изменение настроек SPICE. В окне возможно настроить параметры:
-
Сжатие JPEG;
-
Потоковый режим;
-
Буфер обмена;
-
Режим мыши;
-
Сжатие zlib;
-
Сжатие воспроизведения;
-
Передача файлов;
-
Сжатие изображения;
-
Множественные подключения.
Примечание
Изменение настроек SPICE возможно только если ВМ не запущена.
Опция Удаленный доступ предоставляет доступ к консоли ВМ по протоколу SPICE, осуществляемый с помощью стороннего приложения-клиента и (или) из-за периметра кластера. Пароль для доступа генерируется автоматически и его можно посмотреть и изменить. При включении удаленного доступа отобразится IP-адрес и порт для подключения. В качестве IP-адреса подключения используется адрес контроллера. Если требуется использовать адрес, отличный от основного адреса контроллера, то необходимо на сервере, выполняющем роль контроллера, создать дополнительный внутренний интерфейс. После этого необходимо в разделе Настройки - Контроллер - Настройки ограждения указать IP-адрес, присвоенный дополнительному внутреннему интерфейсу контроллера для перенаправления соединений к консолям ВМ. Также за счет использования дополнительного интерфейса, его можно подключить в отдельный коммутатор для доступа к ВМ пользователей и ограничить VLAN и другими средствами изоляции от сети управления кластера;
Настройка безопасности
Вкладка Настройка безопасности позволяет управлять очисткой памяти ВМ и разграничения доступа для операторов.
Очистка памяти
Механизм дополнительной очистки страниц физической памяти сервера после того, как они перестали использоваться ВМ. Эта опция предотвращает доступ к остаточной информации в страницах памяти средствами слежения уровня гипервизора. На вкладке размещен выключатель очистки дискового пространства ВМ при удалении диска, а также выбор из раскрывающегося списка количества циклов перезагрузки памяти и типа очистки памяти. Для сохранения изменений необходимо нажать на кнопку Сохранить.
При включенном флаге:
- отключается balloon driver (драйвер освобождения неиспользуемой оперативной памяти);
- при перезагрузке, выключении и удалении происходит очистка оперативной памяти (операции могут занять продолжительное количество времени);
- примонтированный диск при удалении предварительно очищается.
Разграничение доступа для операторов
Управление разграничением доступа предоставляет возможность указать список операторов кластера, которым будет доступна эта ВМ. При этом эти ограничения не относятся к пользователям, чья роль соответствует администратору кластера. Они имеют полный доступ ко всем ВМ кластера. Для того чтобы изменить пользователей ВМ, необходимо нажать кнопку Изменить пользователей ВМ и в открывшемся окне Изменение списка пользователей ВМ выбрать из раскрывающегося списка операторов, после чего подтвердить операцию, нажав ОК.
Режим Secure Boot
Для активации Secure Boot следует создать ВМ в следующей конфигурации:
- чипсет Q35
- тип ОС Windows (даже для Linux ВМ)
- тип загрузчика UEFI
Тип оборудования (видеоадаптер и пр.) при необходимости можно сменить на желаемое при необходимости загрузки Linux ВМ.
После создания ВМ в такой конфигурации режим Secure Boot по умолчанию включен. Чтобы временно отключить его, к примеру, для загрузки с неподписанного загрузчика инсталлятора, следует сразу же после включения ВМ путём нажатий клавиши Esc в терминале Spice или VMC вызвать меню BIOS ВМ. Конфигурация Secure Boot находится в подменю "Device Manager / Secure Boot Configuration".
Важно
В случае перемещения ВМ на другой узел состояние EFI variables ВМ будет сброшено в состояние по умолчанию, включая состояние активности Secure boot и цепочки ключей (если были загружены свои ключи)!
Ended: Безопасность ВМ
Управление аппаратной частью ↵
Процессоры
Информация
Для просмотра детальной информации о процессорах ВМ необходимо в разделе Виртуальные машины выбрать целевую ВМ и в открывшемся окне перейти в раздел Процессоры.
В разделе Процессоры указана следующая информация:
- Количество сокетов - количество сокетов ВМ.
- Количество ядер на сокет - количество ядер на сокет ВМ.
- Потоков на ядро - количество потоков на ядро ВМ.
- Общее количество потоков - общее количество потоков ВМ.
- Максимальное количество потоков - максимальное количество потоков ВМ.
- Режим определения - режим эмулирования CPU.
- Модель - эмулируемая модель процессора.
- Приоритет vCPU ВМ - приоритет виртуальных процессоров.
- Частота.
- Кол-во минимально гарантированных vCPU - количество минимально гарантированных виртуальных процессоров.
- Приоритет виртуальных процессоров (vCPU).
- Дополнительные функции vCPU.
Настройка процессоров
Настройку процессоров можно выполнить с помощью кнопки Изменение настроек процессоров, которая позволяет изменить следующие параметры:
-
количество vCPU и максимальное количество vCPU. При нажатии кнопки Изменение количества vCPU в открывшемся окне необходимо указать имеющееся количество и максимальное количество процессоров, после чего подтвердить операцию, нажав кнопку OK;
-
топология процессоров. При нажатии кнопки Изменение топологии vCPU в открывшемся окне необходимо задать количество сокетов, ядер на сокет и потоков, после чего подтвердить операцию, нажав кнопку OK;
-
модель процессора. При нажатии кнопки Режим определения модели отображается оптимальный процессор, а также раскрывающийся список выбора режима определения процессора. Необходимо выбрать режим, после чего подтвердить операцию, нажав кнопку OK;
-
привязка виртуальных процессоров к физическим ядрам. При нажатии кнопки Изменение привязок vCPU в открывшемся окне необходимо заполнить привязку процессоров ВМ к физическим, после чего подтвердить операцию, нажав кнопку OK;
-
приоритеты выделения процессорного времени ВМ. При нажатии кнопки Изменение приоритета vCPU в открывшемся окне необходимо выбрать из раскрывающегося списка базовый приоритет процессора, детальный приоритет процессора, гарантированное количество vCPU, после чего подтвердить операцию, нажав кнопку Сохранить;
-
изменение частоты vCPU. При нажатии кнопки Изменение частоты vCPU в открывшемся окне необходимо указать частоту в МГц, после чего подтвердить операцию, нажав кнопку Сохранить;
-
дополнительные функции vCPU. При нажатии кнопки Дополнительные функции vCPU в открывшемся окне необходимо указать дополнительные функции (флаги), после чего подтвердить операцию, нажав кнопку Сохранить.
Рекомендуемое максимальное количество vCPU
Не рекомендуется создавать ВМ c количеством vCPU больше, чем физических ядер на хосте.
Note
Например, если в сервере 2 процессора по 28 физических ядер, то рекомендуемый максимум vCPU равен 56.
Горячее добавление vCPU
Параметр "Максимальное количество vCPU" стоит ставить больше, если планируется увеличивать количество vCPU при включенной ВМ. При изменении max_cpu_count топология подстраивается под этот параметр, то есть включенная ВМ видит именно max_cpu_count vCPU, но при этом только на cpu_count vCPU подключается питание, а (max_cpu_count - cpu_count) vCPU видятся неактивными (без питания).
Топология процессора
Изменение топологии процессора предназначено для удовлетворения требований ОС ВМ. Некоторые ОС не умеют работать с многоядерными процессорами, некоторые ограничивают количество сокетов CPU, а некоторые ОС ограничивают количество ядер на сокет.
Модель процессора
Модель процессора может влиять на функциональность ОС ВМ и на возможность миграции ВМ внутри кластера.
Доступные функции узла можно посмотреть во вкладке узла Оборудование - Процессоры.
Модель (архитектура) CPU виртуальной машины может быть:
-
default - назначаются виртуальные процессоры. Если ОС ВМ чувствительна к набору инструкций центрального процессора, то использование виртуальных процессоров может не удовлетворять требованиям ОС ВМ. Доступные функции берутся из модели процессора qemu64;
-
host-model - модель, аналогичная физическому, с незначительными ограничениями. Доступные функции берутся из узла, где находится ВМ;
-
host-passthrough - фактическая трансляция полного комплекта инструкций и модели физического процессора. Доступные функции берутся из узла, где находится ВМ;
-
custom - выбор модели процессора из списка. Необходимо учитывать предоставляемые наборы инструкций выбираемой модели и ограничения для ОС ВМ перед сменой типа процессора на custom. Доступные функции берутся из известного набора инструкций для каждого процессора, определённого в гипервизоре.
Привязка процессоров ВМ к физическим ядрам
Привязка процессоров ВМ к физическим ядрам сильно ограничивает производительность сервера. Физическое ядро, привязанное к CPU виртуальной машины, ограничивает производительность сервера. Физическое ядро, привязанное к CPU виртуальной машины, будет использоваться только для этой ВМ.
Внимание!
Эту опцию рекомендуется применять только к высоко нагруженным ВМ, миграция которых невозможна.
Для привязки vCPU необходимо перейти во вкладку Процессоры – Настройка – Привязка. В окне Привязка процессора можно получить информацию о количестве виртуальных процессоров на ВМ и физических процессоров на узле. Далее требуется указать номер виртуального процессора и через двоеточие номер физического процессора сервера виртуализации.
Если необходимо указать привязку нескольких виртуальных процессоров, каждую пару привязки нужно указать через пробел.
Пример
Для привязки vCPU0 и vCPU1 к node_cpu4 и node_cpu5 необходимо указать 0:4 1:5. Нумерация процессоров начинается с 0 (node_cpu0).
Приоритет выделения процессорного времени
Приоритет выделения процессорного времени ВМ может понизить или повысить приоритет выделения ресурсов для ВМ.
Есть 2 параметра приоритета процессорного времени ВМ: cpu_priority (LOW, MEDIUM, HIGH) и cpu_shares (от 2 до 10000 (макс. ВМ на кластер)).
По умолчанию приоритет cpu_priority у ВМ средний (MEDIUM), что означает, что через nice на каждый процесс ВМ на узле ставится приоритет 10. Низкий (LOW) приоритет соответствует 19, высокий (HIGH) приоритет соответствует 1.
По умолчанию приоритет cpu_shares у всех ВМ 1024, что означает, что гипервизор считает ВМ одинаково приоритетными. Изменение cpu_shares от 2 до 10000 позволяет изменить относительную приоритезацию процессорного времени ВМ относительно других ВМ. Настраиваемый параметр cpu_shares учитывается для ВМ в целом, при этом количество vCPU не учитывается. Таким образом, стоит увеличить cpu_shares по мере увеличения количества vCPU.
Стоит обратить внимание, что это относительная расстановка приоритетов, а не абсолютная мера времени. Как таковая, приоритезация действительно вступает в силу только в том случае, если перегружены процессоры узла, так что vCPU от разных ВМ конкурируют друг с другом за процессорное время узла. Таким образом, изменение cpu_shares не даёт N единиц процессорного времени. То есть в периоды, когда 2 ВМ нуждаются в процессорном времени, а свободного времени недостаточно для удовлетворения обоих, доступное свободное процессорное время будет выделено ВМ, соответствующим соотношению общих ресурсов.
Тест приоритета cpu_shares
Тест на производительность на разных ВМ (выполняется одновременно). На рисунке показаны 3 процесса ВМ (см. столбец %CPU).
С приоритетом - 1024 (%CPU - 50):
С приоритетом - 512 (%CPU - 25):
Время выполнения теста согласуется с приоритетом.
vNUMA
На данный момент по умолчанию у ВМ есть всегда только один vNUMA узел, к которому относятся все vCPU. Сделано так для того, чтобы можно было "на лету" добавлять планки оперативной памяти и дополнительные vCPU.
Пример одной vNUMA в ВМ с 32 vCPU:
При включении настройки трансляции топологии vNuma (Настройки контроллера), если у ВМ максимальное количество vCPU больше 8, то количество vNuma узлов ВМ равно количеству Numa узлов узла. Максимальное количество vCPU и оперативная память делятся поровну между vNuma узлами ВМ.
NUMA
Для управления резервацией и распределением процессов вычислительного узла можно задействовать
сервис numad. Включение/отключение его работы происходит через Настройки контроллера.
Настройка действует сразу на все узлы под управлением данного контроллера.
При включении настройки через некоторое время включится сервис numad, смотреть его журналы можно командой log numad
.
Просмотр текущей статистики по numa осуществляется через команду numastat
, для ВМ numastat -p qemu
.
Посмотреть id включенной ВМ можно командой vm info {vm_name or vm_id}
.
NUMA и KSM
Рекомендуется при включении сервиса numad отключить параметр "режим дедуплицирования памяти между NUMA nodes" (Merge across nodes) в Настройках KSM узла.
Ограничение частоты vcpu
VMware - ограничение ресурсов виртуальных машин
Имеем виртуальную машину со следующими характеристиками: Параметры Limit, Reservation и Shares для пулов ресурсов в VMware vSphere / ESX устанавливаются следующим образом: Этими тремя параметрами определяется потребление виртуальными машинами оперативной памяти и процессорных ресурсов хоста VMware ESX.
Limit: определяет ограничение потребления физических ресурсов виртуальной машиной (в пределах хоста ESX) или пулом (в пределах кластера) при любых обстоятельствах. Если поставить виртуальной машине Limit в 333 МГц, то именно с такой максимальной производительностью и будет работать ее vCPU, даже если на хосте с физическими процессорами по 3400 МГц больше никаких машин нет. При этом, если для виртуальной машины установлен Limit в 333 МГц, то оба ее процессора в совокупности не получат более 333 миллионов циклов CPU в секунду, оставшиеся свободные циклы в эту секунду планировщик ESX будет просто ждать.
Reservation: определяет сколько ресурсов процессора будет гарантировано виртуальной машине при работе.
Shares: определяет приоритезацию потребления виртуальных машин между собой в пределах хоста ESX или пула ресурсов. В отличие от Limit и Reservation, Shares имеют значение только тогда, когда ощущается нехватка ресурсов VMware ESX. Есть три стандартные настройки Shares - Low, Normal и High. Чем больше значение Shares - тем больше машина получит ресурсов в пределах пула или отдельного хоста ESX. Можно задать значение Custom и самому расставить соотношение приоритетов, ресурсы будут раздаваться относительно этих значений. Shares вступает в действие при нехватке ресурсов CPU.
Выполнены два теста с параметром Limit = Unlimited и Limit = 333MHz. Видно, что скорость выполнения теста при уменьшении тактовой частоты уменьшается пропорционально.
Linux - ограничение ресурсов виртуальных машин
Совершенно честный планировщик CFS (completely fair scheduler). Cgroup ЦПУ предоставляет два типа контроля ресурса ЦПУ:
-
cpu_shares: Содержит некое целое значение, которое определяет относительную долю времени ЦПУ, доступного имеющимся в этой cgroup задачам. Например, задачи в двух cgroups, которые имеют установленными в 100 cpu_shares получат равное время ЦПУ, однако задачи в cgroups, которые обладают cpu_shares, установленным в 200 получат в два раза больше времени ЦПУ чем те задачи, в cgroup которых cpu.shares установлен равным 100.
-
vcpu_quota: Определяет общее значение времени в микросекундах, на протяжении которого все задачи в cgroup способны работать за один период (определяется через vcpu_period). Как только все задачи в некой cgroup использует всё заданное этой квотой время, они останавливаются на тот промежуток времени, который определяется значением периода и не допускается к исполнению в следующем периоде.
-
vcpu_period: Это период, из которого выделяются квоты ЦПУ для cgroup (vcpu_quota), а значения параметров квоты и периода действуют на основе применения к каждому ЦПУ.
Например:
-
Чтобы позволить соответствующей cgroup быть способной выполнять доступ к отдельному ЦПУ на 0.2 секунды на протяжении каждой секунды, установите vcpu_quota в 200000, а vcpu_period в 1000000.
-
Чтобы позволить некому процессу задействовать отдельный ЦПУ на 100%, установите vcpu_quota в 1000000 и vcpu_period равным 1000000.
-
Чтобы допускать некому процессу использовать 100% два ЦПУ, установите vcpu_quota_ равной 2000000, в то время как vcpu_period равным 1000000.
Для контейнеров все тоже самое (docker resource_constraints.
Для виртуальных машин используем команду
virsh + schedinfo domain [[--config] [--live] | [--current]] [[--set] parameter=value]...
- --live устанавливает параметр в работающую ВМ;
- --config повлияет на ВМ на следующем старте.
Для того же самого теста. Если quote в 10 раз меньше period, планировщик отдает 10 раз меньше времени этой ВМ.
Дефолтные значения для планировщика
Устанавливаем vcpu_quota=10000
В xml-описании ВМ сделаны следующие записи
Пример изменения частоты и результаты
Изменим частоту физического и виртуального процессора на 1000Мгц.
Тест показывает результат:
Если изменим частоту виртуального процессора на 333Мгц, то тест покажет результат:
То есть планировщик отдает только ⅓ процессорного времени для этой ВМ относительно изначальной частоты 1000Мгц.
Память
Вкладка Память отвечает за настройку выделяемой ОЗУ.
Во вкладке можно настроить следующие параметры:
-
оперативная память;
-
приоритет памяти ВМ;
-
максимальное значение памяти ВМ;
-
минимально гарантированная память (параметр для учёта при работе сервиса распределения памяти "ballooning" и при распределении ресурсов узлов).
Добавление ОЗУ при включенном питании ВМ
При включенном питании ВМ изменение RAM доступно только на кратное размеру в 256 МБ, и ВМ изнутри видит её как дополнительную DIMM планку памяти (нельзя добавить просто 2000 Мбайт, но можно, например, 2048 Мбайт, тогда ВМ увидит одну новую планку памяти 2048 Мбайт).
Драйверы
Для корректной работы добавления ОЗУ "на лету" необходимо перед этим установить комплект virtio драйверов.
Диски
-
Вкладка Виртуальные диски содержит список виртуальных дисков, подключенных в ВМ, включая их названия, пул данных, размер и статус.
-
Создание нового диска (создание диска) и добавление существующего (подключение диска) с помощью соответствующих кнопок полностью повторяет аналогичные операции при создании ВМ.
-
Для перехода в окно состояния диска необходимо нажать на его название и в открывшемся окне будет отображаться информация о диске и кнопки управления.
Управление
-
копирование. При нажатии кнопки Копировать в открывшемся окне необходимо выбрать из раскрывающегося списка пул данных, заполнить название и описание нового диска, после чего подтвердить операцию, нажав кнопку ОК;
-
перенос диска. При нажатии кнопки Перенос диска в открывшемся окне необходимо выбрать из раскрывающегося списка тип сущности для переноса/копирования данных диска, после чего подтвердить операцию, нажав кнопку ОК;
-
скачивание. Выполняется автоматически при нажатии кнопки Скачать;
-
проверка диска. При нажатии кнопки Проверка диска в открывшемся окне установить флаг при необходимости Починить диск вместе с проверкой и подтвердить действие кнопкой ОК;
-
разрежение диска. При нажатии кнопки Разрежение подтвердить операцию кнопкой ОК;
-
настройки ввода-вывода. При нажатии кнопки Настройки I/O в открывшемся окне настроить параметры ввода/вывода и подтвердить изменения нажав кнопку ОК;
-
изменение формата диска. При нажатии кнопки Конвертировать в открывшемся окне выбрать из раскрывающегося списка формат диска и при необходимости выбрать пул данных, подтвердить конвертацию кнопкой ОК;
-
удаление. При нажатии кнопки Удалить необходимо в открывшемся окне в дополнительных настройках определиться с гарантированным удалением диска, после чего подтвердить операцию, нажав кнопку ОК.
-
подключение (отключение). При нажатии кнопки Подключить или Отключить в открывшемся окне необходимо подтвердить операцию, нажав кнопку Подключить или Отключить;
Отключение
При отключении диска не происходит удаления диска с хранилища (из пула данных) и его можно будет использовать повторно. Удаление диска не только отключит его от ВМ, но и удалит файл диска.
Информация о диске
Информация о диске содержит:
-
название и описание диска (редактируемые параметры);
-
ВМ, к которой подключен диск;
-
пул данных (редактируемый параметр);
-
объем диска (редактируемый параметр, объем диска возможно только увеличить);
-
расположение;
-
тип шины (редактируемый параметр);
-
SSD эмуляция (редактируемый параметр);
-
тип кэширования (редактируемый параметр);
-
опции I/O (редактируемый параметр);
-
тип драйвера;
-
доступность только чтения ВМ (редактируемый параметр);
-
режим мульти использования диска несколькими ВМ (редактируемый параметр);
-
дата и время создания/изменения;
-
сообщения о работе дисков с возможностью обновления и сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
CD-ROM
Вкладка CD-ROM содержит список приводов CD-ROM отображающий их название, подключение, пул данных и статус. Также позволяет управлять приводами CD-ROM и подключенными в них ISO-образами.
CD-ROM добавляется автоматически по кнопке Добавить CD-ROM, после чего необходимо перейти к процедуре подключения образа. Процедура подключения CD/DVD-диска к виртуальному CD-ROM полностью повторяет аналогичные операции при создании ВМ.
!!! warning "Внимание!" Для автоматического добавления необходим доступный слот для CD-ROM. Можно добавить IDE контроллер или отмонтировать ненужное устройство.
По кнопке Монтировать образ utils ведется автоматический поиск доступного образа с именем, начинающимся с guest-utils, и после нахождения он монтируется к ВМ. Если образ есть в системе, но недоступен на узле, где находится ВМ, то образ копируется на локальный пул этого узла, и уже после этого примонтируется к ВМ.
При нажатии на название CD-ROM в окне состояния доступны следующие операции:
-
обновление информации;
-
монтирование образа. При нажатии кнопки Монтировать образ в открывшемся окне необходимо выбрать из раскрывающегося списка хранилище и ISO-образ. После этого подтвердить операцию, нажав кнопку ОК;
Внимание!
Монтирование образа доступно, если образ не смонтирован.
- извлечение образа. При нажатии кнопки Извлечь в открывшемся окне необходимо подтвердить операцию, нажав на кнопку ОК;
Внимание!
Извлечение образа доступно, если образ смонтирован.
- удаление. При нажатии кнопки Удалить в открывшемся окне необходимо подтвердить операцию, нажав кнопку Удалить.
Также в окне состояния CD-ROM содержится следующая информация:
-
название;
-
подключение;
-
пул данных;
-
устройство dev;
-
дата создания.
Windows Server 2019 и CD-ROM
Рекомендуется использовать чипсет q35 для UEFI. При использовании архитектуры pc возможна ситуация, когда ОС не увидит CD-ROMs.
USB-устройства
Вкладка USB-устройства позволяет подключить к ВМ USB-устройства, подключенные к физическому серверу - Web-камеры, клавиатуры, манипуляторы, накопители и прочие устройства.
Для подключения USB-устройства необходимо в окне управления USB-устройствами нажать на кнопку Подключить usb-устройство и далее в открывшемся окне Подключение usb-устройства выбрать тип подключения и контроллер из раскрывающегося списка. Далее необходимо подтвердить операцию, нажав кнопку OK.
Для создания USB канала для клиентов SPICE нажать кнопку Подключить usb-устройство , в открывшемся окне Подключение USB-устройств переключить режим Добавить SPICE USB канал, выбрать контроллер и нажать OK.
PCI-устройства
Вкладка PCI-устройства позволяет подключить к ВМ некоторые физические устройства сервера, подключенные по шине PCI/PCI-express. Необходимо учитывать, что подключение аппаратных средств сервера в ВМ может вызвать ошибку гипервизора, отказ в работе системных устройств или перехватить используемые другими частями системы устройства. Также некоторые устройства являются составными и не могут быть подключены к ВМ независимо.
Видеокарта может быть связана с аудио кодеком для HDMI. Некоторые сетевые карты могут быть 2/4/8-портовыми. Составные устройства необходимо подключать к ВМ целиком. При подключении к ВМ сетевых карт необходимо учитывать, что физическое устройство может быть занято для mgmt сети или для другого виртуального коммутатора.
Для подключения устройства PCI необходимо в окне управления PCI-устройствами нажать на кнопку Подключить pci-устройство и далее в открывшемся окне Подключение pci-устройств выбрать устройство и контроллер из раскрывающегося списка. Далее необходимо подтвердить операцию, нажав кнопку OK.
Добавление PCI-устройства
- в CLI узла выполнить команду
system pci set on ''
; - перезагрузить узел;
- ВМ должна быть выключена;
- подключить PCI-устройство.
При подключении видеокарты необходимо учитывать следующее:
-
обычная видеокарта состоит из двух устройств - видеокарты и аудиоустройства.
Для стабильной работы необходимо подключать оба;
-
тип машины должен быть q35, тип загрузки - efi, это связано с некоторыми особенностями работы BIOS видеокарты;
-
подключать видеокарту необходимо строго на свободную шину. Для определения свободного номера можно воспользоваться командой
vm xml
, посмотреть, какой номер "bus" в устройствах свободен, и выбрать его при подключении устройства в pcie-root-port (если не было подключений дополнительных контроллеров, 5 свободен); -
аудиоустройство требует отдельной шины.
Чтобы включить функцию предоставления доступа ВМ к части устройства SR-IOV, укажите параметр intel_iommu=on
или amd_iommu=on
,
в зависимости от конфигурации вашего сервера, в конфигурационном файле загрузчика grub. Чтобы добиться максимальной
производительности при использовании SR-IOV, задайте параметр iommu=pt
в файле конфигурации загрузчика grub.
В случае доступа ВМ к адаптеру напрямую не требуется использование преобразования DMA, за счет чего и улучшается производительность системы.
Параметрiommu=pt
нужен в основном для гипервизора и не влияет на работу ВМ. Если intel_iommu=on
или amd_iommu=on
работает,
вы можете попробовать заменить их на iommu=pt
или amd_iommu=pt
в зависимости от конфигурации узла. Параметр pt
включает IOMMU
только для тех устройств, доступ к которым предоставлен ВМ и обеспечивает лучшую производительность узла.
Оригинал на английском языке
To enable SR-IOV in the kernel, configure intel_iommu=on in the grub file. To get the best performance, add iommu=pt (pass-through) to the grub file when using SR-IOV. When in pass-through mode, the adapter does not need to use DMA translation to the memory, and this improves the performance. iommu=pt is needed mainly with hypervisor performance is needed. If intel_iommu=on or amd_iommu=on works, you can try replacing them with iommu=pt or amd_iommu=pt. The pt option only enables IOMMU for devices used in passthrough and will provide better host performance.
В чем разница между PCI pass-through устройств к ВМ и IOMMU? PCI pass-through не требует вмешательств гипервизора для работы гостевой ОС с физическим устройством. IOMMU при работе не использует DMA трансляции гипервизора. Таким образом гипервизору не нужно обрабатывать запросы DMA, когда включен режим IOMMU. PCI pass-through и IOMMU работают совместно для обеспечения доступа гостевой ОС напрямую к физическому устройству.
Оригинал на английском языке
What is the difference between PCI pass-through and IOMMU pass-through? PCI pass-through model bypasses the hypervisor’s intervention to render the guest OS to take control of the physical device directly. IOMMU pass-through mode bypasses the DMA translation from the hypervisor. The hypervisor does not need to process DMA requests when IOMMU pass-through mode is enabled in Linux. PCI pass-through and IOMMU pass-through work collaboratively to enable the guest OS to have the direct control of the physical device.
Mediated-устройства
Вкладка Mediated-устройства позволяет подключить к ВМ mediated-устройства.
Для подключения устройства необходимо в окне управления mediated-устройствами нажать на кнопку Подключить mediated-устройства и далее в открывшемся окне Подключение mediated-устройств выбрать устройство, PCI-контроллер из раскрывающегося списка и задать настройки Display (вкл/выкл) и Ramfb (вкл/выкл). Далее необходимо подтвердить операцию, нажав кнопку OK.
В случае mediated-устройств NVidia для каждого типа устройств (исключая чисто вычислительные) производителем задаётся определённое ограничение частоты кадров (FRL -- Framerate Limit). Так сделано для того, чтобы равномерно распределять ресурсы GPU хоста между различными vGPU (mediated-устройствами). Этим ограничением можно управлять, войдя в окно свойств данного mediated-устройства. В строке FRL указано текущее состояние и имеется кнопка включения/выключения ограничения. Заданное кнопкой состояние FRL для данного mediated-устройства сохраняется и после перезагрузки узла.
NVIDIA GRID
Интерфейсы
Вкладка Интерфейсы позволяет управлять виртуальными сетевыми картами ВМ. В данной вкладке отображается список интерфейсов, включая для каждого из них виртуальную сеть, MAC-адрес, NIC-драйвер и статус.
Добавление интерфейса
Процесс добавления интерфейса аналогичен процессу создания ВМ. Для этого в окне управления интерфейсами ВМ необходимо нажать на кнопку Добавить виртуальный интерфейс. В открывшемся окне необходимо заполнить:
-
виртуальную сеть (выбор из раскрывающегося списка);
-
MAC-адрес (необязательный, в этом случае генерируется автоматически);
-
nic_driver (выбор из раскрывающегося списка: virtio, e1000, rtl8139, vmxnet3);
-
описание;
-
состояние линка (UP по умолчанию);
-
QoS (необязательный).
После заполнения полей необходимо подтвердить операцию, нажав кнопку Ок.
Примечание для e1000
Для ОС Windows драйвер e1000 эмулирует Intel и нативный и не требует доустановки драйверов, но не может на ходу применять изменения MTU. Рекомендуется после установки virtio драйверов в ВМ сменить на virtio.
Удаление интерфейса
Примечание для vmxnet3
Используется при импорте ВМ из VMWare.
Примечание для rtl8139
Эмуляция Realtek.
Удаление всех интерфейсов
Необходимо выбрать интерфейс, который необходимо удалить. Нажать кнопку Удалить и в открывшемся окне подтвердить операцию, нажав кнопку "Удалить".
Операции
При нажатии на существующий интерфейс в окне состояния доступны следующие операции:
-
обновление информации;
-
изменение параметров. Для этого необходимо нажать кнопку Изменение параметров и в открывшемся окне выбрать из раскрывающегося списка виртуальную сеть, состояние линка, МАС-адрес, QoS. Далее необходимо подтвердить операцию, нажав Ок;
-
удаление. Для этого необходимо нажать кнопку Удалить и в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Удалить.
Информация
Также в окне состояния интерфейса содержатся следующие сведения:
-
название;
-
описание (редактируемый параметр);
-
виртуальная сеть;
-
виртуальная машина;
-
MAC-адрес;
-
Nic_driver;
-
cостояние линка;
-
раскрывающийся список параметра QoS
-
сообщения о работе виртуального диска с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
VLAN
При необходимости использования VLAN для ВМ следует создать на коммутаторе группу интерфейсов и назначить ей целевой VLAN-тег. При необходимости использовать несколько VLAN-тегов следует создать для каждого из них свою группу. Внутренняя организация виртуальных интерфейсов не позволяет назначить несколько VLAN-тегов интерфейсу внутри ОС ВМ.
Настройка параметра QoS
При необходимости установки ограничения скорости передачи трафика следует выбрать нужный интерфейс. Текущие значения параметра QoS отображены в раскрывающемся списке. Далее нажать Изменение параметров, активировать переключатель QoS. Установить значения атрибутов для нужного направления трафика, применить настройки, нажав кнопку ОК.
Описание атрибутов параметра QoS
- average - устанавливает значение средней скорости передачи данных в килобайтах в секунду. Обязательный атрибут.
- peak - устанавливает максимальную скорость в килобайтах в секунду, с которой данные могут передаваться. Значение атрибута не может быть меньше значения атрибута average. Необязательный атрибут.
- burst - количество килобайт, которое может быть передано одним пакетом на максимальной скорости. Необязательный атрибут.
Входящий и исходящий трафик обрабатываются независимо правилами inbound и outbound. Правила inbound и outbound имеют обязательный атрибут - average.
Контроллеры
Вкладка Контроллеры позволяет управлять подключенными к ВМ контроллерами.
В окне управления контроллерами содержится информация о контроллерах по группам:
-
тип контроллера:
-
тип;
-
количество;
-
свободные слоты;
-
-
все контроллеры:
-
тип;
-
модель;
-
действие — возможность удаления контроллера по кнопке Удалить.
-
Также в данном окне имеется возможность обновления информации и добавления/удаления контроллера. При нажатии кнопки Добавить контроллер в открывшемся окне необходимо выбрать из раскрывающегося списка тип контроллера и подтвердить операцию, нажав кнопку ОК. Это необходимо в случаях, если виртуальные контроллеры, предоставляемые ВМ гипервизором, не работают в ОС, установленной на ВМ.
Шины, к которым возможен hot plug устройств
-
pci
-
scsi
Авто добавление контроллеров
Если добавляются устройства, и для них не хватает свободных слотов, то гипервизор сам добавляет хаб в контроллер в соответствующий контроллер и новые устройства добавляются в него. SpaceVM автоматом добавляет контроллеры в базу ВМ, и после перезагрузки ВМ её фактическая конфигурация будет соответствовать базе.
USB и PCI контроллеры
При изменении контроллеров USB и PCI все примонтированные USB и PCI устройства убираются и выставляется порядок контроллеров.
Расчет слотов и контроллеров чипсета PC
-
IDE - всегда 1 контроллер, добавить/удалить нельзя, 4 слота на контроллер.
Занимают слоты:
-
cd-rom;
-
виртуальные диски и LUN, подключенные по ide.
-
-
PCI - по умолчанию 2 контроллера: pci-root и pci-bridge, 31 слот на каждом (в сумме 62).
Занимают слоты:
-
каждый контроллер ЛЮБОГО типа, кроме pci-root;
-
виртуальные диски и LUN, подключенные по virtio;
-
сетевые интерфейсы и функции;
-
pci и mediated устройства;
-
звуковая карта при наличии (по умолчанию есть);
-
видеокарта при наличии (по умолчанию есть);
-
balloon устройство при выключенном безопасном режиме (по умолчанию);
-
virtio-serial контроллер (всегда есть).
-
-
USB - по умолчанию 1 контроллер: nec-xhci (USB3.0), 4 слота на контроллер.
Занимают слоты:
-
usb устройства;
-
usb tcp каналы;
-
spice usb каналы.
-
-
SATA - по умолчанию 1 контроллер, 6 слотов на контроллер.
Занимают слоты:
- виртуальные диски и LUN, подключенные по sata.
-
SCSI - по умолчанию 0 контроллеров, 6 слотов на контроллер.
Занимают слоты:
- виртуальные диски и LUN, подключенные по scsi.
Итого:
- на шине IDE максимум 4 диска (если удалить cd-rom);
- на шине PCI проверено подключение 256 дисков;
- на шине SATA проверено подключение 256 дисков;
- на шине SCSI проверено подключение 256 дисков.
Расчет слотов и контроллеров чипсета Q35
-
IDE - всегда 0 контроллеров, добавить нельзя.
-
PCI - по умолчанию 2 контроллера: pci-root и pci-bridge, 31 слот на каждом (в сумме 62).
Занимают слоты:
-
каждый контроллер ЛЮБОГО типа, кроме pci-root;
-
виртуальные диски и LUN, подключенные по virtio;
-
сетевые интерфейсы и функции;
-
pci и mediated устройства;
-
звуковая карта при наличии (по умолчанию есть);
-
видеокарта при наличии (по умолчанию есть);
-
balloon устройство при выключенном безопасном режиме (по умолчанию);
-
virtio-serial контроллер (всегда есть).
-
-
USB - по умолчанию 1 контроллер: nec-xhci (USB3.0), 4 слота на контроллер.
Занимают слоты:
-
usb устройства;
-
usb tcp каналы;
-
spice usb каналы.
-
-
SATA - по умолчанию 1 контроллер, 6 слотов на контроллер.
Занимают слоты:
-
cd-rom;
-
виртуальные диски и LUN, подключенные по sata.
-
-
SCSI - по умолчанию 0 контроллеров, 6 слотов на контроллер.
Занимают слоты:
- виртуальные диски и LUN, подключенные по scsi.
Итого:
- на шине IDE нет дисков;
- на шине PCI проверено подключение 210 дисков;
- на шине SATA проверено подключение 256 дисков;
- на шине SCSI проверено подключение 256 дисков.
Отличие чипсетов PC и Q35
- в Q35 нет ide, поэтому cd-rom в PC монтируются по ide, в Q35 монтируются по sata.
LUNs
В окне Виртуальные машины – <имя ВМ> – LUN имеется возможность подключить блочное устройство (LUN) с iSCSI target или оптическую сеть блочного доступа (FC) напрямую к ВМ в качестве диска ВМ (НЖМД). Необходимо учитывать, что при потере связи ОС ВМ будет реагировать аналогично аварийному извлечению НЖМД.
Для подключения LUN необходимо в окне управления LUN нажать кнопку Присоединить и в открывшемся окне выбрать из раскрывающегося списка блочное хранилище, LUN, тип шины («virtio», «ide», «scsi» или «sata»), тип кэширования («default», «none», «writethrough», «writeback», «directsync» или «unsafe»). В расширенных опциях можно включить настройку "Режим мульти использования LUN несколькими ВМ". В опциях I/O из раскрывающегося списка выбрать опцию ("io_uring", "native", "threads"). Далее подтвердить операцию, нажав кнопку OK.
Также в окне управления LUN имеется возможность обновления информации по кнопке и выбора устройства с применением фильтра по кнопке .
Информация
Также в окне состояния LUNs содержатся следующие сведения:
- путь;
- серийный номер;
- ВМ;
- хранилище;
- тип ФС;
- размер;
- приоритет;
- статус.
Ended: Управление аппаратной частью
Выгрузка статистики ВМ
Выгрузка статистики выполняется путем выбора одной или группы ВМ в списке машин пункта основного меню Виртуальные машины. Выбор ВМ приведет к дополнению горизонтального динамического меню над списком ВМ. Одним из добавленных элементов будет кнопка Выгрузка статистики ВМ .
По нажатию кнопки Выгрузка статистики ВМ открывается дополнительное меню, позволяющее выбрать временной промежуток, за который требуется выгрузить статистику. Выбрав требуемые даты, оператор получает возможность выбрать шаг в секундах с целью детализации получаемой информации по ВМ. После определения диапазона дат и шага необходимо произвести отправку, путем нажатия кнопки ОК. В результате браузером будет загружен документ в формате xlsx содержащий страницу Агрегация с общей информацией по всем выбранным ВМ и страницы Хронология отдельно по каждой из ВМ.
События
- Во вкладке События отображается список последних событий для данной ВМ по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Задачи по расписанию
В окне Виртуальные машины – <имя ВМ> – Задачи по расписанию отображается список задач, запланированных на данной ВМ, включая для каждой из них её название, тип сущности, действие, дата и время последнего запуска, статус последнего запуска, дату и время следующего запуска. Также в данном окне имеется возможность обновления списка по кнопке и добавления задачи.
Для создания задачи по расписанию необходимо нажать кнопку Добавить. В открывшемся окне заполнить следующие поля:
-
название задачи;
-
действие (start, shutdown, destroy, suspend, reboot, reset, migrate, clone, snapshot, backup, remove, merge_snapshots, replication_sync, cpu_warning, mem_warning);
-
периодичность выполнения (выбор из раскрывающегося списка);
-
дата и время запуска;
-
описание;
Действие - backup
Для задачи создания резервной копии (backup_os) можно выбрать пул данных, на котором будет создана резервная копия (если не выбран, то это базовый пул данных узла). Надо учитывать, что пул данных должен быть доступен на данном узле при создании задачи и её выполнении.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
При нажатии на название задачи открывается окно состояния задачи, в котором предусмотрены следующие операции с выбранной задачей:
- обновить информацию о задаче кнопкой ;
- запустить. Позволяет инициировать запуск задачу при нажатии кнопки Запуск
- удалить задачу. При нажатии кнопки Удалить в открывшемся окне необходимо подтвердить операцию, нажав кнопку Да.
- изменить. При нажатии кнопки Изменить в новом окне имеется возможность изменения названия задачи, описания, периодичности, времени первого старта задачи.
В окне подробной информации о задаче содержится следующая информация:
-
название;
-
описание;
-
сущность (раскрывающийся список с данными тип сущности, имя и id);
-
периодичность;
-
действие;
-
время первого старта задачи;
-
удалить задачу после запуска;
-
время следующего старта задачи;
-
время последнего старта задачи;
-
статус последнего запуска задачи;
-
дата и время создания задачи;
-
дата и время изменения задачи;
-
сообщение об ошибке;
-
сообщения истории жизненного цикла задачи с возможностью их сортировки по признакам — По всем типам, Ошибки, Предупреждения, Информационные.
Теги
В окне Виртуальные машины – <имя ВМ> – Теги отображается список назначенных виртуальной машине меток. Также имеется возможность создания, удаления, обновления, назначения и отмены тега.
Более подробная информация описана здесь.
Ended: Виртуальные машины
Хранилища ↵
Хранилища
Хранилища предназначены для размещения виртуальных дисков ВМ, их резервных копий и шаблонов, выделения разделов дисков для подключения в виртуальные машины (с помощью LVM), загрузку образов CD/DVD и других файлов. Управление хранением файлов и разделами дисков производится в интерфейсе управления SpaceVM в разделе Хранилища - Пулы данных основного меню.
Управление хранилищами
-
В SpaceVM предусмотрено 10 типов объектов управления хранилищами:
-
Пулы данных.
-
Диски.
-
Образы ISO.
-
Файлы.
-
LUN.
-
ZFS.
-
Сетевые хранилища (файловые и блочные).
-
Кластерные хранилища (транспорты и тома).
-
ISCSI сервер (ISCSI storage и ISCSI target)
-
Для управления хранилищами необходимо перейти в раздел Хранилища основного меню и выбрать тип хранилища.
Общая информация
Пулы данных - это объекты уровня подключения хранилища к физическому серверу.
Типы пулов данных (10 видов)
Название | Тип | Документация | Поддержка тонких клонов | Особенности | Ограничения |
---|---|---|---|---|---|
local | файловый, локальный | Локальные пулы | + | размер блока 4096 байт | доступность на 1 узле |
zfs | файловый, локальный | ZFS пулы | + | снимки памяти zfs, размер блока 8192 байт, размер записи 131072 байт | доступность на 1 узле |
nfs | файловый, сетевой | Файловые хранилища | + | - | - |
gluster | файловый, распределённый (гиперконвергентный) | Кластерные транспорты | + | размер блока 8192 байт, размер записи 8192-1048576 байт | минимум 2 сервера |
gfs2 | файловый, сетевой | Кластерные транспорты | + | размер блока 4096 байт | минимум 2 сервера, крайне желательно наличие ipmi у каждого сервера перед созданием |
glusterfs | файловый, сетевой | Файловые хранилища | + | - | - |
cifs | файловый, сетевой | Файловые хранилища | + | - | - |
lvm | блочный, локальный | LVM пулы данных | - | - | нельзя хранить образы и файлы, а также делать снимки ВМ (то есть создавать тонкие клоны) |
thinlvm | блочный, локальный | LVM пулы данных | - | - | нельзя хранить образы и файлы, а также делать снимки ВМ (то есть создавать тонкие клоны) |
lvm_shared | блочный, сетевой | LVM пулы данных | - | - | нельзя хранить образы и файлы, а также делать снимки ВМ (то есть создавать тонкие клоны) |
outside | файловый, сетевой | Внешние пулы данных | - | только на чтение, создается поверх nfs, cifs, glusterfs сетевого хранилища | нельзя ничего создавать |
Примеры выбора типа пулов данных под инфраструктуру
-
1 и более серверов, локальные диски/iSCSI(FC) LUNs, общий пул не нужен: zfs.
-
1 и более серверов, сетевые файловые хранилища: nfs.
-
2 и более серверов, гиперконвергенция, локальные диски/много iSCSI(FC) LUNs, нужен общий пул: gluster.
-
2 и более серверов, один или несколько iSCSI(FC) LUN, нужен общий пул: gfs2.
-
1 и более серверов, много iSCSI(FC) LUNs, общий пул не нужен, но нужна живая миграция: выдать LUN напрямую ВМ.
-
VDI, только файловые пулы.
Структура пулов данных типа файловый
-
Метафайл с информацией о пуле:
[Абсолютный путь к пулу]/datapool-[id пула].meta
. -
Каталог для heartbeat файлов, создаваемых каждым узлом, на котором есть этот пул:
[Абсолютный путь к пулу]/_HEARTBEAT/
. -
Каталог для файлов:
[Абсолютный путь к пулу]/_LIBRARY/
. -
Каталог для образов:
[Абсолютный путь к пулу]/_ISO/
. -
Виртуальные диски и снимки лежат в корне абсолютного пути пула. Для виртуальных дисков рядом с ними создаются meta файлы с информацией о дисках.
ZFS
У пула данных типа zfs виртуальные диски лежат в подкаталогах, являющихся одновременно zfs dataset.
Пулы данных
Общая информация
В разделе Хранилища - Пулы данных основного меню доступны следующие операции с пулами:
-
создание пула. Для этого необходимо нажать кнопку Добавить пул и в открывшемся окне заполнить следующие поля:
-
название пула данных;
-
тип пула данных (выбор из раскрывающегося списка);
-
параметры в зависимости от выбранного типа;
-
описание, если требуется.
Для подтверждения операции необходимо нажать кнопку ОК. После регистрации пул появится в списке.
-
В пуле можно размещать виртуальные диски, образы ISO и другие файлы, если это возможно.
Примечание
Для блочных пулов LVM действует ограничение на размещение образов ISO и файлов, так как преобразование их в логический диск неэффективно.
Операции
Переход в окно состояния пула происходит с помощью нажатия на его название. В окне параметров пула доступны следующие операции:
-
извлечение пула. При нажатии кнопки Извлечь в открывшемся окне необходимо подтвердить операцию, нажав кнопку ОК;
Извлечение пула данных
После данной операции произойдет удаление пула данных из кластера с сохранением информации.
-
очистка пула. При нажатии кнопки Очистить в открывшемся окне следует определить необходимость принудительной очистки, после чего подтвердить операцию, нажав кнопку ОК;
-
удалить несвязанные файлы снимков дисков и памяти с расширением .snapshot и .memory. При нажатии кнопки Очистить несвязанные снимки дисков и памяти необходимо подтвердить операцию, нажав кнопку ОК;
-
удаление пула. При нажатии кнопки Удалить необходимо подтвердить операцию, нажав на кнопку ОК;
-
сканирование пула. При нажатии кнопки Сканировать произойдет сканирование дисков, файлов и образов.
Внимание
Если пул данных перешел в статус FAILED, то удаление будет произведено форсированно, то есть из базы.
Информация о пуле разделена на группы:
-
Информация.
-
Диски.
-
Образы.
-
Файлы.
-
События.
-
Задачи.
-
Теги.
Информация
В окне Хранилища – Пулы данных – <имя пула данных> – Информация содержатся следующие сведения о пуле данных:
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
тип;
-
абсолютный путь расположения в файловой системе сервера;
-
объем дискового пространства (всего, занято, свободно);
-
приоритет (редактируемый параметр);
-
серверы размещения пула данных (раскрывающийся список). Список для локальных пулов содержит только одну запись. Для пула данных, зарегистрированного на сетевом хранилище, данный пункт будет содержать список серверов, к которым подключено сетевое хранилище;
-
статус;
-
дата и время создания;
-
дата и время изменения.
Диски
В окне Хранилища – Пулы данных – <имя пула данных> – Диски отображены все виртуальные диски, расположенные в данном пуле данных, в табличном виде, включая для каждого их них название, подключение к ВМ, размер и статус. Также в окне управления дисками доступны следующие операции:
-
обновление информации;
-
создание нового диска. При нажатии кнопки Создать в открывшемся окне необходимо заполнить название, описание и размер виртуального диска, предварительное выделение места, после чего подтвердить операцию, нажав кнопку ОК;
-
сканирование пула. Выполняется нажатием кнопки Сканировать. Система сканирования регистрирует новые диски только в том случае, если структура их наименования совпадает с принятой в системе управления SpaceVM. Если виртуальный диск, загружаемый в пул данных имеет имя, отличное от принятого формата, то рекомендуется перейти во вкладку Файлы окна управления пулом данных.
Для получения информации о диске необходимо нажать на название диска. Подробное описание смотрите в разделе Виртуальные диски.
Образы
В окне Хранилища – Пулы данных – <имя пула данных> – Образы отображены все образы ISO, расположенные в данном пуле данных. Также в окне управления образами доступны следующие операции:
-
обновление информации;
-
загрузка образа из файловой системы. При нажатии кнопки Загрузить из файловой системы открывается стандартное окно загрузки файлов, где необходимо открыть папку (директорию) хранения образов CD/DVD-дисков, выбрать нужный образ и нажать кнопку Открыть;
-
загрузка образа по url. При нажатии кнопки Загрузить по url в открывшемся окне необходимо ввести местонахождение образа диска в сети Интернет, после чего подтвердить операцию, нажав кнопку ОК;
-
сканирование списка образов ISO. Выполняется нажатием кнопки Сканировать. Данная операция необходима в тех случаях, когда пользователь загружал образы не через Web-интерфейс, а напрямую в пул данных. После такой загрузки у пула данных должно появиться предупреждение, что появились неопознанные образы. После сканирования и обнаружения образов предупреждение исчезнет.
Для получения информации об образе необходимо нажать на название диска. Подробное описание смотрите в разделе Образы.
Файлы
В окне Хранилища – Пулы данных – <имя пула данных> – Файлы отображены все файлы, расположенные в данном хранилище. Также в окне управления файлами доступны следующие операции:
-
обновление информации;
-
загрузка файла из файловой системы. При нажатии кнопки Загрузить из файловой системы открывается стандартное окно загрузки файлов, где необходимо открыть папку (директорию) хранения файлов, выбрать нужный файл и нажать кнопку Открыть. Допустимые форматы файлов смотрите в разделе Форматы;
-
загрузка файла по url. При нажатии кнопки Загрузить по url в открывшемся окне необходимо ввести местонахождение файла в сети Интернет, после чего подтвердить операцию, нажав кнопку ОК;
-
сканирование. Выполняется нажатием кнопки Сканировать. Данная операция необходима в тех случаях, когда пользователь загружал файлы не через Web-интерфейс, а напрямую в пул данных. После такой загрузки у пула данных должно появиться предупреждение, что появились неопознанные файлы. После сканирования и обнаружения файлов предупреждение исчезнет.
Все операции с файлами аналогичны операциям с образами ISO - скопировать, скачать, удалить или перенести в другой пул данных. Для файлов формата vmdk, qcow2, qcow, raw, img, bin (форматы дисков) будет доступна кнопка импорта или конвертации.
Для получения информации о файле необходимо нажать на название файла. Подробное описание смотрите в разделе Файлы.
События
В окне Хранилища – Пулы данных – <имя пула данных> – События отображаются зарегистрированные в системе события, связанные с работой выбранного хранилища, с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Теги
В окне Хранилища – Пулы данных – <имя пула данных> – Теги можно установить тег (метку) на выбранное хранилище.
Приоритет
Используется для базовой сортировки пулов данных, начиная от наибольшего приоритета. При сканировании хранилищ контроллера одной из подзадач является сбор статистики всех пулов данных через утилиту ioping. Приоритет автоматически назначается исходя из значения iops. Также возможно его ручное редактирование. Пулы данных сортируются по приоритету, начиная с наивысшего.
LVM пулы данных
Для локальных пулов данных типа lvm, lvm_shared и thinlvm не предусмотрена возможность размещения образов ISO и файлов и монтирование в файловую систему сервера. В этом случае физический накопитель сервера (раздел, диск или RAID-массив) используется как блочное устройство, и создаваемые в нем логические диски подключаются к ВМ напрямую. Это позволяет предоставить ВМ диски с высокой производительностью, но уменьшает её гибкость и мобильность. Для такой ВМ перенос на другой сервер кластера возможен только после конвертации её дисков в файл формата qcow2 с последующим копированием в целевое хранилище.
Отличие типа thinlvm от lvm в том, что lvm размещает логические разделы классическим способом, а thinlvm (тонкий) заполняет пространство диска по факту записи информации. Такая методика позволяет выделить дискового пространства больше, чем есть, но опасна возможностью переполнения дискового пространства.
lvm_shared предназначен для использования блочного устройства LUN, представленного серверу по протоколу iSCSI или FC. В этом случае LUN размечается как локальное LVM-хранилище и переходит в монопольное использование одним из серверов. Предоставление монопольного доступа осуществляется по первому обращению к хранилищу. Остальные серверы сохраняют доступ к хранилищу, но при попытке обращения будут ждать своей очереди. Не рекомендуется подключать lvm_shared на нескольких серверах одновременно, так как при опросе состояния хранилища другим сервером все ВМ на основном сервере "замрут". В соответствии с этим ограничением для shared LVM является невозможным живая миграция ВМ. При этом выключенная ВМ мигрирует без проблем. Таким образом, lvm_shared можно использовать как локальное хранилище сетевого размещения.
Восстановление групп томов после сбоев
-
Список копий метаданных до выполнения команд можно увидеть с помощью просмотра содержимого каталога
/etc/lvm/archive
. -
Список копий метаданных после выполнения команд можно увидеть:
- с помощью просмотра содержимого каталога
/etc/lvm/backup
; - с помощью команды
vgcfgrestore
. Примерvgcfgrestore --list [VG_name]
.
- с помощью просмотра содержимого каталога
-
Восстановление метаданных возможно также с помощью команды
vgcfgrestore
. Пример:vgcfgrestore -f /etc/lvm/archive/appvg_00_00000-123456.vg appvg
.
Примечание
Восстанавливаются только метаданные групп томов. Если данные уже были удалены с диска, то необходимо использовать другие методы.
Внешние пулы данных (outside)
-
Внешние пулы данных не создают новые данные и не изменяют файловые системы. Его предназначение — просмотр и копирование данных со сторонних ресурсов. Для этого используются сетевые файловые хранилища, и желательно их подключать в режиме только на чтение, чтобы не иметь возможности повлиять на целостность внешних данных. При создании пула данных на нём не создаются дополнительные директории и файлы, даже если сетевая файловая система подключена в режиме записи, так как он не подразумевает каких либо изменений на ней. По этой причине на основной панели этого пула данных нет кнопок Очистить и Удалить, и на боковой панели вкладок нет Диски, Образы и Файлы, зато присутствуют на основной панели кнопка Сканировать, а на боковой панели вкладка Структура. После нажатия Сканировать на вкладке Структура отображается древовидная файловая структура с директориями и файлами, включая iso образы.
-
У файлов Структура при открытии отсутствует кнопка Удалить, и Копировать отсутствует выбор пула данных этого типа. У образов дисков Импортировать, а также у файлов из которых можно восстановить ВМ, и где предлагается выбор пула данных также отсутствует возможность выбрать этот тип пула данных.
-
Путь до внешнего пула данных совпадает с путем до подключенного файлового сетевого хранилища, по этой причине у хранилища используемого outside пулом данных не может быть других пулов данных.
Операции с виртуальными дисками
Описание
- Виртуальные диски — основные средства хранения данных ВМ. При этом это самостоятельный объект системы.
Серийный номер
Серийный номер диска, который увидит ВМ, является первыми 20 символами id диска из базы данных контроллера.
Создание
- Создание нового, несвязанного виртуального диска, описано в Создание диска. Создание связанного с ВМ диска происходит на этапе создания самой ВМ и полностью повторяет ранее описанный процесс.
Подключение диска
- Подключение диска к ВМ производится в интерфейсе управления ВМ и описана в Подключение диска.
Копирование
- Скопировать диск в другой пул данных можно в окне информации о состоянии диска с помощью кнопки Копировать в верхней части этого окна.
Перенос
-
Перенос диск на другой пул данных можно в окне информации о состоянии диска с помощью кнопки Перенос диска в верхней части этого окна.
-
Перенос данных диска на LUN можно в окне информации о состоянии диска с помощью кнопки Перенос диска в верхней части этого окна c выбором нужного LUN.
Скачивание
- Скачать диск к себе на устройство можно в окне информации о состоянии диска с помощью кнопки Скачать в верхней части этого окна.
Проверка
- Проверить диск (с возможностью починки) можно в окне информации о состоянии диска с помощью кнопки Проверка диска в верхней части этого окна. Операция доступна только для дисков, находящимся на файловых пулах данных.
Разрежение
-
Разрежение (уменьшение размера диска) диска возможно с помощью кнопки Разрежение в верхней части этого окна. Операция доступна только для дисков, находящимся на файловых пулах данных. Если диск примонтирован к ВМ, то она должна быть выключена.
-
Разрежение может сделать диск виртуальной машины (или любой образ диска) разреженным, т. е. тонким. Это означает, что свободное пространство в диске может быть преобразовано обратно в свободное пространство на узле.
-
Разрежение может находить и разрежать свободное пространство в большинстве файловых систем (например, ext⅔/4, btrfs, NTFS и т. Д.), а также в физических томах LVM.
Note
Разрежение действует только на дисках, содержащих файловые системы. К примеру, если создать qcow2 файл с предварительным распределением места, а затем сразу применить на нём разрежение, то никакого уменьшения занимаемого файлом места не произойдёт. Но если создать там раздел, файловую систему на нём и применить разрежение, то занимаемое файлом место уменьшится.
- Ниже показан пример работы разрежения. Обратите внимание на изменения disk size:
[root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./ Filesystem Size Used Avail Use% Mounted on /dev/mapper/sys_vg01-local_storage 15G 2.6G 12G 19% /storages/local [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 file format: qcow2 virtual size: 15 GiB (16106127360 bytes) disk size: 2.5 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-nbd -c /dev/nbd0 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# mount /dev/nbd0p1 ./1/ [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# dd if=/dev/urandom of=./1/tmp.img bs=1M count=2024 2024+0 records in 2024+0 records out 2122317824 bytes (2.1 GB, 2.0 GiB) copied, 95.7747 s, 22.2 MB/s [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# sync [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# umount ./1 [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-nbd -d /dev/nbd0 /dev/nbd0 disconnected [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./ Filesystem Size Used Avail Use% Mounted on /dev/mapper/sys_vg01-local_storage 15G 4.6G 9.4G 33% /storages/local [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 file format: qcow2 virtual size: 15 GiB (16106127360 bytes) disk size: 4.47 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# virt-sparsify --format qcow2 --in-place 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 [ 3.0] Trimming /dev/sda1 [ 3.8] Sparsify in-place operation completed with no errors [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# sync [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# rm ./1/tmp.img [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# umount ./1 [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-nbd -d /dev/nbd0 /dev/nbd0 disconnected [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./ Filesystem Size Used Avail Use% Mounted on /dev/mapper/sys_vg01-local_storage 15G 4.6G 9.4G 33% /storages/local [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 file format: qcow2 virtual size: 15 GiB (16106127360 bytes) disk size: 4.47 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# virt-sparsify --format qcow2 --in-place 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 [ 2.8] Trimming /dev/sda1 [ 3.9] Sparsify in-place operation completed with no errors [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# df -h ./ Filesystem Size Used Avail Use% Mounted on /dev/mapper/sys_vg01-local_storage 15G 2.6G 12G 19% /storages/local [root@a0d97eae-3597-4d5b-bb0f-6b8dc8cc7e97 default]# qemu-img info 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 image: 06b4f262-4639-475d-8c6b-ef7ca38473e7.qcow2 file format: qcow2 virtual size: 15 GiB (16106127360 bytes) disk size: 2.49 GiB cluster_size: 65536 Format specific information: compat: 1.1 compression type: zlib lazy refcounts: false refcount bits: 16 corrupt: false extended l2: false
Настройка I/O
- Настроить I/O диска можно в окне информации о состоянии диска с помощью кнопки Настройки I/O в верхней части этого окна.
Параметр | Описание |
---|---|
total_bytes_sec | Общий предел пропускной способности в байтах в секунду. Не может использоваться с read_bytes_sec или write_bytes_sec. |
read_bytes_sec | Предел пропускной способности чтения в байтах в секунду. |
write_bytes_sec | Предел пропускной способности записи в байтах в секунду. |
total_iops_sec | Общее количество операций ввода-вывода в секунду. Не может использоваться с read_iops_sec или write_iops_sec. |
read_iops_sec | Количество операций чтения в секунду. |
write_iops_sec | Количество операций записи в секунду. |
total_bytes_sec_max | Общий предел пропускной способности в период высокой загрузки в байтах в секунду. Не может использоваться с read_bytes_sec_max или write_bytes_sec_max. |
read_bytes_sec_max | Предел пропускной способности чтения в период высокой загрузки в байтах в секунду. |
write_bytes_sec_max | Предел пропускной способности записи в период высокой загрузки в байтах в секунду. |
total_iops_sec_max | Общее количество операций ввода-вывода в период высокой загрузки в секунду. Не может использоваться с read_iops_sec_max или write_iops_sec_max. |
read_iops_sec_max | Количество операций чтения в период высокой загрузки в секунду. |
write_iops_sec_max | Количество операций записи в период высокой загрузки в секунду. |
size_iops_sec | Размер операций ввода-вывода в секунду. |
total_bytes_sec_max_length | Продолжительность в секундах для периода высокой загрузки total_bytes_sec_max. Действителен только при установленном параметре total_bytes_sec_max. |
read_bytes_sec_max_length | Продолжительность в секундах для периода высокой загрузки read_bytes_sec_max. Действителен только при установленном параметре read_bytes_sec_max. |
write_bytes_sec_max_length | Продолжительность в секундах для периода высокой загрузки write_bytes_sec_max. Действителен только при установленном параметре write_bytes_sec_max. |
total_iops_sec_max_length | Продолжительность в секундах для периода высокой загрузки total_iops_sec_max. Действителен только при установленном параметре total_iops_sec_max. |
read_iops_sec_max_length | Продолжительность в секундах для периода высокой загрузки read_iops_sec_max. Действителен только при установленном параметре read_iops_sec_max. |
write_iops_sec_max_length | Продолжительность в секундах для периода высокой загрузки write_iops_sec_max. Действителен только при установленном параметре write_iops_sec_max. |
Конвертирование
- Конвертирование виртуального диска в форматы vmdk (ESXI), vhd (HyperV), vdi (VirtualBox) можно в окне информации с помощью кнопки Конвертировать в верхней части этого окна.
Удаление
- Удалить диск можно вместе с удаляемой ВМ или в окне информации о состоянии диска с помощью кнопки Удалить.
Информация
-
Также в окне состояния виртуального диска содержится следующая информация:
-
виджет используемого места с возможностью обновления;
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
подключение к ВМ;
-
пул данных;
-
виртуальная машина;
-
размер виртуального диска с возможностью увеличения по кнопке
-
расположение;
-
тип шины;
-
SSD эмуляция;
-
тип кэширования;
-
тип драйвера;
-
имя назначения;
-
доступность только чтения ВМ (readonly, редактируемый параметр);
-
дата и время создания;
-
сообщения о работе виртуального диска с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
-
Расширение
Размер виртуального диска с возможностью увеличения по кнопке
Если диск уже подключен к ВМ и она включена, то после расширения необходимо использовать средства управления дисками внутри ВМ для использования нового места на устройстве.
Примечание
Рекомендуется использовать шину диска virtio вкупе с установленными драйверами в ВМ.
Перед расширением виртуального диска необходимо учитывать количество физического места, которое должно соответствовать размеру уже имеющегося диска и места для расширения.
Например, виртуальный диск 12Гб, необходимо расширить диск до 15Гб. Физически необходимо 15Гб доступных на пуле данных для расширения. После завершения задачи расширения служебное пространство освободится.
Режим мультииспользования диска несколькими ВМ
Требования: Блочные пулы данных (lvm, thin_lvm, shared_lvm).
При добавлении диска необходимо в расширенных опциях включить опцию "Режим мульти использования диска несколькими ВМ". Кластерная файловая система с блокировками обеспечивается ПО внутри ВМ (например, в Windows Server 2019).
SSD эмуляция
Требования: Тип шины любой, кроме virtio.
При включенной эмуляции SSD показано наличие вращающего механизма у виртуального диска:
Опции I/O
Варианты: io_uring, threads, native.
Для пулов данных типа директория по умолчанию ставится тип io_uring, для блочных типов threads.
Операции с образами CD/DVD
Описание и операции
-
ISO-образы CD/DVD предназначены для установки ОС и ПО на виртуальные машины. Подключение к ВМ осуществляется в окне управления ВМ.
-
Создание (загрузка) нового ISO-образа CD/DVD-диска Загрузка образа.
-
Подключение ISO-образа к ВМ производится в интерфейсе управления ВМ Создание ВМ.
-
Скопировать образ в другой пул данных можно в окне информации о состоянии образа с помощью кнопки Копировать в верхней части окна информации.
-
Перенести образ в другой пул данных можно в окне информации о состоянии образа с помощью кнопки Перенести в верхней части окна информации.
-
Удалить ISO-образ диска можно с помощью кнопки Удалить в верхней части окна информации.
-
Скачать образ с помощью кнопки Скачать в верхней части окна информации.
-
Информация о том, к какому количеству ВМ подключен образ ISO, отображается в графе Подключения списка образов.
Групповые операции
-
Удаление;
-
Копирование;
-
Перенос.
Подключение ISO-образа
Для подключения ISO-образа необходимо:
-
нажать на название диска доступного для монтирования;
-
в открывшемся окне необходимо нажать кнопку Монтировать образ;
-
в окне монтирования необходимо выбрать из раскрывающегося списка тип хранилища, хранилище и ISO-образ;
Если в списке нет доступных для монтирования образов, необходимо удостовериться, что образы расположены на выбранном пуле;
Загрузка образа
Загрузка из файловой системы
При нажатии кнопки Загрузить образ из файловой системы открывается окно проводника ОС (файлового менеджера) компьютера пользователя, где необходимо открыть папку (директорию) хранения образов CD/DVD-дисков, выбрать нужный образ и нажать кнопку Открыть.
Загрузка по url
При нажатии кнопки Загрузить по url открывается окно с полем url, где необходимо вписать url и нажать кнопку ОК.
Примечание
При использовании доменных имён не забудьте проверить их доступность с контроллера перед началом загрузки.
Файлы
Информация
Также в окне состояния содержится следующая информация о файле:
-
название;
-
расположение файла;
-
пул данных;
-
описание;
-
хеш-сумма файла;
-
размер файла;
-
дата и время создания;
-
дата и время изменения;
-
сообщения о работе с файлами с возможностью их сортировки по признакам - «По всем типам», «Ошибки», «Предупреждения», «Информационные».
Групповые операции
-
удаление;
-
копирование;
-
перенос.
Общие операции
При нажатии на название файла в открывшемся окне доступны следующие базовые операции:
-
обновление информации;
-
копирование. При нажатии кнопки Копировать в открывшемся окне необходимо выбрать из раскрывающегося списка пул данных, после чего нажать кнопку ОК;
-
перенос. При нажатии кнопки Перенести в открывшемся окне необходимо выбрать из раскрывающегося списка пул данных, после чего нажать кнопку ОК;
-
скачивание. Выполняется автоматически при нажатии кнопки Скачать;
-
удаление. При нажатии кнопки Удалить в открывшемся окне необходимо подтвердить операцию, нажав на кнопку ОК;
Для разных типов файлов операции различаются, расширяя базовые операции. <!-- При нажатии на кнопку Фильтр в открывшемся окне доступны следующие операции:
-
фильтр по дате. Можно выбрать файлы, которые были созданы:
- раньше указанной даты;
- после указанной даты;
- между указанными датами включительно;
-
фильтр по типу расширения файла;
- Можно выбрать одно или несколько типов расширения файла для отображения;
-
фильтр по названию файла;
- Можно отобразить файлы, содержащих в своем названии заданные символы;
Операции с образами дисков
Для образов дисков доступна операция импорта файлов. При нажатии кнопки Импортировать в открывшемся окне следует определить необходимость удаления файла по завершении импорта, заполнить название, после чего подтвердить операцию, нажав кнопку Импортировать. По умолчанию переключатель удаления оригинального файла после завершения операции находится в положении выключено. По завершении операции оригинальный файл сохраняется в разделе Файлы текущего хранилища.
Операции с профилями узлов
Для образов профиля узла доступны следующие операции:
-
отмена профиля. При нажатии кнопки Отвязать в открывшемся окне необходимо выбрать из раскрывающегося списка сервер, к которому подключен профиль, нажать кнопку ОК;
-
применение профиля. При нажатии кнопки Привязать в открывшемся окне необходимо выбрать из раскрывающегося списка сервер, нажать кнопку ОК;
-
открытие конфигурации файла профиля. При нажатии кнопки Конфигурация файла профиля в открывшемся окне отображается сохраненная в профиле информация от узла.
Операции с резервными копиями ВМ
Для резервных копий ВМ доступны следующие операции:
-
обновление информации о резервной копии ВМ. Выполняется автоматически при нажатии кнопки Обновить информацию о резервной копии. Эта операция доступна для вновь загруженной резервной копии, после выполнения, дальнейшее повторение этой операции не требуется, и соответствующая кнопка пропадает. Но для файлов OVF эта операция доступна всегда, так как конфигурация зависит от наличия образов дисков в текущей директории;
-
открытие конфигурации резервной копии ВМ. При нажатии кнопки Конфигурация копии ВМ в открывшемся окне отображается информация о ВМ в резервной копии, а также возможные операции восстановления и конвертации, в зависимости от типа резервной копии;
-
сжатие. Операция доступна только для несжатых резервных копий ВМ SpaceVM. При нажатии кнопки Сжать в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Да или отменить, нажав на Отмена;
-
разжатие. Операция доступна только для сжатых резервных копий ВМ SpaceVM. При нажатии кнопки Разжать в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Да или отменить, нажав на Отмена.
Дополнительную информацию о файлах резервных копий ВМ смотрите здесь
Допустимые форматы файлов для загрузки
Расширение | Тип | Применение |
---|---|---|
vmdk | VMware4 disk image | Диск для ВМ (импорт на диск) |
vhdx | Microsoft Disk Image eXtended | Диск для ВМ (импорт на диск). |
dmg | zlib compressed data | Диск для ВМ (импорт на диск). |
qcow2 | QEMU QCOW2 Image | Диск для ВМ (импорт на диск) |
qcow | QEMU QCOW Image | Диск для ВМ (импорт на диск) |
raw | raw image | Диск для ВМ (импорт на диск) |
img | raw image | Диск для ВМ (импорт на диск) |
bin | raw image | Диск для ВМ (импорт на диск) |
fd | data | UEFI загрузчики |
ova | POSIX tar archive | Восстановление ВМ из ova |
ovf | Open virtualization format | Восстановление ВМ из ovf |
xml | XML document | Восстановление ВМ из xml |
tar | POSIX tar archive | Резервная копия ВМ SpaceVM (восстановление ВМ из резервной копии) |
run | POSIX shell script executable (binary data) | Резервная копия узла |
json | text | Профиль узла (применение конфигурации к узлу) |
zst | Zstandard compressed data | Сжатая резервная копия ВМ SpaceVM (восстановление ВМ из резервной копии) |
vfd | Virtual Floppy Device | Виртуальный гибкий диск для ВМ |
key | ASCII text | Ключи активации |
rdp | Unicode | Файлы RDP |
deb | Debian binary package | DEB-пакет |
rpm | RPM | RPM-пакет |
yaml | ASCII text | Файлы конфигураций |
yml | ASCII text | Файлы конфигураций |
pub | OpenSSH | Открытые ssh ключи |
Как загрузить файл для импорта в диск
-
1а. Загрузить через Web-интерфейс, выбрав нужный пул данных, перейдя в его вкладку "Файлы" и нажав кнопку Загрузить из файловой системы или Загрузить по URL.
-
1b. Включить vsftpd сервис на сервере через (управление vsftpd), где должен лежать этот файл, загрузить его по ftp в каталог файлов нужного пула данных (
[Абсолютный путь к пулу данных]/_LIBRARY/
), просканировать пул данных во вкладке Файлы. -
1c. Скопировать файл через scp на сервер в каталог файлов (
[Абсолютный путь к пулу данных]/_LIBRARY/
) и просканировать пул данных во вкладке Файлы. -
1d. Скопировать файл через CLI команду
upload_file
на сервер в каталог файлов локального пула данных (/storages/local/default/_LIBRARY/repo_20211110100520_79.qcow2) и просканировать пул данных во вкладке Файлы. -
Выбрав файл в Web-интерфейсе, нажать кнопку Импортировать.
ZFS
Общая информация
В разделе Хранилища - ZFS основного меню содержится информация обо всех хранилищах ZFS, сконфигурированных в системе. ZFS-хранилища являются локальными, но возможности данных хранилищ значительно шире, чем у локальных файловых хранилищ. Создавая хранилище ZFS, необходимо подготовить сервер к созданию на нем пула данных типа zfs.
Создание
Для создания ZFS-хранилища необходимо в разделе Хранилища - ZFS основного меню нажать кнопку Добавить ZFS. В открывшемся окне необходимо выбрать и заполнить следующие поля:
-
сервер размещения ZFS (выбор из раскрывающегося списка);
-
тип пула (выбор из раскрывающегося списка). В типе пула необходимо выбрать режим RAID, который будет применяться к входящим в состав ZFS-хранилища дискам. Доступны следующие режимы:
-
stripe;
-
mirror;
-
raidz1;
-
raidz2.
Режимы raidz1 и raidz2 соответствуют RAID5 и RAID6 соответственно;
-
-
локальные устройства (выбор из раскрывающегося списка);
-
LUN-устройства (выбор из раскрывающегося списка);
-
название и описание пула.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Примечание
В списке доступных блочных устройств показываются только устройства без разметки (разделов). Чтобы очистить требуемое устройство от ранее созданной разметки, следует воспользоваться командой CLI wipefs, после этого устройство появится в списке. В случае устройств LUN, возможно, потребуется отключить и заново присоединить устройство.
Возможна ситуация, когда устройство отсутствует и в списке доступных для создания ZFS пулов, и в списке доступных для очистки. В этом случае вероятнее всего оно сохранилось в кэше ZFS, а сам пул уже не существует или не активен. Чтобы выяснить это, следует воспользоваться командой zdb. Если в полях "path" вывода команды есть нужные нам устройства, а ZFS пул, указанный в поле "name" вывода и к которому относятся данные устройства, отсутствует на узле, то мы можем убрать этот пул из кэша командой zpool destroy <pool_name>
. После этого нужные нам устройства можно будет очистить командой CLI wipefs
и использовать далее.
Операции
Управление работой ZFS-хранилища происходит в окне состояния, которое открывается при нажатии на название хранилища. Логика управления ZFS соответствует управлению работой RAID-контроллера. В окне состояния ZFS-хранилища доступны следующие операции:
-
расширение (добавление блочных устройств верхнего уровня). Операция Расширить доступна для ZFS с типом пула stripe. Операция «приклеивает» дополнительные устройства к имеющемуся хранилищу. При нажатии кнопки Расширить в открывшемся окне необходимо выбрать из раскрывающегося списка НЖМД сервера (local_devices) или подключенные к серверу сетевые блочные устройства (lun_devices), после чего подтвердить операцию, нажав кнопку ОК;
Примечание
Добавлять можно только по одному устройству. Один из списков или оба могут быть пустыми, если нет доступных устройств.
-
монтирование блочного устройства. Операция Примонтировать доступна для ZFS с типами пула stripe и mirror, в составе которого только один диск. Операция преобразует хранилище в тип mirror. При нажатии кнопки Примонтировать в открывшемся окне необходимо выбрать из раскрывающегося списка тип блочного устройства и присоединяемое устройство (НЖМД или LUN), после чего подтвердить операцию, нажав кнопку ОК;
-
добавление устройства горячей замены. Операция Добавить устройство горячей замены позволяет отметить неиспользуемое системой устройство как hot-swap для данного хранилища. При нажатии кнопки Добавить устройство горячей замены в открывшемся окне необходимо выбрать из раскрывающегося списка НЖМД сервера (local_devices) или подключенные к серверу сетевые блочные устройства (lun_devices), после чего подтвердить операцию, нажав кнопку ОК;
-
добавление устройства кэширования. Операция Добавить устройства кэширования позволяет добавить кэш для ZFS RAID-массива. При нажатии кнопки Добавить устройство кэширования в открывшемся окне необходимо выбрать из раскрывающегося списка НЖМД сервера (local_devices) или подключенные к серверу сетевые блочные устройства (lun_devices), после чего подтвердить операцию, нажав кнопку ОК;
-
сброс ошибок в пуле. При нажатии кнопки Сброс ошибок в открывшемся окне необходимо подтвердить операцию, нажав кнопку Да;
-
проверка целостности данных (scrub). При нажатии кнопки Проверка целостности (scrub) в открывшемся окне необходимо подтвердить операцию, нажав на кнопку Да;
-
получение расширенных сведений;
-
удаление пула. Операция Удалить позволяет расформировать ZFS-хранилище. При нажатии кнопки Удалить в открывшемся окне необходимо подтвердить операцию, нажав кнопку Удалить.
В окне состояния хранилища содержатся сведения, разделенные на следующие группы:
-
Информация.
-
Пулы данных.
-
События.
-
Задачи.
-
Теги.
В окне Хранилища – ZFS – <имя ZFS-пула> – Информация отображаются следующие сведения о ZFS-хранилище:
-
название;
-
описание (редактируемый параметр);
-
сервер;
-
состояние;
-
общий размер;
-
свободное пространство;
-
дата и время создания;
-
дата и время изменения;
-
локальные устройства (раскрывающийся список). Каждое устройство содержит следующие сведения:
-
размер;
-
состояние;
-
кэширование;
-
устройство горячей замены.
Для каждого устройства доступны операции:
-
включение (выключение). При нажатии кнопки Вкл/выкл устройство открывается окно, в котором необходимо подтвердить операцию, нажав кнопку Да;
-
замена устройства. При нажатии кнопки Замена устройства открывается окно, в котором необходимо выбрать local_device, после чего подтвердить операцию, нажав кнопку ОК;
-
демонтирование устройства. При нажатии кнопки Демонтирование устройства открывается окно, в котором необходимо подтвердить операцию, нажав кнопку Да. Удаление диска из состава ZFS возможно только для хранилища, в составе которого два или более дисков. Если в составе ZFS с типом mirror останется только один диск, то он преобразуется в тип stripe;
-
-
устройства LUN (раскрывающийся список);
-
дополнительные характеристики (раскрывающийся список):
- включение или отключение автозамены; - точка монтирования; - сдвиг (ashift).
Пулы данных
В окне Хранилища – ZFS – <имя ZFS-пула> – Пулы данных отображаются созданные в хранилище пулы данных в табличном виде, включая для каждого из них его название, тип, количество серверов, виртуальных дисков, образов и файлов, использованный объем и статус. При нажатии на название пула открывается окно состояния, в котором доступны следующие операции:
-
извлечение пула. При нажатии кнопки Извлечь в открывшемся окне необходимо подтвердить операцию, нажав кнопку ОК;
-
очистка пула. При нажатии кнопки Очистить в открывшемся окне следует определить необходимость принудительной очистки, после чего подтвердить операцию, нажав кнопку ОК;
-
удаление диска (если допускается). При нажатии кнопки Удалить необходимо подтвердить операцию, нажав на кнопку Удалить.
Информация
В окне Хранилища – ZFS – <имя ZFS-пула> – Пулы данных – <имя пула данных> – Информация содержатся следующие сведения о пуле данных:
ARC-кэш
При создании ZFS-пулов необходимо учитывать адаптивное использование памяти сервера под ARC-кэш.
Пример использования памяти сервера подсистемой ZFS до и после сброса кэша (видно изменение ARC size (current)):
Одним из основных моментов, о котором необходимо помнить при использовании ZFS на гипервизоре, является тот факт, что balloon ВМ, использующийся для оптимизации выделения и возвращения неиспользуемой памяти, некорректно работает вместе с динамическим ARC. Поэтому хорошим тоном будет выделение фиксированной памяти для ВМ: balloon=0 и указания максимального размера ARC, таким образом, чтобы суммарная утилизация памяти для машин и кэша была меньше общего количества RAM на 2 Гбайта.
Минимальный размер ARC для более комфортной работы ФС без активного режима записи/перезаписи в файлы ВМ (например, этим грешат базы данных), примерно равен 1 Гбайт на хост + 1 Гбайт на 1 Тбайт, но фактически при кэше меньше 3 Гбайт могут возникнуть проблемы с "отвалом" хранилища, и для работы с активной перезаписью лучше использовать формулу 1 Гбайт + 4-5 Гбайт на 1 Тбайт без дедупликации, 5-6 Гбайт - с дедупликацией. Разово задать максимальный размер кэша до перезагрузки можно командой:
echo $[ N*1048576*1024 ] > /sys/module/zfs/parameters/zfs_arc_max
Параметр zfs_arc_max не может быть ниже текущего минимального размера кэша (zfs_arc_min), который можно посмотреть в выводе команды arc_summary в строке Min size (hard limit). Чтобы указать zfs_arc_max ниже данного значения, следует сперва таким же образом задать параметр zfs_arc_min. Важно помнить, что эти параметры не могут быть менее 64 Мбайт, а также больше объёма ОЗУ на узле. В противном случае эаданные значения параметров будут проигнорированы.
Пример временного изменения максимального размера кэша до перезагрузки (видно изменение Max size (high water)):
3гб: 3221225472
6гб: 6442450944
10гб: 10737418240
15гб: 16106127360
echo options zfs zfs_arc_max=16106127360>> /etc/modprobe.d/zfs.conf
update-initramfs -u
-
l2arc - на чтение - он собирает используемые в данный момент обращения и передает их через себя, что ускоряет запросы чтения к файловой системе хранилища. Минимальный размер l2arc примерно рассчитывается по формуле 2000 байт ARC на 1 блок l2arc, размер которого зависит от ashift ZFS-пула. Т.е. чем больше ashift, тем больше должен быть l2arc, но "раздувать" его за пределы 500 байт на 1 блок данных пула смысла нет - нельзя отдавать весь ARC под нужды l2arc, т.к. при максимальной загрузке вместо оперативной памяти вы будете работать с вашим устройством кэширования.
-
zil (slog) - кэширование записи. Каждая операция записи на пул будет считаться совершённой при попадании в zil, а на устройства хранения будет попадать уже т.н."дельта" всех операций с минимальным количеством "грязных данных". Минимальный размер zil устройства рассчитывается примерно из скорости работы вашего устройства, где будет размещён лог, и времени задержки записи "грязных данных" * 2. Максимальный размер для конкретной системы нужно определять индивидуально, но на практике размер больше, чем скорость устройства * 10 с, имеет смысл только в узкоспециализированных, направленных на постоянное краткосрочное изменение данных с минимальной задержкой.
Пример размеров разделов кэширования и логов:
zil:
приблизительная скорость записи на устройство:
[root@04bdd07c-5b93-40b3-9b52-148993161241 ~]#sync; dd if=/dev/urandom of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 6.10459 s, 176 MB/s
[root@04bdd07c-5b93-40b3-9b52-148993161241 ~]#sync; dd if=/dev/urandom of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 6.31901 s, 170 MB/s
[root@04bdd07c-5b93-40b3-9b52-148993161241 ~]#sync; dd if=/dev/urandom of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.0737 s, 152 MB/s
[root@04bdd07c-5b93-40b3-9b52-148993161241 ~]#sync; dd if=/dev/urandom of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.9285 s, 181 MB/s
Примерно 170 Mбайт/с, следовательно, раздел свыше 1700 Мбайт (1.7 Гбайт) будет по сути бесполезным для данной системы. Округляем до 2 Гбайт для ровного счёта и получаем необходимый размер раздела под zil. Если переопределить время сброса данных на диск, то можно раздувать этот раздел больше, но фактического смысла в этом нет.
С l2arc нужно посчитать немного больше:
например, размер zfs_arc_max определён в 10 Гбайт.
Смотрим ashift раздела:
zpool get all "ваш_пул_zfs" | grep ashift`
ashift это размер логического блока ZFS, равный степени двойки. T.е. ashift13=2^13=8192 байт - размер сектора ZFS.
Оставляем ¾ ARC свободной при максимальной загрузке (можно использовать без особых потерь до ⅔ ARC, но для
невысоконагруженных на чтение систем ¼ более чем достаточно), помня что в ARC 1 блок занимает примерно 400 байт,
берём 512 для упрощения чисел и рассчитываем размер, при котором l2arc максимально занял бы примерно ¼ основного кэша):
10737418240/4=2684354560/512=5242880 - количество возможных блоков в l2arc.
Далее 5242880*8192=42949672960/1024=41943040/1024=40960/1024=40 Гбайт.
Итого при ashift13 и 10 Гбайт ARC размер l2arc может варьироваться от 40 до 100 Гбайт.
Больший размер или не даст улучшения скорости работы хранилища, или будет даже уменьшать её.
Импорт ZFS-пулов
- Получение имен и параметров импортируемых ZFS-пулов
zpool import
- Импорт в систему ZFS-пулов
zpool import -C <pool_name>
-- импорт из файла кэша, если пул там прописан
zpool import -d /dev/disk/by-id <pool_name>
-- при проблемах с файлом кэша или если запись о ZFS-пуле из кэша пропала (например, если ZFS-пул не импортировался ввиду отсутствия дисков на этапе загрузки, а потом с исправными пулами проводились какие-либо манипуляции, не импортированные ZFS-пулы "забываются" кэшем).
Внимание
Важно указать каталог /dev/disk/by-id
, так как в противном случае возможен импорт ZFS-пула с "короткими" именами устройств, например, /dev/sdc
. Это может привести при последующей перезагрузке к пропаданию устройства из ZFS-пула, так как такие короткие имена назначаются устройствам лишь на основе порядка их определения, что может меняться от загрузки к загрузке, и одно и то же устройство может получать различные короткие имена.
- Проверка появления в системе
zpool list
- Чтобы он сохранился после перезагрузки, нужно пересоздать кэш с указанием этого ZFS-пула.
zpool set cachefile=/etc/zfs/zpool.cache <pool_name>
Загрузка системы с неполным набором устройств (дисков, LUN), входящих в ZFS-пулы
Если ZFS-пул, в котором недостаёт устройств, обладает достаточной избыточностью, чтобы компенсировать их отсутствие (для типа mirror должно остаться хотя бы одно устройство, для типа raidz1 возможно остаться без одного, для raidz2 -- без двух устройств, устройства горячего резерва и кэша чтения на работоспособность не влияют), то такой ZFS-пул импортируется при старте системы обычным образом. В противном случае этот ZFS-пул не импортируется. Если есть техническая возможность вернуть в систему недостающие устройства под теми же именами, то после их возврата пострадавший ZFS-пул будет импортирован автоматически при перезагрузке узла, либо "на лету" через CLI -- после проверки возможности импорта ZFS-пула командой zpool import
или zpool import -d /dev/disk/by-id
, см. пункт выше "Импорт в систему ZFS-пулов". Для проверки состояния кэша используют команду CLI zdb
. Она отображает запомненные в кэше ZFS-пулы, входящие в них устройства, их типы, а также некоторую дополнительную информацию.
Внимание
Чтобы ZFS-пул был автоматически импортирован при старте системы, он должен быть прописан в кэше /etc/zfs/zpool.cache
. Записи о ZFS-пулах там появляются при их создании, также они модифицируются при манипуляциях с ZFS-пулами. Если какой-то ZFS-пул не импортирован из-за повреждений, т.е. не виден в системе, то в момент модификации кэша (изменений имеющихся или создания новых ZFS-пулов) записи о нём УДАЛЯЮТСЯ из кэша, и при следующей перезагрузке данный ZFS-пул не будет импортирован автоматически. Это следует учитывать, и если есть необходимость и возможность вернуть данный ZFS-пул в работу, и в то же время проводить какие-то действия над имеющимися ZFS-пулами узла, то нужно обеспечить работоспособность повреждённого ZFS-пула и импортировать его вручную до перезагрузки системы, либо импортировать его вручную после перезагрузки. Первый вариант предпочтительней, особенно если ZFS-пул участвует, например, в кластерном хранилище.
Также может быть полезна информация из меток устройств, входивших в ZFS-пул -- zdb -l <device>
. Будет показано, принадлежит ли устройство ZFS-пулу, какому именно, какой GUID у этого устройства и на каком хосте создан данный ZFS-пул.
Пример:
Информация из кэша о некотором ZFS-пуле:
Команда zdb
# zdb
zfs_115:
version: 5000
name: 'zfs_115'
state: 0
txg: 4
pool_guid: 879109887279304795
errata: 0
hostid: 4212788997
hostname: 'f96b4837-a7e3-43a1-ab52-37bdc4677b82'
com.delphix:has_per_vdev_zaps
vdev_children: 1
vdev_tree:
type: 'root'
id: 0
guid: 879109887279304795
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 15989658986416599112
path: '/dev/disk/by-id/scsi-SATA_ST1000NX0313_S470HK28-part1'
devid: 'ata-ST1000NX0313_S470HK28-part1'
phys_path: 'pci-0000:00:1f.2-ata-1.0'
whole_disk: 1
metaslab_array: 256
metaslab_shift: 33
ashift: 13
asize: 1000189984768
is_log: 0
create_txg: 4
com.delphix:vdev_zap_leaf: 129
com.delphix:vdev_zap_top: 130
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
Здесь мы видим, что ZFS-пул имеет имя name: 'zfs_115'
, GUID pool_guid: 879109887279304795
, содержит одно устройство /dev/disk/by-id/scsi-SATA_ST1000NX0313_S470HK28-part1 с GUID в пределах ZFS-пула guid: 15989658986416599112
. Пул принадлежит хосту hostname: 'f96b4837-a7e3-43a1-ab52-37bdc4677b82'
.
Просмотрим информацию из метки этого устройства:
zdb -l /dev/disk/by-id/scsi-SATA_ST1000NX0313_S470HK28-part1
------------------------------------
LABEL 0
------------------------------------
version: 5000
name: 'zfs_115'
state: 0
txg: 2321441
pool_guid: 879109887279304795
errata: 0
hostid: 4212788997
hostname: 'f96b4837-a7e3-43a1-ab52-37bdc4677b82'
top_guid: 15989658986416599112
guid: 15989658986416599112
vdev_children: 1
vdev_tree:
type: 'disk'
id: 0
guid: 15989658986416599112
path: '/dev/disk/by-id/scsi-SATA_ST1000NX0313_S470HK28-part1'
devid: 'ata-ST1000NX0313_S470HK28-part1'
phys_path: 'pci-0000:00:1f.2-ata-1.0'
whole_disk: 1
metaslab_array: 256
metaslab_shift: 33
ashift: 13
asize: 1000189984768
is_log: 0
DTL: 50892
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
labels = 0 1 2 3
Видим, что устройство принадлежит ZFS-пулу с именем name: 'zfs_115'
, GUID пула pool_guid: 879109887279304795
, а само устройство имеет GUID в ZFS-пуле guid: 15989658986416599112
. Имя хоста hostname: 'f96b4837-a7e3-43a1-ab52-37bdc4677b82'
.
Файловые хранилища
Общая информация
Раздел Хранилища — Сетевые хранилища основного меню содержит два подраздела - Файловые и Блочные.
К файловым хранилищам относятся хранилища, предоставляемые по протоколам NFS, CIFS и GlusterFS. Сетевое хранилище подразумевает доступ к ресурсам (файлам), хранящимся на нем по схеме «много к одному». Такое хранилище может быть рекомендовано для хранения образов CD/DVD, шаблонов ВМ или ВМ, которые не требуют высокой производительности дисковой подсистемы ВМ.
При подключении файлового сетевого хранилища необходимо внести все параметры подключения в соответствии с выбранным типом хранилища.
Основным недостатком данного типа хранилищ является то, что в случае обрыва связи с ним, подключение не обрывается, а переходит в режим «read only» и все изменения в период недоступности будут потеряны.
NFS
В данный момент поддерживаются версии NFS v3 и v4 (по умолчанию v3).
Для протокола NFS необходимо знать версию протокола, IP-адрес или доменное имя сервера хранения, какая из общедоступных папок данного сервера будет использоваться и настройки ограничений прав доступа. Ограничения прав доступа для протокола NFS предусмотрены в общем случае трех типов:
-
«no_root_squash» - разрешено подключение с пользователем «root»;
-
«root_squash» - доступ под именем «root» запрещен, используется по умолчанию;
-
«all_squash» - все пользователи подключаются как анонимные.
Для NFS v4 режимы задаются через сопоставление пользователей «root» и «nobody/anonuid». При этом результирующая политика ограничений не изменяется.
NFS no_root_squash
При подключении к хранилищу NFS используются два режима - с включенной опцией «no_root_squash» и без неё. Без данной опции подключение к NFS производится пользователем, идентификаторы которого UID и GID (идентификатор основной группы) соответствуют номеру 931. Соответственно подключаемая к кластеру общая папка должна иметь владельца с этим UID/GID для отсутствия ограничений по чтению (записи) на уровне файловой системы сервера хранения.
NFS all_squash
При подключении к хранилищу NFS с конфигурацией all_squash необходимо включить опцию all_squash, при этом опция NFS no_root_squash перейдет в неактивную для выбора. С данной опцией подключение к NFS производится пользователем, идентификаторы которого UID и GID изменятся по умолчанию на 65534, если на сервере не заданы другие. Подключаемая к кластеру общая папка должна иметь владельца с этим UID/GID для отсутствия ограничений по чтению/записи на уровне файловой системы сервера хранения.
CIFS
CIFS (SMB) vers
Поддерживаются версии default (2.1), 2.0, 2.1, 3 (3.0 и выше).
Создание
Для подключения хранилища необходимо перейти в раздел Хранилища - Сетевые хранилища - Файловые основного меню и нажать кнопку Добавить хранилище. В открывшемся окне необходимо заполнить следующие поля:
-
название сетевого хранилища (необязательный параметр);
-
тип подключения (выбор из раскрывающегося списка);
-
сервер для монтирования сразу после создания (выбор из раскрывающегося списка);
-
IP-адрес или доменное имя сервера хранения (редактируемый параметр);
-
проверить доступность сервера, и получить список доступных папок хранения (томов) по кнопке Проверить соединение и получить доступные тома (volumes);
-
том (volume, папка на сервере, которую подключаем);
-
каталог монтирования в SpaceVM (mount_point, имя конечной папки для монтирования);
-
включить (выключить) опцию «Только чтение»;
-
включить опцию «no_root_squash», если на сервере включена опция «no_root_squash» (для NFS);
-
включить опцию «all_squash», если на сервере включена опция «all_squash» (для NFS);
-
раскрыть опции монтирования и заполнить следующие поля (для NFS):
- sec (выбор из раскрывающегося списка); - lookupcache (выбор из раскрывающегося списка); - proto (выбор из раскрывающегося списка); - Версия nfs; - clientaddr; - определить включение или отключение параметров «noac», «bg», «nordirplus», «nosharecache», «noresvport», «fsc», «nointr», «nocto», «soft»; - timeo; - retrans; - rsize; - wsize; - acregmin; - acregmax; - acdirmin; - acdirmax; - actimeo; - retry; - port;
-
раскрыть опции монтирования и заполнить следующие поля (для CIFS):
- username (необязательный, при отсутствии монтирование будет происходить в режиме гостя); - password (необязательный); - vers (выбор из раскрывающегося списка);
-
заполнить описание (необязательный параметр).
После внесения изменений необходимо подтвердить операцию, нажав кнопку OK.
Подключение серверов
Для подключения серверов к созданному хранилищу необходимо:
-
нажать на название хранилища в списке;
-
в открывшемся окне во вкладке Информация рядом с надписью «Серверы» нажать кнопку добавления сервера. При этом открывается окно с проверкой возможности подключения хранилища к серверу, где необходимо нажать кнопку Проверить, выбрать из раскрывающегося списка сервер, после чего подтвердить операцию, нажав кнопку ОК.
После добавления серверов рядом с надписью «Серверы» появится количество серверов и кнопка раскрытия списка серверов.
Далее необходимо создать пул данных, размещаемый на сетевом хранилище, для использования его как локального. Данная процедура предусмотрена для возможности регистрации нескольких пулов на одном сетевом хранилище. Регистрацию пула смотрите в Пулы данных.
Для получения информации о файловом сетевом хранилище необходимо нажать на его название. В окне состояния хранилища отображаются сведения о нем, разделенные на группы:
-
информация;
-
пулы данных;
-
события;
-
задачи;
-
теги.
Информация
В окне Хранилища – Сетевые хранилища – Файловые – <имя хранилища> – Информация содержатся следующие сведения о сетевом хранилище:
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
тип подключения;
-
точка монтирования (путь подключения);
-
Root_squash (для NFS);
-
том;
-
адрес (IP-адрес/доменное имя);
-
опции монтирования (nfsvers);
-
объем дискового пространства (всего, занято, свободно);
-
локация;
-
даты и время создания;
-
дата и время обновления данных;
-
серверы размещения хранилищ - раскрывающийся список с возможностью подключения нового сервера по кнопке, отключения сервера от хранилища по кнопке и обновления по кнопке .
В окне Хранилища – Сетевые хранилища – Файловые – <имя хранилища> – Пулы данных содержится информация о пуле данных в табличном виде, включая для каждого из них его название пула данных, тип, количество серверов, дисков, образов и файлов, используемый объём и статус.
Также в этом окне существует возможность создать новый пул с помощью кнопки «Добавить пул» и найти пул с применением фильтра.
При нажатии на название пула данных открывается окно, в котором информация распределена на следующие группы:
- информация;
- виртуальные диски;
- образы;
- файлы;
- события;
- теги.
Также существует возможность извлечения с помощью кнопки Извлечь, очистки пула данных с помощью кнопки Очистить и удаления с помощью кнопки Удалить.
События
В окне Хранилища – Сетевые хранилища – Файловые – <имя хранилища> – События содержатся события, зарегистрированные в системе, возникающие при работе с файловыми хранилищами с возможностью их сортировки по признакам – «По всем типам», «Ошибки», «Предупреждения», «Информационные».
Теги
В окне Хранилища – Сетевые хранилища – Файловые – <имя хранилища> – Теги имеется возможность добавления к виртуальной сети отличительной метки (тега), применения и обновления тега.
Блочные хранилища
Описание
Раздел Хранилища — Сетевые хранилища основного меню содержит два подраздела - Файловые и Блочные.
К блочным хранилищам относят хранилища, предоставляемые по протоколам iSCSI и FC.
Сетевые хранилища типов iSCSI и FC основаны на принципе предоставления блочных устройств, которые после подключения воспринимаются системой как локальные диски. Основное отличие данных хранилищ — это метод подключения к ним серверов.
Технология iSCSI работает поверх протокола TCP/IP. На стороне СХД настраиваются точки подключения, именуемые «цели» (iSCSI target), в которых презентуются блочные устройства (LUN). Подключение к ним со стороны сервера осуществляется «инициатором» (iSCSI initiator). В качестве «инициатора» может выступать клиентское ПО или физический сетевой адаптер, настроенный в режим iSCSI-инициатора. Возможность настройки адаптера как «инициатора» следует уточнять у производителя. Блочные устройства становятся доступными на сервере после запуска «инициатора» и, в случае работы программного клиента, доступны только после загрузки ОС гипервизора.
Блочный доступ FC основывается на собственной технологии передачи данных, требует установки специализированных адаптеров (карт расширения), специализированных коммутаторов и систем хранения с поддержкой данной технологии. За счёт собственных адаптеров использование «инициатора» не требуется и блочные устройства презентуются серверу на аппаратном уровне и воспринимаются как локальные диски. При использовании FC необходимо учитывать данный момент, так как добавление LUN может изменить порядок подключенных физических носителей в ОС гипервизора.
Правила предоставления блочных устройств от СХД к серверам для FC настраиваются в коммутаторе и в ПО управления самой СХД, так как основными идентификаторами «клиентов» и портов на СХД являются WWN - аналог MAC-адреса для обычного сетевого адаптера. Другие идентификаторы для данной технологии не предусмотрены.
На сервере или в ВМ работа с подключенным блочным устройством LUN происходит так же, как и с НЖМД — его можно отдать под управление LVM, отформатировать в файловую систему. При использовании коллективного доступа к LUN необходимо форматировать его в кластерную файловую систему, которая будет следить за конкурентным доступом к ресурсам устройства.
Существенным плюсом использования доступа к блочным устройствам является то, что многие системы хранения имеют механизмы повышения отказоустойчивости. Некоторые СХД также предоставляют возможность объединения их в кластер и настройки репликации одного блочного устройства LUN таким образом, что при выходе из строя одного сервера, подключенная система автоматически переключится на резервную копию.
Подключение
При подключении блочного сетевого хранилища необходимо внести все параметры подключения в соответствии с выбранным типом хранилища.
При подключении к хранилищу iSCSI необходимо знать IP-адреса или доменные имена хранилища (sources), порты подключения, имена целей (iSCSI target), логин и пароль подключения (если требуется). Имена целей должны соответствовать формату, установленному стандартом, и иметь ви:
iqn.2018-11.com.raidix:target0
eui.0123456789abcdef
naa.0123456789abcdef
naa.0123456789abcdef0123456789abcdef
. В рамках одной цели может предоставляться несколько блочных устройств.
Для подключения блочного хранилища iSCSI необходимо перейти в раздел Хранилища - Сетевые хранилища - Блочные основного меню и нажать кнопку Добавить блочное хранилище. В открывшемся окне необходимо заполнить следующие поля:
-
название сетевого хранилища;
-
определить возможность подключения узлов сети хранения данных с использованием нескольких маршрутов (состояние Multipath I/O);
-
тип подключения (выбор из раскрывающегося списка);
-
имя сервера для монтирования сразу после создания (выбор из раскрывающегося списка);
-
IP-адрес или доменное имя сервера хранения и порт;
-
проверить доступность сервера и получить список доступных таргетов по кнопке Получить доступные таргеты (target);
-
имя iSCSI target;
-
логин и пароль для подключения (если требуется);
-
производитель (выбор из раскрывающегося списка);
-
описание хранилища.
Для подтверждения операции необходимо нажать кнопку ОК.
Для подключения серверов к созданному хранилищу необходимо:
-
нажать на название хранилища в списке;
-
в открывшемся окне во вкладке Информация рядом с надписью «Серверы» нажать кнопку добавления сервера. При этом открывается окно с возможностью выбора серверов, к которым будет подключено данное хранилище. После заполнения окна необходимо подтвердить операцию, нажав кнопку ОК.
После добавления серверов рядом с надписью «Серверы» появится количество серверов и кнопка раскрытия списка серверов.
При использовании хранилища, подключаемого по FC, СХД предоставляет блочные устройства LUN на аппаратном уровне в соответствии с правилами, настроенными на FC коммутаторе и на стороне СХД. Для настройки правил подключения (презентации) LUN с СХД к серверам необходимо обратиться к документации производителя СХД и FC коммутатора. При использовании схемы прямого подключения СХД к серверам SpaceVM (схема DAS - Direct Attached Storage) настройка производится на самом СХД.
Для регистрации в системе управления подключенных LUN необходимо знать адрес WWN порта СХД, с которого происходит обслуживание подключений от серверов SpaceVM. Это необходимо для того, чтобы система управления SpaceVM собрала в группу только те LUN, которые подключены от этого WWN. Это сделано для возможности группировки LUN по WWN СХД, если по FC доступно более одного СХД. При регистрации система опрашивает все блочные устройства, подключенные к серверу, находит имеющие пометку о подключенных по шине FС и презентованные от указанного WWN.
После подключения блочных хранилищ к серверам SpaceVM видимые активные LUN можно использовать как LVM-shared хранилища, как часть ZFS-пула, форматировать их в кластерную файловую систему (OCFS2/GFS2) и подключать их напрямую к ВМ. Не рекомендуется подключать напрямую в ВМ LUN, презентованный по FC. Это связано с тем, что ВМ создаст на этом LUN загрузочную область, которая будет доступна аппаратному серверу, так как FC LUN подключается на уровне основной системы ввода-вывода (BIOS/UEFI).
При установке SpaceVM на сервер с уже подключенным по FC СХД следует обратить внимание на то, что при установке FC LUN могут отображаться в конце списка доступных к установке накопителей, но при загрузке гипервизора могут переместиться в начало списка (занять место диска /dev/sda). Для предотвращения такого поведения необходимо корректно настроить FC карту сервера (FC HBA) и параметры презентуемых LUN на стороне СХД.
Окно состояния блочного хранилища
В окне состояния блочного хранилища содержится информация, разделенная на группы:
- информация;
- LUN;
- события;
- задачи;
- теги.
В окне Хранилища – Сетевые хранилища – Блочные – <имя блочного хранилища> – Информация содержатся следующие сведения:
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
тип подключения;
-
локация;
-
дата и время создания;
-
дата и время обновления;
-
target;
-
состояние Multipath I/O (редактируемый параметр);
-
производитель (редактируемый параметр);
-
опции iSCSI;
-
sources (редактируемый параметр);
-
серверы (раскрывающийся список, с возможностью добавления (передобавления) и удаления. При добавлении сервера в открывшемся окне необходимо для проверки соединения с сервером нажать кнопку Проверить, после чего выбрать сервер из доступных и нажать кнопку ОК.
В окне Хранилища – Сетевые хранилища – Блочные – <имя блочного хранилища> – LUN содержится информация о LUNs на хранилище (device, подключение, размер и статус). Имеется возможность обновления, сканирования хранилища, а также поиск дискового устройства в сетях хранения по адресу.
При нажатии на существующий LUN в открывшемся окне доступны следующие операции:
-
форматирование в файловую систему. При нажатии на кнопку Форматировать в ФС в открывшемся окне необходимо выбрать из раскрывающегося списка тип файловой системы, после чего подтвердить операцию, нажав кнопку ОК. Подробности смотрите в HOWTO создать общий(е) для кластера пул(ы) данных GFS2 на LUN(s), если уже есть кластерный транспорт gfs2;
-
монтирование. При нажатии на кнопку Монтировать необходимо подтвердить операцию, нажав кнопку ОК;
-
размонтирование. При нажатии на кнопку Размонтировать необходимо подтвердить операцию, нажав кнопку ОК.
Также в данном окне содержится следующая информация:
- ID;
- путь;
- target_dev;
- тип шины;
- размер;
- тип файловой системы;
- тип кэширования;
- статус;
- хранилище;
- серийный номер;
- серверы (раскрывающийся список);
- сообщения о работе LUN с возможностью их сортировки по признакам – «По всем типам», «Ошибки», «Предупреждения», «Информационные».
Пример информации блочного хранилища:
События
В окне Хранилища – Сетевые хранилища – Блочные – <имя блочного хранилища> – События содержится события, зарегистрированные в системе, возникающие при работе с блочными сетевыми хранилищами с возможностью их сортировки по признакам - «По всем типам», «Ошибки», «Предупреждения», «Информационные».
Теги
В окне Хранилища – Сетевые хранилища – Блочные – <имя блочного хранилища> – Теги содержится список присвоенных хранилищу меток. Также имеется возможность обновления, создания и применения тега.
Настройки multipath
Для просмотра настроек multipath в CLI есть команда storage multipath-conf
.
Для сканирования доступных путей в CLI есть команда storage scsi-host-discovery
.
Для изменения политики группировки путей LUN в CLI есть команда
storage modify-multipath-path-grouping-policy [policy]
.
По умолчанию path_grouping_policy = failover.
Варианты path_grouping_policy:
- failover - One path per priority group.
- multibus - All paths in one priority group.
- group_by_serial - One priority group per serial number.
- group_by_prio - One priority group per priority value. Priorities are determined by callout programs specified as a global, per-controller or per-multipath option in the configuration file.
- group_by_node_name - One priority group per target node name. Target node names are fetched in /sys/class/fc_transport/target*/node_name.
Для изменения политики выбора путей LUN в CLI есть команда
storage modify-multipath-path-selector [path_selector]
.
По умолчанию path_selector = service-time 0.
Варианты path_selector:
- service-time 0 - Send the next bunch of I/O down the path with the shortest estimated service time, which is determined by dividing the total size of the outstanding I/O to each path by its relative throughput.
- round-robin 0 - Loop through every path in the path group, sending the same amount of I/O to each.
- queue-length 0 - Choose the path for the next bunch of I/O based on the amount of outstanding I/O to the path.
Подключение FC хранилища
-
При физическом подключении блочного хранилища по FC к серверу контроллер выдаст подсказку у сервера о том, что есть неизвестные блочные хранилища.
-
Если есть подсказка, то стоит перейти во вкладку сервера Хранилища – Блочные хранилища и нажать кнопку Сканировать. Если на сервера найдутся незарегистрированные в базе контроллера хранилища, то они создадутся в базе или обновится связь с теми, что есть в базе.
-
Если хранилище подключено к разным узлам по разным wwn (путям), то стоит включить в настройках Multipath I/O и выставить Режим использования Multipath I/O в failover. Тогда при подключении узлов будет проверяться наличие хотя бы одного активного пути из всех.
-
Командой
storage hba-npiv
в CLI можно увидеть имеющиеся FC карточки, включая состояние их портов (port_state и speed); -
Увидеть FC LUNs можно в CLI командой
storage fc-luns
; -
Командой
storage multipath
в CLI можно увидеть LUN и пути, по которым они доступны; -
Просмотр wwns подключенных хранилищ возможен во вкладке сервера Хранилища – Блочные хранилища по кнопке WWNS или в CLI командой
storage fc-wwns
; -
Просмотр локальных wwns сервера возможен во вкладке сервера Хранилища – Блочные хранилища по кнопке Локальные WWNS или в CLI командой
storage local-wwns
; -
Пересканировать scsi шину узла можно в CLI командой
storage rescan-scsi-bus
. -
В некоторых случаях (например, этого требуют FCoE адаптеры HPE630FLB) для включения FC функционала на них необходимо выполнить команду CLI
net fcoe enable <adapter>
, например,net fcoe enable eno3
.
Действия после изменения размера LUN на хранилище или его удаления.
В том случае, если LUN был сначала виден на серверах Space, а потом его удалили в хранилище или изменили его размер, то автоматически обновление информации об этом действии не произойдет. Стоит попробовать:
-
Пересканировать scsi шину узла можно в CLI командой
storage rescan-scsi-bus
. Так как размер LUN проверяется на всех узлах, где он виден, то стоит пересканировать шину на всех них. Для удобства можно это делать из CLI контроллера черезnode nodes-cli 'storage rescan-scsi-bus'
. -
Рестартовать сервис multipathd в CLI командой
services restart multipath
. Так как размер LUN проверяется на всех узлах, где он виден, то стоит рестартовать сервис на всех них. Для удобства можно это делать из CLI контроллера черезnode nodes-cli 'services restart multipath'
.
Проверить изменение размера LUN можно, посмотрев в CLI вывод команды storage luns
(storage fc-luns
, storage iscsi-luns
).
Необходимо учитывать, что размер в CLI выводится в Гибибайтах (Тебибайтах и т.д.). В Web-интерфейсе контроллера размер LUN
выводится в Гигабайтах (для удобства, так как в других местах выводится в таких же единицах) и изменяется
автоматически после того, как узел увидел новый размер LUN.
Пример из CLI вывода команды storage iscsi-luns
:
Именование LUN (iqn)
Именование LUN должно происходить согласно стандартам:
The following is an example of an iSCSI name string from a storage
service provider:
Organization String
Naming Defined by Org.
Type Date Authority Naming Authority
+-+ +-----+ +-------------+ +----------------------+
| | | | | | | |
iqn.1995-11.com.example.ssp:customers.4567.disks.107
The details of
constructing EUI-64 identifiers are specified by the IEEE
Registration Authority (see https://www.rfc-editor.org/rfc/rfc3721.html#ref-EUI64).
Example iSCSI name:
Type EUI-64 identifier (ASCII-encoded hexadecimal)
+--++--------------+
| || |
eui.02004567A425678D
An example of an iSCSI name with a 64-bit NAA value follows:
Type NAA identifier (ASCII-encoded hexadecimal)
+--++--------------+
| || |
naa.52004567BA64678D
An example of an iSCSI name with a 128-bit NAA value follows:
Type NAA identifier (ASCII-encoded hexadecimal)
+--++------------------------------+
| || |
naa.62004567BA64678D0123456789ABCDEF
В случае несоблюдении стандарта можно попробовать отредактировать файл /etc/multipath.conf
В /etc/multipath.conf надо добавить секцию multipaths с подсекцией multipath, где вписать сопоставления wwid и alias, например:
multipaths {
multipath {
wwid 8iqn.1998-01.com.vmware:529f9d5bdb8ebd45-cf97c35adc6ecc5f,L,0x0000000000000000
alias 360000000000000000e00000000120001
}
}
После редактирования необходимо рестартовать сервис multipath командой в CLI services restart multipath
.
Пример из CLI вывода команды storage iscsi-luns
с измененным именем LUN:
Проверка подключения
# create iscsi target record
ISCSIADM = 'sudo /sbin/iscsiadm -m'
cleandb = f'{ISCSIADM} node --targetname {target} --portal {source} -o delete'
newcmd = f'{ISCSIADM} node --targetname {target} --portal {source} -o new'
# enable CHAP if needed
if username and password:
cmd = f"{ISCSIADM} node --targetname {target} --portal {source} " \
f"-o update -n node.session.auth.authmethod -v CHAP " \
f"-o update -n node.session.auth.username -v {username} " \
f"-o update -n node.session.auth.password -v {password}"
# connect
cmd = f'{ISCSIADM} node --targetname {target} --portal {source} -l'
cmd = f'{ISCSIADM} node --targetname {target} --portal {source} -o update -n node.startup -v automatic'
# check
cmd = 'multipath -ll'
LUN
Общая информация
LUN - блочные устройства, предоставляемые хранилищами по протоколу iSCSI или FC.
В разделе Хранилища - LUN основного меню содержится информация обо всех блочных устройствах в системе.
Действия
В окне LUN доступны следующие операции:
Обновление информации
Обновление информации о всех LUN происходит по кнопке
Перенос (копирование) данных на другой LUN
Пример использования: необходимо переехать с одного блочного хранилища на другое. Размер LUN назначения должен быть больше либо равен исходному LUN.
Форматирование
При нажатии на кнопку Форматировать в ФС в открывшемся окне необходимо выбрать из раскрывающегося списка тип файловой системы, после чего подтвердить операцию, нажав кнопку ОК. Подробности смотрите в HOWTO создать общий(е) для кластера пул(ы) данных GFS2 на LUN(s), если уже есть кластерный транспорт gfs2.
Монтирование
Данная операция необходима при использовании LUN в качестве общего хранилища GFS2. При нажатии кнопки Монтировать запускается мастер Монтирование LUN, где необходимо нажать кнопку Да, чтобы примонтировать (перемонтировать) данный LUN на всех активных узлах, или нажать на кнопку Отмена для отказа от операции.
Размонтирование
При нажатии на кнопку Размонтировать запускается мастер Размонтирование LUN, где необходимо нажать на кнопку Да, чтобы размонтировать данный LUN со всех активных узлов, или нажать на кнопку Отмена для отказа от операции. Подробности смотрите в HOWTO создать общий(е) для кластера пул(ы) данных GFS2 на LUN(s), если уже есть кластерный транспорт gfs2
Настройки I/O
Настроить I/O LUN можно в окне информации о состоянии LUN с помощью кнопки Настройки I/O в верхней части этого окна.
Параметр | Описание |
---|---|
total_bytes_sec | Общий предел пропускной способности в байтах в секунду. Не может использоваться с read_bytes_sec или write_bytes_sec. |
read_bytes_sec | Предел пропускной способности чтения в байтах в секунду. |
write_bytes_sec | Предел пропускной способности записи в байтах в секунду. |
total_iops_sec | Общее количество операций ввода-вывода в секунду. Не может использоваться с read_iops_sec или write_iops_sec. |
read_iops_sec | Количество операций чтения в секунду. |
write_iops_sec | Количество операций записи в секунду. |
total_bytes_sec_max | Общий предел пропускной способности в период высокой загрузки в байтах в секунду. Не может использоваться с read_bytes_sec_max или write_bytes_sec_max. |
read_bytes_sec_max | Предел пропускной способности чтения в период высокой загрузки в байтах в секунду. |
write_bytes_sec_max | Предел пропускной способности записи в период высокой загрузки в байтах в секунду. |
total_iops_sec_max | Общее количество операций ввода-вывода в период высокой загрузки в секунду. Не может использоваться с read_iops_sec_max или write_iops_sec_max. |
read_iops_sec_max | Количество операций чтения в период высокой загрузки в секунду. |
write_iops_sec_max | Количество операций записи в период высокой загрузки в секунду. |
size_iops_sec | Размер операций ввода-вывода в секунду. |
total_bytes_sec_max_length | Продолжительность в секундах для периода высокой загрузки total_bytes_sec_max. Действителен только при установленном параметре total_bytes_sec_max. |
read_bytes_sec_max_length | Продолжительность в секундах для периода высокой загрузки read_bytes_sec_max. Действителен только при установленном параметре read_bytes_sec_max. |
write_bytes_sec_max | Продолжительность в секундах для периода высокой загрузки write_bytes_sec_max. Действителен только при установленном параметре write_bytes_sec_max. |
total_iops_sec_max_length | Продолжительность в секундах для периода высокой загрузки total_iops_sec_max. Действителен только при установленном параметре total_iops_sec_max. |
read_iops_sec_max_length | Продолжительность в секундах для периода высокой загрузки read_iops_sec_max. Действителен только при установленном параметре read_iops_sec_max. |
write_iops_sec_max | Продолжительность в секундах для периода высокой загрузки write_iops_sec_max. Действителен только при установленном параметре write_iops_sec_max. |
Статистика I/O
При нажатии кнопки Статистика I/O предлагается выбрать настройки тестирования (используется утилита fio):
Значение | Описание |
---|---|
randrw | Случайное чтение и запись (50%R/50%W) |
write | Последовательная запись |
trim | Операции 'trim' (для СХД с поддержкой TRIM) |
randread | Случайное чтение |
randwrite | Случайная запись |
randtrim | Случайные запросы 'trim' (для СХД с поддержкой TRIM) |
rw | Последовательное смешанное чтение и запись (50%R/50%W) |
Также можно выбрать время тестирования (не более 20 сек, иначе произойдёт тайм-аут) и число одновременных потоков для тестирования. После подтверждения кнопкой Собрать статистику начнётся тестирование, по итогам которого будут выведены результаты.
Очистка
При нажатии кнопки Очистить в открывшемся окне необходимо подтвердить операцию, нажав кнопку Да. Данная операция очистит все данные на LUN.
Удаление
При нажатии кнопки Удалить запускается мастер, где необходимо нажать кнопку Да, чтобы удалить данный LUN, или нажать кнопку Отмена для отказа от операции.
-
Если LUN используется в GFS2, то сначала надо очистить и удалить пул данных GFS2, созданный на нём, отмонтировать LUN со всех узлов, и лишь потом его удалять.
-
Если LUN используется в ZFS-пуле, то сначала надо удалить LUN из состава ZFS-пула, и лишь потом его удалять.
-
Если LUN напрямую подключен к ВМ, то сначала надо отключить его от ВМ, и лишь потом удалять.
Вкладка "Информация"
Во вкладке Информация содержатся параметры блочного устройства:
-
название;
-
путь;
-
устройство dev (при присоединении к ВМ);
-
тип шины (при присоединении к ВМ);
-
размер (в Гбайтах);
-
тип ФС;
-
тип кэширования (с возможностью изменения);
-
опции I/O (с возможностью изменения);
-
приоритет;
-
статус;
-
хранилище;
-
серийный номер;
-
присоединённая ВМ;
-
режим мульти использования LUN несколькими ВМ;
-
репликация LUN;
-
серверы со статусом монтирования с возможностью перемонтирования;
-
дата создания;
-
дата изменения.
Информация о поле "Название"
При отображении LUN в системе в результате создания хранилища или повторного сканирования поле Название принимает значение страницы с текстовой информацией о СХД и LUN (VPD 0x82), если такую предоставляет СХД, иначе значение поля равно полю Путь. Если название отличается от пути, то путь в списке LUN всегда можно увидеть по всплывающей подсказке, наведя курсор "мыши" на название.
Вкладка "События"
Во вкладке События отображаются зарегистрированные в системе события, связанные с работой LUN, с возможностью их сортировки по признакам – По всем типам, Ошибки, Предупреждения, Информационные.
Вкладка "Теги"
Во вкладке Теги содержится список присвоенных LUN меток. Также имеется возможность обновления, создания и применения тега.
Варианты использования LUN
Присоединение напрямую к виртуальной машине
Примечание
При этом нужно учитывать, что файловую систему присоединенного LUN надо контролировать средствами ОС вашей ВМ.
LVM Shared
Примечание
LVM Shared доступен только на узле, на котором его создали, то есть ВМ не могут быть перенесены "наживую".
ZFS
Примечание
ZFS-пул доступен только на узле, на котором его создали, то есть ВМ не могут быть перенесены "наживую". Рекомендуется использовать несколько LUN или локальных дисков для отказоустойчивости ZFS-пула. Также рекомендуется использовать отдельные диски или LUN для кэша ZFS-пула для большей производительности.
GFS2
Примечание
В кластере должно быть не менее 2 узлов (рекомендуется 3).
Кластерные транспорты
Кластерные транспорты
Кластерные транспорты — это общее название для кластерных (GFS2) и распределённых (Gluster) транспортов. Фактически транспорт - это набор сервисов на всех серверах кластера, имеющих сетевую связность друг с другом, поддерживающих постоянное общение друг с другом и кворум для реализации блокировок на файловые системы. Для GFS2 это связка сервисов watchdog, corosync, dlm, sbd. Для Gluster это связка сервисов glusterd и порождаемых им.
В одном транспорте можно использовать несколько однотипных файловых систем, например, у одного транспорта Gluster можно создать несколько томов и пулов данных на последних, у одного транспорта GFS2 можно использовать несколько LUN и пулов данных на последних. Именно поэтому логично выделить кластерный транспорт в отдельную сущность (например, VMFS у Vmware, - это тоже одновременно кластерный транспорт и файловая система).
Создание
Для создания кластерного транспорта необходимо перейти в раздел Хранилища - Кластерные хранилища - Кластерные транспорты основного меню и нажать кнопку Создать. В открывшемся окне необходимо заполнить следующие поля:
-
название (если не указано, то автоматически сгенерируется уникальное имя);
-
описание;
-
кластер, на узлах которого будет разворачиваться кворум (выбор из раскрывающегося списка);
-
тип транспорта (выбор из раскрывающегося списка);
-
внешняя сеть (либо множество внешних сетей для GFS2), физическая сеть которой будет использована для обмена данными между участниками кворума (выбор из раскрывающегося списка);
После внесения изменений необходимо подтвердить операцию, нажав кнопку ОК.
HOWTO создать общий(е) для кластера пул(ы) данных GFS2 на LUN(s)
-
Создать сетевое блочное iscsi или fc хранилище. Проверить, что оно доступно на всех узлах кластера. Проверить, что его LUN(s) видны на всех узлах кластера. Подробности смотрите в блочных хранилищах.
-
Создать внешнюю сеть (необязательный, но рекомендуемый шаг, см. примечание о сетевой конфигурации ниже).
-
Создать кластерный транспорт gfs2. Для удобства можно выбрать LUN, который будет сразу отформатирован (если он не содержит файловую систему GFS2, иначе его служебная информация модифицируется для работы с текущим кластером, а данные остаются нетронутыми), примонтирован, и на нём будет создан пул данных. В дальнейшем можно отформатировать, примонтировать и создать пул данных на других LUN. При выборе нескольких внешних сетей их приоритет (см. примечание о сетевой конфигурации) убывает по порядку сетей в списке. Сеть mgmt добавляется всегда, но с наименьшим приоритетом. Пример 1: при создании транспорта не указано ни одной внешней сети. Результат: используется только одна сеть mgmt. Пример 2: при создании транспорта указаны внешние сети ext1, ext0 (в таком порядке). Результат: максимальный приоритет
у ext1, далее ext0, наименьший приоритет у сети mgmt.
HOWTO создать общий(е) для кластера пул(ы) данных GFS2 на LUN(s), если уже есть кластерный транспорт gfs2
-
Отформатировать LUN в файловую систему GFS2. Если LUN уже содержит ФС GFS2, созданную ранее в другом кластере, см. примечание ниже "Смена имени таблицы блокировок при монтировании LUN, где ранее уже был развернут GFS2 в другом кластере"
-
Примонтировать LUN (он должен примонтироваться на всех узлах кластера с транспортом).
-
Создать пул данных GFS2 на этом LUN или отсканировать, если ФС с дата-пулом существовала ранее.
Информация о сетевой конфигурации GFS2 и Gluster
Роль сети для кластерного транспорта GFS2 и Gluster различна. Так в случае Gluster одна и та же сеть используется и для служебной информации, и для обмена данными между разделами (brick) тома, т.е. трафик по выбранной сети будет достаточно велик при операциях записи на Gluster том или таких операциях, как замена раздела или ребалансировка. Для кластерного транспорта GFS2 сеть необходима для работы служб corosync и dlm, то есть для контроля целостности кластерного транспорта (не путать с кластером SpaceVM) и данных о блокировках. Поэтому для GFS2 трафик существенно меньше, но как для Gluster, так и для GFS2 критично важны и сетевая связность, и минимальные сетевые задержки. Gluster позволяет использовать только какую-нибудь одну сеть (mgmt или внешнюю). Для отказоустойчивости желательно обеспечить избыточность в выбранной сети средствами агрегации. GFS2, напротив, позволяет использовать до 8 сетей для работы кластерного транспорта с заданием приоритета (только одна сеть используется в данный момент, а в случае её отказа выбирается следующая по приоритету, и т.д.). В любом случае рекомендуется разделять трафик кластерных транспортов, трафик управления и СХД трафик в случае iSCSI сетей.
Описание работы GFS2 транспорта
Работа GFS2 транспорта обеспечивается службами corosync, DLM, SBD, косвенно -- ntp.
Corosync обеспечивает отслеживание добавления и удаления узлов из кластера (в нашем случае для транспорта GFS2 ), определение наличия кворума (при отсутствии кворума обмен данными с хостом блокируется для предотвращения ситуации "split-brain"), надёжный и упорядоченный обмен сообщениями между узлами (т.н. протокол Totem). Большое значение для функционирования Totem имеет токен.
Токен -- это некий маркер, пакет данных, циркулирующий между узлами кластера Corosync. Его отсутствие на узле в течение некоторого времени служит основанием для пересоздания кластера службами Corosync на этом узле. Возможными причинами этого могут быть, к примеру, нестабильность сети, отказ узла, который принял токен последним. Перед принятием решения о пересоздании кластера предпринимается несколько попыток повторного отправления токена.
Кворум Corosync достигается при фактическом наличии в кластере узлов с общим числом голосов (N/2)+1, где N -- число голосов, вычисленное из заданной конфигурации кластера. Узлам типа Node назначается один голос, узлам типа Controller+Node -- два. Например, имеется кластер из трёх узлов, один из которых Controller+Node, а два других Node, всего голосов (Votes) 2+1+1 = 4, здесь кворум достигается при числе голосов не менее 3. Следовательно, работоспособность кластера сохранится при потере любого одного из Node, а при любом другом сочетании отказов (Controller, оба узла Node сразу) кластер будет остановлен.
На данный момент кластер SpaceVM и кластер Corosync функционируют параллельно после того, как путём создания или реконфигурации кластерного транспорта GFS2 создаётся конфигурация Corosync с узлами, входящими в кластер SpaceVM.
Сети, которые использует Corosync -- это сети, которые заданы при создании/реконфигурации кластерного транспорта. С версии SpaceVM 6.3.1 можно задавать более одной сети для этих целей, а также менять конфигурацию сетей кластерного транспорта без его остановки.
Служба DLM управляет распределёнными блокировками при операциях с примонтированными GFS2 файловыми системами. Эта служба связана со службой SBD, которая отвечает за ограждение узлов. SpaceVM монтирует GFS2 LUN в режиме управляемой dlm блокировки (lock_dlm), при этом создаётся отдельное пространство блокировок (lockspace) для каждой примонтированной ФС GFS2. От состояния этих пространств блокировок на данном узле зависит доступность данных на соответствующих LUN.
Ограждение узлов в кластере GFS необходимо при угрозе, например, параллельного доступа узлов, не имеющих между собой связи, к одному и тому же ресурсу (например, GFS2 файловой системе). Это возможно при потере связи с узлом, вследствие чего остальной кластер не будет иметь информации о занимаемых данным узлом общих ресурсах (для GFS2 это группы блоков на диске с ФС). При определении такой ситуации узлы, потерявшие кворум, могут быть ограждены самостоятельно посредством сторожевого таймера (watchdog, WDT), который находится в распоряжении службы SBD. Именно поэтому при ограждении узла в логах BMC (iDRAC, iLO, IPMI и т.д.) можно увидеть сообщения о сработавшем WDT.
При определении отказа узла на уровне кластера SpaceVM (ВД) срабатывает выбранный в Web-интерфейсе SpaceVM механизм ограждения, в т.ч. при помощи IPMI-команд.
При ограждении узла прочие узлы отменяют незавершённые изменения, относящиеся к ограждённому, при помощи отката журналов GFS2. Этим обеспечивается целостность данных на ФС. Потеря данных в кэше ВМ, располагавшихся на ограждённом хосте, считается меньшей проблемой по сравнению с непредсказуемым состоянием кластерного хранилища и потери данных на нём.
Служба NTP обеспечивает синхронность времени на узлах, что критично для вхождения узлов в кластер Corosync.
Note
При старте узла службы DLM, Corosync, SBD остановлены до тех пор, пока не будет достигнуто состояние синхронности
времени с контроллером, либо если это сам контроллер -- с внешним NTP-сервером. При отсутствии такового в настройках
ожидается синхронность с локальными часами, что занимает довольно много времени. До этого момента кластерный транспорт
на соответствующих узлах не запущен, в Web-интерфейсе его состояние отображается как FAILED. При достижении
синхронности ситуация приходит в норму. Состояние NTP на узлах можно увидеть командой в CLI контроллера node nodes-cli "ntp check"
.
Watchdog
При наличии аппаратного таймера watchdog сервер будет следить за своим состоянием через него.
При отсутствии такового при включении сервера будет активирован программный watchdog (softdog).
Просмотр и управление watchdog происходит в CLI командами system watchdog *
.
Пример расширенных сведений кластерного транспорта GFS2. Здесь показан статус кворума corosync. Видно, что в транспорте 3 узла (Nodes: 3), данный узел имеет ID 2 (Node ID 2), всего 3 голоса (Expected votes: 3 ). Для кворума необходимо 2 (Quorum: 2), кворум достигнут (Flags: Quorate):
Пример команды storage gfs2
в CLI кластерного транспорта GFS2.
Пример команды вывода конфигурации corosync storage corosync_conf
в CLI. Кластерный транспорт состоит из 3 узлов,
узел 1 (nodeid=1) имеет 2 голоса (quorum_votes=2), т.к. является, очевидно, Controller+Node, остальные 2 узла (nodeid=2 и nodeid=3) имеют по одному голосу (quorum_votes=1). Транспорт сконфигурирован
с 2 сетями: сеть mgmt (ring0, linknumber 0) и одна внешняя сеть (ring1, linknumber 1). При этом более высокий приоритет
(knet_link_priority = 2) у внешней сети, то есть она используется по умолчанию.
Имя кластера (cluster_name) - это первые 8 символов UUID кластера, а версия конфигурации (config_version) зависит от времени создания
кластерного транспорта.
logging {
to_logfile: yes
logfile: /var/log/corosync/corosync.log
timestamp: on
}
nodelist {
node {
name: 6cca2ca9-a1ce-47a0-83cd-b501a780955d
nodeid: 1
quorum_votes: 2
ring0_addr: 6cca2ca9-a1ce-47a0-83cd-b501a780955d
ring1_addr: 6cca2ca9-a1ce-47a0-83cd-b501a780955d-ex1-120
}
node {
name: 6137ca41-6964-4791-b000-98fc84ee0fe3
nodeid: 2
quorum_votes: 1
ring0_addr: 6137ca41-6964-4791-b000-98fc84ee0fe3
ring1_addr: 6137ca41-6964-4791-b000-98fc84ee0fe3-ex1-121
}
node {
name: e0ec5e71-2f76-4178-aad4-4951b2979b9b
nodeid: 3
quorum_votes: 1
ring0_addr: e0ec5e71-2f76-4178-aad4-4951b2979b9b
ring1_addr: e0ec5e71-2f76-4178-aad4-4951b2979b9b-ex1-122
}
}
quorum {
provider: corosync_votequorum
}
totem {
cluster_name: 7157ad2f
config_version: 1778594812838566
ip_version: ipv4
secauth: off
version: 2
keyfile: /var/lib/ecp-veil/controller/local_data/authkey
transport: knet
token: 3000
join: 60
threads: 2
max_messages: 20
vsftype: none
window_size: 170
token_retransmits_before_loss_const: 10
interface {
linknumber: 0
knet_transport: sctp
knet_link_priority: 1
}
interface {
linknumber: 1
knet_transport: sctp
knet_link_priority: 2
}
}
Пример правильной работы двух пространств блокировок (dlm lockspaces) в выводе команды CLI storage gfs2
:
lm Lockspaces info:
dlm lockspaces
name a34be778
id 0x66978c01
flags 0x00000000
change member 3 joined 1 remove 0 failed 0 seq 3,3
members 1 2 3
all nodes
nodeid 1 member 1 failed 0 start 1 seq_add 3 seq_rem 0 check none
nodeid 2 member 1 failed 0 start 1 seq_add 1 seq_rem 0 check none
nodeid 3 member 1 failed 0 start 1 seq_add 2 seq_rem 0 check none
name b846a358
id 0xec09038a
flags 0x00000000
change member 3 joined 1 remove 0 failed 0 seq 3,3
members 1 2 3
all nodes
nodeid 1 member 1 failed 0 start 1 seq_add 1 seq_rem 0 check none
nodeid 2 member 1 failed 0 start 1 seq_add 1 seq_rem 0 check none
nodeid 3 member 1 failed 0 start 1 seq_add 3 seq_rem 2 check none
gfs2_lockcapture info:
List of all the mounted GFS2 filesystems that can have their lockdump data captured:
a20a1521:291e746b-4e9d-478c-aedd-2248f7017e71(id:2)
a20a1521:a34be778 --> /dev/mapper/36000d31004a4f4000000000000000140 on /storages/gfs2/gfs2_df0a4266 type gfs2 (rw,noatime,nodiratime,debug,x-systemd.automount,_netdev) [a20a1521:a34be778]
a20a1521:b846a358 --> /dev/mapper/3600143801259dcf30001100000200000 on /storages/gfs2/gfs2_b846a358 type gfs2 (rw,noatime,nodiratime,debug,x-systemd.automount,_netdev) [a20a1521:b846a358]
Mountpoints:
systemd-1 on /storages/gfs2/gfs2_b846a358 type autofs (rw,relatime,fd=63,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=47126)
/dev/mapper/3600143801259dcf30001100000200000 on /storages/gfs2/gfs2_b846a358 type gfs2 (rw,noatime,nodiratime,debug,x-systemd.automount,_netdev)
/dev/mapper/36000d31004a4f4000000000000000140 on /storages/gfs2/gfs2_df0a4266 type gfs2 (rw,noatime,nodiratime,debug,x-systemd.automount,_netdev)
gfs2 lun /dev/mapper/3600143801259dcf30001100000200000 journals info:
3/3 [fc7745eb] 1/20 (0x1/0x14) +0: File journal0
4/4 [8b70757d] 2/32859 (0x2/0x805b) +0: File journal1
5/5 [127924c7] 3/65698 (0x3/0x100a2) +0: File journal2
6/6 [657e1451] 4/98537 (0x4/0x180e9) +0: File journal3
7/7 [fb1a81f2] 5/131376 (0x5/0x20130) +0: File journal4
8/8 [8c1db164] 6/164215 (0x6/0x28177) +0: File journal5
9/9 [1514e0de] 7/197054 (0x7/0x301be) +0: File journal6
10/10 [6213d048] 8/229893 (0x8/0x38205) +0: File journal7
gfs2 lun /dev/mapper/36000d31004a4f4000000000000000140 journals info:
3/3 [fc7745eb] 1/131 (0x1/0x83) +0: File journal0
4/4 [8b70757d] 2/33155 (0x2/0x8183) +0: File journal1
5/5 [127924c7] 3/66179 (0x3/0x10283) +0: File journal2
6/6 [657e1451] 4/99203 (0x4/0x18383) +0: File journal3
storage gfs2
FS WITHDRAWN; FSCK NEEDED). Если такое есть хотя бы на каком-то узле, следует отмонтировать ФС
на всех узлах и провести проверку файловой системы.
Соответствие имени LUN имени пространства блокировок можно увидеть в выводе в секции gfs2_lockcapture info.
Пример команды storage dlm-conf
в CLI :
Пример команды storage gfs2
в CLI (здесь видно, что кворум ожидает завершения ограждения узла,
рекомендуется проверить, почему узел не ограждается и при необходимости попытаться завершить
ограждение командой dlm_tool fence_ack {nodeid}
):
Gluster транспорт
Минимальное количество узлов
В кластере для создания транспорта должно быть не менее 2 узлов. При создании транспорта типа Gluster на 2 узлах надо понимать, что такая конфигурация может создать ситуацию, когда узлы не могут определить мастера при потере сетевой связности (split-brain), а значит - могут писать различающиеся данные в одно место. При создании транспорта типа GFS2 на 2 узлах такая конфигурация может повлечь за собой возможность ограждения 2 узлов.
Выбор внешней сети
Рекомендуется использовать отдельную от сети управления внешнюю сеть!
После создания транспорта без использования внешней сети убедитесь с помощью кнопки
Получение расширенных сведений о транспорте,
что связь узлов идёт через UUID узлов, а с использованием внешней сети через
UUID узлов плюс имя внутреннего интерфейса. С помощью команды hosts
на любом узле можно
удостовериться, что UUID узла плюс имя внутреннего интерфейса соответствует IPv4-адресу интерфейса.
Устройство томов Gluster и действия с ними описаны в пункте Gluster тома.
Добавление узлов к существующему кластерному транспорту Gluster:
- Введите узлы в кластер Space.
- При функционировании существующего кластерного транспорта через внешнюю сеть подключите узлы к этой внешней сети.
- В окне существующего кластерного транспорта нажмите кнопку Переконфигурирование. При этом вновь добавленные к кластеру узлы будут присоединены к существующему кластерному транспорту.
- При наличии пулов данных типа Gluster в меню Хранилища - Пулы данных на вновь подключённых узлах нажмите Сканировать. Пулы данных станут доступны на этих узлах.
Удаление узлов из кластерного транспорта Gluster (например, перед выводом из кластера)
- Остановите или выключите ВМ, чьи диски находятся на томах Gluster в данном кластерном транспорте. На время удаления не проводите операций загрузки файлов на пулы данных типа Gluster в данном кластере.
- Удалите или замените разделы томов Gluster, находящиеся на узлах, которые подлежат удалению.
- Отмонтируйте тома Gluster от соответствующих узлов.
- В меню кластерного транспорта нажмите кнопки отключения нужных узлов от транспорта.
Замена узла с имеющимся кластерным транспортом
Окно состояния транспорта
Для получения информации о транспорте необходимо нажать на его название. В окне состояния транспорта отображаются сведения о нем, разделенные на группы:
-
информация;
-
события;
-
теги.
Управление работой транспорта происходит в окне состояния, где доступны следующие операции:
-
удаление;
-
переконфигурирование (добавление новых серверов кластера);
-
получение расширенных сведений о транспорте.
Вкладка Информация содержит следующие сведения о транспорте:
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
кластер;
-
тип;
-
статус;
-
даты создания;
-
дата обновления;
-
серверы со статусами (раскрывающийся список).
Пример информации кластерного транспорта gfs2:
События
Вкладка События содержит сообщения о работе транспорта с возможностью их сортировки по признакам - «По всем типам», «Ошибки», «Предупреждения», «Информационные».
Теги
Вкладка Теги содержит список присвоенных транспорту меток. Также имеется возможность обновления, создания и применения тега.
Watchdog
Для работы кластерных транспортов OCFS и GFS2 требуется наличие устройства /dev/watchdog. Появление этого устройства в системе зависит от того, загружен ли правильный (один из множества вариантов) модуль ядра для разных возможных плат bmc. SpaceVM автоматически при загрузке, раз в сутки или по требованию администратора, проверяет наличие устройства, и при его отсутствии пытается последовательно загрузить модули ipmi-watchdog, iTCO_wdt, softdog. После каждой попытки проверяется наличие устройства, если оно есть, дальше попытки не ведутся. Указанный выше порядок, с нашей точки зрения, является наиболее универсальным для тех серверов, которые подвергались тестированию. При необходимости стоит выбирать подходящий для своего сервера модуль.
Управлять watchdog можно в CLI командами system watchdog *
.
Добавление/Удаление узлов от кластерного транспорта GFS2
- Если узел, который нужно удалить, активен, то необходимо перевести его в сервисный режим.
- Нажать кнопку Реконфигурировать у кластерного транспорта.
Что произойдет:
- Возьмутся все активные узлы кластера.
- На всех активных узлах пропишется новая конфигурация corosync и dlm.
- На всех активных узлах сервисы corosync перепрочитают конфигурацию.
Смена имени таблицы блокировок при монтировании LUN, где ранее уже был развернут GFS2 в другом кластере
Следует зайти в CLI любого сервера в составе кластера с GFS2 и выполнить команду
tunegfs2 -L {cluster_id}:{lun_id} {lun_device}
.
Пример смены имени таблицы блокировок
tunegfs2 -L 22c7867a:5aa6f80f /dev/mapper/3600143801259dcf30000b00000220000
Переменные:
-
cluster_id - первые 8 символов id кластера (если id кластера 22c7867a-f705-46f1-a01d-d215f4f6b388, то нам нужны 22c7867a)
-
lun_id - первые 8 символов id LUN (если id LUN 5aa6f80f-4c8c-4c84-8037-c29800b93f92, то нам нужны 5aa6f80f)
-
lun_device - путь LUN, например /dev/mapper/3600143801259dcf30000b00000220000
id сущности
Его можно посмотреть и скопировать в буфер кнопкой Копировать в левом верхнем углу окна сущности.
После этого можно снова попробовать примонтировать LUN к серверам кластера.
Журналы файловой системы GFS2 и их добавление
При формативании LUN в файловую систему GFS2 необходимо выбрать опцию Максимальное количество узлов в кластере (по умолчанию 16, максимум 64). Это необходимо для создания на LUN отдельных файлов журналов (по умолчанию размер 32 Mбайт) на каждый узел в составе кластера. Если необходимо превысить текущее количество узлов, использующих этот LUN, то надо соответственно увеличить количество журналов.
-
Посмотреть текущие журналы и их количество можно в CLI любого сервера в составе кластера с GFS2, выполнив команду:
storage gfs2
. -
Добавить журналы можно в CLI любого сервера (предварительно обязательно смонтировав на узле этот LUN) в составе кластера с gfs2 , выполнив команду:
gfs2_jadd -j {journal_count} {lun path}
.Пример команды
gfs2_jadd -j 2 /dev/mapper/3600143801259dcf30000b00000220000
Расширение файловой системы GFS2
Перезагрузка узлов
Перед выполнением расширения GFS2 следует прочитать и задействовать Действия после изменения размера LUN и перезагрузиться.
Действия при отключении питания блочного хранилища со всех узлов во время работы GFS2
Аварийный режим
Отключение хранилища во время работы GFS2 считается аварийным режимом и никогда не рекомендуется. Менеджеры кластерных блокировок dlm не знают точно, что на файловой системе происходит после коллективного отключения, поэтому и требуют проверки.
Действия:
- Отмонтировать LUN на всех узлах через Web-интерфейс. При ошибках отмонтирования можно просто зайти в CLI сервера и удалить записи монтирования этого LUN из /etc/fstab. Главная цель - чтобы после перезагрузки LUN был отмонтирован на узле для дальнейшей работы команды fsck.
- Перезагрузить все узлы. При наличии других общих пулов данных можно перезагружать поочерёдно, выполнив перед этим перенос ВМ на другие узлы.
- Зайти на любой один узел и сделать
fsck.gfs2 -y {lun path}
, напримерfsck.gfs2 -y /dev/mapper/3600143801259dcf30000b00000220000
. Надо учитывать, что данная операция занимает продолжительное время и зависит от размера LUN. Например, для LUN размером 157 Тбайт fsck заняло 2 недели. - Примонтировать LUN на всех узлах. Рекомендуется монтировать поочерёдно по одному узлу.
- Проверить, что пул данных стал активен на всех узлах. Рекомендуется создать и удалить виртуальный диск для проверки.
Gluster тома
Создание тома
Для создания тома необходимо перейти в раздел Хранилища - Кластерные хранилища - Тома основного меню и нажать кнопку Создать. В открывшемся окне необходимо заполнить следующие поля:
-
название;
-
описание;
-
тип тома (Реплицированный или Дисперсный);
-
кластерный транспорт, на узлах которого будет развернут том (выбор из раскрывающегося списка);
-
разделы (ZFS-пулы) (выбор из раскрывающегося списка);
-
размер записи датасетов на ZFS пулах, относящихся к создаваемому тому;
-
значение репликации тома;
-
включить (выключить) опцию Наличие раздела арбитра в реплицированном томе;
-
включить (выключить) опцию Создать пул данных.
После внесения изменений необходимо подтвердить операцию, нажав кнопку ОК.
Примечание
После создания том будет сразу примонтирован на всех узлах кластерного транспорта. После примонтирования будет создан пул данных с тем же именем, что и том.
Пошаговое описание создания пула данных типа Gluster
-
Создаём внешнюю сеть на узлах кластера на отдельных физических интерфейсах или бондах, создавая внутренние интерфейсы на каждом узле.
-
Создаём кластерный транспорт с указанием внешней сети.
-
Создаём ZFS-пулы на узлах кластера.
-
Создаём том, выбирая кластерный транспорт и ZFS-пулы.
-
Создаём пул данных типа Gluster, указывая том.
Внимание!
При создании тома или замене разделов тома рекомендуется использовать заново созданные ZFS-пулы, а не использовать имеющиеся повторно. Это связано с особенностями очистки ZFS-пулов перед созданием тома или заменой разделов. То есть, если в системе имеются ZFS-пулы, использовавшиеся ранее под ZFS-датапул или том Gluster, лучше удалить их и собрать заново перед использованием.
Рекомендации
- Подробную информацию по томам можно прочитать на официальном сайте Gluster.
- Подробно описанные рекомендации по томам.
- Не рекомендуется использовать management сеть для томов.
- Не рекомендуется иметь пропускную способность менее 10 GbE для сети хранилищ.
- Рекомендуется сразу поднять MTU физических интерфейсов до 9100.
- Рекомендуется создавать ZFS-пулы типа mirror c учётом ARC-кэша, L2ARC, ZIL.
- Размер записи при создании тома влияет на IOPS тома при обмене мелкими блоками (меньше-лучше), фрагментацию файлов на ZFS пулах и потребление памяти ZFS кэшем на узле (больше-лучше). При необходимости высоких значений IOPS можно уменьшить значение размера записи до 8-16K. Стандартное значение размера записи ZFS -- 128K. Устанавливать размер записи менее 8К не следует, т.к. ZFS пулы создаются в Space с параметром ashift=13, что даёт размер блока 8К (записи состоят из блоков и не могут быть меньше блока).
- Рекомендуется использовать резервную копию виртуальных машин, чтобы избежать потери данных.
Управление
Управление работой тома происходит в окне состояния, которое открывается при нажатии на название тома. В окне состояния тома доступны следующие операции:
-
удаление;
-
добавление раздела (ZFS-пула);
-
замена раздела (ZFS-пула);
-
удаление раздела (ZFS-пула);
-
монтирование;
-
размонтирование;
-
статус подорожника. Более подробную информацию можно прочитать здесь;
-
действия подорожника (enable, disable или full);
-
статус ребалансировки тома;
-
действия ребалансировки тома (старт или стоп);
-
действия тома (старт или стоп);
-
получение расширенных сведений о томе.
Информация
Вкладка Информация содержит следующие сведения о томе:
-
название;
-
описание (редактируемый параметр);
-
кластерный транспорт;
-
объем дискового пространства (всего, занято);
-
статус;
-
Gluster статус;
-
даты создания;
-
дата обновления;
-
опции тома:
- наличие раздела арбитра в реплицированном томе;
- число разделов (ZFS-пулов) в томе, тип тома dispersed;
- путь монтирования тома;
- число разделов избыточности (ZFS-пулов) в dispersed томе;
- значение репликации тома;
- тип транспорта для тома;
-
серверы кластера со статусами связи и монтирования (раскрывающийся список).
Типы томов и их основные отличия
Краткое резюме
- простейший ненадёжный тип тома — аналог JBOD — распределённый (distributed);
- простейший тип тома с избыточностью, неэффективный по объёму — аналог MIRROR — реплицированный (replicated);
- более эффективный по объёму — реплицированный с арбитром;
- самый продвинутый — аналог RAID 5, 6 — дисперсный.
Том состоит из одного или более подтомов (subvolumes), их число указано в параметре distribute готового тома. Каждый подтом в данном томе имеет одну и ту же структуру, может быть реплицированным либо дисперсным. Простейшая структура тома Gluster -- один подтом из одного раздела.
1. Распределённый (distributed) том
Примерный аналог JBOD или RAID 0 массива. Не обладает избыточностью и какой-либо защитой от сбоев на уровне Gluster. Каждый подтом здесь состоит из одного раздела. При отказе хотя бы одного из разделов данные могут стать недоступны на всём томе. Может быть составлен из разделов (bricks) различающегося объёма, при этом объём разделов используется полностью. Самый «лёгкий» тип тома в плане и требуемой вычислительной мощности, и сетевого трафика. В свойствах распределённого тома отображается значение репликации "1". При этом том создаётся с указанием значения репликации "0". Это самый быстрый том, если отдельные подтома (subvolumes, составляющие том) располагаются на разных узлах, то случайный обмен данными с томом делится между дисковыми подсистемами узлов, хранящих разделы, что положительно влияет на производительность.
Добавлять разделы к распределённому тому можно двумя способами:
-
с увеличением размера, в этом случае нет требований к размерам и числу добавляемых разделов;
-
с повышением реплики, в этом случае следует указывать новое значение реплики и учитывать распределение разделов в подтомах данного тома по размерам, а число разделов должно быть равно
<числу разделов в исходном томе> x <изменение реплики>
. В результате образуется распределённый реплицированный том.
Примечание
Если при добавлении разделов к тому параметр реплики не указан (равен "0"), то по умолчанию производится увеличение размера тома (увеличивается параметр "distribute").
Внимание!
В SpaceVM тома Gluster запрещается
создавать с включённым атрибутом "sharding". Из этого следует, что каждый файл, образ или
виртуальный диск, создаваемый на томе Gluster, должен целиком размещаться на одном разделе.
В противном случае будет выдана ошибка нехватки свободного места, даже если суммарного
свободного места на распределённом томе достаточно. Во избежание подобных ситуаций следует
до решения проблемы создавать чисто реплицированные Gluster тома размером, равным размеру
одного раздела. При наличии достаточного количества узлов и доступных ZFS-пулов на них для
разделов под тома Gluster рекомендуется создавать отдельные тома Gluster с параметром
"distribute = 1" и нужным уровнем реплики. Если всё же необходимо создание одного
распределённого тома Gluster большого объёма, целесообразно избегать создания «тонких»
виртуальных дисков на нём, чтобы возможные ошибки нехватки свободного места проявлялись
сразу же при создании диска, а также следить за свободным местом на отдельных разделах
тома и регулярно (или по расписанию) проводить ребалансировку тома. В случае ранее
созданного тома с включенным параметром features.shard on
(проверяется в окне Опции тома)
следует скопировать с него имеющиеся данные и пересобрать том, сразу же после сборки,
указав в параметрах features.shard off
.
2. Реплицированный (replicated) том
Аналог MIRROR (RAID 1) массива. Обладает N-кратной избыточностью, где N - параметр репликации. Технически сохраняет работоспособность при отказе N-1 реплик. Фактически поведение тома зависит от настроек кворума. Подробнее о кворуме можно прочитать здесь.
При составлении реплик из разделов разного объёма эффективный объём тома равен объёму наименьшего раздела в реплике. При записи на том генерируется N-кратный трафик в сети, объединяющей разделы.
Добавлять разделы можно к реплицированному тому можно двумя способами:
-
с увеличением размера и сохранением параметра репликации, в этом случае число разделов должно быть кратно параметру репликации. Этот режим выбирается по умолчанию, если не указывать новый параметр репликации;
-
с сохранением размера и увеличением параметра репликации. При этом не следует добавлять разделы размером меньше уже составляющих том.
3. Реплицированный том с арбитром
Является компромиссным решением между вариантом с репликой "2", подверженной проблеме "split-brain" в случае потери связи между разделами, и репликой "3", требующей трёхкратного объёма хранилища по отношению к полезному объёму тома. В этом случае реплика равна "3", но на последнем томе реплики хранится только метаинформация о файлах и каталогах, а не их содержимое. Такой том называется арбитром. Это позволяет в случае нарушения связности между узлами избежать проблемы "split-brain" и сэкономить дисковый объём. Для создания реплицированного тома с арбитром следует указать при создании тома значение реплики "2", а значение арбитра в реплицированном томе - равным "1". См. ниже порядок следования разделов при создании тома.
Добавление разделов к реплицированному тому с арбитром возможно только в режиме увеличения размера, при этом значения реплики и наличия арбитра в томе следует оставить равными нулю. Увеличивать значение реплики в таком томе нельзя. Число добавляемых разделов должно быть кратным трём.
Примечание
Возможно создать реплицированный том с арбитром из реплицированного тома с параметром реплики "2". При этом следует указать реплику "3", наличие арбитра "1", а число разделов должно быть равно параметру "distribute" исходного тома.
4. Распределённый реплицированный (distributed replicate) том
Является по сути репликой распределённых томов (примерный аналог RAID 10). Обладает так же, как и реплицированный, N-кратной избыточностью. Сохраняет работоспособность технически, пока исправна минимум одна реплика, фактически поведение тома зависит от настроек кворума. Подробнее о кворуме можно прочитать здесь.
При создании томов такого типа из разделов разного размера следует учесть, что общий объём тома будет определяться суммой минимальных объёмов разделов в репликах каждого из подтомов (см. ниже порядок следования разделов при создании тома). При записи генерирует так же, как и реплицированный том, N-кратный трафик в сети, связывающей разделы.
Для создания тома такого типа следует указать значение реплики и выбрать число разделов, кратное этому значению. К примеру, при указании реплики "2" и всего 6 разделов будет создан том со значениями replica = 2, distribute = 3. Если нужно создать распределённый реплицированный том с арбитром, то значение реплики нужно указать "2", значение арбитра "1", а число томов кратным 3. При этом каждый третий раздел будет являться арбитром, следовательно, это может быть раздел существенно меньшего размера.
Создание распределённого реплицированного тома из 6 разделов с арбитром
Пусть у нас есть 4 ZFS-пула размером 1 Тбайт (zp_1T_0 ... zp_1T_3) и 2 ZFS-пула размером
40 Гбайт (zp_40G_0, zp_40G_1). Тогда для создания нужного тома можно выбрать ZFS-пулы в
такой последовательности (условно, важно, чтобы разделы 40 Гбайт попали в последнюю реплику):
zp_1T_0 zp_1T_1 zp_40G_0 zp_1T_2 zp_1T_3 zp_40G_0
. Значение реплики выберем равным "2",
а значение арбитра равным "1". Тогда после создания тома по нажатию кнопки Получение расширенных сведений
о томе пользователь увидит роль разделов zp_1T_0, 1, 2, 3 — 'Brick'
,
а zp_40G_0, 1 — 'Arbiter'
. Суммарная ёмкость тома будет равна 2 Тбайт.
5. Дисперсный (dispersed) том
Является примерным аналогом RAID-5, 6, raidz1, 2 или выше в зависимости от числа разделов избыточности.
Сохраняет работоспособность при отказе до R разделов, где R - значение избыточности ("disperse redundancy"), заданной
при создании тома. Объём тома в случае одинаковых размеров разделов равен D x Vрзд
, где D - число
разделов с данными ("disperse data"). Имеет преимущество перед реплицированным томом в более эффективном расходе дискового пространства,
но более активно использует мощность CPU узлов и сравнимо генерирует трафик, т.к. для записи некоторого
объёма данных на этот том требуется считывание D-1 объёмов данных, вычисление и запись R объёмов данных коррекции ошибок (избыточности). В сочетании с нагрузкой
на CPU узлов при использовании raidz для защиты от отказов отдельных накопителей, составляющих разделы,
может создаваться видимая загрузка CPU узлов.
При создании дисперсного тома из разделов разного размера общий объём тома равен D x Vmin
, где Vmin -
минимальный размер из всех разделов тома. При создании распределённого дисперсного тома это справедливо для
каждого подтома в отдельности.
Для создания дисперсного раздела нужно задать список разделов и любые из параметров:
- N - общее число указанных для создания тома разделов, по умолчанию - 0;
- Nt - число разделов на дисперсный том, по умолчанию - 0;
- D - число разделов данных в дисперсном томе, по умолчанию - 0;
- R - число разделов избыточности, по умолчанию - 1.
Число разделов на дисперсный том Nt берётся равным N. Указывается в случае создания дисперсного распределённого тома, в этом случае задаётся кратно меньшим N, при этом степень кратности будет равняться параметру "distribute" в полученном томе.
Число разделов данных в дисперсном томе D берётся равным Nt-1.
Если какие-то параметры заданы явно, остальные вычисляются автоматически.
Примеры создания дисперсных томов
Пусть имеется 8 разделов объёмом по 1 Тбайт (см.замечание об оптимальной конфигурации дисперсного тома). - Зададим параметры по умолчанию, кроме числа разделов данных на дисперсный том = 8. Тогда получим том объёмом 7 Тбайт, переносящий потерю любого одного раздела. - Из этих же 8 разделов создадим том с параметром Nt = 4, прочие параметры по умолчанию. Тогда получим том 6 Тбайт, состоящий из двух подтомов (первая и вторая группа по 4 раздела в списке разделов при создании тома) и переносящий потерю любого раздела в каждом из подтомов. - Из этих же разделов создадим том с параметром D = 5, прочие параметры по умолчанию. Получаем том объёмом 5 Тбайт, переносящий отказ до 3 любых разделов в томе.
Примечание
При добавлении разделов к дисперсному тому их число должно быть кратно сумме параметров D + R, при этом образуется дисперсный распределённый том.
Важное замечание о производительности
Существует понятие оптимальности конфигурации дисперсного тома. Дело в зависимости размера блоков обмена данными при обращениях к тому от конфигурации тома. Она равна S = D x 512 байт, где D - число разделов с данными в дисперсном томе. Оптимальной считается конфигурация тома, при которой размер блока данных является степенью двойки (т.е. 512, 1024, 2048, 4096, 8192, ... байт). Следовательно, оптимальным числом разделов с данными в томе будет 2, 4, 8, ... разделов. К этому числу нужно прибавить число разделов для обеспечения требуемой избыточности. Например, для стойкости к потере 1 раздела и оптимальности конфигурации нужно иметь в томе 3(2+1), 5(4+1), 9(8+1), ... разделов. Если конфигурация будет неоптимальной, производительность тома будет понижена из-за того, что в основном обмен идёт блоками размером кратным степени двойки (например, кратными 4096 байт). Если требуемые или отдаваемые клиентом блоки не будут кратны блокам, отдаваемым хранилищем, то на каждую операцию будет приходиться фактически две или более операции обмена с томом, в случае записи это приводит к множеству дополнительных, так называемых, "read-modify-write" операций. Поэтому при создании дисперсного тома следует стремиться к оптимальной конфигурации.
6. Распределённый дисперсный (distributed disperse) том
Примерный аналог RAID 60. Состоит из нескольких дисперсных томов, объединённых наподобие разделов в распределённом томе. Получается при добавлении разделов к дисперсному тому либо при создании дисперсного тома, когда значение "число разделов данных в дисперсном томе" кратно меньше заданного числа разделов.
Важность выбора последовательности разделов при создании и модификации тома
Разделы, составляющие распределённый том, называются подтомами (subvolumes). Это, по большей части, неявный параметр, но он имеет большое значение для реплицированных томов с арбитром и распределённых реплицированных томов. Какой раздел отнесётся к какой реплике и в каком подтоме он будет находиться, однозначно определяется порядком указания разделов при создании. В распределённом реплицированном томе с k подтомов (distribution = k) и n реплик (replica = n) это задаётся так:
S1R1 S1R2 ... S1Rn S2R1 S2R2 ... S2Rn ... SkR1 ... SkRn
,
где S1...Sk — subvolumes тома, а R1...Rn — номер реплики.
То есть, как видим, друг за другом указываются реплики одного подтома. Соответственно, если создаётся распределённый реплицированный том из разделов различной ёмкости или том с арбитром, нужно учитывать это. В одном подтоме желательно располагать разделы одинаковой ёмкости, чтобы избежать неиспользуемого объёма, а в одной реплике — разделы из одного узла, если такие имеются, что обеспечит отказ только одной реплики при отказе какого-либо из узлов.
Важно!
Добавление разделов к томам нужно производить с установленным движком Принудительное добавление, иначе задача завершится с ошибкой.
Профилирование тома
gluster volume profile {volume_name} start # команда для запуска профилирования тома
gluster volume profile {volume_name} info # команда для получения информации о томе (запуск этой команды следует выполнять через некоторе время после начала профилирования)
gluster volume profile {volume_name} stop # команда для окончания профилирования тома
Применение группы опций к тому
При создании к тому автоматически применяются дополнительные оптимизирующие опции. Операция производится в несколько этапов:
-
Сначала к тому применяется одна из стандартных (поставляемых разработчиками Gluster) групп опций в зависимости от типа тома:
- распределённый том - группа distributed-virt;
- реплицированный том - группа virt;
- дисперсный том - группа dispersed-virt (модифицированная группа virt без параметра
cluster.shd-max-threads
).
-
Далее к тому применяется группа параметров Space (см. ниже).
-
Также отключается опция тома
sharding
, т.к. она может в данной версии Gluster приводить к повреждению данных.
В ручную группы можно применить к уже созданным томам, зайдя в CLI любого сервера, на котором развернут Gluster том, и выполнить команды (к примеру, распределённый том):
gluster volume set {volume_name} group distributed-virt
gluster volume set {volume_name} group veil
gluster volume set {volume_name} features.shard off
Примечание
Важно отключить шардинг (sharding) после установки групп, т.к. предустановленные группы (virt, distributed-virt, dispersed-virt) могут его включить.
В случае создания реплицированного тома с арбитром устанавливается параметр
gluster volume set {volume_name} server-quorum-type server
Подробнее о параметрах и группах параметров томов можно прочитать здесь.
Опции группы Space:
performance.quick-read=off
performance.read-ahead=off
performance.io-cache=off
performance.low-prio-threads=32
network.remote-dio=disable
performance.strict-o-direct=on
cluster.eager-lock=enable
cluster.quorum-type=none
cluster.server-quorum-type=none
cluster.data-self-heal-algorithm=full
cluster.locking-scheme=granular
user.cifs=off
cluster.choose-local=off
client.event-threads=4
server.event-threads=4
performance.client-io-threads=on
network.ping-timeout=20
server.tcp-user-timeout=20
server.keepalive-time=10
server.keepalive-interval=2
server.keepalive-count=5
cluster.lookup-optimize=off
Удаление разделов из тома
В некоторых случаях возможно сократить размер тома или его избыточность путём удаления части разделов из тома.
Сокращение размера тома возможно при наличии более чем одного подтома (distribute > 1), следовательно, применяется на томах типа DISTRIBUTED, DISTRIBUTED_REPLICATE, DISTRIBUTED_DISPERSE. Перед удалением следует убедиться, что свободное место на оставшихся подтомах достаточно, чтобы вместить данные с удаляемого подтома. Также важно понимать, что так как каждый файл, хранящийся на томе Gluster в текущей конфигурации, хранится целиком на каком-либо подтоме, то при конфигурации, например, когда на удаляемом подтоме лежит файл размером 40 Гбайт, а на двух оставшихся есть 20 и 20 Гбайт свободного места, операция удаления завершится с ошибкой. Следует обеспечить свободное место, достаточное для копирования файлов с удаляемого подтома целиком.
При удалении разделов с уменьшением объёма раздела значение репликации нужно оставить равным 0 или текущему значению репликации тома (в случае дисперсного тома значение репликации смысла не имеет, поэтому его следует оставить равным 0), а при удалении разделов с уменьшением числа реплик (уменьшением избыточности) у реплицированных томов значение репликации нужно установить равным результирующему значению репликации тома.
Для правильного выбора разделов, подлежащих удалению, см. Важность выбора последовательности разделов.... Фактический порядок разделов в томе, и следовательно, их отношение к различным подтомам и расположение в них, можно увидеть по нажатию кнопки Получение расширенных сведений о томе.
Примеры:
-
том типа DISTRIBUTED_REPLICATE, параметры replica=3, distribute=2. Следовательно, имеется 2 подтома, каждый из них имеет значение реплики 3. Всего в томе 6 разделов.
-
Расположение разделов (из информации Расширенные сведения о томе): z1, z2, z3, z4, z5, z6.
-
Первый подтом состоит из разделов (z1, z2, z3), второй из (z4, z5, z6). Первая реплика подтомов состоит из разделов (z1, z4), вторая -- из (z2, z4), третья (она же при наличии арбитра в томе содержит разделы арбитров) -- (z3, z6).
-
Чтобы уменьшить размер тома, следует удалить какой-либо из подтомов целиком. Следовательно, возможно выбрать к удалению тройки разделов (z1, z2, z3) или (z4, z5, z6). При этом тип тома изменится на REPLICATED, так как в нём останется только один подтом.
-
Чтобы уменьшить степень избыточности тома, следует выбрать пары разделов из разных подтомов. В зависимости от наличия или отсутствия арбитра в томе возможны два варианта.
- Если нет арбитра, разделы в пределах подтома равноправны. То есть, если нет арбитра, то для уменьшения реплики можно выбрать по одному любому разделу из разных подтомов, например, пары (z1, z5), или (z2, z4), или (z3, z4).
- В случае тома с арбитром ситуация меняется. Разделы типа "arbiter", являющимися третьими репликами в каждом подтоме (в нашем случае это будут разделы z3 и z6), при удалении нужно выбирать только синхронно. То есть, если в этом случае нужно удалить разделы с данными, то они по-прежнему равноправны между собой в пределах подтома, и можно выбрать пары (z1, z4), или (z2, z4), или (z1, z5). А разделы (z3 и z6), являющиеся арбитрами, следует удалять только синхронно. Комбинации (z1, z6) или (z4, z3) и подобные недопустимы в данном случае.
-
-
том типа DISTRIBUTED_DISPERSE c параметрами disperse=3, distribute=2. Содержит 2 подтома дисперсного типа "2+1". Всего в томе 6 разделов.
-
Расположение разделов (из информации Расширенные сведения о томе): z1, z2, z3, z4, z5, z6.
-
Дисперсные тома не поддерживают изменение избыточности, поэтому здесь возможно только удаление разделов с уменьшением размера, т.е. удаление подтома целиком. Следовательно, при удалении нужно выбирать только тройки разделов (z1, z2, z3) или (z4, z5, z6). При этом том превратится в тип DISPERSED, так как в нём останется только один подтом.
-
Важно!
После уменьшения размера тома путём удаления разделов, если результирующий том имеет более 1 подтома, желательно запустить ребалансировку тома.
Остановка и замена разделов в томе
В случае проблем с каким-либо ZFS-пулом, используемым под раздел тома Gluster, возможно временно "вывести из эксплуатации" данный раздел (при наличии избыточности у тома), провести необходимые работы, включая удаление неисправного ZFS-пула, а затем заменить остановленный раздел на исправный.
-
Если нужно произвести замену раздела, и заменяющий раздел уже доступен, тогда во вкладке Разделы (ZFS пулы) выбрать действие Замена раздела, где указать заменяемый и заменяющий разделы.
-
Если раздела для замены заранее нет, то заменяемый раздел можно остановить путём выбора действия Остановка раздела во вкладке Разделы (ZFS пулы), после чего при необходимости можно удалить ZFS-пул, составляющий данный раздел, пересобрать его с другим именем и т.д., а затем выполнить Замену раздела, где заменяемый раздел будет уже остановленный и может быть удалённый, а заменяющий -- вновь полученный исправный раздел.
Остановленный раздел можно привести обратно в состояние Online либо перезапуском тома, нажав кнопку Действия тома, далее стоп -- старт, либо, если остановка тома недопустима, заменой раздела на другой.
Важно
После замены разделов следует проверить исправность данных на томе, нажав кнопку Статус подорожника тома. Значение NR_ENTRIES для всех разделов должно быть равным 0, а все разделы должны быть в состоянии Connected. В случае, если значения NR_ENTRIES для какого-либо раздела через несколько минут после замены не становятся равным 0, следует провести лечение тома, нажав кнопку Действия подорожника, далее full, а в случае неудачи перезапустить том.
Вывод на обслуживание разделов тома с последующей заменой на разделы на том же узле
В некоторых случаях необходимо вывести из эксплуатации разделы тома, находящиеся на некотором узле, исправить их и ввести вновь в тот же том, а дополнительного хранилища выделить не удаётся. Если избыточность тома позволяет, можно провести следующие действия:
- Остановить разделы томов, находящиеся на данном узле.
- Перевести узел в сервисный режим.
- Удалить узел из кластера.
- Через CLI или иными средствами привести разделы в исправное состояние.
- Добавить узел в кластер.
- Провести переконфигурацию кластерного транспорта. При этом в списке узлов кластерного транспорта будет виден как вновь введённый узел, так и он же, но в виде "потерянного" и без имени, как uuid. Сообщения о невозможности примонтировать том можно проигнорировать.
- Произвести замену разделов, находившихся ранее на данном узле, на те же разделы, но уже исправленные.
- Проконтролировать через расширенные сведения о томе, что новые разделы онлайн и синхронизируются.
- Примонтировать том на узел.
Примечания:
-
При отсутствии избыточности у тома замена раздела может в некоторых случаях пройти успешно, однако в связи с непредсказуемостью результата данное действие производить не рекомендуется, а сохранность данных даже в случае успешного завершения не гарантируется.
-
В некоторых случаях задача прямой замены раздела может сопровождаться ошибкой с сообщением "another transaction is in progress". В результате желаемое действие всё равно завершается успешно, если же нет, то следует произвести замену с предварительной остановкой заменяемого раздела.
-
Попытка удалить ZFS-пул, содержащий раздел тома Gluster в состоянии Online, завершится с ошибкой. Сначала раздел необходимо остановить.
-
Таблица разделов (ZFS-пулов) тома содержит два схожих поля -- "Online" и "Статус". Первое поле указывает на состояние раздела с точки зрения тома Gluster, а второе -- на исправность самого ZFS-пула.
ISCSI сервер
Общая информация
ISCSI сервер предназначен для предоставления доступа к хранилищам по TCP/IP в виде блочных устройств (LUN).
В разделе Хранилища - ISCSI сервер основного меню содержится интерфейс управления ISCSI storage и ISCSI target.
ISCSI storage
В ISCSI storage создаются хранилища на основе блочных устройств доступных на узле, что бы они были доступны в ISCSI target.
Действия
В окне ISCSI storage доступны следующие операции:
- обновление информации о всех ISCSI хранилищах по кнопке
- создать новое ISCSI хранилище по кнопке Создать;
- открыть ISCSI хранилище в списке.
При открытии ISCSI хранилища, открывается окно с информацией о нем, где доступны следующие операции:
- обновление информации о всех LUN с которыми связано это ISCSI хранилищах по кнопке
- удалить это ISCSI хранилище по кнопке Удалить.
Создать
При нажатии кнопки Создать открывается окно создания с полями и чекбоксами:
- Сервер - выпадающий список доступных узлов;
- Локальные устройства - выпадающий список доступных блочных устройств на узле;
- readonly - флаг запрещающий запись, по умолчанию выключен;
- write_back - кэш обратной записи, по умолчанию включен.
После заполнения полей, необходимо нажать кнопку ОК, чтобы создать объект.
Удаление
При нажатии кнопки Удалить запускается мастер, где необходимо нажать на кнопку Да, чтобы удалить данный ISCSI storage, или нажать на кнопку Отмена для отказа от операции.
- Если ISCSI storage используется LUN, который в свою очередь мог тоже использоваться Mapped LUN, то они в свою очередь тоже будут удалены.
Вкладка "Информация"
Во вкладке Информация в окне объекта ISCSI storage содержатся параметры блочного устройства:
-
Локальное устройство (путь до устройства);
-
plugin (так как сейчас поддерживаются только блочные устройства, то всегда block);
-
status;
-
Устройства LUN (при присоединении к LUN).
ISCSI target
В ISCSI target непосредственно создаются целевой ISCSI на основе ISCSI Хранилищ доступных, созданных во вкладке ISCSI storage.
Действия
В окне ISCSI target доступны следующие операции:
- обновление информации о всех целей ISCSI по кнопке
- создать новой цели ISCSI по кнопке Создать;
- сканировать информацию о iscsi и его хранилищах с узла по кнопке Сканировать;
- открыть целевой ISCSI в списке.
При открытии целевого ISCSI, открывается окно с информацией о нем, где доступны следующие операции:
- обновление информации о всех Порт-группы с которыми связан целевой ISCSI по кнопке
- удалить этот целевой ISCSI по кнопке Удалить.
Создать
При нажатии кнопки Создать открывается окно создания с полями:
-
Сервер - выпадающий список доступных узлов;
-
Название;
-
Описание;
-
WWN - уникальный идентификатор типа IQN.
После заполнения полей, необходимо нажать кнопку ОК, чтобы создать объект.
Удаление
При нажатии кнопки Удалить запускается мастер, где необходимо нажать на кнопку Да, чтобы удалить данный ISCSI target, или нажать на кнопку Отмена для отказа от операции.
- При удалении целевого ISCSI удаляются все его Порт-группы, и другие объекты связанные с ним, кроме ISCSI хранилищ.
Вкладка "Информация"
Во вкладке Информация в окне объекта ISCSI storage содержатся параметры блочного устройства:
-
Название;
-
wwn;
-
tpgs_count (количество Порт-групп).
-
status;
Вкладка "Порт-группы"
На вкладке Порт-группы доступны следующие операции:
- добавить новую порт-группу нажав на кнопку Добавить;
- открыть порт-группу в списке порт-групп.
Добавить
При нажатии кнопки Добавить открывается окно добавления с полями и чекбоксами:
- tag - фактически является индексом объекта, уникальный номер для порт-группы в текущем целевом ISCSI в диапазоне от 1 до 255;
- chap_userid - идентификатор пользователя;
- chap_password - пароль;
- chap_mutual_userid - идентификатор пользователя для двунаправленной аутентификации;
- chap_mutual_password - пароль для двунаправленной аутентификации;
- enable - флаг включения использования порт-группы, по умолчанию включен;
- authentication - флаг включения аутентификации;
- generate_node_acls - добавляет автоматически узлы, без необходимости добавления Node ACL.
После заполнения полей, необходимо нажать кнопку ОК, чтобы создать объект.
Удаление
При нажатии кнопки Удалить запускается мастер, где необходимо нажать на кнопку Да, чтобы удалить данный Порт-группу, или нажать на кнопку Отмена для отказа от операции.
- При удалении Порт-группы, удаляются дочерние объекты связанные с ним: LUN, Node ACL, Portal, Mapped LUN.
Вкладка "Информация"
Во вкладке Информация в окне объекта Порт-группа содержатся следующие параметры:
-
tag;
-
chap_userid;
-
chap_password;
-
chap_mutual_userid;
-
chap_mutual_password;
-
enable;
-
authentication;
-
generate_node_acls.
Вкладка "LUNs"
На вкладке LUNs доступны следующие операции:
- добавить новый LUN нажав на кнопку Добавить;
- открыть объект LUN в списке.
Добавить
При нажатии кнопки Добавить открывается окно добавления с полями:
- storage - выпадающий список с доступными хранилищами из ISCSI storage.
После заполнения полей, необходимо нажать кнопку ОК, чтобы создать объект.
Удаление
При нажатии кнопки Удалить запускается мастер, где необходимо нажать на кнопку Да, чтобы удалить данный LUN, или нажать на кнопку Отмена для отказа от операции.
- При удалении LUN, удаляются связанные с ним Mapped LUN.
Вкладка "Информация"
Во вкладке Информация в окне объекта LUN содержатся следующие параметры:
-
index;
-
storage_object (с полем dev содержит путь до блочного устройства);
-
Статус;
Вкладка "Node ACLs"
На вкладке Node ACLs доступны следующие операции:
- добавить новый Node ACL нажав на кнопку Добавить;
- открыть объект Node ACL в списке.
Добавить
При нажатии кнопки Добавить открывается окно добавления с полями:
- node_wwn - имя инициатора iscsi с узла клиента типа IQN.
- chap_userid - идентификатор пользователя;
- chap_password - пароль;
- chap_mutual_userid - идентификатор пользователя для двунаправленной аутентификации;
- chap_mutual_password - пароль для двунаправленной аутентификации;
После заполнения полей, необходимо нажать кнопку ОК, чтобы создать объект.
Удаление
При нажатии кнопки Удалить запускается мастер, где необходимо нажать на кнопку Да, чтобы удалить данный Node ACL, или нажать на кнопку Отмена для отказа от операции.
- При удалении Node ACL, удаляются связанные с ним Mapped LUN.
Окно при открытии объекта Node ACL
В окне объекта Node ACL содержатся следующие параметры:
-
node_wwn;
-
chap_userid;
-
chap_password;
-
chap_mutual_userid;
-
chap_mutual_password;
-
mapped_luns_count;
-
tpg;
-
Статус;
В поле mappend lun находится кнопка добавления объекта Mapped LUN add mapped lun.
Ниже находится список объектов Mapped LUN, в строке объекта присутствует кнопка Удалить запускающая мастер удаления.
add mapped lun
При нажатии кнопки add mapped lun открывается окно добавления с полями и чекбоксами:
- tpg_lun - имя инициатора iscsi с узла клиента типа IQN.
- write_protect - запрет на запись с данного узла;
После заполнения полей, необходимо нажать кнопку ОК, чтобы создать объект.
Удаление Mapped LUN
При нажатии кнопки Удалить запускается мастер, где необходимо нажать на кнопку Да, чтобы удалить данный Mapped LUN, или нажать на кнопку Отмена для отказа от операции.
Вкладка "Portals"
На вкладке LUNs доступны следующие операции:
- добавить новый LUN нажав на кнопку Добавить;
- открыть объект LUN в списке.
Добавить
При нажатии кнопки Добавить открывается окно добавления с полями:
- ip_address - текстовое поле, в котором можно указать ip адреса и сети.
- port - номер порта.
После заполнения полей, необходимо нажать кнопку ОК, чтобы создать объект.
Удаление
При нажатии кнопки Удалить запускается мастер, где необходимо нажать на кнопку Да, чтобы удалить данный Portal, или нажать на кнопку Отмена для отказа от операции.
Вкладка "Информация"
Во вкладке Информация в окне объекта Portal содержатся следующие параметры:
-
ip_address;
-
port;
-
tpg;
-
iser (ISCSI Extensions for RDMA);
-
offload;
-
Статус.
NFS сервер
Общая информация
NFS сервер предназначен для предоставления доступа к хранилищам по TC/IP в виде смонтированной файловой системы. По умолчанию в SpaceVM сервис выключен, но можно включить его отдельно для каждого сервера.
CLI
Команда управления: storage nfs-server enable/disable/status
Действия в CLI
storage nfs-server status
- Просмотр статуса сервиса nfs-kernel-server и содержимого файла /etc/exports.
storage nfs-server disable
- Отключение сервиса nfs-kernel-server и очистка файла /etc/exports.
storage nfs-server enable -p \'/storages/local/default\'
- Включение сервиса nfs-kernel-server и настройка
файла /etc/exports. Есть необязательный параметр -p, позволяющий задать список пулов данных, которые будут
добавлены в файл /etc/exports. Если параметр не задан, будет экспортирован базовый пул данных (/storages/local/default).
Просмотр текущих пулов данных возможен командой storage datapools-paths
.
NPIV (N_Port ID Virtualization)
NPIV - это технология Fibre Channel, позволяющая разбить физический адаптер (HBA) на виртуальные (VHBA). Каждый виртуальный адаптер идентифицируется своим уникальным именем порта (WWPN) и именем узла (WWNN), что позволяет со стороны хранилища идентифицировать их и привязать отдельный LUN на каждый VHBA.
Порядок действия для создания VHBA:
-
Переходим в CLI сервера.
-
Командой
storage hba-npiv
просматриваем имеющиеся SCSI NPIV устройства. -
Удостовериться в поддержке устройством NPIV можно, посмотрев на наличие поля max_vports и его значение, отличное от 0.
-
Создать VHBA через
storage pool-create
, указав name, parent_fabric_wwn и, при желании, wwnn и wwpn. -
На хранилище создать маппинг LUNs к WWPN.
-
Пересканировать SCSI корзины узла командой
storage rescan-vhba
. -
Увидеть появившиеся LUNs можно командой
storage fc-luns
. -
При необходимости перезагрузить сервер для обнаружения им новых LUNs.
-
Далее необходимо зайти в Web-интерфейс контроллера и просканировать блочные устройства сервера, и у найденного блочного хранилища просканировать LUNs;
-
Найденные LUNs можно присоединить к ВМ.
Удалить VHBA можно командой storage pool-destroy
, указав name.
Посмотреть VHBA можно командой storage pools
.
Ended: Хранилища
Сети ↵
Общие сведения о сетевой подсистеме SpaceVM
Краткое описание
Данный раздел содержит описание построения и функционирования сетевой подсистемы SpaceVM, основных объектов, составляющих сетевую подсистему, их взаимодействия и доступные пользователю настройки. Сетевая подсистема построена на основе виртуальных коммутаторов, представляющих собой изолированные сетевые устройства на уровне ОС вычислительного узла.
Виртуальные коммутаторы являются связующим звеном для других объектов сетевой подсистемы:
-
сетевых интерфейсов всех типов:
- физических интерфейсов вычислительного узла;
- агрегированных интерфейсов;
- внутренних (сервисных) интерфейсов;
- сетевых интерфейсов виртуальных машин.
Примечание
Описание типов сетевых интерфейсов приведено ниже в данном разделе.
На схеме изображен виртуальный коммутатор switch A, к которому подключены физический и внутренний (сервисный) интерфейсы вычислительного узла.
Основные объекты сетевой подсистемы
Виртуальные коммутаторы
Виртуальные коммутаторы представляют собой виртуальные изолированные сетевые устройства на уровне ОС вычислительного узла. Используются для подключения к ним интерфейсов всех типов для построения сетевой инфраструктуры SpaceVM.
Виртуальные коммутаторы могут быть трех типов:
- «uplink»: к виртуальному коммутатору этого типа можно подключать только физические или агрегированные интерфейсы;
- «mixed»: к виртуальному коммутатору этого типа можно подключать любые интерфейсы, кроме интерфейсов виртуальных машин;
- «virtual»: к виртуальному коммутатору этого типа можно подключать только сетевые интерфейсы виртуальных машин.
Тип коммутаторов virtual
Виртуальные коммутаторы типа «virtual» создаются автоматически и только при создании и в составе виртуальной сети.
STP
На виртуальных коммутаторах типов «uplink» и «mixed» протоколы
семейства STP(Spanning Tree Protocol) выключены, а также происходит
фильтрация транзита пакетов BPDU (Bridge Protocol Data Units).
Для проверки необходимо из CLI-интерфейса вычислительного узла
выполнить команду: tcpdump -i "интерфейс" stp -direction='out'
,
где "интерфейс"
- это имя физического интерфейса узла в состоянии UP.
В выводе на экран не должно быть уведомлений о пакетах STP.
Это означает отсутствие исходящих BPDU с портов
виртуальных коммутаторов.
Коммутаторы по-умолчанию
- Коммутатор default типа «mixed» -- это коммутатор СУ SpaceVM. К нему подключены физический интерфейс и виртуальный сетевой интерфейс управления mgmt.
- Коммутатор blackhole типа «mixed» - это коммутатор -- заглушка. Не имеет никаких подключений. В некоторых случаях используется для подключения к нему сетевых интерфейсов виртуальных машин.
Создать виртуальный коммутатор можно двумя способами:
1. перейти в раздел Сети -- Сетевые настройки основного меню и далее выполнить:
- выбрать нужную подсеть управления;
- выбрать пункт меню Виртуальные коммутаторы;
- выбрать целевой вычислительный узел и в открывшемся окне
нажать кнопку Добавить виртуальный коммутатор;
2. перейти в раздел Серверы основного меню и далее выполнить:
- выбрать целевой сервер;
- выбрать пункт меню Сети -- Виртуальные коммутаторы и
в открывшемся окне нажать на кнопку Добавить
виртуальный коммутатор.
Группы портов
Представляют собой объекты для группировки интерфейсов по совокупности параметров VLAN и MTU (для внутренних интерфейсов и интерфейсов виртуальных машин) и привязываются к виртуальным коммутаторам.
Порт-группы могут быть четырех типов:
- «internal»: предназначены для внутренних интерфейсов;
- «uplink»: предназначены для физических и агрегированных интерфейсов;
- «kernel»: предназначены для внутренних интерфейсов;
- «virtual»: предназначены для интерфейсов виртуальных машин.
Примечания
- Порт-группы типа «kernel» создаются автоматически. Их нельзя создать или удалить. Помимо этого, в порт-группы типа «kernel» нельзя подключить интерфейсы, созданные пользователем.
- Порт-группы типа «virtual» создаются автоматически при создании виртуальных сетей.
При создании или изменении параметров порт-группы доступны следующие режимы VLAN:
- none;
- access;
- trunk;
- native-tagged;
- native-untagged.
Также предоставлена возможность привязки порт-группы к нескольким виртуальным коммутаторам. Создание порт-групп производится из окна информации виртуального коммутатора с помощью кнопки Добавить порт-группу.
Физические интерфейсы
Данный вид интерфейсов в SpaceVM является представлением физических сетевых интерфейсов сервера. Объекты этого типа нельзя создать или удалить, используя Web-интерфейс или интерфейс командной строки. Информация о существующих физических интерфейсах собирается автоматически на этапе добавления вычислительного узла и хранится на протяжении всего времени существования объекта вычислительного узла. Собираемая информация включает в себя сведения о производителе сетевой карты, используемом драйвере, максимальной поддерживаемой величине MTU, скорости соединения (при условии, что сетевой интерфейс подключен) и др.
Однако, пользователю предоставляется возможность настройки некоторых параметров и состояния физических интерфейсов:
- изменение величины MTU интерфейса;
- включение/выключение «promiscuous» (неразборчивого) режима интерфейса;
- включение/выключение интерфейса (перевод в состояние UP/DOWN);
- включение/выключение SR-IOV интерфейса (при условии, что сетевой адаптер поддерживает эту функцию).
Подключение физических интерфейсов может быть осуществлено двумя способами:
1. открыть окно информации о целевом виртуальном коммутаторе -- нажать кнопку Подключить интерфейс -- выбрать тип интерфейса «physical»;
2. открыть окно информации о целевом физическом интерфейсе -- нажать кнопку
Подключение -- выбрать целевые виртуальный коммутатор и порт-группу.
Агрегированные интерфейсы
Данный вид интерфейсов в SpaceVM является представлением объединенных с целью:
- объединения пропускной способности;
- резервирования физических интерфейсов.
Объекты этого типа можно создать, удалить или модифицировать используя Web-интерфейс.
Создание агрегированного интерфейса может быть осуществлено
двумя способами:
1. открыть окно информации о целевом виртуальном коммутаторе -- нажать кнопку Подключить интерфейс -- выбрать тип интерфейса «aggregated» -- следовать шагам
мастера добавления интерфейса;
2. на целевом сервере перейти в пункт меню Сети -- Агрегированные
интерфейсы -- нажать кнопку Добавить.
При создании или модификации параметров агрегированного интерфейса предоставляется выбор следующих режимов агрегации:
- «active-backup»: используется для резервирования подключения, в этом режиме работает один из физических интерфейсов, включенных в агрегацию, а остальные будут задействованы в случае отказа активного;
- «balance-slb»: используется для объединения пропускной способности нескольких физических интерфейсов и балансировки нагрузки на них;
- «balance-tcp»: используется для объединения пропускной способности нескольких физических интерфейсов и балансировки нагрузки на них, однако, в отличие от «balance-slb», использует протокол LACP для отслеживания состояния подключения.
Внимание
Для работы агрегации в режиме «balance-tcp» необходима настройка порт-групп со стороны
физического коммутатора.
Для работы агрегации в режимах «active-backup» и «balance-slb» порты физического
коммутатора не должны быть объединены в порт-группу.
Внутренние (сервисные) интерфейсы
Данный вид интерфейсов в SpaceVM представляет собой виртуальное сетевое устройство, используется для обеспечения доступности вычислительных узлов на сетевом уровне: этим интерфейсам назначаются IP-адреса. При создании внутреннего интерфейса выбирается виртуальный коммутатор, в который интерфейс будет подключен, параметры интерфейса:
- режим получения адреса: динамический или статический;
- IP-адрес;
- маска подсети;
- MAC-адрес;
- порт-группа, которой будет принадлежать интерфейс.
Внимание
При выборе динамического режима получения адреса интерфейсом, необходимо убедиться,
что к выбранному для подключения виртуальному коммутатору также подключен физический
или агрегированный интерфейс. В противном случае созданный внутренний интерфейс не
будет иметь доступ к сети и, как следствие, не сможет получить IP-адрес от
DHCP-сервера.
Также необходимо убедиться, что настройки VLAN выбранной порт-группы и настройки VLAN
порт-группы, к которой относится физический или агрегированный интерфейс, указанный
выше, не будут препятствовать прохождению сетевого трафика, порождаемого создаваемым
внутренним интерфейсом.
Создание внутреннего интерфейса может быть осуществлено двумя способами:
- открыть окно информации о целевом виртуальном коммутаторе -- нажать кнопку Подключить интерфейс -- выбрать тип интерфейса «internal» -- следовать шагам мастера добавления интерфейса
- на целевом сервере перейти в пункт меню Сети -- Внутренние интерфейсы -- нажать кнопку Добавить.
MAC-адреса
Первые 3 октета генерируемых MAC-адресов (Organizational Unique Identifier (OUI)) контроллером SpaceVM
для виртуальных и внутренних интерфейсов везде одни и те же: 02:ff:f0
.
4 октет в десятичной системе счисления генерируется случайно от 0 до 127 при установке контроллера и доступен для изменения пользователем. При генерации он переводится в шестнадцатеричную систему счисления.
Примеры
- 4 октет 0: генерируемый MAC-адрес 02:ff:f0:00:68:33;
- 4 октет 22: генерируемый MAC-адрес 02:ff:f0:16:b4:82;
- 4 октет 99: генерируемый MAC-адрес 02:ff:f0:63:6a:b0.
Командой controller macs
в CLI можно увидеть все имена и MAC-адреса внутренних интерфейсов,
физических интерфейсов, виртуальных интерфейсов, виртуальных функций.
Файл hosts (локальная база данных доменных имен)
Активный контроллер SpaceVM управляет записями в /etc/hosts
по всей инфраструктуре, то есть для каждого
внутреннего интерфейса каждого узла генерируется отдельный файл в каталоге /etc/hosts.d
, и результирующе
на их основе (плюс файлы в каталоге /etc/hosts.d.local
, плюс текущему hostname узла) генерируется целевой файл /etc/hosts
. Контроллер циклично копирует файлы из каталога /etc/hosts.d
по всем узлам, на каждом из них при изменении генерируется целевой файл /etc/hosts
.
Команда hosts
в CLI выводит все записи в /etc/hosts
.
Команда net hosts update
в CLI правит все записи в /etc/hosts
согласно списку файлов в /etc/hosts.d
и текущему
hostname
узла.
Также есть возможность добавить/удалить свои записи командой net hosts
(это тоже будут отдельные файлы,
но в каталоге /etc/hosts.d.local
). С контроллера можно добавить записи сразу на всех узлах, используя
стандартную команду node nodes cli
, например, node nodes_cli 'net hosts add myhostname 192.168.11.107'
.
На контроллере есть дополнительная команда CLI controller repair_hosts
(проверяет и обновляет соответствия файла
/etc/hosts
таблице внутренних интерфейсов базы данных контроллера).
Описание параметров вывода команды "net show bonds"
Name
- имя интерфейса.Bond mode
- режим работы бонда.
Возможные режимы описаны в Агрегированных интерфейсах:
- balance-tcp;
- balance-slb;
- active-backup.
-
Lacp
- отображает поведение протокола управления агрегацией каналов (LACP). Только некоторые коммутаторы поддерживают LACP. Если ваш коммутатор не поддерживает LACP, то используйте bond_mode=balance-slb или bond_mode=active-backup. Возможны варианты:- active;
- passive;
- off.
-
Lacp time
- устанавливает период проверки работоспособности (heartbeat) к 1 секунде (fast) или 30 секундам (slow). По умолчанию - slow. Возможны варианты:- fast;
- slow.
-
Fallback
- определяет поведение бонда openvswitch в режиме LACP. Если коммутатор не поддерживает LACP, то установка этого параметра в значение true позволяет вернуться к active-backup режиму работы. Если для параметра установлено значение false, бонд будет отключён. В обоих случаях, когда коммутатор настроен на использование режима LACP, бонд будет использовать LACP протокол. Возможны варианты:- true;
- false.
-
Members
- имена интерфейсов, входящих в бонд. -
Connected to
- виртуальный коммутатор, которому принадлежит бонд. -
Updelay
- количество миллисекунд, в течении которых соединение должно быть активным, перед тем как будет принято решение, что интерфейс поднят. -
Downdelay
- количество миллисекунд, в течении которых соединение находится в выключенном состоянии, перед тем как будет принято решение, что интерфейс выключен. Значение "0" отключает интерфейс немедленно. -
Lacp_status
- отображает состояние протокола LACP. Сконфигурирован или нет. -
Active member mac
- MAC-адрес и имя активного интерфейса в бонде. -
Bond member
- имя интерфейса, участвующего в бонде. -
State
- состояние интерфейса (включен/выключен). -
Status
- статус интерфейса (активный/неактивный член бонда). -
May_enable
- статус возможности включения интерфейса.
Сетевые настройки ↵
Сетевые настройки
Управление сетевыми настройками вычислительных узлов осуществляется в разделе Сети - Сетевые настройки основного меню. В нем перечислены существующие подсети управления с указанием:
- названия;
- количества подключенных вычислительных узлов;
- ip-адреса подсети управления;
- ip-адреса контроллера.
Объект подсети управления представляет собой общие сведения о сетевых настройках, сгруппированных по адресу подсети управления, вычислительных узлах. При выборе существующей подсети управления, открывается окно с информацией об общих для группы и индивидуальных сетевых настройках вычислительных узлов. Управление сетевыми настройками осуществляется в этом же окне с помощью нужной вкладки. Для управления доступны следующие вкладки:
Информация о сети
Во вкладке Информация содержатся следующие сведения:
-
название сети (редактируемый параметр);
-
описание сети (редактируемый параметр);
-
подсеть управления и её маска;
-
IP-адрес контроллера;
-
дата и время создания;
-
дата и время обновления информации;
-
раскрывающийся список серверов, подключенный к этой сети управления.
Рядом с раскрывающимся списком серверов имеется кнопка для переноса узлов между существующими сетями управления.
Рядом с раскрывающимся списком серверов и для каждого сервера из списка имеется кнопка обновления (синхронизации) информации о сетевых настройках сервера (серверов).
Настройки серверов
Во вкладке Настройки серверов содержится раскрывающийся список серверов со следующими параметрами:
-
название сервера;
-
DHCP-статус интерфейса управления;
-
IP-адрес сервера (редактируемый параметр);
-
маска подсети управления;
-
состояние соединения интерфейса управления;
-
раскрывающийся список параметров основного шлюза сервера (редактируемый параметр), в котором содержится информация об интерфейсе, состоянии DHCP, а также возможном шлюзе;
-
раскрывающийся список настройки DNS-сервера (редактируемый параметр), в котором содержится информация об интерфейсе, состоянии DHCP, DNS-сервере, DNS-суффиксе, поддомене;
-
статические маршруты, настроенные для сервера, с возможностью их добавления по кнопке. При нажатии кнопки в открывшемся окне необходимо заполнить информацию об адресе назначения, шлюзе и метрике, а также, если переключатель Интерфейс переведен в состояние включен, выбрать из раскрывающегося списка внутренний интерфейс, через который будет действовать создаваемый маршрут. После этого необходимо подтвердить операцию, нажав кнопку ОК.
При выборе опции Общие, имеется возможность настроить DNS, Основные шлюзы и Статические маршруты сразу для нескольких серверов. Для этого необходимо открыть нужную вкладку, выбрать кнопку Настройки справа и добавить список серверов через меню Добавление сервера.
Смена адреса управления узла, не подключенного к контроллеру
- В CLI узла настроить адресацию, например
net conf ip set-static -i 192.168.11.1xx/20 -g 192.168.10.1
- В CLI узла настроить vlan, например
net conf vlan set -i mgmt -m access -t 300
Смена адреса управления узла (контроллера), подключенного к контроллеру
Для смены адреса контроллера необходимо выполнить:
-
выбрать узел на контроллере;
-
убедиться, что узел не задействован в виртуальных сетях.
-
убедиться, что узел не задействован в кластерных хранилищах.
-
выключить все ВМ узла;
-
перевести узел в сервисный режим;
-
сменить IP-адрес узла во вкладке Настройки серверов -- целевой узел (Сети -- Сетевые настройки основного меню);
-
после смены адреса узел автоматически станет активным. Потребуется некоторое время для активации всех сущностей узла. При появлении предупреждений необходимо предпринять действия по их устранению. Возможны ситуации, когда узел некоторое время не сможет отсылать статусы о своих сущностях контроллеру, пока не выйдет таймаут соединения. В таких ситуациях можно подождать около 10 минут или перезапустить супервизор узла через Web-интерфейс контроллера или CLI узла;
-
после смены адреса узла на контроллере возможны ситуации, когда узлы некоторое время не смогут отсылать статусы о своих сущностях контроллеру, пока не выйдет таймаут соединения. В таких ситуациях можно подождать около 10 минут или перезапустить супервизор контроллера через CLI узла.
На картинке изображен пример смены адреса узла.
Смена адресации всей инфраструктуры
Есть случаи, когда требуется перенести разом весь кластер из одного физического места в другое, где может быть недоступен веб-интерфейс, только есть доступ по IPMI или через физическую консоль.
- В CLI всех узлов сменить адрес контроллера (поле controller_ip), через команду
node config_edit
- В CLI узлов/контроллера настроить адресацию, например
net conf ip set-static -i 192.168.11.1xx/20 -g 192.168.10.1
- В CLI узлов/контроллера настроить vlan, например
net conf vlan set -i mgmt -m access -t 300
- В Web-интерфейсе контроллера проверить, что все узлы в сервисном режиме и перевести в него при необходимости
- В Web-интерфейсе контроллера пройти инструкцию смены адреса управления для всех узлов (описана выше)
- После проверки, что все узлы активны для контроллера, перенастроить интерфейсы внешних сетей при необходимости
- Проверить связность с сетевыми хранилищами при необходимости
- Реконфигурировать кластерные транспорты при необходимости
Пограничный брандмауэр
Во вкладке Пограничный брандмауэр содержится раскрывающийся список серверов, для каждого из которых можно просмотреть перечень имеющихся правил и добавить собственные правила. Изначально, перечисленные в данной вкладке правила влияют только на сеть управления и внутренний интерфейс loopback. Добавляемые пользователем правила могут также влиять на внутренние интерфейсы узла, созданные пользователем. Они не затрагивают сети ВМ. Настройки брандмауэра для сети ВМ выполняются в разделе Сети - Управление виртуальными сетями основного меню.
Для каждого сервера доступны кнопки запуска, остановки и перезапуска брандмауэра.
Для создания и применения правил имеются кнопки Добавить правила и Применить правила.
При обновлении базовых правил сервера необходимо нажать кнопку Обновить базовые правила
Правила брандмауэра подразделяются на четыре типа, для каждого из которых можно создавать правила и каждому соответствует собственная вкладка:
-
фильтрация входящего трафика;
-
фильтрация исходящего трафика;
-
шейпинг входящего трафика;
-
шейпинг исходящего трафика.
Шейпинг
Шейпинг — это ограничение пропускной способности для определенного типа трафика.
Правила фильтрации трафика
Для добавления правила фильтрации трафика, необходимо выбрать одну из двух вкладок Фильтр. вх. трафик или Фильтр. исх. трафик и нажать кнопку Добавить правила
При добавлении правила необходимо в открывшемся окне заполнить следующие поля: - индекс - порядковый номер правила (если поле оставить пустым, то индекс назначится автоматически);
-
действие (accept, drop);
-
протокол, на котором будет применено правило (icmp, tcp, udp, none);
-
направление трафика, обрабатываемого правилом (in, out);
-
параметры, соответствующие выбранному протоколу;
-
критерии отбора источника пакетов (адрес, порт);
-
критерии отбора получателей пакета (адрес, порт);
-
входящий интерфейс (на котором будет действовать правило);
-
описание;
-
включение правила после создания.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
При нажатии на правило открывается окно, в котором можно обновить, изменить параметры или удалить правило.
Для каждого правила доступны следующие параметры для изменения:
-
действие для правила (accept - пропускать пакеты, drop - блокировать пакеты);
-
протокол, на котором будет применено правило (icmp, tcp, udp, none);
-
состояние соединения (invalid - недействительное, new - новое, established - действительное, related - связанное);
-
порт источника (раскрывающийся список имеющихся портов, также можно ввести название интересующего порта и нажать кнопку Добавить);
-
порт назначения (раскрывающийся список имеющихся портов. Также можно ввести название интересующего порта и нажать кнопку Добавить);
-
адрес источника (раскрывающийся список имеющихся адресов. Также можно ввести адрес источника и нажать кнопку Добавить);
-
адрес назначения (раскрывающийся список имеющихся адресов. Также можно ввести адрес назначения и нажать кнопку Добавить);
-
описание;
-
включение или выключение правила.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Шейпинг трафика
Для добавления правила фильтрации трафика, необходимо выбрать одну из двух вкладок Шейп. вх.трафик или Шейп. исх.трафик и нажать кнопку Добавить правила.
При добавлении правила необходимо в открывшемся окне заполнить следующие поля:
-
протокол, на котором будет применено правило (icmp, tcp, udp, none);
-
направление трафика, обрабатываемого правилом (in, out);
-
лимит, сверх которого трафик будет отбрасываться, если не разрешено превышение лимита;
-
единицы измерения лимита (bytes, kbytes, mbytes, packets);
-
разрешение превышения лимита;
-
размер буфера, на который разрешено превышение установленного лимита и единицы измерения буфера (bytes, kbytes, mbytes, packets), если разрешено превышение лимита;
-
параметры, соответствующие выбранному протоколу;
-
критерии отбора источника пакетов (адрес);
-
критерии отбора получателей пакета (адрес);
-
описание;
-
включение правила после создания.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
При нажатии на правило открывается окно, в котором можно обновить, изменить параметры или удалить правило.
Для каждого правила доступны следующие параметры для изменения:
-
лимит, сверх которого трафик будет отбрасываться, если не разрешено превышение лимита;
-
единицы измерения лимита (bytes, kbytes, mbytes, packets);
-
разрешение превышения лимита;
-
размер буфера, на который разрешено превышение установленного лимита и единицы измерения буфера (bytes, kbytes, mbytes, packets), если разрешено превышение лимита;
-
параметры, соответствующие выбранному протоколу;
-
адрес источника (раскрывающийся список имеющихся адресов. Также можно ввести адрес источника и нажать кнопку Добавить);
-
адрес назначения (раскрывающийся список имеющихся адресов. Также можно ввести адрес назначения и нажать кнопку Добавить);
-
описание;
-
включение или выключение правила.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Фильтр списка файлов
Фильтр позволяет отобрать определенные правила на основе заданных критериев. Для того чтобы воспользоваться фильтром, необходимо нажать на кнопку Фильтр.
Критерии фильтрации:
-
индекс;
-
действие;
-
протокол;
-
адрес источника/назначения. Можно указать как единичный адрес, так и адрес сети (например, 192.168.20.1 или 192.168.20.0, 192.168.20.0/24);
-
порт источника/назначения. Можно указать как единичный порт, так и диапазон портов, используя
-
(например, 22 или 80-1000); -
описание правила;
-
включить неточный поиск.
Также возможно указывать несколько адресов или портов через запятую (без пробела). Например: 192.168.20.1,192.168.20.10,192.168.30.0.24 или 22,80,90-100.
Каждый критерий фильтра сужает круг поиска, однако для адресов и портов можно изменить данное поведение, включив Неточный поиск, который изменяет логику поиска на частичное соответствие критериям фильтрации. Таким образом фильтр отобразит правила, у которых есть хотя бы одно соответствие по этим критериям.
Пример. Необходимо найти правила с протоколом TCP и портом источника 80,100,1000-2000. Если не включать Неточный поиск, то фильтр будет искать правила с полным соответствием заданным критериям. Но если включить Неточный поиск, то фильтр будет искать правила с протоколом TCP и хотя бы одним портом из списка выше.
Чтобы применить фильтр, необходимо нажать на кнопку Применить. Чтобы сбросить фильтр, необходимо нажать на кнопку Сбросить все.
Виртуальные коммутаторы
Во вкладке Виртуальные коммутаторы содержится раскрывающийся список серверов, для каждого из которых можно просмотреть список созданных на нем ВК. Интерфейс управления позволяет создавать, изменять и удалять ВК.
Для каждого коммутатора можно добавлять, изменять и удалять порт-группы. Порт-группы для физических интерфейсов и агрегированных физических портов должны иметь тип uplink, а для внутренних интерфейсов сервера - internal. Для каждого коммутатора можно создать несколько порт-групп. Для каждой порт-группы можно назначить разные параметры VLAN и MTU.
При добавлении ВК по кнопке Добавить виртуальный коммутатор в открывшемся окне необходимо заполнить следующие поля:
- название ВК;
- описание ВК;
- тип ВК (mixed или uplink).
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Для просмотра информации о существующем ВК необходимо нажать на него, после чего в открывшемся окне отобразится информация, разграниченная по следующим группам:
- информация;
- подключенные интерфейсы;
- события.
Также существует возможность обновления данных и удаление коммутатора.
Во вкладке Информация содержатся следующие сведения о ВК:
- название ВК;
- описание ВК (редактируемый параметр);
- тип ВК (mixed или uplink);
- коммутатор ядра — является ли ВК коммутатором ядра (true - да, false - нет);
- статус ВК;
- Порт-группы - отображается список существующих порт-групп, включая их названия, тип, режим VLAN, тег VLAN, транки и количество интерфейсов.
Во вкладке Подключенные интерфейсы содержится раскрывающееся меню, состоящее из следующих пунктов:
- Внутренние интерфейсы - содержит список внутренних интерфейсов, подключенных к ВК;
- Агрегированные интерфейсы - содержит список агрегированных интерфейсов, подключенных к ВК;
- Физические интерфейсы - содержит список физических интерфейсов сервера, подключенных к ВК.
Во вкладке События содержатся сообщения о работе ВК с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Группы портов
Для создания новой порт-группы на ВК необходимо нажать кнопку Добавить порт-группу, в открывшемся окне необходимо заполнить следующие сведения:
- название порт-группы;
- описание порт-группы;
- режим VLAN (выбор из раскрывающегося списка). Может принимать значения none, access, trunk, native-tagged, native-untagged. При выборе access станет доступно для заполнения поле Тег VLAN, при выборе trunk станет доступно для заполнения поле Транки, при выборе native-tagged или native-untagged станут доступны для заполнения оба перечисленные поля;
- тип (выбор из раскрывающегося списка);
- значение MTU.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Для изменения существующей порт-группы необходимо нажать на ее название, после чего в открывшемся окне отобразится информация, разграниченная по следующим группам:
- информация;
- внутренние интерфейсы (для kernel или internal порт-группы);
- физические интерфейсы (для uplink порт-группы);
- агрегированные интерфейсы (для uplink порт-группы).
Примечание
В разных порт-группах могут быть разные вкладки. Это зависит от конфигурации сети и типа порт-группы.
Во вкладке Информация содержатся следующие сведения о порт-группе:
- название порт-группы (редактируемый параметр);
- описание порт-группы (редактируемый параметр);
- настройки VLAN и MTU (редактируемый параметр), в котором задаётся режим VLAN ((выбор из раскрывающегося списка none, access, trunk, native-tagged, native-untagged), тег VLAN и транки;
- возможность связать (переключить) порт-группу с другим ВК. При нажатии на соответствующую кнопку в открывшемся окне необходимо выбрать из раскрывающегося списка ВК, после чего подтвердить операцию, нажав кнопку ОК;
- сообщения о работе порт-группы с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Для kernel порт-группы во вкладке Внутренние интерфейсы перечислены виртуальные интерфейсы гипервизора, собранные в эту группу.
Примечание
Порт-группы типа «kernel» создаются автоматически. Их нельзя создать или удалить. Помимо этого, в порт-группы типа «kernel» нельзя подключить интерфейсы, созданные пользователем.
В свойствах внутреннего интерфейса, использующего DHCP для получения адреса, принудительное обновление аренды осуществляется кнопкой Обновление адреса экземпляра.
Добавление внутреннего интерфейса в internal порт-группу осуществляется нажатием кнопки Добавить во вкладке Внутренние интерфейсы окна свойств порт-группы. Для добавления интерфейса необходимо указать следующие параметры:
- название;
- описание;
- виртуальный коммутатор;
- internal порт-группа коммутатора;
- тип назначения адреса интерфейсу — автоматически (DHCP) или вручную;
- если адрес назначается вручную, то необходимо указать адрес и маску сети;
- МАС-адрес интерфейса генерируется автоматически, но можно указать его вручную.
Для изменения параметров необходимо в окне свойств внутреннего интерфейса нажать соответствующую кнопку и в открывшемся окне отредактировать требуемую информацию.
Перед назначением зеркалирования физических портов коммутатора необходимо создать дополнительную uplink порт-группу, необходимо подключить физический порт, в который будет зеркалироваться трафик. После этого во вкладке Зеркалирование портов свойств виртуального коммутатора будет возможность создать правило зеркалирования, в котором можно указать источник и интерфейс назначения.
Во вкладке Физические интерфейсы uplink порт-группы содержится список подключенных к группе физических интерфейсов, включая их названия, MAC-адрес, включение в агрегацию, состояние, подключение и статус. Также существует возможность подключения физических интерфейсов путём нажатия кнопки Подключить и заполнения поля Физические интерфейсы (выбор из раскрывающегося списка), а также включение или отключение физического интерфейса после подключения. После заполнения полей необходимо нажать кнопку ОК. При необходимости подключить больше одного физического интерфейса к физическому коммутатору или стеку коммутаторов следует воспользоваться операцией агрегации нескольких интерфейсов.
Во вкладке Агрегированные интерфейсы содержится информация об агрегированных интерфейсах. Также существует возможность добавления агрегированного интерфейса путём нажатия кнопки Добавить и заполнения в открывшемся окне следующих полей:
- название;
- описание;
- виртуальный коммутатор (выбор из раскрывающегося списка);
- порт-группа (выбор из раскрывающегося списка);
- физические интерфейсы (выбор из раскрывающегося списка);
-
режим связи (выбор из раскрывающегося списка). Может принимать значения:
- аctive-backup - режим резервирования. Резервный канал не используется;
- balance-tcp - режим балансировки с использованием LACP;
- balance-slb - режим простой балансировки на основе MAC и VLAN.
Примечание
Режимы работы LACP должны быть согласованы с физическим коммутатором.
-
связь протокола управления агрегацией каналов (выбор из раскрывающегося списка). Может принимать значения выключено, active, passive;
- включение или отключение агрегированного интерфейса после подключения. После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Для изоляции трафика ВМ от сети управления на логическом уровне рекомендуется использовать VLAN. Для этого достаточно назначить на порт-группы распределенного коммутатора, в которые подключаются ВМ, тег VLAN.
Для изоляции трафика ВМ от сети управления на физическом уровне рекомендуется использовать отдельные сетевые интерфейсы. Для этого необходимо создать в виртуальном коммутаторе отдельную порт-группу типа uplink, включить в неё выделенные интерфейсы и подключить к ней распределенный коммутатор.
Объединение физических интерфейсов в агрегированные и подключение их в порт-группы коммутатора можно производить в настройках сервера в настройках порт-групп коммутатора.
Внимание
При настройке агрегированных интерфейсов с использованием режима balance-tcp необходима поддержка LACP на стороне физического коммутатора. Группы агрегируемых портов каждого сервера должны объединяться на коммутаторе в свою группу портов. Перед началом настройки все агрегируемые порты должны быть включены в свою группу. Также необходимо помнить, что до момента идентификации на портах коммутатора наличия агрегации, коммутатор не будет пропускать трафик в группу интерфейсов. Если агрегация будет настроена для физических портов сервера, не подключенных в соответствующую группу портов коммутатора, это сформирует сетевую петлю. Для работы агрегации в режимах active-backup и balance-slb порты физического коммутатора не должны быть объединены в порт-группу.
Подключение сетевых интерфейсов
Существует возможность добавления сетевых интерфейсов из интерфейса ВК. Для этого необходимо нажать кнопку Подключить интерфейс и следовать шагам мастера подключения интерфейсов:
На шаге 1 необходимо выбрать тип подключаемого интерфейса: physical, internal или aggregated;
После заполнения полей необходимо подтвердить операцию, нажав кнопку Далее.
На шаге 2 необходимо задать параметры подключаемого интерфейса.
Для physical типа интерфейса:
- физические интерфейсы - выбрать подключаемый интерфейс (раскрывающийся список);
- включить после подключения - определяет, будет ли интерфейс переведен в состояние UP после подключения к ВК;
Для internal типа интерфейса:
- название;
- описание;
- тип назначения адреса интерфейсу - автоматически (DHCP) или вручную;
- если адрес назначается вручную, то необходимо указать адрес и маску сети;
- МАС-адрес интерфейса генерируется автоматически, но можно указать его вручную.
Для aggregated типа интерфейса:
- название;
- описание;
- физические интерфейсы (выбор из раскрывающегося списка);
-
режим связи (выбор из раскрывающегося списка). Может принимать значения:
- аctive-backup - режим резервирования. Резервный канал не используется;
- balance-tcp - режим балансировки с использованием LACP;
- balance-slb - режим простой балансировки на основе MAC и VLAN.
- связь протокола управления агрегацией каналов (выбор из раскрывающегося списка). Может принимать значения выключено, active, passive;
- включение или отключение агрегированного интерфейса после подключения.
После заполнения полей необходимо подтвердить операцию, нажав кнопку Далее.
На шаге 3 необходимо выбрать порт-группу, в которую подключается интерфейс (раскрывающийся список)
Примечание
Режимы работы LACP должны быть согласованы с физическим коммутатором;
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Резервное копирование правил пограничного брандмауэра
Во вкладке Резервное копирование содержится список файлов с резервными копиями правил межсетевого экрана.
Внимание
Перед началом резервного копирования убедитесь, что правила были применены. Для того чтобы применить правила, необходимо перейти во вкладку Пограничный брандмауэр и нажать кнопку Применить.
Чтобы создать копию, необходимо нажать на кнопку Создать резервную копию. В появившемся окне задать имя файла. Если такой файл уже существует, то необходимо активировать опцию Перезаписать файл.
Для восстановления правил необходимо выбрать нужный файл и нажать на кнопку Восстановить.
Если правила были восстановлены с помощью CLI команд, то изменения не будут отображаться, пока не будет выполнена синхронизация. Для этого необходимо нажать на кнопку Синхронизировать.
Чтобы удалить файл, необходимо выбрать файл для удаления и нажать на кнопку Удалить. Кнопка Удалить все файлы удалит все файлы на выбранном узле.
LLDP (Link Layer Discovery Protocol)
Общая информация
Сервис LLDP поддерживает следующие протоколы: LLDP (по умолчанию), CDP (версии 1 и 2), SONMP, FDP.
По умолчанию сервис LLDP включен на сервере.
Настройка
В данном разделе содержится информация по настройке сервиса LLDP.
Сервис LLDP позволяет серверу получать информацию от "соседей" и передавать информацию для них.
Настройки сервиса LLDP выполняются в разделе Сетевые настройки, далее выбрать нужную подсеть, далее вкладка LLDP.
В данной вкладке отображается следующая информация: - название; - IP-адрес сервера, на котором запущен сервис; - интервал передачи информации "соседу" (в секундах); - множитель удержания информации о "соседе"; - состояние сервиса.
Для изменения информации LLDP на определенном сервере необходимо выбрать нужное название.
В верхней части появившегося окна доступны следующие возможности сервиса для всего сервера: - изменение параметров; - остановка сервиса; - перезапуск сервиса; - получение данных о "соседях".
Ниже представлена следующая информация:
- Порты: порты, на которых работает сервис.
Для отображения настроек сервиса на порту необходимо нажать на стрелочку вниз напротив порта. В данном месте отображается следующая информация:
- статус порта или другими словами режим работы порта;
- описание порта.
Есть возможность изменять режим работы и описание по каждому порту. Для этого необходимо нажать на иконку редактирования напротив выбранного порта.
Доступны следующие режимы статуса:
- rx-and-tx: на данном порту будет приниматься и передаваться информация;
- rx-only: на данному порту будет только приниматься информация;
- tx-only: на данном порту будет только передаваться информация;
- disabled: на данном порту сервис будет выключен.
Для редактирования описания порта необходимо изменить поле Описание с помощью произвольных символов.
- Протоколы: протокол сервиса, который работает на данном сервере.
Для изменения типа протокола необходимо нажать на иконку редактирования напротив названия протокола.
Доступны следующие типы протоколов и их режимы:
- lldp: обмен информацией с использованием протокола LLDP;
-
cdpv2_forced(cdpv1_enadled): обмен информацией с использованием протокола cdp версии 2.
При этом также будет приниматься информация от "соседа", который использует протокол cdp версии 1;
-
cdpv2_forced(cdpv1_disabled): протокол cdp версии 2.
Будет приниматься информация от "соседа" использующего только протокол cdp версии 2;
-
fdp: обмен информацией с использованием протокола fdp;
-
sonmp: обмен информацией с использованием протокола sonmp.
Для изменения текущих параметров сервиса на узле необходимо нажать кнопку Изменение параметров.
В открывшемся окне доступны изменения следующих параметров:
- Chassis_ID: в качестве "Chassis ID" по умолчанию передаётся UUID узла;
- IP_адрес: в качестве "Management Address" по умолчанию передаётся IP-адрес сервера;
- системное название: в качестве System Name по умолчанию передаётся имя сервера;
- системное описание: в качестве System Description по умолчанию передаётся версия **SpaceVM**;
- интервал передачи: по умолчанию интервал передачи равен 30 секунд;
- множитель удержания: по умолчанию множитель удержания равен 4.
Проверка
Управление конфигурацией сервиса LLDP можно выполнять 2 способами:
- используя Web-интерфейс;
- через CLI.
Примечание
Далее все действия будем осуществлять через Web-интерфейс.
Выполним проверку того, что в SpaceVM существует возможность предоставления информации от подключенных активных сетевых устройствах с применением протокола LLDP.
Для этого выполним следующие действия:
-
Проверка, что сервис LLDP работает на сервере SpaceVM. Настройки сервиса LLDP выполняются в разделе Сетевые настройки, далее выбрать нужную подсеть, далее вкладка LLDP.
Примечание
Для того чтобы SpaceVM получил информацию от "соседа" по протоколу LLDP, необходимо только включить протокол LLDP на оборудовании, которое подключено к физическим портам SpaceVM, в данном случае на активном сетевом устройстве. Таким образом, если соответствующие настройки на сетевом оборудовании уже выполнены, то можно выбрать нужный сервер и нажать кнопку Получение данных о соседях.
В данной вкладке отображается следующая информация:
- название;
- IP-адрес сервера, на котором запущен сервис;
- интервал передачи информации "соседу" (в секундах);
- множитель удержания информации о "соседе";
- состояние сервиса(Daemon run).
В открывшемся окне есть столбец Daemon run. Установленная метка в данном столбце сообщает о том, что сервис LLDP работает на данном сервере. Детали элементов контроля и настройки сервиса LLDP, а также получения информации о "соседях" можно увидеть, выбрав необходимый сервер из списка.
-
В открывшемся окне нас интересуют следующие параметры:
-
Порты: порты, на которых работает сервис.
Для отображения настроек сервиса на порту необходимо нажать на стрелочку вниз напротив порта.
В данном месте отображается следующая информация:
- статус порта или другими словами режим работы порта;
- описание порта.
Есть возможность изменять режим работы и описание по каждому порту. Для этого необходимо нажать на иконку редактирования напротив выбранного порта.
Доступны разные режимы статуса, выберем rx-and-tx. Этот режим означает, что на данном порту будет приниматься и передаваться информация по выбранному протоколу;
Для редактирования описания порта необходимо изменить поле Описание с помощью произвольных символов.
-
Протоколы: протокол сервиса, который работает на данном сервере.
Для изменения типа протокола необходимо нажать на иконку редактирования напротив названия протокола.
Доступны разные протоколы. Согласно нашей задаче выберем протокол LLDP:
-
lldp: обмен информацией с использованием протокола LLDP.
-
Daemon run: убедимся, что значение этого поля Включен. В противном случае нажмите кнопку Запуск службы LLDP.
Остальные параметры можно оставить по умолчанию.
Необходимые предварительные требования завершены.
-
-
Для того чтобы SpaceVM получил информацию от сетевого устройства по настроенному протоколу (в данном случае LLDP) необходимо нажать кнопку Получение данных о соседях. В открывшемся окне должна отобразиться информация:
-
Локальный порт: физический порт SpaceVM, к которому подключено активное сетевое устройство.
-
Протокол: протокол, по которому происходит обмен информацией с сетевым устройством.
-
Остальная информация, это информация, которую нам передало сетевое устройство.
Если вы не видите информацию от сетевого устройства или другого оборудования подключенного к SpaceVM, убедитесь, что на этом оборудовании включен протокол LLDP. За подробностями настройки оборудования обратитесь к документации производителя оборудования.
L2-туннели
Во вкладке L2 туннели содержится список созданных vxlan/geneve туннелей.
Туннели — это инструмент для формирования L2-связанности между локациями (дата-центрами), передача трафика между которыми происходит через явно заданные маршрутизаторы. Маршрутизаторы задаются в явном виде при настройке серверов. Подробная информация о задании статических маршрутов содержится в разделе Настройки серверов.
Туннели обеспечивают имитацию сетевой связанности на L2-уровне двух коммутаторов разных локаций. В таком случае виртуальным машинам разных локаций не требуются настройки маршрутизации между локациями.
Туннель строится между сервисными интерфейсами двух серверов, по одному из каждой локации. Перед настройкой необходимо убедиться, что маршрутизация между серверами осуществляется корректно.
При добавлении туннеля по кнопке добавить туннель в открывшемся окне необходимо заполнить следующие поля:
-
название туннеля;
-
описание туннеля;
-
выбрать сервер 1 и 2 из раскрывающегося списка;
-
выбрать коммутатор 1 и 2 из раскрывающегося списка;
-
выбрать сервисный интерфейс 1 и 2 из раскрывающегося списка;
-
проверить соединение;
-
значение идентификатора сети VNI;
-
значение MTU;
-
выбрать протокол из раскрывающегося списка (vxlan или geneve);
-
возможность перезапустить виртуальные машины.
После заполнения полей необходимо подтвердить операцию, нажав кнопку Создать.
Ended: Сетевые настройки
Контроль трафика ↵
Контроль трафика
Во вкладке Контроль трафика собрана информация о политиках безопасности, применяемых к виртуальным сетям. В данном окне отображаются созданные автоматически и создаваемые пользователем наборы политики безопасности для виртуальных сетей. Здесь отображается список политик безопасности доступных в системе.
Во вкладке Контроль трафика существует возможность:
-
обновления содержимого окна управления;
-
добавления политик безопасности. При нажатии кнопки Добавить необходимо заполнить названия и описания политики, после чего подтвердить операцию, нажав кнопку ОK;
-
поиска по названию политики. В поле Найти после ввода названия политики необходимо нажать кнопку поиска или отказаться, нажав кнопку Если в результате поиска были найдены подходящие варианты, то они отобразятся в открывшемся окне.
При нажатии на набор политики безопасности открывается окно, в котором можно обновить информацию о политике безопасности, изменить параметры или удалить её. Каждая политика безопасности имеет вкладки:
-
Информация.
-
Политики фильтрации виртуальных сетей.
-
Политики QoS виртуальных сетей.
-
Зеркалирование портов.
-
Шаблоны.
-
События.
-
Задачи.
-
Теги.
Во вкладке Информация содержатся следующие сведения о правилах:
-
название (редактируемый параметр);
-
описание (редактируемый параметр).
Во вкладке Политики фильтрации виртуальных сетей содержится список имеющихся наборов правил, входящих в состав этой политики безопасности, а также имеется возможность добавления нового набора правил. При нажатии кнопки Добавить необходимо заполнить названия и описание наборов правил, после чего подтвердить операцию, нажав кнопку OK.
При нажатии на набор правил открывается окно, в котором отображается информация о правилах брандмауэра виртуальной сети, входящих в данный набор, разделенная на группы:
-
фильтрация входящего трафика;
-
фильтрация исходящего трафика;
-
перенаправление исходящего трафика (SNAT);
-
перенаправление входящего трафика (DNAT).
Подробнее о работе с правилами брандмауэра виртуальной сети описано в разделе Настройки брандмауэра для виртуальной сети.
Во вкладке Политики QoS виртуальных сетей содержится список наборов правил для маркировки трафика. Также имеется возможность добавления нового набора правил. При нажатии кнопки Добавить необходимо заполнить название и описание набора правил в открывшемся окне, после чего подтвердить операцию, нажав кнопку ОK.
При нажатии на набор правил открывается окно, в котором отображается информация о правилах маркировки трафика виртуальной сети, входящих в данный набор. Правила разделены группы:
-
маркировка входящего трафика;
-
маркировка исходящего трафика.
Подробнее о работе с правилами маркировки трафика описано в разделе Политики QoS виртуальных машин.
Во вкладке Зеркалирование портов содержится список правил по зеркалированию портов. Также имеется возможность добавления нового правила. При нажатии на кнопку Добавить зеркалирование портов необходимо заполнить поля в открывшемся окне и подтвердить операцию, нажав кнопку ОK. Подробнее о работе с зеркалированием портов описано в разделе Зеркалирование трафика.
Во вкладке Шаблоны содержится список шаблонов политик фильтрации с наборами правил.
Шаблоны отображаются в каждой политике фильтрации, т.к они не привязаны к конкретному контролю трафика.
В шаблонах, как и в политиках фильтрации, доступно управление набором правил фильтрации, SNAT/DNAT и ACL.
Функциональные возможности:
- Добавить шаблон. Открывается форма создания шаблона правил с указанием имени и описания шаблона;
- Конвертирование политики. Запускается функционал конвертирования выбранной в раскрывающемся списке политики фильтрации в шаблон.
- Импорт шаблона. Запускается функционал импорта правил выбранных шаблонов в указанную в раскрывающемся списке политику фильтрации.
- Исключение шаблона. Запускает функционал исключения правил выбранных шаблонов из указанной в раскрывающемся списке политики фильтрации.
-
Удалить. Удаляет выбранные шаблоны. При этом импортированные правила остаются в политиках фильтрации, в которые они были импортированы.
Внимание
Правила, импортированные в политику, остаются привязанные к своему шаблону. Для сохранения связи с шаблоном допустимо изменять поля Индекс, Счётчик пакетов и Состояние правила. Редактирование правил в шаблоне может привести к потере связи этого правила в политиках со своим шаблоном.
Во вкладке События отображаются события, зарегистрированные в системе, возникающие при выполнении действий с наборами правил, с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Во вкладке Задачи отображаются задачи, зарегистрированные в системе, возникающие при выполнении действий с наборами правил, с возможностью обновления списка задач.
Во вкладке Теги можно добавить отличительную метку (тег), обновить, назначить или отменить тег.
Зеркалирование трафика
В данном разделе содержится информация по настройке сервиса Port-Mirroring. Сервис позволяет выполнять зеркалирование трафика данных между портами компонентов системы SpaceVM. Сервис поддерживает создание множества конфигураций зеркалирования.
Настройка сервиса Port-Mirroring происходит в разделе Сети, далее перейти в раздел Контроль трафика, выбрать Политики Виртуальных сетей", далее выбрать пункт Зеркалирование портов".
Для того чтобы добавить конфигурацию зеркалирования, необходимо нажать кнопку Добавить зеркалирование портов. В открывшемся окне необходимо задать следующие параметры:
- название: название конфигурации;
- описание: описание конфигурации (необязательный параметр);
- сервер: выбрать сервер, на котором будет работать конфигурация
- порты источника: выбрать из раскрывающегося списка порты источника трафика (допускается выбрать несколько портов);
-
порт назначения: выбрать из раскрывающегося списка порт назначения трафика (допускается выбрать только один порт).
Примечание
Конфигурация не будет выполнена, если в качестве "Порта источника" и "Порта назначения" будет выбран один и тот же порт.
Внимание
Будьте осторожны при выборе в качестве "Порт назначения" физического интерфейса, т.к. в этом случае существует вероятность образования петли и потери доступа к интерфейсу управления системы SpaceVM. Это зависит от настройки подключения SpaceVM к транспортной сети предприятия.
-
направление трафика: выбрать из раскрывающегося списка направление трафика.
Доступны следующие режимы:
- ingress: входящий трафик;
- egress: исходящий трафик;
- ingress-and-egress: входящий и исходящий трафик.
Внимание
"Направление трафика" - это направление трафика в портах источника. "Направление трафика" выбирается относительно коммутатора сервера Space. Другими словами, если выбрали "Направление трафика: ingress", это означает "зеркалирование" трафика, который идет в направлении "входящем" в порт коммутатора сервера Space (но в направлении "исходящем" от Виртуальной Машины).
После заполнения полей формы необходимо нажать кнопку "ОК".
В окне списка конфигураций появится созданная конфигурация зеркалирования. Таким образом создаются конфигурации Port-Mirroring. Поле Статус описывает текущее состояние конфигурации.
Для изменения параметров конфигурации необходимо выбрать соответствующую конфигурацию. В открывшемся окне необходимо нажать кнопку Изменение параметров.
Для изменения доступны следующие параметры:
- порты источника;
- порт назначения;
- направление трафика.
Для удаления конфигурации необходимо выбрать соответствующую конфигурацию. В открывшемся окне нажать кнопку Удалить. Подтвердить действие.
Совместимость SpaceVM с технологией "Зеркалирования трафика" Cisco RSPAN
Рассмотрим варианты работы SpaceVM с технологией "Зеркалирования трафика" Cisco RSPAN.
Примечание
Коммутаторы Cisco должны поддерживать технологию Cisco RSPAN. За описанием технологии Cisco RSPAN и настройкой следует обратиться к документации производителя оборудования.
Зеркалированный трафик "приходит" на Space со стороны коммутатора Cisco
Схема
Зеркалированный трафик -> коммутатор Cisco(RSPAN) -> ... -> коммутатор Cisco(RSPAN) -> SpaceVM
Пример: Необходимо проанализировать трафик с помощью специализированного ПО (анализатора трафика). Для этого необходимо зеркалировать трафик источника и передать на Виртуальную машину(ВМ) размещенную на SpaceVM. На ВМ необходимо установить специализированное ПО. В сетевой инфраструктуре назначается номер vlan, в котором будет передаваться зеркалируемый трафик между коммутаторами. Сетевая подсистема SpaceVM также настраивается на прохождение трафика выбранного vlan согласно документации SpaceVM. Также необходимо создать ВМ для анализа трафика и добавить её сетевой интерфейс в Виртуальную сеть. За выполнением этих настроек обратитесь в соответствующие разделы данной документации.
Зеркалированный трафик "уходит" с Space в сторону коммутатора Cisco
Схема
ПК <- коммутатор Cisco(RSPAN) <- ... <- коммутатор Cisco(RSPAN) <- SpaceVM (Зеркалирование трафика).
При настройке зеркалирования трафика на SpaceVM есть возможность выбрать физический порт в качестве "Порт назначения". Данный физический порт необходимо подключить к порту коммутатора и настроить этот порт на обработку зеркалированного трафика согласно документации производителя.
Проверка возможности зеркалирования трафика, приходящего с сетевых интерфейсов ВМ на сетевые интерфейсы других ВМ осуществляется следующим образом.
Предварительно необходимо подготовить инфраструктуру SpaceVM:
- Для простоты проверки необходимо, чтобы в инфраструктуре был развернут DHCP-сервис и настроена маршрутизация таким образом, чтобы ВМ получали IP-адресацию автоматически и имели доступ в Интернет.
- Создать Виртуальную сеть через оснастку Управление виртуальными сетями Web-интерфейса SpaceVM. В процессе создания виртуальной сети задать подключение к физической сети.
- Создать три ВМ на одном и том же сервере. В процессе создания ВМ необходимо добавить хотя бы один сетевой интерфейс для каждой ВМ. Сетевые интерфейсы ВМ должны быть добавлены к одной и той же виртуальной сети.
- Установить ОС на созданные ВМ.
Если установленная ОС будет без GUI(Graphical user interface), то необходимо обладать практическими навыками работы в консольном режиме ОС.
В данном примере в качестве ОС ВМ используется ОС Debian 10.3.0. Все команды на ОС ВМ будут выполняться в консольном режиме от имени пользователя root.
-
Через оснастку Терминал SpaceVM ВМ необходимо выполнить проверку настройки IP-адресации сетевого интерфейса на каждой ОС ВМ. Для примера предположим, что DHCP-сервер назначил следующие IP-адреса для каждой ВМ:
-
сетевому интерфейсу ВМ-1 назначен IP-адрес 192.168.20.87 с маской /24;
-
сетевому интерфейсу ВМ-2 назначить IP-адрес 192.168.20.222 с маской /24;
-
сетевому интерфейсу ВМ-3 назначен IP-адрес 192.168.20.209 с маской /24.
-
-
Проверить IP доступность между ВМ можно утилитой ping. Выполним эту проверку с ВМ-1. Для этого в консоли ОС выполним команды:
Доступность по IP между ВМ будет выполнена успешно, если в результате выполнения каждой команды на экране будет строка вида:ping 192.168.20.222 -c 4 ping 192.168.20.209 -c 4
4 packets transmitted, 4 received, 0% packet loss
Необходимые предварительные требования завершены.
Выполним настройку зеркалирования трафика (входящего и исходящего) порта ВМ-3 на порт ВМ-2.
Напоминание
Настройка сервиса Port-Mirroring происходит в разделе Сети, далее перейти в раздел Контроль трафика, выбрать Политики Виртуальных сетей, далее выбрать пункт Зеркалирование портов.
Для того чтобы добавить конфигурацию зеркалирования, необходимо нажать кнопку Добавить зеркалирование портов.
В открывшемся окне необходимо задать следующие параметры:
- Название: название конфигурации.
- Описание: описание конфигурации (необязательный параметр).
- Сервер: выбрать сервер, на котором были установлены ВМ-2 и ВМ-3.
- Порты источника: выбрать из раскрывающегося списка интерфейс ВМ-3.
- Порт назначения: выбрать из раскрывающегося списка интерфейс ВМ-2.
- Направление трафика: выбрать из раскрывающегося списка направление трафика: ingress-and-egress.
Внимание
"Направление трафика" - это направление трафика в портах источника. "Направление трафика" выбирается относительно коммутатора сервера Space. Другими словами, если выбрали "Направление трафика: ingress", это означает "зеркалирование" трафика, который идет в направлении "входящем" в порт коммутатора сервера Space (но в направлении "исходящем" от Виртуальной Машины).
После заполнения полей формы необходимо нажать кнопку ОК.
В окне списка конфигураций появится созданная конфигурация зеркалирования.
Выполним процедуру проверки зеркалирования трафика с порта ВМ-3 на порт ВМ-2. Для этого необходимо перейти в Терминал SpaceVM ВМ-1, затем выполнить команду:
ping 192.168.20.209
Затем необходимо произвести "захват" интересующего нас трафика. Для этого выполним команду:
tcpdump -i ens4 icmp
Внимание
ens4 - это имя интерфейса, на котором работает утилита tcpdump. В вашем случае имя интерфейса может быть другим.
Для того чтобы узнать имя интерфейса, необходимо выполнить команду ip addr show
и найти на каком
интерфейсе настроен IP-адрес 192.168.20.222.
В результате выполнения команды вывод на экран должен содержать следующее:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
08:51:52.728457 IP 192.168.20.87 > 192.168.20.209: ICMP echo request, id 577, seq 309, length 64
08:51:52.729384 IP 192.168.20.209 > 192.168.20.87: ICMP echo reply, id 577, seq 309, length 64
08:51:53.730499 IP 192.168.20.87 > 192.168.20.209: ICMP echo request, id 577, seq 310, length 64
08:51:53.731185 IP 192.168.20.209 > 192.168.20.87: ICMP echo reply, id 577, seq 310, length 64
08:51:54.732128 IP 192.168.20.87 > 192.168.20.209: ICMP echo request, id 577, seq 311, length 64
08:51:54.734222 IP 192.168.20.209 > 192.168.20.87: ICMP echo reply, id 577, seq 311, length 64
Примечание
Представлена только часть вывода.
Таким образом, была произведена настройка зеркалирования трафика с порта ВМ-3 на порт ВМ-2. Согласно выводу утилиты tcpdump, запущенной на ВМ-2, видим "входящий" и "исходящий" трафик интерфейса ВМ-3.
Примечание
Для простоты, в данном примере использовали ICMP трафик и утилиту tcpdump, чтобы увидеть сам факт работы сервиса "Зеркалирования трафика".
Проверка возможности "Зеркалирования трафика", приходящего с сетевых интерфейсов ВМ на сетевые интерфейсы физических серверов.
Проверка возможности "Зеркалирования трафика", приходящего с сетевых интерфейсов ВМ на сетевые интерфейсы физических серверов осуществляется подобным образом.
Напоминание
Настройка сервиса Port-Mirroring происходит в разделе Сети, далее перейти в раздел Контроль трафика, выбрать Политики Виртуальных сетей, далее выбрать пункт Зеркалирование портов.
Единственное отличие заключается в том, что при настройке сервиса "Зеркалирования трафика" в качестве "Порта назначения" необходимо выбирать физический интерфейс SpaceVM, к которому подключен физический сервер.
Внимание
Будьте осторожны при выборе в качестве "Порт назначения" физического интерфейса, через который выполняется управление SpaceVM, т.к. в этом случае существует вероятность образования петли и потери доступа к интерфейсу управления системы SpaceVM. Это зависит от настройки подключения SpaceVM к транспортной сети предприятия.
Политики QoS виртуальных сетей
В данном разделе содержится информация по работе с Политиками QoS для виртуальных сетей.
Настройка Политики QoS виртуальных сетей производится в разделе Сети - Контроль трафика - Политики QoS виртуальных сетей.
Политики QoS виртуальных сетей позволяют выполнять следующие действия над сетевым трафиком:
- маркировка трафика.
Создание Политики QoS
- Для создания Политики QoS необходимо нажать кнопку "Добавить", ввести имя и, если необходимо, описание политики в соответствующих полях формы.
Создание правила Политики QoS
Политика QoS состоит из набора правил, которые необходимо предварительно создать:
- выбрать направление "Маркировка входящего трафика" или "Маркировка исходящего трафика";
-
нажать кнопку "Добавить правило".
В открывшемся окне необходимо выбрать на каком уровне l3 или l2 (согласно модели osi) будет производиться маркировка сетевого трафика:
- dscp: маркировка трафика на уровне l3
Примечание
На данный момент поддерживается маркировка трафика только на уровне l3.
В открывшемся окне необходимо заполнить поля, чтобы определить параметры интересующего сетевого трафика и указать значение dscp:
Примечание
Обязательные поля: dscp, ethertype.
- dscp: значение поля dscp в ipv4 заголовке. Значение следует задать в диапазоне от 0 до 63 включительно;
- ethertype: значение поля ethertype в ethernet фрейме;
- ip протокол: значение поля ip protocol в ipv4 заголовке;
- IP-адрес источника: значение поля source ip address в ipv4 заголовке;
- IP-адрес назначения: значение поля destination ip address в ipv4 заголовке;
- порт-источника: значение поля source port в заголовке транспортного уровня;
- порт-назначения: значение поля destination port в заголовке транспортного уровня;
- MAC-адрес источника: значение поля source MAC-address в ethernet фрейме;
- MAC-адрес назначения: значение поля destination MAC-address в ethernet фрейме;
- "Включить" означает, будет ли применяться правило или нет.
Применение Политики QoS
Чтобы применить политику, необходимо нажать кнопку "Применить правила". В открывшемся окне выбрать название виртуальной сети, к которой будут применены текущие правила Политики QoS и нажать кнопку "Применить". В поле "Виртуальные сети" отображается информация о статусе применения Политики QoS для определенной виртуальной сети. Таким образом, сетевой трафик попадающий под условия параметров будет маркироваться заданным значением dscp.
Изменение правила Политики QoS
Чтобы редактировать правило, необходимо выбрать нужное правило. В открывшемся окне отображаются текущие параметры. Необходимо нажать кнопку "Изменение параметров" и изменить значения. Для того чтобы сохранить новые значения, необходимо нажать кнопку "Сохранить"
Примечание
После изменения или добавлении нового правила изменится статус применения политики на виртуальную сеть. Чтобы изменения вступили в силу, необходимо вновь применить Политику QoS на виртуальную сеть.
Отмена Политики QoS
Чтобы отменить политику QoS, необходимо нажать кнопку "Отменить правила". В открывшемся окне выбрать название виртуальной сети, для которой будет выполнена отмена текущей Политики QoS и нажать кнопку "Отменить правила".
Удаление Политики QoS
Чтобы удалить Политику QoS, необходимо нажать кнопку "Удалить". Удаление Политики QoS невозможно в случае, если политика применена к виртуальной сети. В этом случае необходимо отменить применение политики на все виртуальную сеть и после этого выполнить удаление.
Ended: Контроль трафика
Виртуальные сети ↵
Виртуальные сети (Distributed Switch)
Виртуальные сети L2-связность
Объединение виртуальной сети между серверами осуществляется на основе технологии VxLAN, что накладывает ограничение на значение MTU внутри виртуальной сети, оно должно быть меньше на 54 байта, чем минимальное значение MTU внутренних интерфейсов серверов, которые объединяются VxLAN-туннелями.
Таким образом, если виртуальная сеть строится с использованием интерфейсов управления, при стандартном размере MTU для mgmt интерфейса в 1500, для виртуальной сети и распределенного коммутатора размер MTU не может превышать 1446 байта. Если ПО на ВМ в силу технических особенностей требует штатного значения размера MTU, можно обойти данное ограничение увеличив значение MTU на физическом коммутаторе и порт-группе используемой для виртуальной сети. Перед увеличением значения MTU для порт-группы management коммутатора default необходимо удостовериться, что физический коммутатор, к которому подключены сервера, поддерживает jumbo frames (не менее 9100 байт) и данная опция включена. Максимальное значение размера пакета на коммутаторе указано в документации к нему.
Виртуальная сеть, не имеющая подключения к внешней сети, будет находиться в изоляции от внешней сети и сможет коммутировать только трафик между ВМ, которые имеют сетевой адаптер, подключенный к данной сети, а связность между ВМ, расположенными на разных узлах, будет обеспечиваться при помощи VxLAN.
Управление виртуальными сетями
Управление виртуальными сетями осуществляется в разделе Сети - Виртуальные сети основного меню. В нем перечислены все созданные виртуальные сети с указанием:
- названия виртуальной сети;
- адреса подсети;
- тега VLAN;
- величины MTU;
- количества подключенных вычислительных узлов;
- статуса подключения.
В окне управления виртуальными сетями имеется возможность:
- обновить информацию по кнопке
- создать виртуальную сеть;
- выбрать определенную сеть с применением фильтра по кнопке
При выборе существующей виртуальной сети, открывается окно с информацией о ней. Управление параметрами виртуальной сети осуществляется в этом же окне с помощью нужной вкладки. Для управления доступны следующие вкладки:
- информация;
- настройки DHCP (доступно только в том случае, если создан контейнер сетевых служб);
- настройки брандмауэра (доступно только в том случае, если создан контейнер сетевых служб);
- подключенные виртуальные машины;
- события;
- теги.
Варианты дизайна
Виртуальная сеть представляет собой комплекс из виртуальных коммутаторов, созданных на каждом вычислительном узле кластера. Виртуальные коммутаторы для каждой виртуальной сети создаются автоматически на этапе создания виртуальной сети. Виртуальные коммутаторы объединяются в одну логическую сеть с помощью L2-туннелей по протоколу VxLAN. При необходимости доступа к физической (внешней) сети, коммутатор виртуальной сети и виртуальный коммутатор, через который осуществляется доступ к физической сети, соединены "патч-интерфейсом". Если для виртуальной сети будут настроены несколько подключений к физической сети, то только одно из них будет активно, а остальные будут резервными. Прохождение трафика через резервные соединения блокируется на уровне виртуальных коммутаторов. Состояние подключений к физической сети отслеживается автоматически и, в случае необходимости, происходит переключение. Также пользователю предоставлена возможность вручную изменять состояние подключения к физической сети с резервного на активное.
Патч-интерфейс
Патч-интерфейс – это виртуальная сущность, которая служит для соединения двух виртуальных коммутаторов между собой и обеспечивает прохождение между ними трафика.
На схеме выше изображен пример топологии виртуальной сети, развернутой на двух вычислительных узлах. Для виртуальной сети настроены два подключения к физической сети:
- через виртуальный коммутатор default узла 1 - активное подключение;
- через виртуальный коммутатор default узла 2 - резервное подключение.
Для каждой виртуальной сети возможно создать сетевые службы: DHCP, NAT и брандмауэр. Сетевые службы запускаются в контейнере, в случае использования брандмауэра или NAT, подключаются «в разрыв» между коммутатором виртуальной сети и виртуальным коммутатором, используемым для подключения к внешней сети на вычислительном узле, на котором расположено активное подключение к физической сети данной виртуальной сети.
На схеме выше изображен пример топологии виртуальной сети, развернутой на двух вычислительных узлах. Для виртуальной сети настроено использование службы брандмауэра, а также настроены два подключения к физической сети:
- через виртуальный коммутатор default узла 1 - активное подключение. Запущенный контейнер со службой брандмауэра подключен между коммутатором виртуальной сети и виртуальным коммутатором, используемым для подключения к физической сети;
- через виртуальный коммутатор default узла 2 - резервное подключение. Отмечено пунктиром, т.к. в случае использования службы брандмауэра, патч-соединение между коммутаторами не создается.
Примечание
Для балансировки нагрузки на вычислительные узлы и сетевого трафика рекомендуется для разных виртуальных сетей настраивать активные подключения к физической сети на разных вычислительных узлах.
При создании виртуальной сети с сетевыми службами параметр Подсеть является определением сети и её маски, которую будут обслуживать DHCP, SNAT, DNAT и брандмауэр.
При создании контейнера сетевых служб задаются два виртуальных сетевых интерфейса - internal (внутренний) и external (внешний). При создании внешнего сетевого интерфейса его настройка должна соответствовать той физической сети, к которой он будет подключен. Также внутренний сетевой интерфейс должен соответствовать параметру Подсеть виртуальной сети и быть для неё шлюзом по умолчанию в соответствии с RFC.
Виртуальные сети без связности
Существует возможность создать виртуальную сеть без связности. В этом случае вычислительные узлы, входящие в виртуальную сеть, не будут объединены L2-туннелями. На схеме изображена виртуальная сеть без связности, развернутая на двух вычислительных узлах:
Если необходимо, чтобы ВМ имели IP-связность через другие виртуальные коммутаторы узла и другие физические интерфейсы, нужно создать физическое подключение от коммутатора виртуальной сети к заранее созданному виртуальному коммутатору типа mixed или uplink. Этот коммутатор должен иметь подключение к физическому интерфейсу узла.
На схеме ниже изображена виртуальная сеть с физическим подключением к альтернативным виртуальным коммутаторам.
Ниже изображен пример виртуальной сети, развернутой на одном узле.
Создание виртуальной сети
Для создания виртуальной сети необходимо в разделе Сети - Виртуальные сети основного меню нажать кнопку Создать и следовать шагам мастера создания виртуальной сети:
Шаг 1. Общие настройки
На шаге 1 необходимо заполнить следующие поля:
-
название;
-
описание (при необходимости);
-
переключатель связности (по-умолчанию Без связности);
-
VNI (идентификатор сети, заполняется автоматически);
-
VLAN (заполняется автоматически, для создания виртуальной сети без VLAN необходимо указать «0»);
-
MTU.
После заполнения полей необходимо нажать кнопку Далее и перейти к шагу 2.
Шаг 2. Добавление серверов
На шаге 2 необходимо выбрать серверы, подключаемые к виртуальной сети:
-
включить (выключить) опцию Использовать интерфейсы управления. Опция определяет, будут ли в качестве точек подключения L2-туннелей, посредством которых серверы объединяются в единое L2-пространство, использоваться интерфейсы управления mgmt;
-
нажать Добавить сервер и в открывшемся окне, если переключатель в положении вкл, будет раскрывающийся список, в котором необходимо выбрать подключаемые серверы (возможно выбрать несколько значений единовременно), если переключатель в положении выкл, будет два раскрывающихся списка. В первом списке необходимо выбрать подключаемый сервер, а во втором -- внутренний интерфейс, который будет использоваться в качестве точки подключения.
После заполнения полей необходимо подтвердить операцию, нажав кнопку Добавить.
Нажать на кнопку Далее и перейти к шагу 3.
Шаг 3. Создание сетевых служб (только для сетей с L2-связностью)
На шаге 3 необходимо включить (выключить) использование сетевых служб виртуальной сети.
Если опция Создать сетевые службы включена, то необходимо заполнить:
-
адрес подсети — задает подсеть, которую будет обслуживать DHCP-сервер;
-
ограничение по памяти (Мб) - максимальный размер оперативной памяти, доступный сетевым службам;
-
интерфейсы сетевых служб виртуальной сети — можно создать сетевые интерфейсы для контейнера сетевых служб, нажав на кнопку Добавить интерфейс. В открывшемся окне необходимо заполнить следующие параметры:
-
направление (выбор из раскрывающегося списка) - internal или external. Интерфейс типа internal будет внутренним интерфейсом, доступным со стороны виртуальной сети и ВМ, подключенным к ней. Интерфейс типа external будет внешним интерфейсом, доступным для внешних сетей;
-
DHCP - только для интерфейса типа external;
-
IP-адрес и маска подсети;
-
MAC-адрес - если не указан, то будет сгенерирован автоматически.
Если интерфейсы не были добавлены пользователем, они будут созданы автоматически. После заполнения полей необходимо нажать кнопку Добавить;
-
-
включить (выключить) настройки DHCP - позволяет задать настройки DHCP-сервера виртуальной сети. Если опция включена, то необходимо ввести:
-
пулы адресов — позволяет добавить пул адресов, из которого будут назначаться адреса ВМ, нажав кнопку Добавить пул. В открывшемся окне заполнить начальный и конечный адреса пула, после чего нажать кнопку Добавить;
-
резервирование адресов — позволяет добавить резервирование IP-адреса для указанного MAC-адреса, нажав на кнопку Добавить адрес. В открывшемся окне заполнить поля hw-address и ip-address, после чего нажать кнопку Добавить;
-
опции DHCP - позволяет добавить опциональные параметры, отдаваемые DHCP-сервером, нажав на кнопку Добавить опцию. В открывшемся окне заполнить название опции (выбор из раскрывающегося списка), код опции (выбор из раскрывающегося списка) и данные опции, после чего нажать кнопку Добавить;
-
включение (выключение) автозапуска DHCP - указывает, будет ли служба DHCP запускаться автоматически при запуске сетевых служб;
-
-
включить (выключить) опцию Использовать брандмауэр - определяет, будет ли в виртуальной сети использоваться брандмауэр. Если опция включена, то необходимо задать его параметры:
-
контроль трафика — выбрать группу политик фильтрации;
-
Создать политику фильтрации на основе выбранной — если включить, то используемый службой брандмауэра набор правил фильтрации трафика, а также правил NAT, формируется на основе правил политики фильтрации виртуальной сети, выбранной из списка существующих политик. Если выключить, то создаётся новая политика для создаваемой виртуальной сети;
-
Правило NAT masquerade — если выключен предыдущий параметр, то можно добавить правила NAT в создаваемую политику фильтрации;
-
автозапуск брандмауэра — указывает, будет ли служба брандмауэра запускаться автоматически при запуске сетевых служб.
-
После заполнения полей необходимо нажать на кнопку Далее и перейти к шагу 4.
На шаге 4 можно добавить физическое подключение виртуальной сети. В открывшемся окне можно выбрать вариант подключения из раскрывающегося списка - через виртуальный коммутатор или через внешнюю сеть. При выборе варианта подключения появится кнопка Задать подключение к физической сети. При нажатии на неё открывается диалог выбора виртуального коммутатора (внешней сети) для установки физического подключения. Из раскрывающегося списка необходимо выбрать виртуальный коммутатор (внешнюю сеть) для использования виртуальной сетью в качестве физического подключения.
Подробнее о подключении виртуальной сети к физической сети смотрите здесь.
Подсеть должна соответствовать формату IPv4.
Если опция использования брандмауэра или создания сетевых служб отключается, то их можно включить и настроить позже в свойствах виртуальной сети.
После заполнения полей необходимо нажать на кнопку Далее и перейти к шагу 5.
Шаг 5. Сводка всех настроек
На шаге 5 проверяются введенные данные.
После проверки необходимо подтвердить операцию, нажав кнопку ОК.
Свойства виртуальной сети
При выборе виртуальной сети из уже созданных сетей в группе, открывается окно состояния сети. В данном окне содержатся сведения, разделенные на группы:
-
информация;
-
настройки DHCP;
-
настройки брандмауэра;
-
распределенный коммутатор;
-
подключенные виртуальные машины.
Если службы брандмауэра или DHCP не были активированы, то соответствующие вкладки могут не отображаться.
В данном окне доступны следующие операции:
-
обновление информации о сети;
-
создание нового экземпляра сетевых служб;
-
удаление уже существующего экземпляра сетевых служб.
При создании нового экземпляра сетевых служб необходимо нажать кнопку Управление контейнером сетевых служб, после чего в открывшемся окне необходимо выбрать из раскрывающегося списка целевой узел и действие. Далее подтвердить операцию, нажав кнопку ОК.
Во вкладке Информация содержатся следующие сведения о виртуальной сети:
-
название;
-
описание;
-
подсеть и маска;
-
настройка VLAN;
-
идентификатор сети VNI;
-
MTU сети;
-
состояние брандмауэра сети (редактируемый параметр). Включение и отключение брандмауэра производится нажатием кнопки Если контейнер сетевых служб не запущен (для виртуальных сетей со связностью), то и брандмауэр не функционирует, а виртуальная сеть находится в изоляции от физической сети. При этом связанность данной сети между серверами кластера сохраняется. Включение брандмауэра, кроме настройки правил фильтрации для сетевых служб, позволяет задействовать ACL на уровне коммутаторов виртуальной сети (микросегментация);
-
ограничение пропускной способности. Настройка, позволяющая выставлять ограничение пропускной способности на каждый сетевой интерфейс всех виртуальных машин, подключенных к данной виртуальной сети. При включении данной настройки необходимо указать ограничение пропускной способности в Мбит/с и нажать кнопку ОК. Данная настройка будет применена на всех узлах, подключенных к виртуальной сети. Для редактирования необходимо нажать соответствующую кнопку и в открывшемся окне указать новое значение. Для снятия ограничения необходимо удалить настройку, нажав на соответствующую кнопку, и подтвердить удаление в открывшемся окне;
-
параметры ACL (редактируемый параметр). Включение и отключение режима микросегментации и изменение параметров производится нажатием кнопки Подробнее о настройке ACL
-
физический интерфейс, через который сеть подключена (раскрывающийся список с возможностью добавления и удаления по кнопке). Для подтверждения операции необходимо нажать кнопку ОК. При нажатии Удалить открывается окно удаления, в котором необходимо подтвердить операцию, нажав кнопку Да.
Подробнее о подключении виртуальной сети к физической сети -
серверы, на которых развёрнута сеть;
-
состояние сетевых служб;
-
узел, на котором запущены сетевые службы;
-
интерфейсы сетевых служб (раскрывающийся список). Каждый интерфейс содержит следующие параметры: DHCP, IP-адрес, маска подсети, адрес шлюза, MAC-адрес;
-
сообщения о работе сети с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Настройка DHCP-сервера для виртуальной сети
Для настройки сервиса DHCP-сервера для виртуальной сети необходимо перейти во вкладку Настройки DHCP окна состояния виртуальной сети.
В данной вкладке отображается следующая информация:
-
состояние службы DHCP;
-
необходимость автозапуска службы с запуском контейнера сетевых служб (редактируемый параметр);
-
диапазон адресов, выдаваемых ВМ (редактируемый параметр);
-
список привязок IP-адресов к МАС-адресам (резервирование, редактируемый параметр);
-
опции DHCP (редактируемый параметр).
Новые параметры применяются после перезапуска службы DHCP.
Возможные опции DHCP-сервера для виртуальной сети
code=3, name='routers'
code=4, name='time-servers'
code=5, name='name-servers'
code=6, name='domain-name-servers'
code=15, name='domain-name'
code=23, name='default-ip-ttl'
code=24, name='path-mtu-aging-timeout'
code=25, name='path-mtu-plateau-table'
code=26, name='interface-mtu'
code=28, name='broadcast-address'
code=35, name='arp-cache-timeout'
code=37, name='default-tcp-ttl'
code=38, name='tcp-keepalive-interval'
code=39, name='tcp-keepalive-garbage'
code=42, name='ntp-servers'
code=44, name='netbios-name-servers'
code=66, name='tftp-server-name'
code=67, name='boot-file-name'
code=119, name='domain-search'
Описание опций
Опция code=119, name='domain-search'
выполняет поиск доменов DNS. Список доменов будет использоваться
для выполнения DNS-запросов на основе короткого имени с использованием суффиксов, представленных в этом списке.
Настройки брандмауэра для виртуальной сети
Для настройки брандмауэра и функционирующего на его основе NAT-сервиса, а также настройки ACL, необходимо в разделе Контроль трафика основного меню выбрать целевую политику безопасности и создать политику фильтрации виртуальных сетей.
Примечание
Если используется политика фильтрации трафика по умолчанию, то брандмауэр разрешает всё. Если создать пользовательскую политику фильтрации трафика, то в нём присутствует правило, запрещающее всё.
Во вкладке Настройки брандмауэра отображается следующая информация:
-
для виртуальной сети с L2 - связностью:
-
состояние службы брандмауэра;
-
необходимость старта службы с запуском контейнера сетевых служб (редактируемый параметр);
-
политика фильтрации трафика (редактируемый параметр). Политика фильтрации трафика выбирается из созданных ранее наборов правил, управление которыми выполняется в разделе Контроль трафика основного меню;
-
состояние политики безопасности (применены правила или необходимо применить);
-
список правил для входящего трафика;
-
список правил для исходящего трафика;
-
правила source NAT (по источнику);
-
правила destination NAT (по получателю);
-
список правил ACL на коммутаторах виртуальной сети.
-
-
для виртуальной сети без связности:
-
политика фильтрации трафика (редактируемый параметр). Политика фильтрации трафика выбирается из созданных ранее наборов правил, управление которыми выполняется в разделе Контроль трафика основного меню;
-
состояние политики безопасности (применены правила или необходимо применить);
-
список правил ACL на коммутаторах виртуальной сети.
-
Правила фильтрации трафика (вкладки Фильтрация входящего трафика и Фильтрация исходящего трафика) включают:
-
Действие (accept и drop);
-
Протокол (icmp, tcp, udp и none); При выборе none (любой протокол) можно указать состояния соединения (invalid, new, established, related) и адреса источника и назначения. Для icmp, правило дополняется типами и кодами icmp. Для tcp или udp - порты источника и назначения;
-
Состояние правила (по умолчанию включено);
-
Счётчик пакетов (по умолчанию выключено).
Правила Source NAT (вкладка SNAT):
-
Действие (src_nat (по источнику) или masquerade). Если выбрано masquerade, то создаётся правило, обеспечивающее работу стандартного NAT. Если выбрать src_nat, то необходимо указать адрес источника и SNAT-адрес;
-
Состояние правила (по умолчанию включено);
-
Счётчик пакетов (по умолчанию выключено).
Правила Destination NAT (вкладка DNAT):
-
Адрес назначения (можно указать список адресов);
-
Порт назначения;
-
DNAT-адрес;
-
DNAT-порт;
-
Адрес источника (можно указать список адресов);
-
Состояние правила (по умолчанию включено);
-
Счётчик пакетов (по умолчанию выключено).
Внимание
После действий с правилами (создание, удаление, редактирование) необходимо применять правила. Об этом будет информировать поле Состояние политики безопасности.
Добавление резервных физических подключений в виртуальную сеть с L2-связностью
Примечание
Для проведения проверок необходимо иметь несколько серверов, подключенных к физической сети как минимум двумя физическими сетевыми интерфейсами.
Необходимо как минимум на одном сервере создать виртуальный коммутатор с группой портов типа uplink и подключить к нему физический сетевой интерфейс, подключенный к физической сети. Для этого необходимо в основном меню перейти в раздел Серверы, выбрать целевой сервер, перейти в Сети -- Виртуальные коммутаторы, нажать кнопку Добавить виртуальный коммутатор. Ввести следующие параметры:
- название: uplink-sw;
- тип: uplink.
Нажать кнопку ОК.
В списке виртуальных коммутаторов выбрать созданный виртуальный коммутатор uplink-sw, нажать кнопку Добавить порт-группу. Ввести следующие параметры:
- название: uplink group;
- режим VLAN: none;
- тип: uplink.
Нажать кнопку ОК.
Нажать кнопку Подключить интерфейс. Ввести следующие параметры:
Шаг 1: ввести тип physical и нажать кнопку Далее.
Шаг 2: выбрать из раскрывающегося списка физический сетевой интерфейс, подключенный к физической сети. Включить после подключения перевести в положение вкл и нажать кнопку Далее.
Шаг 3: выбрать из раскрывающегося списка порт-группу uplink group и нажать кнопку ОК.
Необходимо создать виртуальную сеть с активным и резервным физическими подключениями. В основном меню перейти в раздел Сети -- Виртуальные сети и нажать кнопку Создать. Ввести следующие параметры:
Шаг 1: ввести название virtual network и нажать кнопку Далее.
Шаг 2:
- Использовать интерфейсы управления перевести в положение вкл;
- нажать кнопку Добавить сервер, в открывшемся окне в раскрывающемся списке выбрать серверы, включая сервер, на котором создан виртуальный коммутатор uplink-sw, подключаемые к виртуальной сети (в раскрывающемся списке допускается выбор нескольких серверов одновременно). Нажать кнопку Добавить и потом Далее.
Шаг 3: нажать кнопку Далее.
Шаг 4:
- Задать подключение к физической сети перевести в положение вкл, при этом станет доступно поле Подключение к физической сети;
- Подключение к физической сети: в раскрывающемся списке выбрать виртуальный коммутатор uplink-sw; Нажать кнопку ОК.
- В списке виртуальных сетей выбрать виртуальную сеть virtual network, во вкладке Информация, напротив поля Подключение к физической сети. В открывшемся окне выбрать из раскрывающегося списка виртуальный коммутатор default, расположенный на сервере, отличном от сервера, на котором расположен виртуальный коммутатор uplink-sw. Нажать кнопку ОК.
Необходимо создать ВМ на сервере, отличном от того, на котором расположен виртуальный коммутатор uplink-sw. Проверка возможна при загрузке с live-cd, поэтому создание диска и последующая установка операционной системы необязательны. После создания ВМ, перейти в Виртуальные машины, выбрать созданную ВМ, перейти в Интерфейсы, нажать кнопку Добавить. Ввести следующие параметры:
- выбрать из раскрывающегося списка виртуальную сеть virtual network;
- выбрать из раскрывающегося списка nic_driver virtio и нажать кнопку ОК.
Включить созданную ВМ после завершения загрузки. Если физические сетевые интерфейсы серверов подключены к физической сети с
доступным DHCP-сервером, убедится, что ВМ получила IP-адрес от DHCP сервера. В противном случае назначить сетевому интерфейсу
ВМ IP-адрес, маску подсети, а также настроить основной шлюз, соответствующие конфигурации физической сети, к которой подключены серверы.
В терминале ВМ выполнить команду ping 77.88.8.1
, убедиться, что приходят ответы на echo-запросы. Не прерывая выполнения
команды ping, в основном меню перейти в Серверы, выбрать сервер, на котором расположен виртуальный коммутатор
uplink-sw, нажать кнопку Сервисный режим, в открывшемся диалоговом окне нажать кнопку ОК. После завершения
перехода узла в сервисный режим убедиться, что в терминале ВМ продолжается выполнение команды ping и приходят ответы
на echo-запросы.
Выбор внутренних интерфейсов распределенного коммутатора при создании виртуальной сети
Проверка осуществляется следующим образом:
-
Необходимо на всех серверах, подключаемых к виртуальной сети, создать виртуальный коммутатор типа mixed с группами портов типа uplink и internal и подключить к нему физический сетевой интерфейс, подключенный к физической сети, а также создать на нем внутренний интерфейс. Для этого необходимо перейти в раздел Серверы основного меню, выбрать целевой сервер, перейти во вкладку Сети - Виртуальные коммутаторы, нажать кнопку Добавить виртуальный коммутатор и в открывшемся окне ввести следующие параметры:
-
название: tunnel-sw;
-
тип: mixed.
Далее нажать кнопку ОК.
-
-
В списке виртуальных коммутаторов выбрать созданный виртуальный коммутатор tunnel-sw и в окне состояния создать две порт-группы. Для этого нажать кнопку Добавить порт-группу и в открывшемся окне ввести следующие параметры:
-
название: uplink group;
-
режим VLAN: none;
-
тип: uplink.
Нажать кнопку ОК.
Еще раз нажать кнопку Добавить порт-группу и в открывшемся окне ввести следующие параметры:
-
название: internal group;
-
режим VLAN: none;
-
тип: internal;
-
MTU: 1500.
-
-
Далее нажать кнопку Подключить интерфейс и в открывшемся окне ввести следующие параметры:
Шаг 1. Выбрать из раскрывающегося списка тип physical и нажать кнопку Далее.
Шаг 2. Выбрать из раскрывающегося списка физический сетевой интерфейс, подключенный к физической сети. Переключатель Включить после подключения перевести в положение вкл и нажать кнопку Далее.
Шаг 3. Выбрать из раскрывающегося списка порт-группу uplink group и Нажать кнопку ОК.
Еще раз нажать кнопку Подключить интерфейс и в открывшемся окне ввести следующие параметры:
Шаг 1. Выбрать из раскрывающегося списка тип internal и нажать кнопку Далее.
Шаг 2. Ввести название tep. Переключатель Протокол DHCP перевести в состояние выкл. IP-адрес и маска подсети: заполнить для каждого сервера таким образом, чтобы выделенные адреса были доступны для каждого сервера. Проверку доступности можно провести выполнив команду
ping {ip-address} -I tep
, где {ip-address} - адрес, назначенный интерфейсу tep сервера, отличного от того, на котором запускается команда. MAC-адрес генерируется автоматически, менять не нужно. Нажать кнопку Далее.Шаг 3. Выбрать из раскрывающегося списка порт-группу internal group и нажать кнопку ОК.
-
После выполнения вышеуказанных шагов на каждом из серверов, которые планируется подключить к виртуальной сети, необходимо создать виртуальную сеть. Для этого перейти в раздел Сети - Виртуальные сети основного меню, нажать кнопку Создать. Ввести следующие параметры:
Шаг 1. Ввести название virtual network и нажать кнопку Далее.
Шаг 2. Переключатель Использовать интерфейсы управления перевести в положение выкл и нажать кнопку Добавить сервер. В открывшемся окне выбрать сервер, подключаемый к виртуальной сети, в раскрывающемся списке Интерфейс управления выбрать интерфейс tep. Нажать кнопку Добавить. Повторить для каждого сервера, который планируется подключить к виртуальной сети. Нажать кнопку Далее.
Шаг 3. Нажать кнопку Далее.
Шаг 4. Переключатель Задать подключение к физической сети перевести в положение выкл и нажать кнопку ОК.
-
Подключиться к любому из серверов, включенных в виртуальную сеть, по SSH. Выполнить команду
tcpdump -i tep udp
, убедится, что в выводе команды присутствуют строки, содержащиеIP {server-addr}.52045 > {peer-addr}.4789: VXLAN, flags [I] (0x08), vni {vnet-vni}
, где:- {server-addr} - адрес интерфейса tep сервера, на котором запущена команда;
- {peer-addr} - адреса интерфейсов tep серверов, также подключенных к виртуальной сети;
- {vnet-vni} - VNI виртуальной сети, присвоенный ей при создании.
Подключенные виртуальные машины
-
Во вкладке Подключенные виртуальные машины окна свойств виртуальной сети перечислены все ВМ, подключенные в эту сеть. Также существует возможность обновления информации о ВМ и добавления ВМ.
-
При нажатии кнопки Подключить ВМ в открывшемся окне необходимо заполнить следующие поля:
-
виртуальную машину (выбор из раскрывающегося списка);
-
NIC-драйвер (выбор из раскрывающегося списка). Может принимать значения virtio, e1000, rtl8139, vmxnet3;
-
MAC-адрес.
-
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Плавающие адреса
Во вкладке Плавающие адреса можно увидеть список виртуальных машин, подключенных к виртуальной сети, с указанием назначенных плавающих адресов (floating ip).
Работа с плавающими адресами
Плавающие адреса (floating ip) предназначены для предоставления прямого доступа к хосту, находящемуся за службой NAT.
Для настройки плавающих адресов необходимы:
- Внешняя сеть с указанной подсетью и добавленным пулом адресов из этой подсети.
Пулы адресов можно добавить в свойстве Пулы адресов в информации о внешней сети, нажав кнопку и заполнив поля в открывшейся форме.
- Виртуальная сеть с физическим подключением к этой внешней сети, включенными сетевыми службами и добавленным пулом адресов из внешней сети.
Подключить пул адресов можно в информации о виртуальной сети в свойстве Пулы адресов. Форма подключения пула открывается по кнопке в этом свойстве. В форме выбирается пул из списка пулов внешней сети, к которой подключена данная виртуальная сеть. Также там размещена кнопка для синхронизации сетевых параметров плавающих адресов контейнера сетевых служб. Для каждого пула можно выполнить отдельную синхронизацию (кнопка Синхронизировать в строке с подключенным пулом).
- Виртуальные машины, подключенные к данной виртуальной сети. Список виртуальных машин можно увидеть во вкладке Подключенные ВМ или Плавающие адреса.
Во вкладке Плавающие адреса отображаются подключенные виртуальные машины с указанием назначенных плавающих адресов. Там же осуществляется управление (назначение, снятие) плавающими адресами, как для отдельных виртуальных машин, так и для группы ВМ.
Для группового назначения плавающих адресов необходимо выделить виртуальные машины, которым назначается адрес и нажать появившуюся кнопку Назначить адреса. Затем выбрать пул адресов, из которого будут выбираться IP-адреса, и подтвердить действие.
Примечание
Для группового назначения плавающих адресов необходимо, чтобы виртуальные машины имели внутренний IP-адрес, определяемый через guest utils. Если IP-адрес не определяется, то для данной виртуальной машины назначение выполняется отдельно.
Назначение плавающего адреса виртуальной машине с указанием внутреннего адреса и выбором внешнего используется, когда ещё не назначен внутренний адрес или необходимо выбрать конкретный внешний адрес. Для назначения плавающего адреса необходимо нажать кнопку Назначить адрес в строке с описанием виртуальной машины, заполнить поля в открывшейся форме и подтвердить действие.
При назначении плавающих адресов виртуальным машинам в правила SNAT/DNAT брандмауэра добавляются правила для адресов каждой виртуальной машины.
Внимание
После назначения плавающих адресов требуется применить правила брандмауэра.
Ended: Виртуальные сети
Внешние сети ↵
Подключения к внешним сетям
Управление подключениями к внешним сетям осуществляется в разделе Сети - Внешние сети основного меню. В нем перечислены все созданные подключения к внешним сетям с указанием:
- названия внешней сети;
- количества подключенных вычислительных узлов;
- адреса подсети;
- тега VLAN;
- величины MTU;
- статуса подключения;
Каждое подключение к внешней сети представляет собой комплекс из
внутреннего виртуального коммутатора, внешнего виртуального коммутатора,
патч-соединения между ними, а так же физического или агрегированного интерфейса,
подключенного к внешнему виртуальному коммутатору и, опционально, внутреннего
интерфейса, подключенного к внутреннему виртуальному коммутатору, созданный
на каждом вычислительном узле, подключаемом к внешней сети:
На схеме изображены подключения к внешней сети, включающие в себя:
-
Коммутатор A, с подключенным в него агрегированным интерфейсом и коммутатор C, с подключенным в него внутренним интерфейсом;
-
Коммутатор A, с подключенным в него агрегированным интерфейсом и коммутатор D;
-
Коммутатор B, c подключенным в него физическим интерфейсом и коммутатор E.
При создании подключения к внешней сети, опциональный параметр Подсеть является определением адреса и маски сети, к которой производится подключение серверов. При указании этого параметра предоставляется возможность создания внутреннего интерфейса вычислительного узла, адрес которого должен входить в диапазон адресов указанной подсети. Также предоставляется возможность создания пулов адресов для их дальнейшего использования в качестве адресов интерфейсов виртуальных машин и сетевых служб подключенных виртуальных сетей.
При выборе существующего подключения к внешней сети, открывается окно с информацией о выбранной внешней сети.
Доступные функциональные возможности:
- Обновить - обновление всей информации о внешней сети.
- Сбросить ошибки - сброс конфигурации до последнего исправного состояния внешней сети.
Сброс ошибки следует использовать, если внешняя сеть на одном или нескольких узлах изменялась без использования Web-интерфейса, и/или изменения не отображены в базе данных контроллера из-за возникших программных или сетевых ошибок.
- Удалить сеть - удаление внешней сети.
Для управления доступны следующие вкладки:
- Информация;
- Подключенные серверы;
- Подключенные виртуальные сети;
- События;
- Теги.
Опции "Использовать для миграции" и "Использовать для копирования и переноса файлов"
Для использования данных опций у каждого сервера во внешней сети должен быть внутренний интерфейс с IP-адресом. Если активного интерфейса нет или у интерфейса нет IP-адреса, то будет использоваться следующая внешняя сеть. Если адрес не найден, то используется адрес mgmt интерфейса выбранного сервер. Сервер может выбираться автоматически при миграции или браться первый случайный активный у пула данных назначения.
Если есть две и более внешних сети с установленными (для обоих) опциями "для копирования" и "для миграции" - то во всех случаях (миграция, копирование, клонирование) будет использована первая из отсортированных по имени внешних сетей с имеющимся активным интерфейсом с IP-адресом.
При этом допускается включить обе опции (копирование и миграция) на одной и той же внешней сети, которая в один и тот же момент времени может быть использована и для кластерного транспорта.
-
Клонирование - при наличии внешней сети с установленной опцией "для копирования" диски будут переноситься или копироваться через нее, а если сети нет (или не включена опция), то через mgmt интерфейс;
-
Миграция без переноса дисков - при наличии внешней сети с установленной опцией "для миграции" ВМ будут мигрировать через нее, а если сети нет (или не стоит опция), то через mgmt интерфейс;
-
Миграция включенных ВМ с переносом дисков - при наличии внешней сети с установленной опцией "для миграции" включенные ВМ будут мигрировать через нее, а если сети нет (или не стоит опция), то через mgmt интерфейс;
-
Миграция выключенных ВМ с переносом дисков - при наличии внешней сети с установленной опцией "для копирования" выключенные ВМ будут мигрировать через нее, а если сети нет (или не стоит опция), то через mgmt интерфейс;
-
Копирование файлов, образов, дисков - при наличии внешней сети с установленной опцией "для копирования" всё будет переноситься или копироваться через нее, а если сети нет (или не стоит опция), то через mgmt интерфейс.
-
Репликация виртуальных машин - при наличии внешней сети с установленной опцией "для копирования" создание реплик и их синхронизация будут производиться через нее, а если сети нет (или не стоит опция), то через mgmt интерфейс.
Создание подключения к внешней сети
Для создания подключения к внешней сети необходимо в разделе Сети - Внешние сети нажать кнопку Добавить, расположенную над списком существующих подключений к внешним сетям, и следовать шагам открывшегося мастера создания подключения к внешним сетям:
-
На шаге 1 доступны следующие поля и элементы управления:
- название;
- описание (необязательное поле);
- переключатель Указать адрес подсети;
- адрес подсети (доступно, если переключатель Указать адрес подсети находится в положении "вкл"); После заполнения полей, необходимо подтвердить операцию, нажав кнопку Далее.
-
На шаге 2 доступны следующие поля и элементы управления:
-
серверы; Для добавления сервера необходимо нажать кнопку Добавить и заполнить открывшуюся форму, на которой доступны следующие поля и элементы управления:
- сервер: раскрывающийся список, содержащий все зарегистрированные на контроллере вычислительные узлы;
- интерфейс подключения: раскрывающийся список, содержащий доступные на сервере физические и агрегированные интерфейсы. Из списка исключены физические интерфейсы с включенной функцией SR-IOV и физические интерфейсы, входящие в состав агрегированных интерфейсов;
-
переключатель Создать агрегированный интерфейс;
При включении переключателя Создать агрегированный интерфейс становится активной кнопка Создать, при нажатии на которую откроется форма с параметрами нового агрегированного интерфейса, содержащая следующие поля и элементы управления:
- название;
- физические интерфейсы: раскрывающийся список доступных для включения в агрегацию физических интерфейсов вычислительного узла с возможностью выбора нескольких элементов списка;
- режим связи: раскрывающийся список возможных значений;
-
связь протокола управления агрегацией каналов: раскрывающийся список возможных значений;
Также при выборе режима связи balance-tcp становятся доступными поля:
- резервный вариант протокола управления агрегацией каналов: раскрывающийся список возможных значений;
- время протокола управления агрегацией каналов: раскрывающийся список возможных значений;
После заполнения полей необходимо подтвердить операцию, нажав кнопку Добавить.
Если на шаге 1 был указан адрес внешней подсети, становится доступен элемент управления:
-
переключатель Добавить внутренний интерфейс; При переводе переключателя в положение "вкл", становятся доступны поля:
- dhcp: переключатель, указывающий на режим получения адреса создаваемым интерфейсом;
Если переключатель "dhcp" в положении "выкл", доступны поля:
- название;
- ip-адрес в виде выпадающего списка с доступными адресами из подсети, указанной на шаге 1. Если указана большая подсеть, то вместо выбора из списка предлагается ввести ip-адрес вручную;
- маска подсети. Значение по-умолчанию установлено из указанной на 1 шаге подсети;
- MAC-адрес;
Внимание
На этом шаге нельзя выбрать порт-группу для внутреннего интерфейса, так как порт-группы ещё не созданы. По-умолчанию интерфейс будет создан в первой порт-группе. Если требуется выбор порт-группы для внутреннего интерфейса, создавать внутренний интерфейс необходимо после создания внешней сети.
После заполнения полей, необходимо подтвердить операцию, нажав кнопку Добавить.
После добавления серверов, необходимо подтвердить операцию, нажав кнопку Далее. Для возврата на предыдущие шаги необходимо нажать кнопку Назад.
-
-
На шаге 3 доступны следующие поля и элементы управления:
- теги VLAN. Указывается список тегов и диапазонов через запятую.
- mtu;
- пулы адресов;
Для добавления пулов адресов внешней сети необходимо нажать кнопку
Добавить и заполнить открывшуюся форму, на которой доступны следующие
поля:
- название;
- описание;
- начальный адрес;
- конечный адрес; После заполнения полей, необходимо подтвердить операцию, нажав кнопку Добавить.
После заполнения полей на всех шагах мастера создания подключения к внешней сети, необходимо подтвердить операцию, нажав кнопку ОК.
Информация
В этой вкладке находится следующая информация о состоянии подключения к внешней сети:
-
название (редактируемый параметр);
-
описание (редактируемый параметр);
-
адрес подсети (редактируемый параметр);
-
VLAN (редактируемый параметр);
-
MTU (редактируемый параметр);
-
использовать для миграции (да или нет);
-
использовать для копирования и переноса файлов (да или нет);
-
статус;
-
дата создания;
-
дата изменения;
-
серверы:
- название и статус подключенного сервера;
- название и статус физического или агрегированного интерфейса, с помощью которого сервер подключен к внешней сети;
- название и статус внутреннего интерфейса сервера, относящегося к внешней сети;
-
виртуальные сети:
- название;
- статус подключенной виртуальной сети;
-
пулы адресов:
- название;
- начальный адрес;
- конечный адрес;
- использованные адреса.
Для настройки и изменения параметров подключения доступны следующие поля и элементы управления:
-
рядом с полями Название, Описание, Адрес подсети, VLAN, MTU, Использовать для миграции, Использовать для копирования и переноса файлов расположена кнопка редактирования для изменения значения соответствующего параметра;
-
рядом с полем Серверы расположена кнопка Добавление сервера, с помощью которой можно подключить к внешней сети новые серверы. При нажатии на нее в открывшемся окне необходимо нажать Добавить сервер и заполнить открывшуюся форму, в которой доступны следующие поля и элементы управления:
- сервер: раскрывающийся список, содержащий все зарегистрированные на контроллере вычислительные узлы;
- интерфейс подключения: раскрывающийся список, содержащий все доступные физические и агрегированные интерфейсы выбранного вычислительного узла. Из списка исключены физические интерфейсы с включенной функцией SR-IOV и физические интерфейсы, входящие в состав агрегированных интерфейсов;
- переключатель Создать агрегированный интерфейс.
При включении переключателя Создать агрегированный интерфейс становится активной кнопка Создать, при нажатии на которую откроется форма с параметрами нового агрегированного интерфейса, содержащая следующие поля и элементы управления:
- название;
- физические интерфейсы: раскрывающийся список доступных для включения в агрегацию физических интерфейсов вычислительного узла с возможностью выбора нескольких элементов списка;
- тип агрегации (режим связи): раскрывающийся список возможных значений;
- связь протокола управления агрегацией каналов: раскрывающийся список возможных значений.
Также при выборе режима связи balance-tcp становятся доступными поля:
- резервный вариант протокола управления агрегацией каналов: раскрывающийся список возможных значений;
- время протокола управления агрегацией каналов: раскрывающийся список возможных значений.
После заполнения полей необходимо подтвердить операцию, нажав кнопку Добавить.
Если на шаге 1 был указан адрес внешней подсети, становится доступен элемент управления - переключатель Добавить внутренний интерфейс. При переводе переключателя в положение вкл, то становится доступен переключатель dhcp, указывающий на режим получения адреса создаваемым интерфейсом. Если переключатель dhcp в положении выкл, то доступны поля:
- название;
- IP-адрес;
- маска подсети;
- MAC-адрес.
После заполнения полей, необходимо подтвердить операцию, нажав кнопку Добавить.
После добавления серверов, необходимо подтвердить операцию, нажав кнопку ОК.
В последнем столбце таблицы, содержащей данные о подключенных серверах, в каждой строке расположена кнопка Удалить, нажав на которую, можно отключить сервер от внешней сети. При этом на выбранном сервере будут удалены внутренний коммутатор и внутренний интерфейс (при наличии), относящиеся к внешней сети, внешний коммутатор, в случае если этот коммутатор был создан при подключении сервера к внешней сети, и, в этом же случае, будет удален агрегированный или отключен физический интерфейс, используемый для подключения сервера к внешней сети;
-
рядом с полем Виртуальные сети расположена кнопка Добавить, с помощью которой можно добавить новую виртуальную сеть, заполнив поля в открывшемся окне;
-
рядом с полем Пулы адресов расположена кнопка Добавить, с помощью которой можно добавить новый пул адресов, заполнив поля в открывшемся окне;
Использование внешних сетей для миграций
При включении опции Использовать для миграции при запуске миграции будет осуществляться проверка, что узел назначения состоит в активных внешних сетях с включенной опцией, и далее миграции будет идти через IP-адрес внутреннего интерфейса узла назначения первой внешней сети.
На картинке изображена внешняя сеть, развернутая на 5 вычислительных
узлах.
На картинке изображен пример подключенного сервера внешней сети.
Если опция Использовать для миграции будет выключена, то миграция, например, с узла 192.168.11.100 на узел 192.168.11.101 будет вестись по IP-адресу управления этого узла -- 192.168.11.101.
Если опция Использовать для миграции будет включена, то миграция, например, с узла 192.168.11.100 на узел 192.168.11.101 будет вестись по IP-адресу внутреннего интерфейса -- 10.10.10.101.
Подключенные серверы
В этой вкладке находится раскрывающийся список серверов, подключенных к внешней сети, для каждого из которых выводится информация о параметрах:
-
внутреннего интерфейса (при его наличии):
- название;
- порт-группа;
- DHCP;
- IPv4 адрес;
- IPv4 маска сети;
- MAC-адрес;
- статус;
-
физического подключения:
- название;
- тип;
- статус.
Имеется возможность:
- создать (при его отсутствии), изменить параметры или удалить внутренний интерфейс;
- изменить параметры физического подключения.
Для изменения параметров внутреннего интерфейса или параметров физического подключения, необходимо нажать кнопку
Для удаления внутреннего интерфейса необходимо нажать кнопку
Ended: Внешние сети
Ended: Сети
Журнал ↵
Журнал
В данном разделе можно просмотреть все операции и предупреждения, регистрируемые системой управления SpaceVM. Операции, выполняемые пользователем, регистрируются в системе как Задачи. Каждая задача порождает одно или несколько событий.
Система управления, реагируя на изменение состояние системы, может автоматически создавать задачи и регистрировать события без участия пользователя. Задачи и события, создаваемые системой управления, могут относиться к состоянию системы, работе механизмов высокой доступности ВМ и динамического управления ресурсами.
Регистрируемые в системе Предупреждения - это сообщения системы контроля состояния кластера, не влияющие на работоспособность текущей конфигурации, но сообщающие о найденных в системе несоответствий конфигурации, хранимой в БД системы управления и текущей конфигурации на серверах. К таким несоответствиям могут относиться незарегистрированные в БД пулы данных, подключенные сетевые хранилища, ВМ, сетевые настройки.
События
-
Системные события делятся на следующие категории:
-
информационные;
-
предупреждения;
-
ошибки.
-
-
События являются регистрируемыми системой управления операциями. Несколько операций могут входить в состав одной задачи.
-
События категории Информационные (info) - это успешно выполненные операции.
-
События категории Предупреждения (warning) - это зарегистрированные системой изменения, которые могут негативно повлиять на работу системы. Примером такого события является недоступность сервера из состава кластера (если сообщение о состоянии сервера не поступило в течение стандартного времени ожидания). В этом случае сервер переводится в состояние ERROR и система управления производит операции по проверке состояния сервера. Если сервер из состава кластера не сообщил о своем состоянии более трех периодов ожидания ответа, недоступен по каналам контроля его состояния, то он признается сбойным (HERMIT) и система управления старается выключить такой сервер. Далее сервер переходит в состояние авария (FAILED). Такое событие имеет категорию Ошибки.
-
События категории Ошибки (error) - это операции и события, выполнение которых невозможно или они критично влияют на работу системы управления кластером. К таким относятся выходы из строя оборудования, невозможность запустить ВМ, невозможность создать объект в составе кластера или невозможность выполнить другую операцию. Если невозможно выполнить операцию в составе Задачи, то вся задача становится в состояние Не выполнена и система управления пытается отменить сделанные в рамках задачи изменения.
-
При просмотре журнала предусмотрен вывод как всех событий с датой их возникновения, так и с применением фильтра по определенному типу события и сущности. Также можно просмотреть события, не связанные с задачами (автоматически зарегистрированные) и события, не отмеченные как прочтенные. Информацию о событиях можно обновить вручную. Дополнительная информация о событии открывается в новом окне при нажатии на сообщение, связанное с этим событием.
-
Существует возможность отображения событий из определённых групп. Для этого необходимо в категории Все сущности выбрать из раскрывающегося списка одну групп.
Выгрузить события
При выборе Выгрузить события в открывшемся окне Сбор событий для выгрузки необходимо заполнить следующие поля:
-
пул данных (выбор из раскрывающегося списка), на котором будет создан архивный файл;
-
начальную дату выгрузки. При нажатии на поле с датой появляется календарь с возможностью выбора даты, а также секция с выбором времени;
-
конечную дату выгрузки. При нажатии на поле с датой появляется календарь с возможностью выбора даты, а также секция с выбором времени;
-
выгрузка журнала задач из базы контроллера;
-
выгрузка базы данных контроллера (без указания дат);
-
выгрузка журналов контроллера (последний файл логов);
-
выгрузка системных журналов узлов;
-
выгрузка журнала событий из базы контроллера;
-
выгрузка статистики подсистем узлов (из Prometheus);
-
выгрузка оборудования узлов;
-
выгрузка состояния ipmi датчиков серверов;
-
выгрузка состояния gluster;
-
выгрузка состояния gfs2;
- выгрузка состояния сети;
-
IP-адрес (management адрес узла для фильтрации журналов по нему из Loki);
-
Hostname (uuid узла для фильтрации журналов по нему из Loki).
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Задачи
Задачи — это операции, выполняемые пользователем системы управления, включающие сообщения, дату создания, прогресс и статус.
Для задач предусмотрено несколько фильтров:
-
Все задачи;
-
Не выполнено;
-
Выполнено;
-
В процессе;
-
Потерянные;
-
Частичные;
-
Отменённые.
Задачи формируются системой управления на основании действий пользователя. Каждая задача формирует одно или несколько событий. Некоторые могут создавать подчиненные задачи. Сложносоставные задачи на определенном этапе могут быть в состоянии частичные, так как не все подчиненные задачи выполнились.
Задачи в состоянии Не выполнено - это задачи, выполнение которых завершилось ошибкой.
Задачи в состоянии Выполнено - это задачи, выполнение которых завершилось успешно.
Задачи в состоянии В процессе - это задачи, находящиеся в процессе выполнения. Ошибок в процессе выполнения не произошло, время ожидания ответа о результате выполнения задачи ещё не истекло.
Задачи в состоянии Потерянные - это задачи, от которых не поступил результат выполнения в течение заданного времени ожидания. Потеря задачи чаще всего связана с запуском другой задачи (тем же или другим пользователем), выполняющей это же действие или отменяющее выполнение текущей или задача, во время выполнения которой узел выключился. Примером может быть попытка выполнить создание ещё одного снимка состояния работающей ВМ до окончания создания предыдущего (двойное выполнение операции).
Задачи в состоянии Частичные - это задачи, выполнение которых завершилось частично, то есть, например, на части узлов выполнение завершилось успешно, а на других нет.
Задачи в состоянии Отменённые - это задачи, выполнение которых отменил пользователь путем нажатия кнопки "Отменить" в нижнем меню журнала.
Информацию о задаче и связанные события можно посмотреть в ее окне, которое открывается при нажатии на сообщение о задаче. Окно информации содержит следующие сведения:
-
информация о действии;
-
ID задачи;
-
дата создания;
-
время выполнения в секундах;
-
прогресс выполнения в процентах;
-
ответ от узлов после завершения;
-
имя пользователя, создавшего задачу;
-
статус выполнения задачи;
-
возможность перезапуска задачи с теми же параметрами по кнопке Перезапуск (это достаточно удобно, когда, например, уже вводили параметры, но задача завершилась с ошибкой, а позже надо снова проверить);
-
сообщения во время выполнения задачи (текст сообщения и дата создания).
Информационное окно закрывается по кнопке Закрыть или
Для задач существует возможность обновления статуса по кнопке Действия - Обновить статус задач.
Выход из задачи
Задачи со статусом В процессе можно отменить. Для того в футере Web-интерфейса у каждой такой задачи есть кнопка Отменить и у самой задачи в её окне есть такая же кнопка. При нажатии на кнопку делается попытка завершения её фактического выполнения. Вне зависимости от результата задача переходит в статус Отменённые и снимает блокировки с сущностей, которые были заблокированы на время её выполнения.
Если задача подразумевала действия на узле или группе узлов, то тогда на узел (узлы) пошлется команда попытки завершения задачи, и если поток задачи активен и из него можно на ходу выйти, то так и будет.
Если это была мультизадача, то буден произведен выход из всех её дочерних задач со статусом В процессе.
Выход из всех задач
Для задач существует возможность отмены всех задач в процессе по кнопке Действия - Отменить все задачи.
Логи задач
Задача при постановке с контроллера на узел(лы) проходит полный круг и, соответственно, отображается не только в журнале задач, но и как в логах контроллера, так и узла(ов).
При возникновении в журнале задач ошибок, таких как Ответ: No response yet, стоит посмотреть логи и найти, где обрывается последовательность логов.
Задачи по расписанию
Раздел Задачи по расписанию предназначен для централизованного управления задачами, которые можно применять к вычислительным узлам и виртуальным машинам. Задачи, созданные в системе управления, будут отображены в данном разделе.
Создание новой задачи производится с помощью кнопки Добавить задачу и выбора из раскрывающихся списков:
-
тип сущности;
-
сущности из выбранного типа.
После выбора необходимо перейти в окно выбора действия над сущностью, нажав кнопку ОК.
В окне выбора действия необходимо заполнить или выбрать поля:
-
название;
-
действие (выбор из раскрывающегося списка);
-
периодичность (выбор из раскрывающегося списка);
-
дата запуска;
-
описание;
-
включить (выключить) опцию Удалить задачу после запуска.
После выбора для создания задачи необходимо нажать кнопку ОК.
Система контроля повторяемости имён не позволяет создавать задачи с одинаковым названием.
Также существует возможность изменения названия, описания и времени первого запуска задачи.
В окне отдельной задачи можно видеть следующую информацию:
-
название;
-
описание;
-
тип, id и имя связанной сущности;
-
периодичность;
-
действие;
-
время первого запуска задачи;
-
удалить задачу после запуска;
-
время следующего запуска задачи;
-
время последнего запуска задачи;
-
статус последнего запуска задачи;
-
дата создания;
-
дата изменения;
-
сообщение о последней ошибки задачи (если есть);
-
события, связанные с этой задачей.
В окне отдельной задачи можно запустить задачу, нажав кнопку Запуск.
В окне отдельной задачи можно изменить задачу, нажав кнопку Изменить.
В окне отдельной задачи можно удалить задачу, нажав кнопку Удалить и подтвердить удаление.
Предупреждения
-
При проверке системой управления и системой контроля состояния соответствия данных, записанных в БД с текущим состоянием системы могут быть найдены несоответствия. В этом случае система зарегистрирует предупреждение о необходимости синхронизировать состояние объекта с БД.
-
Список контролируемых метрик будет постоянно расширяться. Для некоторых метрик может быть применено принудительное приведение к состоянию, записанному в БД, так как они могут критически влиять на работоспособность системы.
-
Предупреждения можно обновить и фильтровать по типам и сущностям.
-
Доступна сортировка по следующим состояниям:
-
по всем типам;
-
ошибки;
-
предупреждения;
-
информационные.
-
-
Доступна сортировка по всем типам сущностей.
-
Информацию о предупреждении можно посмотреть в ее окне, которое открывается при нажатии на сообщение о нём. Окно описания содержит следующие сведения:
-
тип;
-
сообщение;
-
инициаторы (тип сущности вместе с именем и временем инициализации).
-
Действия
Крайне рекомендуется при наличии предупреждений принять соответствующие действия по их исправлению.
Список возможных предупреждений
-
Кластеры:
-
Высокая загрузка памяти
-
Критическая загрузка памяти
-
Высокая загрузка процессоров
-
Критическая загрузка процессоров
-
Не найден оптимальный узел в DRS кластере для миграции виртуальной машины.
-
Предупреждение: в DRS кластере менее 2 узлов.
-
Найдены несовместимые для всех возможных миграций типы процессоров на узлах кластера. Рекомендация: переместить несовместимый узел в другой кластер.
-
Найдены несовместимая для всех возможных миграций конфигурация сетевых хранилищ на узлах кластера. Рекомендация: проверить подключение сетевых хранилищ ко всем узлам кластера.
-
-
Серверы:
-
Несоответствие ПО контроллера и сервера
-
Несоответствие времени контроллера и сервера
-
Высокая загрузка памяти
-
Критическая загрузка памяти
-
Высокая загрузка процессоров
-
Критическая загрузка процессоров
-
Найдены неизвестные супервизору контроллера виртуальные машины
-
Не приходят данные о сущностях хранилищ от супервизора узла. Состояния сущностей могут быть неактуальны. Рекомендация: проверка состояния супервизора узла через command line interface.
-
Не приходят данные о сущностях виртуальных машин от супервизора узла. Состояния сущностей могут быть неактуальны. Рекомендация: проверка состояния супервизора узла через command line interface.
-
Не приходят данные о сущностях сетевых устройств от супервизора узла. Состояния сущностей могут быть неактуальны. Рекомендация: проверка состояния супервизора узла через command line interface.
-
Не приходят данные от агента узла.
-
Отсутствует сетевая связность с узлом.
-
На узле найдены неизвестные супервизору контроллера файловые сетевые хранилища. Рекомендация: просканировать и добавить неопознанные сетевые хранилища.
-
На узле найдены неизвестные супервизору контроллера кластерные хранилища. Рекомендация: просканировать и добавить неопознанные хранилища.
-
На узле найдены неизвестные супервизору контроллера gluster тома. Рекомендация: просканировать и добавить неопознанные тома.
-
На узле найдены неизвестные супервизору контроллера блочные сетевые хранилища. Рекомендация: просканировать и добавить неопознанные сетевые хранилища.
-
На узле найдены неизвестные супервизору контроллера пулы данных. Рекомендация: просканировать и добавить неопознанные пулы данных.
-
На узле найдены неизвестные супервизору контроллера ZFS пулы. Рекомендация: просканировать узел и добавить неопознанные ZFS пулы.
-
Обнаружено расхождение с базой настроек распределенных коммутаторов. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено расхождение с базой настроек виртуальных коммутаторов. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено расхождение с базой настроек внутренних интерфейсов. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено расхождение с базой настроек физических интерфейсов. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено расхождение с базой настроек агрегированных интерфейсов. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено расхождение базовых сетевых настроек узла с известными контроллеру. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено несоответствие свободных физических интерфейсов на узле и базе данных. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено несоответствие физических интерфейсов с включенной поддержкой SR-IOV на узле и базе данных. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружено несоответствие между ожидаемым и фактическим состоянием службы брандмауэра. Рекомендация: запустить или остановить службу брандмауэра в соответствии с вашими требованиями.
-
Базовые правила брандмауэра были обновлены. Рекомендация: обновить базовые правила брандмауэра на узлах, используя функцию 'Обновить правила' и применить их.
-
Не обнаружены, ожидаемые согласно базе настроек, распределенные коммутаторы. Рекомендация: синхронизировать сетевые настройки узла.
-
Не обнаружены, ожидаемые согласно базе настроек, виртуальные коммутаторы. Рекомендация: синхронизировать сетевые настройки узла.
-
Не обнаружены, ожидаемые согласно базе настроек, внутренние интерфейсы. Рекомендация: синхронизировать сетевые настройки узла.
-
Не обнаружены, ожидаемые согласно базе настроек, физические интерфейсы. Рекомендация: синхронизировать сетевые настройки узла.
-
Не обнаружены, ожидаемые согласно базе настроек, агрегированные интерфейсы. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружены неизвестные распределенные коммутаторы. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружены неизвестные виртуальные коммутаторы. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружены неизвестные внутренние интерфейсы. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружены неизвестные физические интерфейсы. Рекомендация: синхронизировать сетевые настройки узла.
-
Обнаружены неизвестные агрегированные интерфейсы. Рекомендация: синхронизировать сетевые настройки узла.
-
Необходимо выполнить обновление виртуальной сети. Выполните сброс ошибок для обновления.
-
В каталоге журналов и статистики узла осталось менее 5 процентов свободного места. Рекомендация: удалить ненужные журналы или уменьшить время хранения журналов или статистики через CLI.
-
В каталоге корня узла осталось менее 5 процентов свободного места. Рекомендация: почистить место.
-
-
Виртуальные машины:
-
Нет доступных узлов для миграции или восстановления виртуальной машины. Рекомендация: проверить доступность сетевых интерфейсов в кластере.
-
Нет доступных узлов для миграции или восстановления виртуальной машины. Рекомендация: проверить настройки тегирования кластера и конфигурацию тегов узлов и виртуальных машин в кластере.
-
Нет доступных узлов для миграции или восстановления виртуальной машины. Рекомендация: проверить доступность пулов данных для кластера.
-
Нет доступных узлов для миграции или восстановления виртуальной машины. Рекомендация: проверить доступность LUN сетевых хранилищ для серверов кластера.
-
Нет доступных узлов для миграции или восстановления виртуальной машины. Рекомендация: проверить доступные ресурсы серверов кластера.
-
Нет доступных узлов для миграции или восстановления виртуальной машины. Рекомендация: проверить настройку безопасного режима ВМ или подключенные серверные устройства.
-
Нет доступных узлов для восстановления виртуальной машины с использованием механизма катастрофоустойчивости. Рекомендация: проверить настройку узлов локации, выбранной для восстановления виртуальной машины.
-
Миграция виртуальной машины на менее загруженный узел.
-
-
Сетевые хранилища:
- На сетевом хранилище найдены неизвестные супервизору контроллера LUN. Рекомендация: просканировать LUN на сетевом хранилище.
-
Пулы данных:
-
На пуле данных найдены неизвестные супервизору контроллера виртуальные диски. Рекомендация: просканировать пул данных.
-
На пуле данных найдены неизвестные супервизору контроллера образы. Рекомендация: просканировать пул данных.
-
На пуле данных найдены неизвестные супервизору контроллера файлы. Рекомендация: просканировать пул данных.
-
Ended: Журнал
Безопасность ↵
Пользователи
В данном разделе содержится информация о ранее созданных пользователях системы. Также доступны следующие операции:
-
управление политиками авторизации;
-
обновление информации о пользователях;
-
возможность создания новых пользователей.
Политика авторизации
Для изменения настроек безопасности авторизации необходимо нажать кнопку Политика авторизации, после чего в открывшемся окне необходимо заполнить следующие поля:
-
время, на которое вход пользователя будет заблокирован по достижении лимита попыток авторизоваться (1);
-
количество попыток авторизации до блокировки пользователя (2);
-
время между попытками авторизации в секундах (3);
-
включение (отключение) ограничения входа для пользователя при превышении лимита попыток (4);
-
отображение пароля в окне входа без маскировки (5);
-
включение (отключение) проверки MAC-адресов при входе (6);
-
включение постоянной блокировки авторизации для IP-адреса, который за заданный период блокируется уже третий раз (7);
-
включение блокировки авторизации для IP-адреса по достижении лимита попыток (8);
-
время действия кода двухфакторной аутентификации в секундах (10);
-
лимит неудачных попыток входа с IP-адреса (11);
-
длительность блокировки входа с IP-адреса в минутах, если это уже вторая блокировка за заданный период времени (12);
-
интервал времени в минутах, в течении которого счетчик блокировки IP-адреса может увеличиться (13);
-
разрешённые MAC-адреса (активно при включённой проверке MAC-адресов) (14);
-
дисклеймер (15).
Блокированные IP-адреса
Для заблокированных адресов автоматически создаются запрещающие правила авторизации с ограниченным или постоянным периодом действия.
Смена уровня безопасности
Для смены уровня безопасности пароля необходимо ввести пароль администратора безопасности. Пароль уже должен соответствовать будущему уровню стойкости.
Правила авторизации
Правила авторизации предназначены для блокировки возможности авторизоваться с нежелательных IP-адресов. Для создания и редактирования правил необходимо нажать кнопку Правила авторизации, после чего откроется список правил. Для добавления нового правила необходимо нажать Добавить и заполнить следующие поля:
-
IP-адрес (1);
-
дата и время окончания действия правила (2);
-
включение (выключение) бессрочного действия правила (3);
-
тип правила (Разрешающее / Запрещающее) (4);
-
активация (деактивация) действия правила (5);
-
комментарий к правилу (6).
Важно
При наличии хоть одного разрешающего правила вход с IP-адресов, не описанных правилами, будет блокироваться. Режим работы можно сравнить с "белым списком". По аналогии запрещающие правила формируют "черный список".
Важно
Для корректной работы функционала, отслеживающего IP-адрес клиента, запросы от клиента не должны проксироваться web-сервером (apache, nginx и т.п.).
Создание пользователя
Создание нового пользователя осуществляется с помощью нажатия кнопки Добавить пользователя. В открывшемся окне необходимо заполнить следующие поля:
-
имя нового пользователя;
-
почтовый ящик;
-
роли, которые назначены новому пользователю. Выбор ролей зависит от прав пользователя, от имени которого происходит создание нового пользователя;
-
пароль для нового пользователя;
-
повторный ввод пароля для нового пользователя;
-
опциональный выбор организации;
-
дополнительные настройки.
Генерация пароля
Есть возможность сгенерировать пароль, соответствующий установленному в системе уровню стойкости паролей.
После заполнения полей необходимо подтвердить операцию, нажав кнопку OK.
Доступ к данному разделу операторам ВМ ограничен.
Для корректировки данных о пользователе необходимо нажать на интересующего пользователя, после чего в открывшемся окне отобразится информация о пользователе.
Удаление пользователя
Удаление выбранного пользователя осуществляется по нажатию кнопки Удалить пользователя и подтверждением операции в диалоговом окне кнопкой ОК.
По умолчанию удаление пользователей отключено. Для включения необходимо перейти в раздел Настройки - Системные основного меню и включить Возможность удаления пользователей.
Внимание!
Удаление пользователя приводит к потере всей истории его действий. При необходимости ограничения доступа конкретному пользователю можно сделать его неактивным с помощью кнопки Состояние во вкладке "Информация".
Смена пароля
Любой пользователь может изменить свой пароль, нажав кнопку Изменить пароль и в открывшемся окне указав текущий пароль.
Администратор безопасности может изменить пароль любого пользователя без указания текущего пароля.
История паролей
В целях обеспечения информационной безопасности действует ограничение на использование старых паролей. Система запоминает до 10 использованных паролей.
Информация
Во вкладке Информация отображаются:
-
логин;
-
имя пользователя;
-
фамилия пользователя;
-
электронная почта;
-
состояние пользователя (редактируемый параметр, может быть Активный и Неактивный);
-
текущее количество неуспешных авторизаций;
-
общее количество неуспешных авторизаций;
-
время последней неуспешной авторизации;
-
время последней успешной авторизации.
Настройки
Во вкладке Настройки отображаются:
-
часовой пояс (редактируемый параметр);
-
дата окончания действия пользователя (редактируемый параметр);
-
дата окончания действия пароля (редактируемый параметр);
-
суточный период пользователя (редактируемый параметр);
-
время начала суточного периода (редактируемый параметр);
-
время окончания суточного периода (редактируемый параметр);
-
посылать ошибки на электронную почту (редактируемый параметр);
-
посылать предупреждения на электронную почту (редактируемый параметр);
-
посылать информационные сообщения на электронную почту (редактируемый параметр);
-
двухфакторная аутентификация (редактируемый параметр, при активации позволяющий ввести отдельную почту для получения ключей);
-
максимальное количество одновременных сеансов (редактируемый параметр);
-
время неактивности для деактивации пользователя в днях (редактируемый параметр).
Роли и разрешения
Во вкладке Роли и разрешения отображаются:
-
роли пользователя (редактируемый параметр);
-
разрешения пользователя;
Управление ролями пользователей описано в разделе руководства системного программиста Пользователи и роли и в описании Роли.
Доступ к ВМ
Во вкладке Доступ к ВМ отображаются доступные ВМ (редактируемый параметр).
Ресурсы
Роль
Актуально только для роли Оператора ВМ. Используется для контроля администратором сущностей владения оператора.
Во вкладке Ресурсы пользователя отображаются:
-
пулы данных;
-
диски;
-
образы;
-
файлы.
Сессии
Во вкладке Сессии для каждой сессии отображаются IP-адрес клиента, агент клиента, статус (текущая или нет), дата создания сессии, дата последнего использования и возможность завершить любую сессию пользователя, кроме активной. Также есть кнопка завершения всех неактивных сессий.
Ключи интеграции
Во вкладке Ключи интеграции отображаются ключи интеграции пользователя и кнопка создания ключа.
Для создания ключа необходимо указать уникальное имя ключа, IP-адрес (при необходимости), с которого будут осуществляться запросы, нажать кнопку Сгенерировать ключ, после чего скопировать ключ для дальнейшего использования сторонним приложением. Для удаления ключа необходимо нажать кнопку Удалить.
Просмотр ключа
Просмотр и копирование ключа возможны только при его создании.
Количество ключей
Имеется ограничение - до 96 ключей на одного пользователя.
События
Во вкладке События отображаются зарегистрированные в системе события, связанные с работой пользователей, с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
Теги
Вкладка Теги содержит список присвоенных пользователю меток. Также имеется возможность обновления, создания и применения тега.
Разграничение доступа встроенных ролей пользователей к моделям системы
Модель | Администратор | Администратор безопасности | Оператор ВМ | Только чтение |
---|---|---|---|---|
Роли пользователя (group ) |
Чтение всего, кроме: menu_security_settings, list, menu_users, menu_authentication_directories, menu_ssl_certs, menu_user_groups, menu_events_security, menu_list_keys, retrieve, get_choices, menu_all_sessions, menu_ntp_servers |
Чтение: get_choices, list, menu_all_sessions, menu_authentication_directories, menu_events, menu_events_security, menu_list_keys, menu_ntp_servers, menu_organizations, menu_security_settings, menu_ssl_certs, menu_system_settings, menu_user_groups, menu_users, retrieve . Полный доступ на управление |
Чтение: menu_data_pools, menu_domains, menu_events, menu_iso, menu_library, menu_organizations, menu_tags, menu_tasks, menu_templates, menu_vdisks, menu_vnetworks |
Чтение всего, кроме: menu_security_settings, list, menu_users, menu_authentication_directories, menu_ssl_certs, menu_user_groups, menu_events_security, menu_list_keys, retrieve, get_choices, menu_all_sessions, menu_ntp_servers |
Пользователи (user ) |
Чтение: access_tokens, list, permissions, retrieve, sessions, usernames . Управление: change_password, update |
Полный доступ | Чтение: access_tokens, list, permissions, retrieve, sessions, usernames . Управление: change_password, update |
Чтение: access_tokens, list, permissions, retrieve, sessions, usernames . Управление: change_password, update |
Кластеры (cluster ) |
Полный доступ | Нет доступа | Чтение: list, optimal_node, retrieve |
Полный доступ на чтение |
Кластерные хранилища (clusterstorage ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Gluster тома (volume ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Группы политик контроля трафика (controlplane ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Политики фильтрации трафика узлов (internalaccesspolicy ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Правила фильтрации трафика узлов (internalaccessrule ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Правила шейпинга трафика узлов (internalshapingrule ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Зеркалирование портов (portmirroring ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Политики фильтрации трафика ВМ (vmachinesaccesspolicy ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Правила фильтрации трафика ВМ (vmachinesaccessrule ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Правила NAT (vmachinesnatrule ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Правила маркировки политики QoS Виртуальных сетей (vmachinesqosmarkrule ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Политики QoS Виртуальных сетей (vmachinesqospolicy ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Контроллер (controller ) |
Чтение всего, кроме: timezone, security_settings, timezones, ntp_servers . Управление всем, кроме: set_timezone, update_system_settings, set_ntp_servers, update_security_settings |
Чтение: base_version, list, ntp_servers, security_settings, system_settings, system_time, timezone, timezones . Управление: set_ntp_servers, set_timezone, update, update_security_settings, update_system_settings |
Чтение: base_version, system_time |
Чтение всего, кроме: timezone, security_settings, timezones, ntp_servers |
Области данных (dataplane ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Виртуальные сети (vnetwork ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Интерфейсы сетевых служб (vnservicesinf ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Сетевые службы виртуальной сети (vnservicesinstance ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Локации (datacenter ) |
Полный доступ | Нет доступа | Чтение: list |
Полный доступ на чтение |
Пулы данных (datapool ) |
Полный доступ | Нет доступа | Чтение: available_types, list, retrieve . Управление: create, discover_files, discover_iso, discover_vdisks, free, check_verbose_name |
Полный доступ на чтение |
Виртуальные машины (domain ) |
Полный доступ | Нет доступа | Полный доступ на чтение. Управление всем, кроме: set_owners |
Чтение всего, кроме: spice, vnc |
События (event ) |
Полный доступ | Полный доступ | Полный доступ | Полный доступ на чтение. Управление: generate_event |
Пулы адресов (addresspool ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Внешние сети (extnetwork ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Подсказки (hint ) |
Полный доступ | Полный доступ | Полный доступ | Полный доступ на чтение |
iscsitarget (iscsitarget ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
iscsitargetlun (iscsitargetlun ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
iscsitargetmappedlun (iscsitargetmappedlun ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
iscsitargetnodeacl (iscsitargetnodeacl ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
iscsitargetportal (iscsitargetportal ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
iscsitargetportgroup (iscsitargetportgroup ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
iscsitargetstorages (iscsitargetstorages ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
CD-ROM (cdrom ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Образы ISO (iso ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Сетевые настройки узлов (managementplane ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Файлы (file ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Лицензии (license ) |
Полный доступ | Чтение: check |
Чтение: check |
Полный доступ на чтение |
Агрегированные интерфейсы (aggregatedinf ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Внутренние интерфейсы (internalinf ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
LLDP (lldpdconfig ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Логические коммутаторы (lswitch ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
L2 туннели (overlaytunnel ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Физические интерфейсы (physicalinf ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Порт-группы (portgroup ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Виртуальные функции (vfunction ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Виртуальные интерфейсы (vmachineinf ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Виртуальные коммутаторы (vswitch ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Серверы (node ) |
Полный доступ | Нет доступа | Чтение: available_cpu_models, list, retrieve . Управление: migrate_domains, shutdown_domains, start_domains |
Полный доступ на чтение |
Пулы ресурсов (resourcepool ) |
Полный доступ | Нет доступа | Чтение: list, retrieve |
Полный доступ на чтение |
Файловые хранилища (sharedstorage ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Снимки состояния ВМ (domainsnapshot ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
LUN (lun ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Блочные хранилища (storagetransport ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Теги (tag ) |
Полный доступ | Нет доступа | Полный доступ на чтение. Управление всем, кроме: remove |
Полный доступ на чтение |
Задачи по расписанию (scheduledtask ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Задачи (task ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
Организации (organization ) |
Полный доступ | Нет доступа | Полный доступ на чтение | Полный доступ на чтение |
Виртуальные диски (vdisk ) |
Полный доступ | Нет доступа | Полный доступ | Полный доступ на чтение |
ZFS пулы (zfspool ) |
Полный доступ | Нет доступа | Нет доступа | Полный доступ на чтение |
Разрешения (permission ) |
Нет доступа | Полный доступ | Нет доступа | Нет доступа |
Службы каталогов (authenticationdirectory ) |
Нет доступа | Полный доступ | Нет доступа | Нет доступа |
Keytabs (keytab ) |
Нет доступа | Полный доступ | Нет доступа | Нет доступа |
Соответствия (rolemapping ) |
Нет доступа | Полный доступ | Нет доступа | Нет доступа |
События безопасности (eventsecurity ) |
Нет доступа | Полный доступ | Нет доступа | Нет доступа |
SSL-сертификаты (sslcertificate ) |
Нет доступа | Полный доступ | Нет доступа | Нет доступа |
Сессии
- Во вкладке Сессии для каждой сессии отображаются IP-адрес клиента, Агент клиента, Статус (Текущая или нет), Дата создания сессии, Дата последнего использования и возможность завершить любую сессию пользователя, кроме активной.
Безопасная сессия
Включить безопасную сессию можно в окне авторизации. Для этого необходимо ввести логин, пароль и включить опцию "Доступ к сессии только с данного IP-адреса".
Безопасная сессия дает возможность закрепить связь между токеном, получаемым при входе и IP-адресом, с которого совершен вход. В случае, если токен, связанный с данным IP-адресом, будет использоваться с другого IP-адреса, то пользователь не пройдет авторизацию.
Примечание
Данный метод не рекомендуется использовать при неустойчивом канале связи с динамическим IP-адресом.
NTP и время
Настройки
Во вкладке NTP и время можно настроить список NTP-серверов, с которым будет синхронизироваться контроллер, а по контроллеру и все принадлежащие ему вычислительные узлы. При нажатии кнопки Установка NTP в открывшемся окне необходимо задать адреса NTP-серверов из раскрывающегося списка и нажать кнопку Добавить. После этого сохранить изменения, нажав кнопку ОК.
Также здесь отображается текущее системное время контроллера.
MS AD
При использовании авторизации MS AD расхождение времени с контроллером AD не допускается.
Кластерные хранилища
При использовании кластерных хранилищ расхождение времени узлов друг с другом в кластере не допускается.
Общая информация
После установки время на сервере синхронизируется с указанными далее базовыми серверами времени с уменьшающимся приоритетом:
- 0.debian.pool.ntp.org
- 1.debian.pool.ntp.org
- 2.debian.pool.ntp.org
- 3.debian.pool.ntp.org
- 127.127.1.0 (в случае отсутствия сети или недоступности серверов времени сервер синхронизируется с локальными часами)
При добавлении узла к контроллеру узел начинает использовать контроллер, как сервер времени. При использовании репликации контроллера сервером времени является активный мастер.
Время сервера можно посмотреть в Web-интерфейсе во вкладке Информация сервера. Время на контроллере можно посмотреть в нижней строчке Web-интерфейса слева.
Контроллер проверяет соответствие времени каждого активного узла. При расхождении более 60 секунд выдается предупреждение.
В web-интерфейсе отображаются все заданные сервера.
CLI
В CLI отображаются все доступные сервера.
Для проверки статуса синхронизации в CLI используются команды:
ntp check
ntp test [server]
ntp conf
Доступность серверов времени
Необходимо убедиться, что серверы времени доступны контроллеру.
Отключение NTP
В некоторых случая требуется отключение NTP и установка пользовательского времени на хосте ВМ.
Есть ограничение по возможности отключения синхронизации времени в среде виртуализации при старте виртуальных машины. Поэтому схема отключения синхронизации времени следующая:
- отключается синхронизация времени на хосте;
- устанавливаются необходимые дата и время для хоста;
- синхронизируются аппаратные часы с системным временем;
- перезагружаются ВМ на хосте. Время на ВМ будет соответствовать установленному времени на хосте виртуализации.
Предупреждение
Отключение NTP и установка пользовательского времени может привести к непредсказуемым эффектам и ошибкам в работе сервисов как на хосте ВМ, так и в виртуальных машинах.
Для отключения NTP используется команда CLI:
ntp off
Для установки пользовательского времени используется команда:
date -s '2023-05-20 20:34:56'
Для записи системного времени (system time) в аппаратные часы (hardware clock) хоста ВМ используется команда:
hwclock --systohc
Для записи времени аппаратных часов хоста ВМ в системное время хоста используется команда:
hwclock --hctosys
Для включения NTP и задания сервера для синхронизации времени по NTP используется команда:
ntp set [server]
- примерntp set ntp.ix.ru
Для однократной и немедленной синхронизации времени по NTP используется команда:
ntp sync [server]
- примерntp sync ntp.ix.ru
Ключи шифрования SSH
Ключи шифрования SSH - это пара зашифрованных ключей (закрытый и открытый), которые используются для авторизации при подключении к серверу по протоколу SSH. При такой настройке SSH подключения не требуется ввод пароля.
Для подключения к серверу с помощью ключей шифрования SSH необходимо:
-
создать пару ключей - после создания закрытый ключ сохраняется на компьютере, с которого осуществляется подключение, а открытый ключ размещается на сервере;
-
разместить открытый ключ на сервере или ВМ с помощью веб-интерфейса Space.
Примечание
Каждый пользователь системы виртуализации Space (кроме администраторов) видит только свои ключи шифрования. У администраторов есть возможность просматривать и управлять всеми публичными ключами шифрования.
Загрузка открытого (публичного) ключа шифрования
Мастер загрузки ключа шифрования запускается по нажатию кнопки Добавить ключ. В открывшемся окне необходимо заполнить следующие поля:
-
название ключа;
-
тип шифрования;
-
выбрать файл публичного ключа или вставить ключ в форму из буфера обмена.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК. Предполагается, что пользователь уже имеет приватный ключ.
Генерация пары ключей шифрования
Мастер генерации ключей шифрования запускается по нажатию кнопки Сгенерировать ключи. В открывшемся окне необходимо заполнить следующие поля:
-
название ключей;
-
тип шифрования;
-
длину ключа в битах.
Длина ключа
Количество битов, используемых для ключа алгоритма шифрования. Обычно, чем больше бит, тем более устойчив алгоритм к взлому.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК. Система сгенерирует приватный и публичные ключи и предложит сохранить приватный ключ на локальном диске компьютера.
Примечание
Путь к приватному ключу в Linux системе: /home/USER_NAME/.ssh/id_rsa
. В Windows расположение файла
зависит от приложения SSH доступа.
Ключи должны соотвествовать правам видимости 0700 или 0600. Например: chmod 0600 /home/USER_NAME/.ssh/id_rsa.
Удаление ключа шифрования
Для удаления ключей шифрования необходимо выделить нужные с помощью "чек-боксов" и нажать на кнопку Удалить.
Примечание
Удаление происходит только из базы данных - удаленные ключи все еще могут быть подключены к узлам. Что бы отключить удаленные из базы ключи необходимо выполнить Удаление всех ключей на узле для всех (если не известен конкретный) пользователей SSH.
Распространение публичного ключа шифрования на все активные узлы
Для удобства управления системой виртуализации Space реализована функция распространения публичного ключа на все узлы контроллера. Распространяемый публичный ключ выдается пользователю root на выбранных узлах.
По нажатию на кнопку Подключение SSH ключа откроется диалоговое окно выбора узлов. После выбора узлов необходимо подтвердить операцию, нажав кнопку ОК.
По нажатию на кнопку Отключение SSH ключа откроется диалоговое окно выбора узлов. После выбора узлов необходимо подтвердить операцию, нажав кнопку ОК.
Внимание
По-умолчанию данные функции доступны только администратору и администратору безопасности.
SSL-сертификаты
-
В данном разделе содержится информация о действующих сертификатах и возможность загрузки нового комплекта SSL-сертификатов для доступа к системе управления по HTTPS.
-
Мастер загрузки сертификатов запускается по нажатию кнопки Добавить. В открывшемся окне необходимо заполнить следующие поля:
-
уникальное имя для сертификата;
-
описание сертификата;
-
доменное имя, на которое сертификат выпущен;
-
содержимое файлов сертификатов вместе со строками, содержащими признак начала и конца сертификата (со словами BEGIN и END) либо загрузить уже готовый SSL-сертификат. При нажатии кнопки Загрузить файл будет открыто стандартное окно загрузки файлов;
-
содержимое ключа SSL-сертификата вместе со строками, содержащими признак начала и конца сертификата (со словами BEGIN и END) либо загрузить уже готовый SSL-сертификат. При нажатии кнопки Загрузить файл будет открыто стандартное окно загрузки файлов;
-
цепочку SSL-сертификата вместе со строками, содержащими признак начала и конца сертификата (со словами BEGIN и END) либо загрузить уже готовый SSL-сертификат. При нажатии кнопки Загрузить файл будет открыто стандартное окно загрузки файлов.
-
-
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Службы каталогов
Информация
В разделе Безопасность - Службы каталогов основного меню производится настройка интеграции с сервером службы каталогов по Lightweight Directory Access Protocol (LDAP). Данная интеграция позволяет авторизовать в системе управления SpaceVM пользователей из Active Directory (далее MS AD), FreeIPA, OpenLdap, ALD, RADIUS. После успешной аутентификации пользователь в системе управления SpaceVM будет создан автоматически. Пароль пользователя хранится только на сервере службы каталогов, т.е. такой пользователь и в дальнейшем проходит аутентификацию только через сервер LDAP.
Создание
Создание записи службы каталогов производится с помощью кнопки Добавить. В открывшемся окне необходимо заполнить следующие поля:
-
название службы каталогов;
-
имя домена (используется LDAP серверами);
-
адрес службы каталогов URL (LDAP или LDAPS);
-
тип службы каталогов (выбор из раскрывающегося списка). Может принимать значения: Active Directory, FreeIPA, OpenLDAP, ALD, RADIUS;
-
секрет (используется RADIUS сервером);
-
пользователь (имя администратора);
-
пароль администратора;
-
возможность проверки соединения;
-
роль по умолчанию;
-
описание.
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
В окне службы каталогов существует возможность поиска каталога по имени. Для этого в верхней строчке окна в поле Найти необходимо ввести название искомого каталога и нажать кнопку
После первоначальной настройки службы AD, FreeIPA, OpenLdap, ALD, RADIUS авторизуют пользователей как внешнее хранилище учётных записей LDAP. Предоставляется возможность сопоставлять роли пользователей AD, FreeIPA, OpenLdap, ALD, RADIUS с уровнем доступа в систему управления (администратор или оператор). Для авторизации пользователем домена Windows, Linux в окне ввода имени пользователя и пароля необходимо перевести переключатель авторизации в LDAP.
Интеграцию с MS AD можно расширить, применив настройки Kerberos (keytabs) и указав учётную запись пользователя, авторизованного для проверки учетных данных с контроллера системы управления. При правильном применении настроек появится возможность использования функционала SSO при авторизации пользователей домена MS AD.
Для MS AD также поддерживается работа со связными (доверенными) серверами.
В системе управления реализован автоматический повтор аутентификации при получении соответствующего ответа во время сильной загрузки сервера службы каталогов.
При нажатии на название службы каталогов в открывшемся окне содержатся сведения о ней, разделенные на следующие группы:
-
информация;
-
соответствия;
-
keytabs;
-
события.
SSO
Также существует возможность обновления информации, изменения конфигурации SSO и удаления службы.
При нажатии кнопки Конфигурация SSO в открывшемся окне необходимо заполнить следующие поля:
-
включить или выключить режим SSO;
-
субдомен SSO;
-
url сервера управления AD;
-
список всех url Key Distributed Centers.
После заполнения полей необходимо подтвердить операцию, нажав кнопку Сохранить.
Информация
Во вкладке Информация содержатся следующие сведения:
-
название службы (редактируемый параметр);
-
описание службы (редактируемый параметр);
-
имя домена (редактируемый параметр);
-
тип службы (редактируемый параметр);
-
URL службы (редактируемый параметр, записывается в формате ldap://xxx.xxx.xxx.xxx) (редактируемый параметр);
-
пользователь (редактируемый параметр);
-
пароль (редактируемый параметр);
-
роль по умолчанию (редактируемый параметр, по умолчанию - Выключено);
-
дата и время создания службы;
-
дата изменения;
-
проверка соединения.
Соответствия
Для авторизации пользователей система SpaceVM использует роли. На сервере LDAP может быть отличная организация пользователей - организационные единицы, группы и тд. С помощью Соответствий система понимает какую роль получит пользователь, прошедший LDAP аутентификацию. При отсутствии подходящих Соответствий пользователь получит роль по умолчанию, если она выбрана (без роли вход невозможен). Может быть применено только одно Соответствие с наивысшим приоритетом из подходящих. Приоритет соответствия является суммой приоритетов его ролей.
Пример
Учетная запись ivanov.i на сервере LDAP состоит в группах Инженер и Офис. В системе SpaceVM созданы два соответствия. Соответствие 1 - члены группы Инженер получают роль Администратор, приоритет 1000. Соответствие 2 - члены группы Офис получают роль Оператор ВМ, приоритет 100. После успешной аутентификации пользователь ivanov.i получит роль Администратор, так как приоритет Соответствия 1 выше.
Во вкладке Соответствия содержится таблица соответствий, возможность обновления, добавления соответствия, а также его удаления.
Для добавления соответствия необходимо нажать кнопку Добавить соответствие. Необходимо заполнить следующие поля:
-
название соответствия;
-
роли пользователей (выбор из раскрывающегося списка);
-
описание соответствия;
-
объекты LDAP сервера (для сервера RADIUS только ручной ввод имен пользователей).
Объектами LDAP могут быть любые сущности сервера (OU, CN и тд.), которые фигурируют в DN пользователя. Могут быть выбраны группы LDAP в которых состоит пользователь.
Выбрав необходимые сущности сервера службы каталогов, необходимо подтвердить операцию, нажав кнопку OK.
В качестве примера: Допустим DN пользователя AD120, который проходит аутентификацию, uid=ad120,ou=other,ou=users,dc=bazalt,dc=team. Так же этот пользователь состоит в группе Администратор с DN cn=administrator,ou=groups,dc=bazalt,dc=team. Необходимо создать соответствие, при котором пользователь AD120 получит роль Администратор в SpaceVM.
Если нужно, что бы только этот пользователь получал роль Администратор в SpaceVM необходимо сделать соответствие на весь DN пользователя (совпадение с другими пользователями сервера LDAP исключено).
Что бы пользователь AD120 и другие члены группы Администратор получали роль Администратор нужно выбрать DN группы.
Что бы пользователь AD120 и остальные пользователи из организационной единицы ou=other,ou=users,dc=bazalt,dc=team получали роль Администратор, нужно выбрать DN организационной единицы.
Так же допустимы любые комбинации объектов LDAP при необходимости.
Выбор подходящих DN происходит в диалоговом окне Изменение соответствия, которое открывается по нажатию на кнопку Изменить объекты LDAP.
В диалоговом окне Изменение соответствия содержится:
-
таблица объектов LDAP сервера;
-
Путь (на изображении выше это dc=bazalt,dc=team).
В первом столбце таблицы указано название объекта, во втором его классы. Для отображения содержимого любого объекта в таблице необходимо "кликнуть" по названию. Путь отображает текущее положение. Для возврата в предыдущую директорию "стрелка влево" наверху таблицы. Выбор объектов производится "галочками" и нажатием кнопки ОК.
Keytabs
Во вкладке Keytabs существует возможность обновления, а также загрузки файлов. При нажатии кнопки Загрузить будет открыто стандартное окно загрузки файлов.
События
Во вкладке События присутствуют все события, зарегистрированные в системе, возникающие при работе служб каталогов с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
События безопасности
Вкладка событий, связанных с безопасностью.
В дополнение к обычному функционалу журнала событий имеются следующие возможности:
-
При нажатии кнопки Действия доступны операции:
-
архивы;
-
очистка журналов.
-
-
При нажатии кнопки Настройки архивации журнала можно задать следующие параметры:
-
минимальное число событий для архивации журнала. При достижении заданного количества записей система запустит архивирование журналов. Минимальное значение: 100;
-
размер хранилища архивов журналов. При превышении заданного размера хранилища система запустит автоочистку архивов. Минимальное значение: 1 Гб;
-
лимит заполненности журнала в процентах. При достижении лимита заполнения система зарегистрирует предупреждение. Минимальное значение: 50;
-
автоматическая очистка архивов журнала при превышении заданного времени (в днях). При достижении заданного значения начнется автоматическая очистка архивов.
-
При превышении определённого числа событий происходит автоматическая архивация и очистка журнала.
Журнал при архивации сохраняется в директории /var/log/veil/controller/journal
.
Описание уровней стойкости паролей
Категории символов, доступных для использования в пароле пользователя системы:
-
Прописные буквы английского алфавита от А до Z.
-
Строчные буквы английского алфавита от а до z.
-
Десятичные цифры от 0 до 9.
-
Символы, не принадлежащие алфавитно-цифровому набору.
LOW
Пароль с низкой степенью стойкости (допускается, когда для требований паролей стоит настройка, что ПО используется в тестовом режиме):
-
Минимальная длина – 3 символа.
-
В пароле могут присутствовать символы любых категорий.
-
В пароле могут присутствовать символы одного регистра.
-
Допускается пароль, состоящий из набора одних и тех же символов (например, «ааа» или «7777»).
MIDDLE
Пароль со средней степенью стойкости (допускается, когда для требований паролей стоит настройка, что ПО используется в штатном режиме, но только для временных пользователей):
-
Минимальная длина – 5 символов.
-
В пароле должны присутствовать символы как минимум двух любых категорий.
-
В пароле могут присутствовать символы одного регистра.
HIGH
Пароль с высокой степенью стойкости (пароль для штатного режима эксплуатации на объекте):
-
Минимальная длина – 8 символов.
-
Пароль не может содержать последовательность букв в любом регистре, используемых в логине.
-
В пароле должны присутствовать символы как минимум трех категорий.
-
В пароле одновременно должны присутствовать символы двух разных регистров.
Алгоритм хеширования паролей
Локальные и SSH пользователи
При установке системы задаётся пароль пользователя root. Инсталлятор системы хэширует его при помощи алгоритма yescrypt. Все пароли, создаваемые или изменяемые после установки системы, хэшируются уже с помощью алгоритма gost-yescrypt, сочетающего расширенную устойчивость к перебору паролей благодаря yescrypt с криптографическими свойствами всей конструкции согласно ГОСТ Р 34.11─2012.
Важно
Для того, чтобы пароль пользователя root хранился также с учётом ГОСТ Р 34.11─2012,
достаточно сменить его (даже на тот же самый, что задан при установке) через
веб-интерфейс либо при помощи команды CLI ssh user change_password
.
Пароль защиты загрузчика GRUB
Для хеширования паролей загрузчика применяется алгоритм PBKDF2 с хешем SHA512.
PBKDF2 (Password-Based Key Derivation Function 2 или Функция Получения Ключа На Основе Пароля 2) – это функция получения ключа, разработанная RSA Laboratories, используемая для получения стойких ключей на основе хеша. Она работает путем применения псевдослучайной хеш-функции (вроде SHA-256, SHA-512, и т. д.) к строке, в нашем случае – к паролю, вместе с солью* и повторением этого процесса большое число раз.
Примечание
В криптографии соль — это случайные данные, которые используются в качестве дополнительных входных данных для односторонней функции хеширования данных, пароля или парольной фразы. Применение соли снижает опасность подбора пароля с помощью т.н. радужных таблиц в случае компрометации хэшей паролей.
Примечание
От пользователей, хеш пароля которых был создан с помощью предыдущего алгоритма PBKDF2 (хеш SHA256), не требуется смена пароля или иных действий. После успешной аутентификации такого пользователя, хеш пароля будет заменен на gost-yescrypt автоматически.
Парольная защита меню загрузки
Загрузчик SpaceVM обладает богатыми возможностями изменения параметров загрузки системы. Например, возможно запретить загрузку или задать параметры для каких-либо драйверов, параметры загрузки ядра, вручную задать образ ядра, начальный RAM-диск и т.д. Эти возможности реализуются через редактирование "на лету" пунктов меню загрузки SpaceVM или в режиме командной строки загрузчика. По умолчанию данные возможности доступны для любого, кто имеет доступ:
- к физической консоли узла Space;
- к последовательному порту #2 системы (в том числе при возможности подключить к системе USB UART);
- при наличии IPMI и знании логина и пароля IPMI:
- к удалённой консоли IPMI;
- к SOL.
С точки зрения безопасности бывает целесообразно ограничить доступ к подобным возможностям. SpaceVM позволяет задать имя пользователя и пароль, которые будут запрашиваться в любой ситуации при загрузке, кроме выбора пункта загрузочного меню по умолчанию. Для этой цели, а также для просмотра состояния и снятия парольной защиты служит команда CLI boot_protect. Стойкость пароля при его задании проверяется по уровню Middle в описании.
Следует подчеркнуть, что при задании парольной защиты автоматическая загрузка узла остаётся полностью доступной.
Методика проверки целостности ПО SpaceVM
После установки или обновления ПО SpaceVM необходимо произвести фиксацию контрольных сумм.
Командой в CLI aide init
создаем базу данных файлов с контрольными суммами.
Командой в CLI aide log
можно просмотреть лог последнего создания базы с контрольными суммами.
Командой в CLI aide check
осуществляется сверка контрольных сумм файлов в файловой системе с
базой контрольных сумм.
Ended: Безопасность
Настройки ↵
Информация
Группы настроек
В разделе Настройки – Контроллер основного меню содержится следующая информация, разделенная на группы:
-
Информация – информация о контроллере;
-
SNMP – настройки Simple Network Management Protocol;
-
SMTP – настройки SMTP-сервера;
-
ПО и Сервисы – информация о версии ПО контроллера и сервисах;
-
Syslog – настройки Syslog;
-
SpaceVM контроллеры;
-
Сетевые настройки;
-
Задачи по расписанию;
-
Репликация.
Обновление основных настроек
Также существует возможность обновления контроллера и его настроек:
-
4 октет генерируемых Mac-адресов (редактируемый параметр);
-
тайм-аут стартового ожидания переподключения к недоступным узлам (редактируемый параметр);
-
начальный тайм-аут между попытками ограждения узлов (редактируемый параметр);
-
максимальный тайм-аут между попытками ограждения узлов (редактируемый параметр);
-
множитель увеличения тайм-аута между попытками (редактируемый параметр);
-
перевод узла в статус Failed при достижении максимального таймаута (редактируемый параметр);
-
адрес интерфейса управления контроллера для протокола SPICE (редактируемый параметр);
-
Автоматическая синхронизация сети (при автотестировании, редактируемый параметр);
-
Автоматическое сканирование хранилищ (при автотестировании, редактируемый параметр);
-
Часовой пояс (редактируемый параметр);
-
ID контроллера;
-
Дополнительные опции (редактируемый параметр);
-
IP-адреса контроллера;
-
Паттерн имени по-умолчанию (редактируемый параметр).
Дополнительные опции
Это словарь, где могут содержаться разнообразные дополнительные настройки системы.
Параметр | Описание | Базовое значение | Варианты |
---|---|---|---|
parallel_steps | Количество одновременно выполняемых задач в рамках одной мультизадачи, например, миграций ВМ |
4 | 1-100 |
live_migration_opts | Разнообразные опции живой миграции | " --precopy --postcopy --postcopy-after-precopy" | |
rsync_options | Разнообразные опции копирования/переноса (rsync) | " --whole-file" | |
use_numa_nodes | Возможность задействовать трансляцию топологии vNuma узла в ВМ | false | false/true |
use_numad | Вкл/выкл работу демона numad на всех узлах | false | false/true |
disable_domains_hints | Отключение подсказок ВМ | false | false/true |
disable_delete_powered_domain | Опция запрета удаления включенных ВМ | false | false/true |
Сканирование хранилища контроллера
Кнопка Сканировать хранилища контроллера запускает сканирование и синхронизацию на всех серверах контроллера следующих хранилищ:
Примечание
Поиск пулов данных будет осуществлен на всех (на уже известных и на найденных) хранилищах. Все пулы данных, включая найденные, будут просканированы на предмет содержащихся на них образов, дисков и файлов.
Организации
-
Раздел Организации предназначен для централизованного управления организациями и их пользователями
-
Создание новой организации производится с помощью кнопки Создать организацию и заполнения следующих полей:
-
название;
-
описание.
-
-
Добавление пользователя в состав организации происходит при нажатии кнопки Добавить пользователя к организации и его выбора.
-
В окне отдельной организации можно удалить её, нажав кнопку Удалить организацию и подтвердить удаление.
-
Во вкладке Пулы ресурсов организации можно видеть список пулов ресурсов, а также иметь возможность их добавления и отключения.
-
Во вкладке Виртуальные сети организации можно видеть список виртуальных сетей, а также иметь возможность их добавления и отключения.
-
Вкладка События содержит список последних событий для этой организации с возможностью их сортировки по признакам - По всем типам, Ошибки, Предупреждения, Информационные.
-
Вкладка Теги содержит список назначенных организации тегов. Существует возможность создать, удалить, назначить тег и обновить список назначенных тегов.
Пример выделения ресурсов организации
-
Создаем организацию;
-
Создаем пул ресурсов, добавляем к нему сервера, общие для этих серверов пулы данных, ВМ, ставим при необходимости ограничения на ресурсы. Более подробное описание смотрите в Пулы ресурсов;
-
Добавляем пул ресурсов к организации;
-
Добавляем виртуальную сеть к организации;
-
Создаем пользователей с ролью Оператор с указанием организации или добавляем нужных нам пользователей к организации;
После последнего шага все сущности пула ресурсов (пулы данных, образы на них, ВМ с их резервными копиями станут доступными пользователю).
При изменении сущностей пула ресурсов для того чтобы их увидел пользователь, необходимо передобавить его к организации.
SNMP
Информация
В окне Настройки – Контроллер – SNMP перечислены настройки snmp-walk агента, необходимые для передачи по протоколу SNMP метрик системы с возможностью изменения, добавления или удаления параметров.
При нажатии на кнопку добавления: в открывшемся окне необходимо ввести название объекта, после чего подтвердить операцию, нажав кнопку Сохранить. При нажатии на кнопку редактирования в открывшемся окне необходимо скорректировать название объекта, после чего подтвердить операцию, нажав кнопку Сохранить. При нажатии на кнопку удаления: операция происходит автоматически.
В данном окне отображаются следующие параметры:
-
location;
-
contact;
-
community;
-
network;
-
agent-address;
-
статус службы. "По умолчанию" статус сервиса выключен. При нажатии на кнопку редактирования в открывшемся окне необходимо включить или выключить опцию service ensure, после чего подтвердить операцию, нажав кнопку Изменить. Статус сервиса дополнительно можно проверить для контроллера и узлов через вкладку ПО и Сервисы;
-
Snmp v3 user. При нажатии на кнопку редактирования в открывшемся окне необходимо заполнить следующие поля:
- username;
- auth-pass;
- privpass.
После заполнения всех полей необходимо подтвердить операцию, нажав кнопку Сохранить.
Если были внесены изменения в конфигурацию SNMP, то в нижней части окна становится доступна кнопка Сохранить изменения, при нажатии на которую открывается диалоговое окно для подтверждения операции. Необходимо нажать Да для изменения конфигурации или Отмена для отказа от них.
Также в окне управления конфигурацией SNMP существует возможность обновления и отправки SNMP-запроса по кнопке Отправить SNMP-запрос. При нажатии данной кнопки в открывшемся окне необходимо выбрать из раскрывающегося списка IP-адрес, версию (1, 2с, 3), тип команд (snmpwalk или snmptable), command. После этого необходимо подтвердить операцию, нажав кнопку ОК.
Тип аутентификации и конфиденциальность при отправке SNMP-запроса
Тип аутентификации SHA. Конфиденциальность AES.
Список реализованных OID SNMP
-
ООО "ДАКОМ М" имеет зарегистрированную базу управляющей информации в OID Repository oid-info.
-
Для просмотра текущей SNMP конфигурации сервера запустите в CLI команду
system snmp_conf
.
SMTP
Во вкладке SMTP перечислены настройки SMTP-сервера, необходимые для передачи почтовых сообщений об ошибках SpaceVM пользователю:
-
Адрес сервера;
-
Порт;
-
Имя SMTP пользователя | email;
-
email для отправки текстового сообщения;
-
email для получения текстового сообщения;
-
Пароль SMTP приложения;
-
Использовать сохранённые имя/email и пароль;
-
TLS;
-
SSL.
Существует несколько сценариев работы с сервисом SMTP.
1. Работа с внешним SMTP-сервером
Для работы с внешним SMTP-сервером переключатель "Без аутентификации" должен быть выключен. Обязательными к заполнению в данном режиме при первоначальной настройке являются только поля "Адрес сервера", "Порт", "Имя SMTP пользователя | email", "Пароль SMTP приложения". Выполнив первичную настройку и нажав кнопку Сохранить можно переходить либо тестированию отдельных e-mail адресов, либо непосредственно к работе с SMTP-сервисом.
При повторном конфигурировании или при отправке тестового сообщения для использования ранее сконфигурированных параметров (имя, пароль и т.д.) можно выбрать переключатель "Использовать сохранённые имя/email и пароль". Данный переключатель позволяет изменять и тестировать различные конфигурации SMTP-сервера без необходимости повторного набора всего множества полей. Проверка соединения путём отправки тестового сообщения выполняется по кнопке Проверить соединение.
Отдельно стоит отметить логику работы, связанную с полем "email для отправки текстового сообщения". Если в поле "Имя SMTP пользователя | email" было введено имя пользователя, для правильной работы необходимо заполнить поле "Email для отправки текстового сообщения". Если в поле "Имя SMTP пользователя | email" был введён e-mail, то он автоматически продублируется и в поле "Email для отправки текстового сообщения". При наличии e-mail адреса в этом поле с него будет производиться отправка служебной информации (в противном случае отправка происходит с info@spacevm.org).
2. Работа с внутренним сервером
При условии, что SMTP-сервер развернут в пользовательской сети (не используются внешние типа smtp.mail.ru) необходимо активировать переключатель "Без аутентификации". Это приведёт к сокращению количества активных полей до необходимого минимума.
Note
- Не забудьте обеспечить доступ контроллера к SMTP-серверу.
- Удалить абсолютно все данные, связанные с конфигурацией SMTP-сервиса можно по кнопке "Сбросить настройки".
ПО и Сервисы
ПО (x,y,z)
Во вкладке ПО (x,y,z) доступна информация о моделях версии ПО.
При нажатии на кнопку Обновление ПО контроллера происходит автоматическая проверка доступных обновлений. Для установки обновления контроллера необходимо нажать кнопку Обновить все пакеты ПО.
При нажатии кнопки Обновления ПО контроллера + серверов происходит автоматическая проверка доступных обновлений. Для установки обновлений необходимо нажать кнопку Обновить все пакеты ПО.
Сервисы
Во вкладке Сервисы можно контролировать статус основных сервисов и управлять ими (старт, стоп, рестарт). При нажатии на кнопку Действия над сервисами контроллера указать параметры: - Сервис (раскрывающийся список). - Действие (start, stop, restart).
Для применения действия необходимо подтвердить кнопкой ОК.
Syslog
В окне Настройки – Контроллер – Syslog можно настроить доставку системных сообщений системы управления в rsyslog, ArcSight logger и другие системы, поддерживающие прием событий в форматах syslog и сef (common event format). Для этого необходимо нажать кнопку Добавление получателя и в открывшемся окне заполнить следующие поля:
-
имя получателя (1);
-
тип получателя (выбор из раскрывающегося списка). Может принимать значения syslog и cef (2);
-
сетевой адрес получателя (3);
-
порт получателя (4);
-
информация о протоколе передачи сообщений;
-
уровень сообщений (выбор из раскрывающегося списка). Может принимать значения CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET (5).
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК.
Выбор источника и уровня сообщений осуществляется в соответствии с правилами, принятыми для ОС семейства Linux:
-
при уровне NOTSET будут отправляться все сообщения;
-
для других уровней будут отправляться сообщения указанного уровня и все сообщения уровнем выше по критичности (для WARNING - WARNING, ERROR и CRITICAL).
CEF формат
Jan 18 11:07:53 host CEF:Version|Device Vendor|Device Product|Device
Version|Device Event Class ID|Name|Severity|[Extension]
Описание полей: - CEF:Version - Версия формата CEF
-
Device Vendor - Производитель
-
Device Product - Имя продукта
-
Device Version - Версия продукта
-
Device Event Class ID - Класс события
-
Name - Описание события
-
Severity - Важность события
-
Extensions - Дополнительные сведения о событии
Пример сообщения в формате CEF:
Sep 27 15:06:15 controller CEF: 0|LLC «DACOM M»|SpaceVM|6.3.0|50886s|auth_success|1|src=10.10.10.10 dst=192.168.20.120 shost=not_resolved dhost=22e0d77d-a3fd-4a36-a22e-524001805d06 end=1695816330465 suser=admin outcome=Success cs1=jk8ojcdphrwlj1zvvzuwzuiq46r8oxsk cs1Label=session_id dproc=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 cs3=network cs3Label=login_type msg=Пользователь admin успешно аутентифицирован в системе.
Grafana
Отдельно выведена кнопка редиректа (автоматическое перенаправление) на сервис Grafana, находящийся на контроллере.
Space VM контроллеры
-
Во вкладке SpaceVM контроллеры можно добавить другие контроллеры для управления ими из интерфейса. Для этого необходимо нажать кнопку Добавить контроллер и в открывшемся окне заполнить следующие поля:
-
имя;
-
сетевой адрес;
-
ключ интеграции, созданный на другом контроллере для выбранного пользователя.
-
После заполнения полей необходимо подтвердить операцию, нажав кнопку ОК. При добавлении будет осуществлена проверка аутентификации.
Сетевые настройки
Во вкладке Сетевые настройки отображаются настройки сети контроллера:
- Состояние межсетевого экрана (вкл/выкл);
- Доменные имена:
- DHCP;
- домен;
- интерфейс;
- DNS-сервер;
- поддомен.
- Шлюз:
- DHCP;
- шлюз;
- интерфейс.
- Маршруты.
Репликация
- Во вкладке Репликация отображаются настройки резервного контроллера и статус репликации параметров кластера. Настройка резервного контроллера и репликации производится из CLI-интерфейса контроллера. Более полное описание приведено в Репликации.
Общее
Раздел Настройки - Системные - Общее основного меню предназначен для управления настройками приложения контроллера.
В данном разделе содержится следующая общая информация:
Настройки контроллера
-
возможность перемещать виртуальные машины (вкл/выкл) (редактируемый параметр). При выключении будет запрещена миграция ВМ;
-
журналирование действий с ограниченным доступом (вкл/выкл) (редактируемый параметр). При включении будут создаваться события безопасности для всех попыток действий пользователя, на которые у него нет доступа.
-
журналирование ошибок некорректных действий пользователей (вкл/выкл) (редактируемый параметр). При включении будут создаваться события с ошибками валидации пользователей. Например, пользователь захотел создать ВМ с 1000 vCPU, ему вернулась ошибка "Убедитесь, что это значение меньше либо равно 255", и сразу создастся событие с этой ошибкой;
-
возможность удаления пользователей (вкл/выкл) (редактируемый параметр). При включении будет возможность удалять пользователей.
Системные настройки
-
системный язык (редактируемый параметр). Можно выбрать Russian или English. При нажатии кнопки редактирования в открывшемся окне отобразится информация о выбранном на данный момент языке. Также имеется возможность смены языка из раскрывающегося списка и предупреждение о необходимости перезагрузки контроллера для смены языка;
-
период жизни токена – ключа доступа (редактируемый параметр). Это период (дни), по истечению которого токен пользователя удалится из системы, если этим токеном не пользоваться;
-
период возможности обновления токена (редактируемый параметр). Это период (дни), в течении которого возможно обновлять токен, чтобы избежать удаления этого токена из системы.
Пример
Период жизни токена 1 день, период возможности обновления токена 30 дней. При таких настройках токен пользователя будет храниться в системе в течение 30 дней при условии его использования минимум раз в 1 день.
-
количество одновременных сессий (редактируемый параметр). Это максимальное количество активных сессий во всей системе;
-
время жизни сессионных cookie (редактируемый параметр). По истечению этого времени происходит удаление cookie файла пользователя, при этом токен пользователя остаётся в системе;
-
тестовый режим (вкл/выкл) (редактируемый параметр). Включает (выключает) вывод сообщений отладчика в журнал, открывает тестовые эндпоинты, открывает Swagger Web по URL http://{controller_ip}/api/swagger/;
-
тайм-аут бездействия пользователя (редактируемый параметр). При превышении тайм-аута происходит автоматический выход из системы. Бездействие – отсутствие действий устройств ввода (мышь, клавиатура) на странице. Выход из системы включает в себя и выход из сессий терминалов;
После изменения поля необходимо подтвердить операцию, нажав кнопку ОК и перезагрузить
сервисы контроллера через CLI командами services restart controller-web-api
и
services restart controller-engine
.
Ended: Настройки
Правила именования сущностей
Общие правила
- имена уникальны в рамках типа сущности
Пример: имя ВМ может совпадать с именем виртуального диска, но не с другой ВМ.
- максимальная длина имени ВМ 63 знака, остальных - 255
Автоматическое формирование имен с использованием переменных
При создании новой сущности или изменении имени существующей могут быть использованы переменные значения.
Переменные значения представляют собой обозначение (символ) и опции заключенные в фигурные скобки.
При обработке входящего имени переменная будет заменена на соответствующее значение.
Пример входящего имени с переменными значениями (паттерна): {p}-for-test-{n}
, где {p}
и {n}
это переменные.
Типы переменных и их опции
Переменная нумерации n (number - номер)
Основная переменная для создания уникального имени за счет подбора свободного номера.
В качестве примера возьмем паттерн vm-{n}
.
После обработки переменная {n}
будет заменена на номер, с которым имя будет уникальным.
Если в системе нет ВМ с похожими именами, то новая ВМ получит имя "vm-1".
При создании следующей ВМ и использовании паттерна vm-{n}
, новая ВМ получит имя "vm-2",
так как имя "vm-1" уже занято. И так далее.
Опции переменной n
length - количество цифр значения
Минимальное количество цифр в значении переменной n. Если значение имеет меньше цифр, чем задано опцией length, значение будет дополнено нулями слева.
Примеры:
vm-{n:length=3}
=> vm-001
{n:length=4}-vm
=> 0001-vm
start - начало нумерации
Новые сущности будут получать имена с номерами больше либо равно заданного значения опции start.
Примеры:
vm-{n:start=1000}
=> vm-1000
{n:start=5}-vm
=> 5-vm
Примеры комбинирования опций:
vm-{n:start=100:length=5}
=> vm-00100
{n:length=3:start=2}-vm
=> 002-vm
Переменная имени родителя p (parent - родитель)
Переменная p заменяется именем типа сущности или именем родителя при клонировании ВМ. Опций не имеет.
При клонировании ВМ с именем "mytestvm":
clone-{p}-{n}
=> clone-mytestvm-1
{n:length=4:start=100}-{p}
=> 0100-mytestvm
При создании новой сущности или переименовании переменная заменяется именем типа сущности:
ВМ:
{p}-{n}
=> domain-1
Виртуальный диск:
{n:length=2:start=1000}-{p}
=> 1000-vdisk
Лицензирование
В данном разделе содержится информация по действующим лицензионным ключам SpaceVM и их стекируемому результату.
Загрузка лицензионного ключа производится нажатием кнопки Выбрать файл лицензии.
Информация о лицензии содержит:
-
лицензия;
-
E-mail;
-
компания;
-
количество серверов;
-
дней до окончания лицензии;
-
дней до окончания сервисной поддержки;
-
дата завершения лицензии;
-
дата завершения сервисной поддержки.
Даты завершений
Итоговые даты завершения лицензии и даты завершения сервисной поддержки принимаются по наиболее поздней из всех лицензий.
Essentials лицензия
Essentials лицензия разрешает использовать в полном объеме функциональные возможности SpaceVM без возможности горизонтального масштабирования путем приобретения дополнительных лицензий. Для перехода на обычную, масштабируемую лицензию, необходимо удалить Essentials лицензию.
Лицензирование при использовании нескольких контроллеров
На каждом контроллере SpaceVM независимо от наличия сетевой связанности между ними, кроме случаев использования механизма репликации, должна быть уникальная лицензия на контроллер, а также уникальные лицензии на соответствующее количество серверов виртуализации (Node).
Внимание!
Не разрешается повторное использование уникальной лицензии на нескольких несвязанных репликацией контроллерах. Повторное использование уникальной лицензии в данном случае является нарушением Лицензионного соглашения!
Лицензия | Количество |
---|---|
Контроллер SpaceVM 1 | 1 |
Серверы виртуализации Node | 3 |
Контроллер SpaceVM 2 | 1 |
Серверы виртуализации Node | 2 |
Лицензирование при использовании механизма репликации
При наличии механизма репликации (аналогично рис.2) для каждой пары контроллеров, связанных механизмом репликации (один контроллер с ролью master и один контроллер с ролью slave объединены связанностью), используется одна уникальная лицензия на контроллер и необходимое количество лицензий на серверы виртуализации.
После инициализации связанности между основным и резервным контроллерами и назначения им соответствующих ролей, лицензии с основного контроллера (master) будут скопированы на резервный контроллер (slave). Это означает, что не требуется никаких действий для переноса лицензий с основного контроллера на резервный, и при наступлении нештатной ситуации и переводе резервного контроллера (slave) в основной (master), в том числе при использовании свидетеля, лицензии останутся доступными.
Внимание!
Разрешается использование одного набора уникальных лицензий на нескольких связанных репликацией контроллерах!
Лицензия | Количество |
---|---|
Контроллер SpaceVM | 1 |
Серверы виртуализации Node | 3 |
Лицензирование при использовании комбинированной схемы
При наличии комбинированной схемы (аналогично рис. 3, несколько объединенных сетевой связанностью контроллеров, для которых используется механизм репликации) на каждый управляющий контроллер с ролью master или alone должна использоваться своя уникальная лицензия. На контроллерах с ролью slave должна использоваться та же лицензия, которая используется на связанном репликацией контроллере с ролью master.
Лицензия | Количество |
---|---|
Контроллер SpaceVM 1 | 1 |
Серверы виртуализации Node | 3 |
Контроллер SpaceVM 2 | 1 |
Серверы виртуализации Node | 2 |
При наличии комбинированной схемы (аналогично рис. 4, несколько объединенных сетевой связанностью контроллеров с серверами виртуализации, для которых используется механизм репликации) на каждый управляющий контроллер с ролью master или alone должна использоваться своя уникальная лицензия. На контроллерах с ролью slave должна использоваться та же лицензия, которая используется на связанном репликацией контроллере с ролью master.
Внимание!
При репликации необходимо учитывать пропускную способность, скорость и задержки канала
Лицензия | Количество |
---|---|
Контроллер SpaceVM | 1 |
Серверы виртуализации Node | 4 |
Теги
Описание
-
Раздел Теги предназначен для централизованного управления метками (тегами), которые можно применять практически ко всем объектам системы. Теги, созданные в системе управления для объекта системы, будут отображены в данном разделе. Также созданные в данном разделе теги станут доступными для установки на практически всех объектах системы.
-
Теги используются для назначения связей между объектами системы. Например, ВМ, отмеченная тегом node, при срабатывании ВД будет перезапущена на том сервере кластера с ВД, который имеет такой же тег. Теги не являются обязательными к применению, они формируют магнетизм между объектами кластера. Таким образом, если ни один сервер кластера не имеет тегов, то при переносе ВМ приоритетов не будет, но может сработать тег, назначенный виртуальному коммутатору. При этом наличие тегов на объектах кластера при работе механизмов ВД и DRS является блокирующим.
Создание
-
Создание нового тега производится с помощью кнопки Создать и заполнения следующих полей:
-
название тега;
-
цвет тега из открывающейся палитры. При выборе цвета необходимо подтвердить изменения, нажав кнопку Select, либо выйти без сохранения изменений, нажав кнопку Cancel.
-
-
После заполнения полей необходимо подтвердить операцию, нажав кнопку OK.
-
Также существует возможность обновления названия и цвета.
Назначение
-
При назначении тега ВМ, если она является шаблоном и имеет тонкие клоны, то тег назначается и к ним.
-
При назначении тега Пулу ресурсов тег назначается ко всем его ВМ.
-
При назначении тега Блочному хранилищу тег назначается ко всем его LUN.
-
При назначении тега Организации тег назначается ко всем её пользователям и пулам ресурсов.
-
Максимальное количество тегов на сущность - 200.
Отмена
-
При отмене тега ВМ, если она является шаблоном и имеет тонкие клоны, то тег отменится и от них.
-
При отмене тега Пула ресурсов тег отменится от всех его ВМ.
-
При отмене тега Блочного хранилища тег отменится от всех его LUN.
-
При отмене тега Организации тег отменится от всех его пользователей и пулов ресурсов.
Сообщения оператору
-
Сообщения оператору, выдаваемые на экран во время настройки и выполнения программы в виде всплывающих сообщений, информируют о задачах, выполнение которых было прервано.
-
Список задач и событий в системе регистрируются в журналах системы управления. Подробнее работа с журналами описана в подразделе Журнал данного руководства.
Пределы
Контроллер
Параметр | Предел |
---|---|
ВМ на контроллер | 35000 |
Включенных ВМ на контроллер | 30000 |
Других контроллеров на контроллер | 15 |
slave контроллеров | 1 |
Кластер
Параметр | Предел |
---|---|
Узлов на кластер | 96 |
Узлов с кластерным транспортом gfs2 на кластер | 32 |
ВМ на кластер | 10000 |
Включенных ВМ на кластер | 8000 |
Вычислительный узел
Параметр | Предел/Значение |
---|---|
ВМ на узел | 1024 |
Физических интерфейсов на узел | 98 |
Физических интерфейсов в составе агрегированного интерфейса | 48 |
Объем гипервизора | 50МБ |
Поддержка сетевых карт со скоростью передачи данных | 40Гбит/сек |
Поддержка серверов с количеством логических процессоров | 768 (x86_64) |
Максимум виртуальных процессоров на узел (переподписка 4:1) | 3056 |
Рекомендуемая переподписка vCPU к CPU | 4 к 1 |
Поддержка серверов с количеством RAM | 24TiB (теоретически до 128 TiB) |
Максимум блочных сетевых хранилищ (target) на узел | 1280 |
Максимум блочных устройств (LUN, device) на узел | 1280 |
Максимум путей до LUN (path) на узел | 10000 |
Виртуальная машина
Параметр | Предел |
---|---|
Максимум интерфейсов на ВМ | 10 |
Максимум LUN на ВМ | 384 |
Максимум дисков на ВМ | 384 |
Максимум процессоров на ВМ | 255 |
Минимальный размер слота памяти на ВМ | 256 МБ |
Максимальный размер слота памяти на ВМ | Размер памяти сервера |
Максимум слотов памяти на ВМ | 16 |
Максимум видеопамяти на ВМ | 512 МБ |
Минимальный размер памяти на ВМ | 50 МБ |
Хранилища
Параметр | Предел |
---|---|
Максимальный размер виртуального диска | 64 TiB |
Поддержка томов системы хранения | 360TiB |
Максимум виртуальных дисков на lvm/thinlvm пул данных | 255 |
Интерфейс
Параметр | Предел |
---|---|
Количество одновременных сессий | 100 |
Теги
Параметр | Предел |
---|---|
Максимальное количество тегов на сущность | 200 |
Перечень принятых сокращений
Сокращение | Описание |
---|---|
БД | база данных |
ВД | высокая доступность |
ВК | виртуальный коммутатор |
ВМ | виртуальная машина |
ЛВС | локальная вычислительная сеть |
МК | менеджер конфигурации |
МСЭ | межсетевой экран |
НЖМД | накопитель на жёстком магнитном диске |
ОЕ | организованная единица |
ОС | операционная система |
ПО | программное обеспечение |
СХД | система хранения данных |
ТОС | технологическая операционная система |
ПЭВМ | персональная электронно-вычислительная машина |
ФС | файловая система |
ЦОД | центр обработки данных |
ЦСХД | централизованная система хранения данных |
AD | Active Directory (активный каталог) |
API | Application Programming Interface (программный интерфейс приложения) |
ВМС | Baseboard Management Controller (модуль, обеспечивающий управление сервером по IPMI) |
CLI | Command Line Interface (интерфейс командной строки) |
CPU | Central Processing Unit (центральное процeссорное устрoйство) |
DNS | Domain Name System (система доменных имён) |
DRS | динамическое управление ресурсами |
ECP | Enterprise Cloud Platform (облачная платформа корпоративного уровня) |
FC | Fiber Channel (оптическая сеть блочного доступа) |
IPMI | Intelligent Platform Management Interface (независимый от ОС интерфейс управления сервером) |
LDAP | Lightweight Directory Access Protocol (облегчённый протокол доступа к каталогам) |
MS AD | Microsoft Active Directory (служба каталогов, разработанная Microsoft для доменных сетей Windows) |
OID | Object Identifier (идентификатор объекта) |
RAM | Random Access Memory (оперативная память) |
SNMP | Simple Network Management Protocol (простой протокол сетевого управления) |
Ended: Рук-во оператора
REST API ↵
REST API документация
SpaceVM предоставляет JSON REST интерфейс, к которому можно обращаться напрямую.
Ресурсо-ориентированный подход
В API используется ресурсо-ориентированный подход. Ниже описаны принципы, которые действуют для всех API SpaceVM:
- В качестве ресурсов в API выступают виртуальные машины, диски, образы и т. д. Каждый ресурс имеет уникальный идентификатор. Идентификаторы генерируются на стороне сервиса и представляют собой строку, состоящую из символов латинского алфавита и цифр. Идентификаторы необходимо передавать в запросах к API при обращении к ресурсам.
В REST для каждого ресурса определен свой уникальный URL, который формируется по схеме:
http(s)://<адрес контроллера>/<категория ресурса>/<идентификатор ресурса>
Пример запроса узла
GET http://<адрес контроллера>/api/nodes/cdf10fc6-57f8-436c-a031-78ba3ba1ae40
Как видно из примера, URL ресурсов идентифицируется связкой "категория ресурса и идентификатор ресурса".
Набор методов REST
GET
Пример запроса узлов
GET http(s)://<адрес контроллера>/api/nodes/
PUT
Пример изменения статуса сервиса ballooning узла
PUT http(s)://<адрес контроллера>/api/nodes/94450c3e-b452-46b0-af4a-f688c726f054/ballooning/
{
"ballooning": true
}
POST
Пример выключения ВМ
POST http(s)://<адрес контроллера>/api/domains/f348f0d8-e26a-4063-8019-6929b51ca57d/shutdown/
{
"force": true
}
Пример запросов через curl к API
Сначала необходимо получить ключ интеграции.
Get new VM id
VM_ID=$(curl -s -f -S -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
http://${VEIL_ADDRESS}/api/domains/?name=${VM_NAME} | jq -r .results[].id)
Clone VM from template
TASK_ID=$(curl -s -f -S -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"node\\":\\"${VEIL_NODE_ID}\\", \\"verbose_name\\":\\"${VM_NAME}\\", \\"datapool\\":\\"${VEIL_DATAPOOL_ID}\\"}" \
http://${VEIL_ADDRESS}/api/domains/${TEMPLATE_ID}/clone/?async=1 | jq -r ._task.id)
Waiting for VM creation
until [ "$TASK_STATUS" == "SUCCESS" ]
do
sleep 10
TASK_STATUS=$(curl -s -f -S -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
http://${VEIL_ADDRESS}/api/tasks/${TASK_ID}/ | jq -r .status)
TASK_PROGRESS=$(curl -s -f -S -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
http://${VEIL_ADDRESS}/api/tasks/${TASK_ID}/ | jq -r .progress)
echo "Task status is: $TASK_STATUS, progress: $TASK_PROGRESS %"
done
Convert template to VM
curl -s -f -S -XPUT -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"template\\":\\"false\\"}" \
http://${VEIL_ADDRESS}/api/domains/${VM_ID}/template/
Add authorized key
curl -s -f -S -XPOST -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"create_user\\":false, \\"ssh_user\\":\\"${VM_USERNAME}\\", \\"ssh_key\\":\\"${PUBLIC_KEY}\\"}" \
http://${VEIL_ADDRESS}/api/domains/${VM_ID}/ssh-inject/
Start VM
curl -s -f -S -XPOST -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
http://${VEIL_ADDRESS}/api/domains/${VM_ID}/start/
Get VM ip address
VM_IP=$(curl -s -f -S -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
http://${VEIL_ADDRESS}/api/domains/?name=${VM_NAME} | jq -r .results[].guest_utils.ipv4[0])
Backup VM
TASK_ID=$(curl -s -f -S -XPOST -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"domain\\":\\"$VM_ID\\", \\"datapool\\":\\"${VEIL_DATAPOOL_ID}\\", \\"compress\\":true, \\"limit_days\\":1}" \
http://${VEIL_ADDRESS}/api/domains/backup/?async=1 | jq -r ._task.id)
Remove VM
curl -s -f -S -H "Content-Type: application/json" \
-H "Authorization: jwt ${TOKEN}" \
-d "{\\"full\\":\\"true\\"}" \
http://${VEIL_ADDRESS}/api/domains/${VM_ID}/remove/
Пагинация
Некоторые методы API поддерживают пагинацию. Пагинация — это свойство, при котором сервер возвращает не все результаты сразу, а частями, по страницам. В основном пагинация используется для метода получения списков сущностей.
Чтобы получить нужную страницу с результатами, в запросе следует передать параметры:
-
limit - количество результатов на странице. Доступные значения: от 0 до 100. Значение по умолчанию: 100.
-
offset - сдвиг результатов относительно 0. Доступные значения: от 0 до общего количества элементов.
Пример запроса 100 событий со сдвигом 200
GET http(s)://<адрес контроллера>/api/events/?limit=100&offset=200
Обработка ошибок
Если операция завершилась успешно, сервер возвращает клиенту статус OK. Если в ходе выполнения операции возникла ошибка, сервер возвращает сообщение с описанием ошибки.
Список возможных ошибок
HTTP-код | Описание ошибки |
---|---|
400 | Клиент некорректно указал параметры запроса. |
401 | Нет прав или ошибка аутентификации. |
403 | Нет прав или ошибка аутентификации. |
404 | Запрашиваемый ресурс не найден. |
405 | Метод не разрешен |
500 | Ошибка сервера при обработке запроса. |
503 | Недоступность SMTP сервера. |
Описание отчетов об ошибках
Структура отчетов всех ошибок представляет собой JSON с двумя фиксированными (code, msg_key) и одним динамическим ключами.
code - используется для автоматической обработки ошибок и представляет собой номер или 'invalid', если не задан.
msg_key - содержит имя динамического ключа ошибки. Используется для прямого доступа к сообщению ошибки.
Динамические ключи указывают на тип ошибки и содержат читаемое сообщение от системы. На основе динамических ключей ошибки делятся на три категории:
-
различные общие ошибки, возникающие во время работы системы (detail);
-
ошибки данных, введенных пользователем в форму, но не относящиеся к определенным полям (non_field_errors);
-
ошибки данных, введенных пользователем в поля форм (ключом является имя поля).
Сообщения ошибок первой категории (1) отображаются в верхнем правом углу главного окна интерфейса. Пример структуры (ключ detail):
{
"errors": [
{
"detail": "Запрашиваемое количество процессоров (2) для виртуальной машины должно быть меньше или равно максимальному количеству процессоров (1).",
"code": "invalid"
"msg_key": "detail",
}
]
}
Сообщения ошибок второй категории (2) отображаются в нижней части окна формы, в котором были введены неверные данные. Пример структуры (ключ non_field_errors):
{
"errors": [
{
"non_field_errors": "Тип пула данных Базовый локальный пул данных узла 192.168.20.120 (fb283687-555e-411b-aa74-a5edd1930c48) должен быть одним из следующих: lvm, thin_lvm, shared_lvm."
"code": "invalid"
"msg_key": "non_field_errors"
}
]
}
Сообщения ошибок третьей категории (3) отображаются непосредственно под полем, в котором были введены неверные данные. Пример (ключ username):
{
"errors": [
{
"username": "Это поле обязательно.",
"code": "required",
"msg_key": "username"
}
]
}
Работа с операциями
Все операции, изменяющие состояние ресурса, имеют асинхронную сигнатуру (добавляется ?async=1
в конце запроса).
При вызове таких операций сервер возвращает объект data_with_entity или объект data_without_entity.
Используйте эти объекты, чтобы отслеживать статус операций.
Многие операции поддерживают механизм идемпотентности. Это означает, что при многократном вызове одной и той же операции сервер выполнит эту операцию один раз. Ниже в разделе Идемпотентность показано, как работает механизм идемпотентности, а также приведены примеры его использования.
Объекты ответы от задач data_with_entity и data_without_entity
Каждая операция, которая запускает задачу (просмотр осуществляется в журнале задач), приводит к созданию объекта Задачи. Этот объект содержит информацию об операции: статус, идентификатор, время вызова и т. д.
data_with_entity - словарь с ключом _task, где значением является объект задачи, и ключом _entity, где значением является объект сущности.
data_without_entity - словарь с ключом _task и значением объекта задачи.
Идемпотентность
Space VM поддерживает механизм идемпотентности. Идемпотентная операция — это операция, которая при многократном вызове возвращает один и тот же результат.
По умолчанию некоторые операции в API не являются идемпотентными. Например, операции,
которые изменяют состояние ресурсов. Для обеспечения их идемпотентности в теле запросов
необходимо передавать ключ idempotency_key
. В теле следует указать uuid-строку —
ее необходимо сформировать самостоятельно. У каждой операции должен быть свой uuid.
Примечание
Обратите внимание, что следует использовать UUID версии 4.
Когда сервис получит запрос с ключом idempotency_key
в теле, он проверит,
была ли ранее создана задача с таким uuid. Если операция была создана,
сервер вернет объект data_with_entity или data_without_entity с текущим статусом этой операции.
Если операции с таким uuid не найдено, сервис начнет ее выполнение.
Примеры
На примерах ниже показано, как использовать механизм идемпотентности при работе с API SpaceVM.
Пример запуска ВМ
Например, вы отправили запрос на запуск виртуальной машины:
POST http(s)://<адрес контроллера>/api/domains/f348f0d8-e26a-4063-8019-6929b51ca57d/start/
{
"force": true,
"idempotency_key": "c1700de3-b8cb-4d8a-9990-e4ebf052e9aa"
}
Если снова отправить этот запрос c тем же idempotency_key
, сервер не будет
выполнять повторный запуск машины. Вместо этого сервер вернет объект ВМ.
Пример гонки
Данный пример демонстрирует ситуацию, в которой возникает состояние гонки.
Пусть с одного клиента был отправлен запрос на остановку запущенной виртуальной машины.
Ключ idempotency_key
при этом не указан.
Предположим, что при отправке запроса произошел сбой в соединении, и клиент не получил ответ от сервера. Виртуальная машина была остановлена, но так как ответ не был получен, клиент не будет знать статуса операции.
В это время другой клиент заново запускает эту виртуальную машину (например, через Web-интерфейс).
Но когда у первого клиента появится доступ к интернету, он повторно отправит запрос на остановку машины.
Так как ключ idempotency_key
не используется, виртуальная машина, которая необходима
второму клиенту, будет остановлена.
Если бы в запросах на остановку машины первый клиент передавал idempotency_key
, то при
повторной отправке запроса виртуальная машина не была бы остановлена.
Swagger
Swagger.yaml доступен по url http://{controller or node ip}/api/schema/
.
Swagger-ui доступен по url http://{controller or node ip}/api/schema/swagger-ui/
.
Swagger-redoc доступен по url http://{controller or node ip}/api/schema/redoc/
.
Описание API контроллера
Описание API узла
Вебсокеты
Описание
В приложение добавлены механизмы нотификации об изменениях через websocket.
WS-сервер работает в режиме read-only, т.е. только для получения нотификаций, изменение состояния через websocket невозможно.
Подключение:
URL для соединения:
ws://<controller_ip>/ws/?token=<jwt token>
Пример URL для соединения:
ws://<controller_ip>/ws/?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJlbWFpbCI6ImFkbWluQGxvY2FsaG9zdCIsInVzZXJuYW1lIjoiYWRtaW4iLCJleHAiOjE1MTY3MDM3OTl9.daJM1j3bmV6fZ7plq_jYGayIsy9KyZo3gM7pcYteNuw
Возможные ошибки подключения: "jwt token must be send as query param" - проверьте, что передан jwt токен и формат URL правильный.
Структура
Типы сообщений сервера: От ws-сервера может быть получено два типа сообщений: data и control. Сообщения имеют разную структуру.
Структура control сообщения:
{
"resource": "/domains/", // ресурс, к которому имеет отношение это сообщение
"close": false, // если close true, то соединение, через которое получено такое сообщение не может быть больше использовано клиентом, сервер закрывает соединение.
"error": false, // является ли сообщение ошибкой
"msg_type": "control", // тип сообщения, может быть data или control
"msg": "add" // текст сообщения
}
Структура data сообщения:
{
"resource": "/domains/", // ресурс к которому имеет отношение это сообщение
"event": "UPDATED", // тип изменения ресурса, может быть CREATED, UPDATED, DELETED
"msg_type": "data", // тип сообщения, может быть data или control
"id": "252abe60-d266-4d3c-9f00-4d6d1e14b77f", // id ресурса, например задачи или домена
"object": { ... } // сериализованный ресурс, набор полей соответствует GET запросу на данный тип ресурса, сообщения с типом "event": "DELETED" всегда содержат {} в поле object
}
Управление подпиской
После открытия соединения с ws-сервером, клиент не будет получать никакой информации. Сначала необходимо оформить подписки. Перечень подписок можно изменять на протяжении всего времени жизни ws-соединения. Существует два вида подписок: list и entity. Подписка list позволяет подписаться на получения изменения всех сущностей определенного типа, подписка типа entity позволяет получать обновления статуса конкретной сущности.
Добавить list подписку:
add /domains/
Ответ:
{
"resource": "/domains/",
"close": false,
"error": false,
"msg_type": "control",
"msg": "add"
}
list нотификация:
{
"resource": "/domains/",
"event": "UPDATED",
"msg_type": "data",
"id": "252abe60-d266-4d3c-9f00-4d6d1e14b77f",
"object": { ... }
}
Добавить entity подписку:
add /domains/252abe60-d266-4d3c-9f00-4d6d1e14b77f/
Ответ:
{
"resource": "/domains/252abe60-d266-4d3c-9f00-4d6d1e14b77f/",
"close": false,
"error": false,
"msg_type": "control",
"msg": "add"
}
entity нотификация:
{
"resource": "/domains/252abe60-d266-4d3c-9f00-4d6d1e14b77f/",
"event": "UPDATED",
"msg_type": "data",
"id": "252abe60-d266-4d3c-9f00-4d6d1e14b77f",
"object": { ... }
}
Типы подписок
Подписки на list и entity абсолютно независимы. В рамках одного соединения может быть оформлена подписка на /domains/ и /domains/252abe60-d266-4d3c-9f00-4d6d1e14b77f/, тогда при изменении состояния домена с id 252abe60-d266-4d3c-9f00-4d6d1e14b77f будет получена как list, так и entity нотификация.
Удаление подписки
Удалить list подписку:
delete /domains/
Ответ:
{
"resource": "/domains/",
"close": false,
"error": false,
"msg_type": "control",
"msg": "delete"
}
Удалить entity подписку:
delete /domains/252abe60-d266-4d3c-9f00-4d6d1e14b77f/
Ответ:
{
"resource": "/domains/252abe60-d266-4d3c-9f00-4d6d1e14b77f/",
"close": false,
"error": false,
"msg_type": "control",
"msg": "delete"
}
Ошибки
Ошибка подписки 1:
{
"resource": "add foo/bar",
"close": false,
"error": true,
"msg_type": "control",
"msg": "bad request format"
}
Ошибка подписки 2:
{
"resource": "/domains/",
"close": false,
"error": true,
"msg_type": "control",
"msg": "bad permissions"
}
Ошибки токена: Любая ошибка валидации токена приведет к закрытию ws-соединения со стороны сервера.
{
"resource": "",
"close": true, // любая ошибка токена приведет к закрытию соединения сервером
"error": true,
"msg_type": "control",
"msg": "token error: Error decoding signature." // или другое сообщение в формате token error: ...
}
Ограничения
На текущий момент в сервисе явно заданы следующие ограничения:
MAX_CONNECTIONS_PER_USER = 50 - максимальное число ws-соединений под учетной записью одного пользователя.
MAX_ID_SUBSCRIPTION_COUNT = 500 - максимальное число entity подписок на одно соединение.
Проверка статуса сервера через ws-соединение
- Клинт отправляет текстовое сообщение "ping". Если сервер и сеть работают в штатном режиме, то клиент получит ответ "pong".
- Сервер сам отправляет сообщение с периодом в 90с подключенным клиентам. Данный тип проверки связи по-умолчанию выключен. Настройка WEBSOCKETS_HEARTBIT. Пример сообщения:
{
"resource": "",
"close": false,
"error": false,
"msg_type": "ping",
"msg": "ping"
}
Ended: REST API
CLI ↵
Аннотация
Набор команд
Список команд может незначительно отличаться в зависимости от версии пакета CLI.
Справка
Чтобы вызвать справку для какой-либо команды, укажите флаги --help или -h или ?.
Автодополнение
Для использования автоматического дополнения команд необходимо использовать на клавиатуре клавишу Tab.
Несколько команд подряд
Для выполнения нескольких команд подряд можно использовать как разделитель ;;. Например,
version ;; node list
.
Терминальный мультиплексор TMUX
Окна, панели, сессии, клавиатурные сокращения, мышь и буфер обмена
Отключение/включение CLI
spacevm 192.168.11.105 # cli enable
Successfully enable CLI.
spacevm 192.168.11.105 # cli disable
Successfully disable CLI.
Примеры команд
Пример команд без аргументов:
spacevm 192.168.11.105 # net show ip
Current management interface configuration:
Mode : static
IP-address : 192.168.11.115
Netmask : 255.255.240.0
MAC-address: 00:26:58:04:68:74
spacevm 192.168.11.105 # services list
SERVICE NAME STATUS
controller-engine running
controller-db running
controller-web-api running
controller-web-proxy running
controller-web-uploader running
loki running
controller-websocket running
prometheus running
nginx running
node-engine running
node-statistics running
snmp stopped
multipathd running
redis running
Пример команд с аргументами:
services restart controller-web-api
spacevm 192.168.11.105 # system swappiness set 13
sysctl configuration successfully saved.
Аварийный режим SpaceVM
Аварийный режим - режим, который используется для восстановления системы и исправлений последствий непредвиденных сбоев. В Аварийном режиме становятся доступны некоторые отладочные функции, недоступные в обычном режиме.
Внимание
Стоит с особой осторожностью использовать Аварийный режим.
Для того чтобы перейти в Аварийный режим необходимо в CLI узла или контроллера выполнить команду shell
.
Чтобы выйти из Аварийного режима, необходимо выполнить команду exit
или нажать сочетание клавиш Ctrl+D
.
При необходимости входа в аварийный режим в Special Edition администратору безопасности платформы
необходимо узнать id узла, где будем входить в shell (через веб или в кли командой node id
), отправить его технической
поддержке, она в ответе вышлет хэш, который и надо ввести для доступа.
Работа с CLI узлов с контроллера
После добавления узлов к контроллеру есть возможность запускать команды на них, не подключаясь к ним напрямую с вводом пароля, а из CLI контроллера, так как он владеет ключами доступа по SSH для всех своих узлов. Ниже приведен список наиболее полезных используемых команд.
node list
- Отображает список узлов.
node ssh
- Подключение с контроллера через ssh к узлу.
node cli [node_ip] '[cli_cmd]'
- Подключение с контроллера к узлу и запуск команды CLI. Команды
интерактивные, то есть можно, например, запустить node cli [node_ip] top
и
просматривать вывод.
node nodes-cli '[cli_cmd]'
- Подключение с контроллера ко всем активным узлам и запуск
команды CLI.
node restart-supervisors
- Перезапуск супервизоров активных узлов.
node repo-sync
- Синхронизация репозиториев между контроллером и узлами.
node sync
- Синхронизация node and cli env and app между контроллером и узлами.
Список стандартных команд Linux, доступных из CLI
Команда | Доступные ключи | Описание |
---|---|---|
apt-key | Все | apt-key |
arc_summary | Все | arc_summary |
arcstat | Все | arcstat |
arp | Все | arp |
auditctl | Все | auditctl |
aureport | Все | aureport |
ausearch | Все | ausearch |
cat | Все | cat |
corosync-cfgtool | -R, -s | Проверка статуса кворума узлов |
corosync-quorumtool | Все | Проверка статуса кворума узлов |
date | Все | Информация о системном времени и дате |
df | Все | Использование места на дисках |
dkms | status, autoinstall | DKMS tree status view and autoinstall |
dlm_tool | Все | Проверка статуса распределенного менеджера блокировок |
dmesg | Все | Просмотр событий |
dmidecode | Все | Просмотр dmidecode |
docker | Все | docker |
dpkg | --configure, -a, -l | Конфигурация и устранение проблем с пакетами |
drweb-ctl | Все | Локальное управление drweb |
du | Все | Использование места на дисках |
e2fsck | Все | Проверка и починка файловых систем ext2/ext3/ext4 |
ethtool | Все | ethtool |
fcoeadm | Все | FCoE adm |
find | find | |
free | Все | Использование оперативной памяти |
fsck | Все | Проверка и починка файловых систем |
gfs2_edit | Все | Добавление журналов к gfs2 |
gfs2_fsck | Все | Проверка и починка файловой системы gfs2 |
gfs2_jadd | Все | Добавление журналов к gfs2 |
gluster | Все | Управление glusterfs |
grep | Все | grep |
guestfish | Все | guestfish |
hostname | -s, -a, -y, -i, -I, -d, -f | Вывод имени сервера |
hwclock | Все | Утилита управления аппаратным временем |
id | Все | id |
ifconfig | Все | Настройки сетевых интерфейсов |
iostat | Все | Использование операций ввода-вывода |
ip | a, ad, add, addr, addre, address, route, r, l, link | Настройки сетевой подсистемы (расширенные) |
ipmi-sensors | Все | Сбор показаний датчиков аппаратной платформы |
ipmitool | Все | Настройки ВМС аппаратной платформы |
journalctl | Все | journalctl |
kesl-control | Все | kesl-control |
last | Все | Вывод списка последних входящих пользователей |
less | Все | less |
lsblk | Все | Информация о подключенных блочных устройствах |
lscpu | Все | Информация о процессорах системы |
lshw | Все | Информация об оборудовании сервера |
lsmod | Все | Информация об загруженных модулях сервера |
lspci | Все | Информация о PCI-устройствах системы |
lsscsi | Все | Информация о SCSI-устройствах или узлах |
lsusb | Все | Информация о подключенных USB-устройствах |
lvs | Все | Информация о логических устройствах |
mcli | Все | mcli |
md5sum | Все | md5sum |
modprobe | Все | modprobe |
more | Все | more |
mount | Все | Информация о примонтированных хранилищах |
mpstat | Все | Информация о загрузке CPU |
multipath | Все | Информация о сетевых блочных устройствах (iSCSI, FC) |
ncdu | Все | ncdu |
nethogs | Все | Просмотр сетевого трафика |
netstat | Все | Информация о портах/сокетах |
nmon | Все | nmon |
numactl | Все | Информация окружения NUMA |
numastat | Все | Информация окружения NUMA |
nvidia-smi | vgpu, -q, vgpu -q | Конфигурация видеокарт Nvidia |
nvme | Все | nvme |
o2cb | Все | Статус и контроль стэка кластера файловой системы OCFS2 |
o2cluster | Все | Вывод и обновление стэка кластеров файловой системы OCFS2 |
ovftool | Все | ovftool |
ovs-vsctl | Все | ovs-vsctl |
ps | -A, --forest | Информация о запущенных процессах |
pvs | Все | Информация о физических устройствах |
rescan-scsi-bus.sh | Все | rescan-scsi-bus.sh |
sensors | Все | sensors |
smbclient | Все | smbclient |
snmpstatus | Все | Запрос SNMP статистики |
snmptable | Все | Возвращает SNMP таблицу |
snmpwalk | Все | Возвращает дерево значения, используя SNMP GETNEXT запросы |
swapon | -s, --show | Включить устройства и файлы для подкачки |
tail | Все | tail |
tcpdump | Все | tcpdump |
test | Все | test |
timedatectl | Все | Управление системным временем и датой |
top | Все | Информация о запущенных процессах |
tunegfs2 | Все | Модификация gfs2 |
tzselect | Все | Просмотр и управление временных зон |
ulimit | Все | see user limits |
uname | Все | Информация о системе |
uptime | Все | uptime |
vgcfgrestore | Все | vgcfgrestore |
vgs | Все | Информация о группах томов |
virt-host-validate | Все | Проверка установки виртуализации узла |
vmstat | Все | Статистика использования виртуальной памяти |
zdb | Все | Информация о состоянии zfs |
zfs | Все | Информация о состоянии zfs |
zpool | Все | Информация о состоянии zfs |
Дерево команд
Примечание по дереву команд
Ниже представлено дерево команд. Фактически пользователь использует команды нижних уровней, но команды верхних уровней описаны, так как у них можно посмотреть help.
Команды (for support)
Команды с пометкой (for support) необходимы в основном для команд тех.поддержки и разработки, в связи с чем могут быть не полностью документированы.
- help - Помощь по доступным в CLI командам.
- api - Команды работы из CLI с контроллером через REST API.
- backup - Команды управления резервными копиями настроек контроллера.
- cluster - Команды работы с кластером.
- cli - Подключение к узлам кластера и запуск команды cli.
- list - Отображает список кластеров.
- nodes_list - Отображает список узлов кластера.
- controller - Управление настроками, репликацией, базой данных контроллера.
- add - Добавить контроллер для репликации.
- backup-journal - Архивация журналов контроллера.
- backupdb-create - Создание резервной копии базы данных контроллера (в /var/log/veil/controller/db_backup).
- backupdb-list - Проверка наличия бэкапов базы данных контроллера (из /var/log/veil/controller/db_backup/).
- backupdb-restore - Восстановление базы данных контроллера (из /var/log/veil/controller/db_backup).
- cancel-all-tasks - Отмена всех задач контроллера в прогрессе.
- changepassword - Смена пароля базовой учетной записи admin.
- check-remote-access - Проверка файлов редиректа spice для ВМ с таким же портом, удаление их и перезагрузка nginx.
- check-tasks - Проверка всех задач контроллера.
- clearsessions - clearsessions базы данных (for support).
- collectstatic - collectstatic базы данных (for support).
- compilemessages - compile messages базы данных (for support).
- create-superuser - создание суперпользователя базы данных (for support).
- db-autovacuum-stats - autovacuum stats базы данных (for support).
- db-check - Проверка целостности базы данных контроллера.
- db-get-size - Получение размеров таблиц базы данных (for support).
- db-migrate13 - Процедура миграция Postgres Sql с 11 на 13 версию
- db-password - Смена пароля базы данных.
- db-stats - Статистика базы данных контроллера
- db-vacuum - vacuum базы данных (for support).
- debug - Debug режим контроллера.
- del - Удалить контроллер из репликации.
- generate-system-token - Обновление системного jwt токена.
- luns - Отображает LUNs в базе данных контроллера.
- macs - Отображает имена и мак адреса всех интерфейсов в базе данных контроллера.
- makemigrations - make migrations базы данных (for support).
- migrate - Применение новых миграций базы данных (for support).
- nginx-https - Перенаправление http на https.
- os-templates-edit - Изменение файла шаблонов ОС.
- redis-password - Смена пароля Redis.
- reload-node-streams - Переподключение к сервиса контроллера к grpc стримам узлов (for support).
- reload-queues - Делает запрос на переподключение к очередям (for support).
- repair-hosts - Проверка соответствия файла hosts таблице внутренних интерфейсов базы данных.
- role - Смена роли контроллера.
- showmigrations - show migrations базы данных (for support).
- ssh - Подключение через ssh к резервному или основному контроллеру.
- status - Статус репликации.
- test - test django on controller.
- log - Команды вывода журналов.
- audit - Чтение журналов аудита (/var/log/audit/audit.log*).
- auth - Чтение журналов авторизаций (/var/log/auth.log*).
- autotest - Чтение журналов системы автотестирования (/var/log/veil/puppet.log*).
- clear - Очистка файлов журналов.
- cli - Чтение журналов CLI (/var/log/veil/cli/cli.log*).
- cli-stdout - Чтение stdout cli (/tmp/cli-stdout.txt).
- consul - Чтение журналов сервиса consul (/var/log/consul/consul*.log).
- controller - Чтение журналов супервизора контроллера (controller-engine) (/var/log/veil/controller/controller.log*).
- controller-async - Чтение журналов асинхронных Web-сервисов контроллера (controller-web-proxy, controller-web-uploader) (/var/log/veil/controller/veil_async.log*).
- controller-web - Чтение журналов Web-интерфейса контроллера (controller-web-api) (/var/log/veil/controller/django.log*).
- controller-ws - Чтение журналов сервиса вебсокетов контроллера (controller-websocket) (/var/log/veil/controller/websockify.log*).
- corosync - Чтение журналов сервиса corosync (/var/log/corosync/corosync.log*).
- daphne-acc - Чтение журнала сервера Daphne (daphne-django.service) (/var/log/veil/daphne_access.log*).
- daphne-err - Чтение журнала ошибок сервера Daphne (daphne-django.service) (/var/log/veil/daphne_error.log*).
- dlm-controld - Чтение журналов сервиса dlm_controld (/var/log/dlm_controld/dlm_controld.log*).
- first-boot - Чтение журналов скрипта послеустановочной инициализации (/var/log/veil/first_boot.log).
- first-tests - Вывод списка файлов автотестов после установки (for support).
- gluster - Чтение журналов сервиса gluster (/var/log/glusterfs/**/*.log).
- installer - Чтение журнала syslog установщика системы (/var/log/installer/syslog).
- kernel - Чтение журналов kernel (/var/log/kern.log*).
- linstor-controller - Чтение журналов сервиса linstor-controller (/var/log/linstor-controller/*.log).
- linstor-satellite - Чтение журналов сервиса linstor-satellite (/var/log/linstor-satellite/*.log).
- net-init - Чтение журналов скрипта установочной сетевой инициализации (/var/log/veil/auto_configure_nic.log).
- nginx-acc - Чтение журналов сервиса nginx (/var/log/nginx/*.acc).
- nginx-err - Чтение журналов сервиса nginx (/var/log/nginx/*.err).
- nginx-log - Чтение журналов сервиса nginx (/var/log/nginx/*.log).
- node - Чтение журналов супервизора узла (node-engine) (/var/log/veil/node/node.log*).
- node-async - Чтение журналов асинхронных Web-сервисов узла (node-web-proxy, node-web-uploader) (/var/log/veil/node/veil_async.log*).
- node-web - Чтение журналов Web-интерфейса узла (node-web-api) (/var/log/veil/node/django.log*).
- node-ws - Чтение журналов сервиса вебсокетов узла (node-websocket) (/var/log/veil/node/websockify.log*).
- numad - Чтение журналов сервиса numad (/var/log/numad.log*).
- openvswitch - Чтение журналов сервиса openvswitch (/var/log/openvswitch/**/*.log).
- pgbouncer - Чтение журналов сервиса pgbouncer (/var/log/postgresql/pgbouncer.log*).
- postgresql - Чтение журналов сервиса postgresql (/var/log/postgresql/postgresql-13-main.log*).
- reboot - Чтение журналов перезагрузок и выключений узла.
- redis - Чтение журналов сервиса redis (/var/log/redis/redis-server.log*).
- remove-archives - Рекурсивное удаление всех архивов журналов из /var/log/ /var/mail /var/log/td-agent.
- rotate - Запуск ротирования журналов.
- syslog - Чтение syslog.
- memory - Управление памятью.
- cache-bench - Explore the impact of virtual memory settings on caching efficiency on Linux systems under memory pressure.
- drop-caches - Сброс кэша оперативной памяти. Запускайте команду, если вы точно понимаете, зачем она.
- min-free-kbytes - Управление настройками min_free_kbytes.
- nr-hugepages - Управление настройками nr_hugepages.
- swappiness - Управление настройками swappiness.
- vfscachepressure - Управление настройками vfs_cache_pressure.
- net - Настройка сетевой подсистемы узла.
- conf - Команды конфигурации сетевой подсистемы узла.
- bonds - Команды конфигурации агрегированных интерфейсов сетевой подсистемы узла.
- debug - Управление verbose режимом сервиса networking.
- dns - Команды конфигурации dns сетевой подсистемы узла.
- flush - Сброс настроек DNS.
- set-dhcp - Настройка DNS dhcp.
- set-static - Настройка статики DNS.
- ip - Команды конфигурации адресации сетевой подсистемы узла.
- renew-lease - Запрос продления аренды адреса интерфейса управления.
- set-dhcp - Задание динамического адреса интерфейса управления
- set-static - Задание статического адреса интерфейса управления.
- ports - Команды конфигурации портов сетевой подсистемы узла.
- blink - Моргание физических интерфейсов.
- offloads - Настройка аппаратной разгрузки на физическом интерфейсе.
- release - Сброс настройки сетевых портов.
- set-default-bond - Установка агрегированного интерфейса.
- set-default-port - Установка базового физического интерфейса.
- set-down - Отключение порта.
- set-mtu - Установка mtu физического интерфейса.
- set-promisc - Управление неразборчивым режимом портов.
- set-up - Включение физического порта.
- remote - Удалённая установка сетевых настроек узла.
- routing - Команды конфигурации маршрутизации сетевой подсистемы узла.
- add-static - Добавляет маршрут.
- default - Настройка базового маршрута.
- del-static - Удаление маршрута.
- flush - Сброс таблицы маршрутизации.
- update - Обновление таблицы маршрутизации.
- vlan - Команды конфигурации vlan сетевой подсистемы узла.
- vswitches - Управление виртуальными коммутаторами.
- flush - Сброс настроек виртуального коммутатора.
- set-arp-timeout - Установка времени жизни ARP записей в коммутаторе.
- set-hwaddr - Установка MAC - адреса на коммутатор.
- set-mtu - Установка mtu на коммутатор.
- discovery - Выводит общую информацию о текущих настройках сети управления.
- fcoe - Включение/выключение FCoE на указанном адаптере.
- firewall - Управление сервисом межсетевого экрана.
- delete-saved-rules - Удаление сохраненных правил пограничного брандмауэра.
- edit-saved-rules - Редактировать сохраненные правила брандмауэра.
- get-check-flag - Получение флага проверки состояния брандмауэра
- restart - Перезапуск межсетевого экрана.
- restore-rules - Восстановление правил межсетевого экрана.
- save-rules - Сохранение правил пограничного брандмауера
- set-check-flag - Установка флага проверки состояния брандмауэра
- show-saved-rules - Показать список сохраненных правил брандмауэра.
- start - Команда запуска межсетевого экрана.
- status - Показывает статус службы межсетевого экрана.
- stop - Команда остановки межсетевого экрана.
- flush - Сброс существующей сетевой конфигурации.
- hosts - Управление /etc/hosts.
- info - Выводит общую информацию о текущих настройках сети управления.
- init - Ручная инициализация сети узла.
- lldp - Команды управление сервисом LLDP.
- mtu-finder - Поиск оптимального мту для интерфейса.
- show - Информацию о текущих настройках сетевой подсистемы.
- bonds - Информация по агрегированным интерфейсам.
- dns - Информация по настройкам DNS.
- ip - Информация по настройкам IP-адреса интерфейса управления.
- lldp - Информация о демоне LLDP.
- lports - Информация о сетевых логических портах.
- offloads - Информация об аппаратной разгрузке на физических интерфейсах.
- ports - Информация о сетевых портах.
- routing - Информация по настройкам маршрутизации.
- vlan - Информация по настройкам VLAN интерфейса управления.
- vnetworks - Информация о конфигурации существующих виртуальных сетей.
- vswitches - Информация о виртуальных коммутаторах.
- tools - Команды сетевых инструментов
- ovs-trace - Генератор пакетов и его трассировка
- conf - Команды конфигурации сетевой подсистемы узла.
- node - Команды работы с узлами.
- changepassword - Смена пароля базовой учетной записи admin.
- cli - Подключение к узлу и запуск команды cli.
- collectstatic - collectstatic данных узла (for support).
- config - Отображает конфигурацию узла.
- config-edit - Изменение файла конфигурации узла.
- controller-ip - Отображает адрес контроллера.
- controller-status - Отображает статус связи с контроллером.
- copy - Копирование файлов с контроллера через ssh на все узлы.
- create-superuser - создание суперпользователя базы данных (for support).
- db-check - Проверка целостности базы данных узла.
- db-migrate13 - Процедура миграция Postgres Sql с 11 на 13 версию
- db-password - Смена пароля базы данных.
- db-stats - Статистика базы данных узла
- debug - Debug режим узла.
- id - Отображает uuid узла.
- list - Отображает список узлов.
- lvm-discovery - Включение/отключение сканирования lvm супервизором узла.
- makemigrations - make migrations базы данных узла (for support).
- mdev-devices - Получение всех mediated устройств узла.
- migrate - Миграция базы данных узла (for support).
- multipath-sync - Синхронизация файла конфига multipath между контроллером и узлами.
- nodes-cli - Подключение ко всем узлам и запуск команды cli.
- quorum-master - Отображает статус мастера кворума.
- redis-password - Смена пароля Redis.
- reload-queues - Делает запрос на переподключение к очередям контроллера (for support).
- repair-ssh - fix ssh controller keys on node.
- repo-sync - Синхронизация репозиториев между контроллером и узлами.
- restart-supervisors - Перезапуск супервизоров всех узлов (node-engine).
- set-hostname - Установка hostname узла.
- showmigrations - show migrations базы данных узла (for support).
- ssh - Подключение через ssh к узлу.
- start-supervisors - Старт супервизоров всех узлов (node-engine).
- status - Операции со статусом узла.
- stop-supervisors - Останов супервизоров всех узлов (node-engine).
- sync - Синхронизация node and cli env and app между контроллером и узлами (for support).
- task - Задачи узла (активные и в кэше).
- test - test django on node.
- upgrade-start - Подключение к узлу и запуск команды upgrade start.
- web - node web commands.
- quorum - Команды работы с кворумом.
- bootstrap-acl - Генерирует новый токен для консула.
- config - Отображает конфигурацию кластера.
- events - Отображение событий, связанных с задачами, требующими отдельного внимания.
- master - Отображает статус мастера кворума.
- members - Отображает статус кластера.
- status - Отображает статус кластера.
- tasks - Отображение задач, требующих отдельного внимания.
- test - Запуск тестов.
- services - Сервисы системы управления.
- ssh - Управление доступом по SSH.
- disable - Ограничивает возможность новых подключений к узлу по SSH. Текущие SSH сессии продолжат работу, но при переподключении доступ будет ограничен.
- enable - Включает доступ к узлу по SSH для всех разблокированных пользователей.
- session - Управление сессиями по SSH.
- client-alive-count-max - Команда просмотра и изменения количества периодов до отключения неактивного пользователя. Для изменения параметра ввести значение в диапазоне от 0 до 10. Для просмотра текущего значения выполнить без значения.
- client-alive-interval - Команда просмотра и изменения количества времени (секунды), по истечению которого неактивный пользователь будет отключен. Для изменения параметра ввести значение в диапазоне от 0 до 7200. Для просмотра текущего значения выполнить без значения.
- list - Вывод активных сессий.
- maxauthtries - Команда просмотра и изменения количества неудачных попыток подключения. Для изменения параметра ввести значение в диапазоне от 0 до 10. Для просмотра текущего значения выполнить без значения.
- maxlogins - Команда просмотра и изменения количества одновременных подключений каждого пользователя. Для изменения параметра ввести значение в диапазоне от 1 до 10. Для просмотра текущего значения выполнить без значения.
- maxsessions - Команда просмотра и изменения количество мультиплексированных сеансов ssh в течение одного сеанса ssh. Для изменения параметра ввести значение в диапазоне от 1 до 30. Для просмотра текущего значения выполнить без значения.
- maxsyslogins - Команда просмотра и изменения общего количества одновременных подключений. Для изменения параметра ввести значение в диапазоне от 1 до 30. Для просмотра текущего значения выполнить без значения.
- status - Отображает статус SSH доступа на узле.
- user - Управление SSH пользователями.
- add - Добавляет пользователя в операционную систему узла, которому может быть открыт SSH доступ.
- change-password - Изменяет пароль SSH пользователя узла.
- list - Отображает список пользователей SSH системы узла. Заблокированный пользователь будет иметь соответствующую метку.
- lock - Блокирование пользователей SSH на узле. Заблокированные подключенные пользователи смогут продолжить работу, но при переподключении доступ будет ограничен.
- remove - Удаляет SSH пользователя из системы узла.
- unlock - Разблокирование пользователей SSH на узле.
- storage - Команды для работы с хранилищами.
- check-gfs2-perf - Проверка производительности gfs2 LUN.
- clear-iscsiadm-base - Удаление активных iSCSI подключений (for support).
- cluster-storages-status - Сканирование статусов кластерных хранилищ.
- corosync-conf - Вывод файла конфигурации corosync (for support).
- corosync-key - Вывод или пересоздание ключа конфигурации corosync (for support).
- datapools-paths - Вывод текущих путей до всех пулов данных.
- discovery - Сканирование доступных FC и iSCSI блочных хранилищ.
- discovery-shared-storage - Сканирование доступных файловых хранилищ.
- dlm-conf - Вывод файла конфигурации dlm (for support).
- fc-luns - Вывод доступных FC LUNs.
- fc-wwns - Вывод доступных wwn FC хранилищ.
- fio-test - Тест через fio.
- fstab - Вывод fstab (/etc/fstab).
- gfs2 - Вывод статуса кластерного хранилища gfs2 (corosync, dlm, mountpoints).
- gluster - Вывод статуса gluster.
- hba-npiv - Вывод доступных hba (NPIV subsystem).
- initiator-name - Вывод InitiatorName.
- iscsi-configs - Вывод доступных iSCSI configs (for support).
- iscsi-connect - Подключение ISCSI.
- iscsi-disconnect - Отключение ISCSI.
- iscsi-discovery - Получение таргетов ISCSI.
- iscsi-luns - Вывод доступных iSCSI LUNs.
- iscsi-queue-depth - Вывод iscsi queue_depth.
- iscsidconf-edit - Изменение файла конфигурации iscsid.
- linstor - Вывод статуса linstor.
- local-wwns - Вывод локальных FC wwn.
- luns - Вывод всех доступных FC and iSCSI LUNs.
- modify-initiator-name - Изменение InitiatorName.
- modify-multipath-path-grouping-policy - Изменение multipath path_grouping_policy.
- modify-multipath-path-selector - Изменение multipath path_selector.
- multipath - Вывод полной конфигурации multipath.
- multipath-conf - Вывод файла конфигурации multipath.
- multipath-conf-set-default - Сброс файла конфигурации multipath до базового.
- multipath-edit - Изменение файла конфигурации multipath.
- nfs-server - Команды останова и запуска nfs-server.
- ocfs2 - Вывод статуса ocfs2.
- pool-create - Создания пула (NPIV subsystem).
- pool-destroy - Удаление пула (NPIV subsystem).
- pools - Вывод доступных pools (NPIV subsystem).
- remove-fstab - Удаление записи из fstab (for support).
- rescan-scsi-bus - Сканирование шины scsi.
- rescan-vhba - Сканирование NPIV LUNs (NPIV subsystem).
- scsi-host-discovery - Сканирование scsi hosts.
- shared-storages - Сканирование доступных файловых хранилищ.
- vols - Вывод доступных vols (NPIV subsystem).
- zfs - Сканирование zfs.
- system - Управление системными ресурсами.
- autotest - Автотестирование системы.
- cmdline - Команда просмотра и модификации параметров загрузки ядра Linux.
- crontab - Вывод настроек cron.
- dmidecode - Вывод DMI записей из SMBIOS.
- dynmotd - Динамическое сообщение дня (dynmotd).
- hypervisor-size - Вывод размера гипервизора.
- iac - Управление IaC данными в формате YAML.
- info - Информация о базовой системе сервера.
- init - start system init (for support).
- kaspersky - Команды работы с Kaspersky Endpoint Security.
- language - Команды просмотра и установки системного языка cli.
- libvirt-set-unlimited - Set max core unlimited and restarted libvirtd.
- license - Вывод информации о текущем лицензионном ключе.
- maxpatrol - Интеграция с Maxpatrol
- nested - Управление вложенной виртуализацией.
- nginx - Управление nginx api proxy_read_timeout.
- oem - Управление OEM.
- expand - Расширяет раздел логов или локального хранилища.
- info - Информация о разделах логов и локального хранилища и свободном месте для перемещения/расширения их.
- move - Перемещает раздел логов или локального хранилища на свободное блочное устройство.
- reduce - Отключение свободных (не занятых к.-л.LV) PV от системных VG.
- pci - Управление настройками IOMMU.
- port_used - port_is_used.
- repo - Управление источниками приложений.
- role - Смена роли сервера.
- snmp_conf - Конфигурация snmp.
- snmp_mibs - Конфигурация snmp mibs.
- statistics - Информация о сборе статистики серверов.
- swap - Команда работы с разделами подкачки
- token - Вывод настроек системного REST API токена.
- vulnerability - Проверка уязвимостей процессора системы.
- watchdog - Команды работы с watchdog.
- upgrade - Обновление ПО.
- aptautoremove - Автоматическое удаление ненужных пакетов.
- cache - Проверяет наличие обновлений в apt cache.
- check - Проверка наличия обновлений.
- download - Загружает обновления в apt кэш.
- local - Используется, если нет возможности получить доступ к источнику обновлений. Используется механизм «apt-offline»
- log - Просмотр результатов установки обновлений.
- proxy - Управление обновлением узлов через контроллер.
- release - Установка релизного обновления.
- removelock - Удаление файла блокировки обновления.
- start - Установка обновлений.
- vm - Команды управления виртуальными машинами.
- capabilities - Вывод возможностей гипервизора.
- configuration - Получение конфигурации ВМ.
- console - Подключение к консоли ВМ.
- full-list - Вывод списка виртуальных машин на всех узлах (с контроллера).
- guest-ad - Информация о вхождении ВМ в AD.
- guest-add-to-ad - Добавление ВМ в AD.
- guest-fs-info - Информация о файловой системе ВМ.
- guest-get-devices - Информация о устройствах ВМ.
- guest-get-disks - Информация о дисках ВМ.
- guest-get-interfaces - Информация об интерфейсах ВМ.
- guest-info - Информация о гостевом агенте ВМ.
- guest-os-info - Информация об операционной системе ВМ.
- guest-rm-from-ad - Удаление ВМ из AD.
- hostname - hostname ВМ.
- info - info ВМ.
- interfaces - Сетевые интерфейсы ВМ.
- list - Вывод списка виртуальных машин.
- log - Журналы ВМ.
- memory-params - Статистика памяти ВМ.
- memory-stats - Статистика памяти ВМ.
- metadata - metadata ВМ.
- reboot - Перезагрузка работы ВМ.
- remove - Удаление ВМ при отсутствии контроллера.
- reset - Принудительная перезагрузка работы ВМ.
- resume - Продолжение работы ВМ.
- schedinfo - Информация планировщика процессора ВМ.
- shutdown - Выключение ВМ.
- start - Запуск ВМ.
- suspend - Приостановка ВМ.
- upload-xml - Выгрузка xml ВМ в файл на базовый пул данных.
- wakeup - Пробуждение ВМ.
- xml - xml ВМ.
- aide - Система обнаружения проникновения.
- backup-os - Команда создания резервных копий операционной системы сервера.
- boot-protect - Команды управления парольной защитой загрузчика узла
- cli - Управление cli.
- cmd - Команды узла (for support).
- dumphelp - Автогенерация документации по командам CLI (for support).
- find-deleted - Поиск и опциональная обрезка до нулевого размера удалённых, но занятых процессами, поэтому занимающих место, файлов в хранилищах узла.
- grafana - Команды останова и запуска Grafana.
- hosts - Команда вывода файла /etc/hosts
- install - Устанавливает пакеты из репозитория.
- install-deb - Устанавливает deb пакеты с USB накопителя или пула данных.
- install-rpm - Устанавливает rpm пакеты с USB накопителя.
- install-run - Запускает .run файлы из датапулов, имеющихся на узле.
- ipmi - Получает текущий ipmi ip.
- limits - Системные ограничения процессора и памяти.
- loki - Команды управления Loki.
- ntp - Команды работы с ntp.
- nvidia - Команды управления Nvidia GRID.
- ping - Пинг целевого хоста.
- poweroff - Выключение узла.
- rdma - Команды для работы с rdma.
- reboot - Перезагрузка узла.
- stats - Статистика очередей beanstalk.
- status - Просмотр последнего состояния сбора информации супервизора узла.
- upload-file - Команды загрузки файлов в локальный пул данных.
- upload-guest-utils - Команды загрузки образа с агентом в локальный пул данных.
- upload-iso - Команды загрузки образов в локальный пул данных.
- version - Возвращает информацию о версиях установленного ПО.
- vsftpd - Команды останова и запуска vsftpd.
- wipefs - Команда удаляет файловые системы с выбранных накопителей. При вызове без параметров отображается интерактивный браузер для выбора дисков.
Инструкция по настройке агрегированных интерфейсов в CLI
Предупреждение
Данная инструкция предназначена для выполнения прямого подключения к серверу через ipmi, так как в ходе настройки может прерваться сетевой доступ к нему.
-
Шаг первый. Создаем агрегированный интерфейс, указываем его поведение и интерфейсы, которые мы хотим агрегировать.
Настраиваемые переменные:
- $1 = название агрегированного интерфейса - $2 = первый интерфейс агрегации - $3 = второй интерфейс агрегации.
net conf ports set-default-bond -n $1 -i $2 $3 -m balance-tcp -l passive -t fast -f true
-
Шаг второй. Указываем, какие VLAN пропускаются через новый агрегированный интерфейс.
Настраиваемые переменные:
- $1 = название агрегированного интерфейса - $2 = список тегов VLAN, которые нужно пропустить через этот интерфейс
net conf vlan set -i $1 -m trunk -u $2
-
Шаг третий. Меняем VLAN тег основного интерфейса veil-mgmt на тот, в котором он находится (функция опциональна и применяется при наличии VLAN).
Настраиваемые переменные:
- $1 = VLAN таг, в котором будет находиться основной интерфейс veil-mgmt
net conf vlan set -i veil-mgmt -m access -t $1
-
Шаг четвертый. Включаем агрегированные интерфейсы.
Настраиваемые переменные:
- $1 = номер первого агрегированного интерфейса - $2 = номер второго агрегированного интерфейса
net conf ports set-up -i $1 net conf ports set-up -i $2
-
Шаг пятый. Присваиваем статический IP-адрес настроенному интерфейсу.
Настраиваемые переменные:
- $1 = IP-адрес - $2 = маска подсети (формат 255.255.255.0) - $3 = шлюз по умолчанию
net conf ip set-static -i $1 -m $2 -g $3
Ended: CLI
Приложения ↵
Репозитории и хранилища файлов Space
FreeGRID
Данный функционал будет доступен с релиза SpaceVM 6.5.
ООО «ДАКОМ М» (торговый знак Space) является лидером российского рынка в направлении предоставления пользователям аппаратного ускорения графики в виртуальных рабочих столах (VDI) c использованием технологии Nvidia GRID.
Уровень интеграции изделий линейки Space и GPU видеокарт с технологией Nvidia GRID практически сопоставим с устоявшейся технической «связкой» VMware – Nvidia GRID.
В 2022 году компании VMware и NVIDIA остановили всю работу на территории России и прекратили продление сервисной поддержки и продажу собственной продукции.
Этот шаг и резкая санкционная политика данных компаний поставили под угрозу функционирование и развитие множества информационных систем российских предприятий использующих технологию Nvidia GRID.
Полностью нивелировать данные риски позволяет технология FreeGRID, компании ООО «ДАКОМ М», обеспечивающая работу с лицензионными продуктами NVIDIA в штатном режиме и исключающая возможную блокировку.
Технология FreeGRID
FreeGRID - инновационная технология разработки ООО «ДАКОМ М», которая позволяет нескольким виртуальным машинам совместно использовать возможности аппаратного ускорения видеокарты, производительность графического адаптера в полной мере без лицензионных ограничений.
FreeGRID дополняет основной функционал продуктов линейки Space для работы в виртуальной среде с использованием видеокарт NVIDIA. Технология FreeGRID реализована внутри программных модулей продуктов линейки Space и работает только в рамках рекомендованной инфраструктуры.
В общей устоявшейся схеме использования технической «связки» VMware и NVIDIA требуется покупка следующего стека продуктов:
- программное обеспечение VMware vSphere/VMware Horizon;
- видеокарта с поддержкой технологии NVIDIA GRID;
- пакет лицензий по количеству профилей на карту;
- пакет сервисной поддержки на 5 лет.
При этом активация лицензий на видеокарте не может проводиться с территории России. Сервисная поддержка от компаний VMware и NVIDIA так же не оказывается.
Облачная платформа SpaceVM и программный комплекс Space VDI содержат технологию FreeGRID, обеспечивающую использование видеокарт NVIDIA без использования лицензий и центров лицензирования NVIDIA. Требуется покупка только видеокарты с поддержкой Nvidia GRID.
FreeGRID позволяет обеспечивать использование технологии NVIDIA GRID как без необходимости дополнительных финансовых затрат, так и рисков ограничения масштабирования или блокировки системы из вне.
Общие принципы работы
На рисунке 2 приведен общий пример инфраструктуры виртуализации с применения видеокарт NVIDIA GRID и сторонней облачной платформы.
В качестве примера, ниже приведен перечень базовых настроек проброса видеокарты в виртуальную машину характерный для VMware ESXi 6 и Citrix XenServer 6.5.
- В сервер устанавливаются видеокарты NVIDIA с поддержкой технологии GRID.
- На сервер инсталлируется гипервизор VMware ESXi или XenServer.
- В гипервизор, устанавливается NVIDIA GPU Software. После этого в гипервизоре активируется функционал GRID.
- На гипервизоре создается виртуальная машина Windows или Linux. В свойствах виртуальной машины появляется возможность добавить один из профилей видеокарты NVIDIA.
- В гостевую операционную систему Windows или Linux необходимо установить драйвер от NVIDIA.
Для карт поколению GRID 2.0 и выше требуется настройка сервера лицензий и покупка соответствующих лицензий.
На рисунке 3 приведена схема инфраструктуры облачной платформы SpaceVM с применением видеокарт NVIDIA GRID.
Облачная платформа SpaceVM – полнофункциональный российский аналог систем серверной виртуализации иностранного производства: VMware, Microsoft и Citrix.
В основе решения SpaceVM с технологией FreeGRID лежит проприетарный отечественный сервис без использования opensource модулей. Данный контроллер, как аналог от компании VMware, обрабатывает все запросы между видеокартой и сервером лицензирования компании NVIDIA.
Ниже приведен перечень базовых настроек проброса видеокарты в виртуальную машину под управлением облачной платформы SpaceVM.
- В сервер устанавливаются видеокарты NVIDIA с поддержкой технологии GRID.
- На сервер инсталлируется облачная платформа SpaceVM.
- В облачную платформу SpaceVM, устанавливается NVIDIA GPU Software. После этого в SpaceVM активируется функционал FreeGRID.
- На гипервизоре создается виртуальная машина Windows или Linux. В свойствах виртуальной машины появляется возможность добавить один из профилей видеокарты NVIDIA.
- В гостевую операционную систему Windows или Linux необходимо установить программное обеспечение Space Agent VM.
Примечание
Для работы с технологией FreeGRID используются операционные системы семейства Windows. Поддержка операционных систем семейства Linux запланирована на 3-4 кв. 2024 г.
Для обеспечения гибкости оснащение и масштабирования существующих систем обработки данных предусмотрены три варианта использования технологии FreeGRID:
- все видеокарты имеют лицензию NVIDIA, и работают с применением центра лицензирования NVIDIA;
- часть видеокарт имеют лицензию NVIDIA, и работают с применением центра лицензирования NVIDIA, часть видеокарт не имеют лицензию, центр лицензирования для них не применяется;
- все видеокарты не имеют лицензию NVIDIA, центр лицензирования не применяется.
Решение FreeGRID апробировано на следующих моделях видеокарт:
- NVIDIA A40;
- NVIDIA А16.
С полным перечнем совместимых видеокарт с SpaceVM можно ознакомиться по ссылке.
По запросу, Вендор готов провести апробацию при условии совместной организации стенда для испытаний.
Матрица совместимости ↵
Оборудование ↵
Совместимые серверные платформы общего назначения
Приведен перечень серверных платформ общего назначения
№ п/п | Производитель | Модель | Конфигурация | Примечание |
---|---|---|---|---|
1 | Dell | PowerEdge R730 / 730xd | 2x CPU Intel® Xeon® E5-26** v4 | - |
2 | Dell | PowerEdge R740 /740xd | 2x CPU Intel® Xeon® Scalable | - |
3 | Dell | PowerEdge R750 | 2 x CPU Intel® Xeon® Gold 6354 | NVIDIA GRID A40 |
4 | Dell | PowerEdge C4140 | 2x CPU Intel® Xeon® Scalable | NVIDIA GRID P40 |
5 | Lenovo | x3650 M5 | 2x CPU Intel® Xeon® E5-26** v4 | - |
6 | Supermicro | SuperServer SYS-1028gq-trt series | 2x CPU Intel® Xeon® E5-26** v4 | NVIDIA GRID M10 /P100 |
7 | Supermicro | SuperServer SYS-1029gq-trt series | 2x CPU Intel® Xeon® Scalable | NVIDIA GRID M10 /P100 |
8 | Supermicro | SuperServer SYS-2028gq-trt series | 2x CPU Intel® Xeon® E5-26** v4 | NVIDIA GRID M10 /P100 |
9 | Supermicro | SuperServer SYS-6027R-TRT series | 2x CPU Intel® Xeon® E5-26** v2 | - |
10 | Supermicro | SuperServer SYS-6028R-TRT series | 2x CPU Intel® Xeon® E5-26** v2 | - |
11 | Supermicro | SuperServer SYS-6029R-TRT series | 2x CPU Intel® Xeon® Scalable | - |
12 | Supermicro | SuperServer SYS-6038R-TXR | 2x CPU Intel® Xeon® E5-26** v3 | - |
13 | Depo | Storm 4350 | 4x CPU Intel® Xeon® E5-46** v2 | - |
14 | Yadro | Vegman S220 | 2x CPU Intel® Xeon® Scalable | NVIDIA GRID T4 |
15 | T-Platform | E210 | 2x CPU Intel® Xeon® E5-26** v4 | - |
16 | Etegro | Hyperion RS160 G4p | 2x CPU AMD Opteron 63** | Требует отключения APIC |
17 | Huawei | RH1288 V2-85 | 2x Intel® Xeon® E5-2670 v2 | NVIDIA Tesla T4 |
18 | Aquarius | Catfish AQC624CF-1.7RC1 | Intel® Xeon® Gold 6246R 3.4Ghz | NVIDIA Tesla A100 |
19 | Graviton | Tundra | Intel® Xeon® Gold 6226R CPU @ 2.90GHz | NVIDIA Tesla V100 |
20 | OpenYard | Gigabyte R282-N81 | Intel® Xeon® Gold 6342 J150J222 | - |
21 | Yadro | YADRO X2-105 | Intel® Xeon® Scalable G2 | - |
22 | Yadro | YADRO X2-205 | Intel® Xeon® Scalable G2 | - |
23 | Yadro | YADRO X3-105 | Intel® Xeon® Scalable G3 | - |
24 | Yadro | YADRO X3-205 | Intel® Xeon® Scalable G3 | - |
25 | Yadro | VEGMAN R120 G2 | Intel® Xeon® Gold | - |
26 | Yadro | VEGMAN R220 G2 | Intel® Xeon® Gold | - |
Совместимые серверные платформы высокой плотности и блейд-системы
Ниже приведен список серверных платформ высокой плотности и блейд-систем, на которых успешно прошло тестирование Space VM на полную совместимость.
№ п/п | Производитель | Модель | Модели лезвий | Конфигурация | Примечание |
---|---|---|---|---|---|
1 | Supermicro | SuperServer TwinPro2 SYS 6028TP-HTTR | 4 независимых лезвия стандартной конфигурации | 2x CPU Intel Xeon E5-26** v4 | - |
2 | Supermicro | SuperServer TwinPro2 SYS-6029TP-HTTR | 4 независимых лезвия стандартной конфигурации | 2x CPU Intel Xeon Scalable | - |
3 | Supermicro | SuperBlade SBE-720E series, 7U, up to 12 nodes | SBI-7128R-C6(N) | 2x CPU Intel Xeon E5-26** v4 | - |
4 | Supermicro | MicroBlade MBE-314E series, Up to 12 nodes | MBI-6128R-T2X | 2x CPU Intel Xeon E5-26** v4 | - |
5 | Supermicro | Blade V5050L, Up to 10 nodes | V210S V210F V210FS | 2x CPU Intel Xeon E5-26** v3 | V210F - NVIDIA GRID M10 / P100 |
6 | HP | Proliant BL460c | Gen9 | 2xXeon E5-2670v3 | HP FlexFabric 20Gb 2-port 650FLB Adapter |
7 | HP | Proliant BL460c | Gen8 | 2xXeon E5-2670 | HP FlexFabric 10Gb 2-port 554FLB Adapter |
8 | HP | ProLiant BL460c | Gen7 | 2xXeon E5620 | QLogic QMH2562 8Gb FC HBA |
Совместимые сетевые коммутаторы
Приведен перечень сетевых коммутаторов.
№ п/п | Производитель | Модель | Конфигурация | Примечание |
---|---|---|---|---|
1 | Cisco | SG550XG-8F8T | - | - |
2 | Netgear | XS716T-100NES | - | - |
3 | D-Link | DXS-1100-10TS | - | - |
4 | D-Link | DXS-1200-12SC | - | - |
5 | D-Link | DGS-1100-18 | - | - |
6 | Булат | BS2500-48G4S | - | - |
7 | Huawei | S6270 | - | - |
8 | Русьтелетех | RTT-A311-24T-4XG | - | - |
9 | Supermicro | SBM-GEM-X3S+ | - | Для установки в шасси SBE-720 |
10 | Supermicro | SBM-XEM-X10SM | - | Для установки в шасси SBE-720 |
11 | Supermicro | MBM-XEM-002 | - | Для установки в шасси MBE-314 |
12 | Cisco | Nexus 4500 S Series | - | - |
Совместимые системы хранения данных
Приведен перечень систем хранения данных.
№ п/п | Производитель | Модель | Конфигурация |
---|---|---|---|
1 | Raidix | 4.6 + | Одноконтроллерная лицензия на 12 дисков на базе сервера общего назначения |
2 | HPE | MSA-2052 | 2х контроллерная active-active, SAS SSD, FC+iSCSI hybrid ports |
3 | Infortrend | Eonstor DS-3012U | 2х контроллерная active-active, SATA SSD, FC & iSCSI ports |
4 | HPE | StorageWorks 4/8 SAN switch | 16 active 8G ports, fabric. |
5 | Huawei | SNS-2624 | 16 active 16G ports |
6 | Huawei | SNS-2124 | 24 active 8G ports |
7 | Huawei | S5600T | - |
7 | Yadro | YADRO TATLIN.UNIFIED.SE | ссылка |
Прочее совместимое аппаратное оборудование
Приведен перечень аппаратного оборудования совместимого с SpaceVM
№ п/п | Производитель | Модель | Конфигурация | Примечание |
---|---|---|---|---|
1 | QLogic | HBA QLA24** | - | - |
2 | QLogic | HBA QLE25** | - | - |
3 | LSI | MegaRaid 9*** series | Требует отключения IOMMU | - |
4 | LSI | ServeRaid 5010 | - | Требует отключения IOMMU |
5 | Marvell | 88SE9*** | - | Требует отключения IOMMU |
6 | Marvell | 88SX6081 | - | Требует отключения VT-d/AMD-Vi (SR-IOV в DELL BIOS) |
Ended: Оборудование
Совместимые гостевые ОС
Ниже приведен список совместимых гостевых ОС, поддерживаемых SpaceVM.
Windows | Linux | Other |
---|---|---|
Microsoft MS-DOS | Core OS Linux (64-bit) | IBM OS/2 |
Microsoft Windows 3.1 | Ubuntu Linux (32-bit) | Apple Mac OS X 10.6 (32-bit) |
Microsoft Windows 95 | Ubuntu Linux (64-bit) | Apple Mac OS X 10.6 (64-bit) |
Microsoft Windows 98 | Oracle Linux 4 (32-bit) | Apple Mac OS X 10.7 (32-bit) |
Microsoft Windows NT | Oracle Linux 4 (64-bit) | Apple Mac OS X 10.7 (64-bit) |
Microsoft Windows 2000 | Oracle Linux 5 (32-bit) | Apple Mac OS X 10.8 (64-bit) |
Microsoft Windows XP Professional (32-bit) | Oracle Linux 5 (64-bit) | Apple Mac OS X 10.9 (64-bit) |
Microsoft Windows XP Professional (64-bit) | Oracle Linux 6 (32-bit) | Apple Mac OS X 10.10 (64-bit) |
Microsoft Windows Vista (32-bit) | Oracle Linux 6 (64-bit) | Apple Mac OS X 10.11 (64-bit) |
Microsoft Windows Vista (64-bit) | Oracle Linux 7 (64-bit) | Apple Mac OS X 10.12 (64-bit) |
Microsoft Windows 7 (32-bit) | Oracle Linux 8 (64-bit) | Apple Mac OS X 10.13 (64-bit) |
Microsoft Windows 7 (64-bit) | Red Hat Fedora (32-bit) | Apple Mac OS X 10.14 (64-bit) |
Microsoft Windows 8.x (32-bit) | Red Hat Fedora (64-bit) | Apple Mac OS X 10.15 (64-bit) |
Microsoft Windows 8.x (64-bit) | Debian GNU/Linux 4 (32-bit) | Apple Mac OS X 11 (64-bit) |
Microsoft Windows 10 (32-bit) | Debian GNU/Linux 4 (64-bit) | Apple Mac OS X 12 (64-bit) |
Microsoft Windows 10 (64-bit) | Debian GNU/Linux 5 (32-bit) | FreeBSD 11 (64-bit) |
Microsoft Windows 11 (64-bit) | Debian GNU/Linux 5 (64-bit) | FreeBSD 12 (64-bit) |
Microsoft Windows Server 2003 (32-bit) | Debian GNU/Linux 6 (32-bit) | FreeBSD 13 (64-bit) |
Microsoft Windows Server 2003 (64-bit) | Debian GNU/Linux 6 (64-bit) | Novell NetWare5.1 |
Microsoft Windows Server 2008 (32-bit) | Debian GNU/Linux 7 (32-bit) | Novell NetWare6.x |
Microsoft Windows Server 2008 (64-bit) | Debian GNU/Linux 7 (64-bit) | Sun Microsystems Solaris 8 |
Microsoft Windows Server 2008 R2 (64-bit) | Debian GNU/Linux 8 (32-bit) | Sun Microsystems Solaris 9 |
Microsoft Windows Server 2012 (64-bit) | Debian GNU/Linux 8 (64-bit) | Oracle Solaris 10(32-bit) |
Microsoft Windows Server 2016 (64-bit) | Debian GNU/Linux 9 (32-bit) | Oracle Solaris 10(64-bit) |
Microsoft Windows Server 2019 (64-bit) | Debian GNU/Linux 9 (64-bit) | Oracle Solaris 11(64-bit) |
Microsoft Windows Server 2022 (64-bit) | Debian GNU/Linux 10 (32-bit) | VMware Photon OS (64-bit) |
Debian GNU/Linux 10 (64-bit) | VMware ESXi 4.x | |
Debian GNU/Linux 11 (32-bit) | VMware ESXi 5.x | |
Debian GNU/Linux 11 (64-bit) | VMware ESXi 6.x | |
SpaceVM (64-bit) | VMware ESXi 7.x | |
Alt Linux 9 (64-bit) | Serenity Systems eComStation 1 | |
Alt Linux 10 (64-bit) | Serenity Systems eComStation 2 | |
AlterOS (64-bit) | SCO UnixWare 7 | |
Astra Smolensk (64-bit) | SCO OpenServer 5 | |
Astra Orel (64-bit) | SCO OpenServer 6 | |
Astra Linux SE 1.7 (64-bit) | ||
Elbrus OS 6 (64-bit) | ||
РЕД ОС (64-bit) | ||
ROSA (64-bit) | ||
CentOS 4 (32-bit) | ||
CentOS 4 (64-bit) | ||
CentOS 5 (32-bit) | ||
CentOS 5 (64-bit) | ||
CentOS 6 (32-bit) | ||
CentOS 6 (64-bit) | ||
CentOS 7 (64-bit) | ||
CentOS 8 (64-bit) | ||
CentOS Stream (64-bit) | ||
SUSE Enterprise 8 (32-bit) | ||
SUSE Enterprise 8 (64-bit) | ||
SUSE Enterprise 9 (32-bit) | ||
SUSE Enterprise 9 (64-bit) | ||
SUSE Enterprise 10 (32-bit) | ||
SUSE Enterprise 10 (64-bit) | ||
SUSE Enterprise 11 (32-bit) | ||
SUSE Enterprise 11 (64-bit) | ||
SUSE Enterprise 12 (64-bit) | ||
SUSE Enterprise 15 (64-bit) | ||
Red Hat Enterprise Linux 2.1 | ||
Red Hat Enterprise 3 (32-bit) | ||
Red Hat Enterprise 3 (64-bit) | ||
Red Hat Enterprise 4 (32-bit) | ||
Red Hat Enterprise 5 (64-bit) | ||
Red Hat Enterprise 6 (32-bit) | ||
Red Hat Enterprise 6 (64-bit) | ||
Red Hat Enterprise 7 (64-bit) | ||
Red Hat Enterprise 8 (64-bit) | ||
Red Hat Enterprise 9 (64-bit) |
Антивирусные средства ↵
Kaspersky Endpoint Security
SpaceVM имеет одностороннюю программную совместимость с антивирусным средством Kaspersky Endpoint Security.
Установка
Для установки Kaspersky Endpoint Security:
-
скопируйте deb пакет установщика на сервер SpaceVM в пул данных через Web-интерфейс;
-
зайдите в CLI сервера и запустите установщик
install-deb -r /storages/local/default/_LIBRARY/kesl_11.4.0-1096_amd64.deb
; -
осуществить перовначальную настройку
system kaspersky configure
Первоначальная настройка
Активация антивирусного средства производится при первоначальной настройке и может осуществляться с помощью кода активации или файла ключа.
Для загрузки ключа необходимо зайти в Web-интерфейс SpaceVM, выбрать доступный для сервера пул данных и загрузить туда ключ со своей локальной машины.
Далее необходимо выполнить первоначальную настройку антивирусного средства в соответствии с разделом «Подготовка программы к работе» руководства по эксплуатации антивирусного средства «Kaspersky Endpoint Security для бизнеса – Стандартный Russian Edition». В ходе эксплуатации активация нового ключа для продления лицензии на антивирусное средство выполняется с помощью «Kaspersky Endpoint Security Center».
Управление
Для управления антивирусным средством с помощью программы «Kaspersky Endpoint Security Center» необходимо установить «Агент администрирования» (аналогично установке Kaspersky Endpoint Security).
Примечание 1
Программа «Kaspersky Endpoint Security Center» функционирует на отдельной персональной электронно-вычислительной машине, находящейся в той же локальной вычислительной сети, что и изделие. Программа «Kaspersky Endpoint Security Center» устанавливается в соответствии с ее эксплуатационной документацией.
Примечание 2
В руководстве администратора на антивирусное средство «Kaspersky Endpoint Security для бизнеса – Стандартный Russian Edition» название устанавливаемого пакета может отличаться от установочного файла.
Запуск и работа
Запуск и работа антивирусного средства «Kaspersky Endpoint Security для бизнеса – Стандартный Russian Edition» выполняется в соответствии с руководством администратора на данное средство и руководством по эксплуатации «Kaspersky Endpoint Security Center».
В CLI сервера доступны команды работы с сервисом kesl system kaspersky [status|stop|start|configure]
, а также kesl-control
.
Dr.Web
SpaceVM имеет одностороннюю программную совместимость с антивирусным средством Dr.Web.
Установка
Подробная информация по установке Dr.Web содержится в документации Dr.Web в разделе Установка универсального пакета.
Для установки Dr.Web необходимо выполнить:
-
скопируйте пакет установщика формата RUN на сервер SpaceVM в пул данных через WEB, SSH или FTP;
-
зайдите в CLI сервера и запустите установщик
install-run [путь до RUN файла] \033[96m-- --\033[0m --non-interactive
; -
после успешного завершения установки удалите пакет установщика формата RUN.
Управление
Для подключения к центральному серверу управления можно загрузить на сервер SpaceVM сертификаты через
ssh или ftp и использовать drweb-ctl esconnect <server>[:port] [options]
Удаление
-
зайдите в CLI сервера, и перейдите в режим конфигурации системной оболочки выполнив следующую команду
shell
; -
запустите скрипт удаления командой:
env DRWEB_NON_INTERACTIVE=yes /opt/drweb.com/bin/uninst.sh
Ended: Антивирусные средства
Пример использования NVIDIA GRID
Список поддерживаемого оборудования в режиме vGPU
- A100
- A40
- M6, M10, M60
- P4, P6, P40, P100, P100 12GB
- T4
- V100
- RTX 6000, RTX 6000 passive, RTX 8000, RTX 8000 passive
Решение FreeGRID апробировано на моделях видеокарт:
• NVIDIA A40;
• NVIDIA А16.
При необходимости, Вендор готов провести апробацию при условии совместной организации стенда для испытаний.
A100
Архитектура параллельных вычислений позволяет существенно увеличивают вычислительную производительность благодаря использованию графических процессоров фирмы NVIDIA.
Адаптеры с архитектурой Ampere
Данные адаптеры обладают поддержкой SR-IOV.
Для возможности распределения vGPU необходимо включить поддержку данной технологии для видеоадаптеров на хосте:
1. Получить идентификатор шины, состоящий из 16 символов, командой nvidia vgpu_list
.
2. Включить поддержку командой nvidia sriov enable 0000:5E:00.0
, где 0000:5E:00.0 - идентификатор шины, сокращенный до 12 символов (убраны первые четые "0").
Важно
Поддерживаются только 64-битные гостевые ОС. Подробные примечания и сведения об актуальных версиях ПО.
Описание
Использование видеокарт NVIDIA GRID требует драйверы на узле и на ВМ, на которые распределены vGPU.
Linux драйверы
Не следует использовать драйверы, предлагающиеся пакетным менеджером ВМ!
Версионность драйверов
Драйверы для хоста и ВМ должны соответствовать по версии. Следует устанавливать драйверы для ВМ и хоста из пакета, скачанного с сайта NVIDIA https://nvid.nvidia.com/dashboard/. Следует зарегистрироваться и выбрать последние драйверы для Linux KVM. Архив содержит документацию, драйверы под Linux хост, Linux ВМ и Windows ВМ.
Пример содержания архива
архив ПО: **NVIDIA-GRID-Linux-KVM-440.43-441.66.zip**
В нём содержится:
- драйвер для хоста: **NVIDIA-Linux-x86_64-440.43-vgpu-kvm.run**
- драйвер для ВМ Windows 7, 8, Win server 2008R2, 2012R2: **441.66_grid_win7_win8_server2008R2_server2012R2_64bit_international.exe**
- драйвер для ВМ Windows 10, Win server 2016, Win server 2019: **441.66_grid_win10_server2016_server2019_64bit_international.exe**
- драйвер для Linux ВМ: **NVIDIA-Linux-x86_64-440.43-grid.run**
Установка драйвера NVIDIA GRID на узел
- Загрузить файл драйвера на узел через Web-интерфейс, ssh или ftp.
Для загрузки используя Web-интерфейс необходимо перейти в раздел Хранилища - Пулы данных, выбрать пул данных узла Файлы - Загрузить из файловой системы.
- Установить драйвера командой
install-run --nv /storages/local/default/_LIBRARY/NVIDIA-Linux-x86_64-470.63.01-vgpu-kvm.run
. - Перейти в shell.
- Выполнить команды:
modprobe -r nouveau
sh ./NVIDIA-Linux-x86_64-440.43-vgpu-kvm.run --disable-nouveau
mkdir /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-vgpu.so /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-vgxcfg.so /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-ml.so /usr/lib64
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-cfg.so /usr/lib64
DKMS
В процессе установки инсталлятор предложит установить драйверы через DKMS, следует отказаться.
- Перезагрузить узел.
Ошибка установки драйвера
"Невозможно установить nvidia.ko", сообщение об ошибке содержит 64-bit BAR/нулевой размер BAR. Для решения проблемы необходимо включить поддержку Above 4G Decoding=Enabled, на T-platform и PCI 64-Bit Resource Allocation=Enabled.
Установка драйвера NVIDIA GRID на ВМ
Общие требования:
- Модель vCPU. Необходимо установить host-passthrough.
- Совместимость версии драйверов на ВМ и на хосте.
- Установлены пакеты linux-headers, gcc, make.
sudo apt update apt install linux-headers-$(uname -r)
Следует учитывать, что ВМ с Mediated-устройствами не могут мигрировать между узлами.
Рекомендуем включить опцию для ВМ с ОС Windows Оптимизацию vgpu во вкладке Информация.
Опции для модели процессора:
<feature policy="require" name="invtsc"/>
<feature policy="disable" name="hypervisor"/>
Опции для vCPU:
Опции настройки времени:
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="no"/>
<timer name="kvmclock" present="no"/>
<timer name="hypervclock" present="no"/>
<timer name="tsc" present="yes" mode="native"/>
Linux
Установка
Рекомендуем настроить доступ по SSH на ВМ на этапе настройки.
- Установить драйвера видеоадаптера командой:
sudo sh /path/NVIDIA-Linux-x86_64-xxx.xx-grid.run
-
Указать ключ
--no-x-check
. В процессе установки ответить на вопросы:- Install NVIDIA's 32-bit compatibility libraries? - NO
- An incomplete installation of libglvnd was found.... Don't install
- Unable to determine the path to install the libglvnd EGL vendor library config files. - OK
- Would you like to run the nvidia-xconfig utility ... - Yes
-
После завершения установки перезапустить ВМ.
Более одного видеоадаптера или проблема с получением изображения после перезагрузки
Рассмотрим на примере qxl + NVIDIA
1. Вводим команду lspci
, в списке необходимо найти видеоадаптер;
2. Исправить /etc/X11/xorg.conf
в секции "Device", если PCI адрес MDEV равен 00:000a:00.0:
# необходимо перевести hex в dec!
BusID "PCI:0:10:0"
Лицензирование
При установке файл
/etc/nvidia/gridd.conf
отсутствует, в каталоге имеетсяgridd.conf.template
.
- Скопировать
gridd.conf.template
в файлgridd.conf
. - Ввести адрес и порт сервера лицензий в строки
ServerAddress=
иServerPort=
. - Перезапустить службу клиента лицензии на ВМ:
sudo systemctl restart nvidia-gridd.service
Лицензионные ограничения снимаются, если сервер доступен и имеет доступные лицензии.
Через графическое приложение NVIDIA имеется возможность управления лицензиями. Для этого необходимо повторить все действия с файлами конфигурации.
В файле gridd.conf
раскомментировать строку EnableUI=True
, после чего перезапустить службу
nvidia-gridd.service
.
Общие замечания о лицензировании
Тип лицензии, получаемой ВМ, зависит от выделенной ей конфигурации vGPU. Например, если сервер лицензий в состоянии отдать лицензию Quadro vDWS, а vGPU выделена лишь в конфигурации -xB, то лицензия будет получена на virtual PC. Если на такой лицензии сервера конфигурацию vGPU клиента -xQ, то лицензия будет выдана на Quadro vDWS. При этом в обоих случаях сервер будет рапортовать о выданных лицензиях Quadro vDWS.
Установка и настройка сервера лицензий
Документация находится на сайте NVIDIA по ссылке.
Получение бесплатной 90-дневной оценочной лицензии
Для оценки и тестирования технологии vGPU NVIDIA предлагает воспользоваться временной лицензией, которая действительна 90 дней с момента первого запуска. Для получения лицензии необходима регистрация на сайте NVIDIA по
Программное обеспечение
Рекомендуется использовать следующее программное обеспечение для разработки с поддержкой GPU:
- CUDA Toolkit - документация доступна на официальном ресурсе по ссылке.
- Deepo - документация и дистрибутив доступны на официальном ресурсе по ссылке.
- NVIDIA GRID - техническое описание доступно на официальном ресурсе по ссылке.
Проверка возможности добавления в ВМ виртуальных графических адаптеров на базе nVidia Tesla
Перед проверкой необходимо иметь: - установленную на вычислительном узле видеокарту NVIDIA GRID, подключенную к сигнальным и силовым интерфейсам согласно документации на данную карту; - установленные на данном узле драйверы к видеокарте; - образ LiveCD с ОС семейства Linux для загрузки ВМ и проверки наличия vGPU среди PCI устройств ВМ. Данный образ должен позволять запуск консоли и содержать команду lspci. В частности, подходит и обладает сравнительно малым размером образ сборки Clonezilla (https://clonezilla.org/downloads/download.php?branch=stable). Этот или любой подходящий образ следует скопировать на пул данных вычислительного узла с видеокартой NVIDIA.
Необходимо убедиться, что драйверы для видеокарты установлены и корректно опознают видеокарту. Для этого в CLI узла необходимо ввести команду nvidia status
.
Должна быть выведена таблица с параметрами имеющихся на узле адаптеров NVIDIA.
- В случае, если выводится сообщение об ошибке '''Unable to find nvidia-smi utility. Is NVIDIA driver installed?''', необходимо произвести установку драйверов видеокарты. При этом файл пакета драйвера не обязательно брать с сайта NVIDIA, возможно использовать драйвер.
- Если выводится иное сообщение об ошибке, следует проверить правильность подключения к шине PCI-E и интерфейсов питания, настроек BIOS и исправность видеокарты.
Для проверки следует создать ВМ, подключить к ней устройство vGPU, загрузить ВМ и проконтролировать наличие устройства vGPU среди PCI устройств ВМ:
- перейти в пункт меню Virtual machines, нажать кнопку Create;
- выбрать вручную узел, на котором установлена видеокарта NVIDIA GRID;
- размер ОЗУ указать примерно 1000 Мбайт для избежания проблем при запуске LiveCD;
- тип ОС выбрать Linux;
- подтип ОС выбрать согласно LiveCD или Other Linux (32/64 бит согласно разрядности ОС LiveCD);
- имя ВМ произвольно, прочие параметры оставить по умолчанию;
- создание виртуального диска пропустить;
- к виртуальному CD-ROM подключить образ нашего LiveCD;
- виртуальные интерфейсы пропустить;
- завершить шаги создания ВМ, питание ВМ не включать.
Переход в свойства созданной ВМ:
- перейти в пункт меню Mediated devices;
- нажать кнопку Attach;
- выбрать тип Mediated Device так, чтобы во второй строке формы был хотя бы один PCI контроллер с ненулевым количеством Mediated Devices такого типа;
- выбрать любой из доступных PCI контроллеров;
- установить параметры: Display = 'on', Ramfb = 'off'. Сохранить изменения кнопкой OK;
- в пункте меню ВМ Information выбрать тип видеоадаптера VGA.
Включить питание ВМ.
После включения ВМ выполнить команду nvidia status
на узле и убедиться, что её вывод содержит строку в разделе
таблицы Processes: с именем процесса, равным vgpu.
Подключиться к экрану ВМ через SPICE HTML5 клиент Space, дождаться загрузки LiveCD.
Запустить терминал в ВМ, выполнить команду lspci и убедиться, что вывод команды содержит строку с VGA адаптером NVIDIA.
Интеграция с MaxPatrol
Для работы с системой аудита информационной безопасности MaxPatrol существуют команды подготовки системного окружения.
Внимание!
Для работы команд требуется SpaceVM версии 6.2.1 и выше.
-
system maxpatrol {enable, disable, password, ssh_key}
-
system maxpatrol enable
- создание пользователя mpuser и настройка окружения. -
system maxpatrol disable
- удаление пользователя mpuser и настройка окружения. -
system maxpatrol password [ пароль или disable ]
- задание пароля "пароль".
Если указать "disable", пароль пользователя будет заблокирован. Вход с паролем становится невозможен.
system maxpatrol ssh_key [ "ключ ssh" или disable ]
- задание ключа ssh "ключ ssh".
Обязательно использовать кавычки при вводе ключа.
Если указать "disable", ключ пользователя удаляется. Вход по ключам становится невозможен.
Первичная настройка:
system maxpatrol enable
system maxpatrol ssh_key [ "ключ ssh" ]
Экосистема MIND Software
Общая информация
Решение MIND Migrate от компании MIND Software является автоматизированным инструментом для миграции (переноса) виртуальной инфраструктуры на уровне операционной системы между платформами виртуализации.
Подробная информация об экосистеме представлена на официальном сайте производителя.
Наряду с альтернативными вариантами переноса виртуальных машин имеется возможность использовать совместимое cо SpaceVM версии 6.2 и выше решение MIND Migrate версии 1.7.9 и выше.
Для осуществления переноса виртуальных машин со сторонних платформ виртуализации необходимо подготовить окружение и создать сетевую связность согласно документации MIND Migrate.
Документация для работы с MIND Migrate доступна во вкладке "Документация" в личном кабинете пользователя:
-
Руководство администратора.
-
Руководства пользователя.
-
Руководство по подготовке окружения.
-
Руководство по установке.
-
Матрица совместимости.
Подготовка окружения
Совместимые платформы виртуализации представлены в документации в личном кабинете пользователя.
Платформа виртуализации, с которой будет осуществляться перенос, называется "Источником".
Платформа виртуализации, на которую будет осуществлен перенос, называется "Приемником".
-
Убедиться, что на платформе виртуализации "Источник" на планируемых к переносу ВМ установлены ОС, присутствующие в матрице совместимости MIND Software.
-
На платформе виртуализации "Приемник" создать и настроить ВМ-приемники. Для каждой ВМ-источника соответствующая ВМ-приемник с аналогичной конфигурацией и объем оперативной памяти (для Windows - 1 Гбайт и более, для Linux - 512 Мбайт и более).
-
На каждую ВМ-приемник установить временную ОС, например, Ubuntu 20.04 LTS в минимальной конфигурации с официального образа сайта производителя.
В качестве ОС на ВМ-приемник может быть установлена:
ОС Ubuntu 20.04 LTS;
Astra 1.6/1.7;
Windows 10 или Windows 2016. -
Установить и настроить контроллер ПО "MIND Migrate" на отдельную ВМ под управлением ОС Ubuntu 20.04 LTS с официального образа сайта производителя.
Создание сетевых связностей гипервизоров
Для процесса переноса необходимо предоставить доступ по портам, приведенным в таблице.
Порт | Назначение |
---|---|
9000 | Трансляция данных от "Источника" к "Приемнику" по протоколу ТСР |
22 | Управление переносом ВМ с ОС Linux |
445 | Управление переносом ВМ с ОС Windows |
80 | Управление контроллером "MIND" ВМ и передача данных на контроллер с ВМ |
На стороне ВМ-приемников необходимо подготовить временное пространство IP-адресов. IP-адреса должны находиться в одном маршрутизируемом пространстве совместно с IP-адресами ВМ-источников и иметь сетевую связность по порту 9000.
Рекомендуемая сетевая пропускная способность - не менее 10 Гбит/с.
Перенос ВМ
Перенос выполняется в соответствии с "Руководством администратора" документации производителя на программное решение "MIND Migrate".
После завершения процесса переноса ВМ, размещенная на стороне "Приемника", является точной копией ВМ, размещенной на стороне "Источника".
Кибер Бэкап
Наряду со штатными механизмами резервного копирования ВМ в SpaceVM можно использовать полностью совместимое c SpaceVM решение Кибер Бэкап 15 от компании Киберпротект. Подробная информация о Кибер Бэкап 15 содержится в документации Киберпротект.
Кибер Бэкап 15 при использовании со SpaceVM позволяет осуществлять резервное копирование на уровне гипервизора (резервное копирование без агента внутри ВМ).
Внимание!
Для настройки интеграции необходимо: - версия SpaceVM 6.0.5 и выше; - установленное и настроенное Решение Кибер Бэкап 15 с обновления 2.7 и выше.
Чтобы создавать резервные копии всех виртуальных машин, как правило, нужно развернуть несколько агентов Кибер Бэкап 15 для SpaceVM. Это связано с тем, что агенты могут получить доступ только к пулам данных, подключенным к узлу SpaceVM, на котором развернут агент.
Если используется только локальные пулы данных, то следует развернуть по одному агенту Кибер Бэкап 15 для SpaceVM на каждом сервере.
Если используются общие пулы данных, доступные на всех серверах SpaceVM, достаточно развернуть один агент Кибер Бэкап 15 для SpaceVM.
Дополнительные агенты Кибер Бэкап 15 также могут потребоваться в ситуации, когда в системе SpaceVM имеется очень большое число виртуальных машин, и суммарное время создания резервных копий окажется слишком большим.
Внимание
Кибер Бэкап 15 при использовании с SpaceVM не позволяют осуществлять резервное копирование следующих типов виртуальных машин: - Виртуальные машины, являющиеся "тонким клоном", в которых уже после операции создания "тонкого клона" был изменен набор дисков. - Виртуальные машины со SCSI-контроллером типа lsilogic.
Если ограничения являются для пользователя критичными, рекомендуется обратиться в службу поддержки.
Процедура развертывания
Для развертывания Кибер Бэкап 15 в среде SpaceVM необходимо перейти к документации Киберпротект, пункту 3.13:
- Установить решение Кибер Бэкап 15 на виртуальную машину в SpaceVM. Подробная информация содержится в документации Киберпротект.
- Установить агенты Кибер Бэкап 15 для ПО SpaceVM в необходимом количестве на сервера SpaceVM. Подробная информация содержится в документации Киберпротект.
- План защиты ВМ развернуты на серверах SpaceVM в Кибер Бэкап 15. Подробная информация содержится в документации Киберпротект.
Код Безопасности vGate
Примечание
vGate версии 4.9 совместим со SpaceVM версии 6.2.0 и 6.2.1.
Средство защиты информации vGate R2 от компании ООО «Код Безопасности» предназначено для формирования единого контура защиты виртуализации в среде SpaceVM.
Контроль рабочего места администратора, сервера управления и хоста гипервизора обеспечивает целостную защиту приложений от атак со стороны виртуальной инфраструктуры.
Совместное применение vGate R2 (версии 4.9) и SpaceVM (версия 6.2.1) может использоваться при создании:
- автоматизированных систем до класса защищенности 1Г включительно;
- значимых объектов критической информационной инфраструктуры до 1 категории включительно;
- автоматизированных систем управления производственными и технологическими процессами до 1 класса защищенности включительно;
- государственных информационных систем до 1 класса защищенности включи-тельно;
- информационных систем персональных данных до 1 уровня защищенности включительно.
Документация для работы с vGate R2 доступна во вкладке "Документация" на официальном сайте ООО «Код Безопасности»:
- Руководство администратора. Принцип функционирования.
- Руководство администратора. Установка, настройка и эксплуатация.
- Руководство пользователя. Работа в защищенной среде.
- Руководство администратора. Быстрый старт.
- Troubleshooting. Решение типовых проблем.
Подготовка окружения
Согласно документу "Руководство администратора. Установка, настройка и эксплуатация", необходимо:
- Ознакомиться с ограничениями использования продукта vGate R2 и с системными требования в разделе "Требования к оборудованию и программному обеспечению".
- Настроить сеть администрирования согласно разделу "Правила конфигурирования локальной сети".
- Выбрать способ маршрутизации трафика согласно разделу "Настройка маршрутизации между подсетями".
- Выполнить установку сервера авторизации и средства просмотра отчетов согласно разделу "Установка и настройка сервера авторизации".
- Установить компонент "Клиент vGate" согласно разделу "Установка клиента vGate на ОС Windows" или раздел "Установка клиента vGate на ОС Linux".
- Выполнить вход и зарегистрировать имеющуюся лицензию на использование vGate.
- Настроить параметры соединения с серверами виртуализации в зависимости от конфигурации виртуальной инфраструктуры согласно разделу "Подключение к серверам".
- Добавить в список защищаемых серверов узел SpaceVM согласно разделу "Защищаемые серверы".
- Создать учетную запись пользователя и настроить разграничение доступа и метки безопасности.
-
Назначить наборы политик безопасности защищаемым объектам или группам объектов.
При необходимости подготовить резервный сервер и выполнить на нем установку ПО vGate резервного сервера авторизации.
-
Настроить "горячее" резервирование.
Ended: Матрица совместимости
Обновление компонентов инфраструктуры датацентра под управлением SpaceVM
Жизненный цикл Корпоративной облачной платформы SpaceVM предусматривает появление новых версий программного обеспечения, включающих дополнительные функциональные возможности и исправления ошибок.
Версии с дополнительными функциональными возможностями без обратной совместимости считаются мажорными версиями и обозначаются первой цифрой в номере версии, состоящей из трех цифр.
Версии с дополнительными функциональными возможностями с обратной совместимостью считаются минорными версиями и обозначаются второй цифрой в номере.
Третья цифра номера обозначает версию с внесением незначительных изменений, в основном, исправлением ошибок.
Пример
В номере 6.0.1: 6 – номер мажорной версии, 0 – номер минорной версии, 1 – версия с исправлением ошибок.
Рассмотрим сценарии обновления SpaceVM
Сценарий обновления №1
При приобретении SpaceVM вы получаете пакет технической поддержки, включающей автоматизированное предоставление обновлений минорных версий.
Основной вариант осуществляется получением пакетов обновлений контроллером SpaceVM с удалённого авторизованного сервера обновлений ООО «ДАКОМ М».
Один из интерфейсов на сервере с установленным контроллером необходимо настроить для доступа в сеть Интернет. Это может быть как отдельно настроенный интерфейс, так и интерфейс "по умолчанию" из подсети управления. Перед началом обновления рекомендуется сделать резервную копию виртуальных машин и настроек контроллера.
После запроса обновлений с Web-интерфейса, начнётся загрузка пакетов на диск сервера контроллера SpaceVM и последующая их установка. Как только установка на контроллер успешно завершится, начнётся автоматизированное обновление серверов кластера (Nodes).
Контроллер SpaceVM последовательно на каждый сервер передает и устанавливает уже загруженные пакеты с обновлениями.
Сценарий обновления №2
В случае, если сеть управления контроллера SpaceVM находится в закрытом контуре и не имеет доступа в Интернет, возможен вариант установки обновлений с локального репозитория.
Администратор с персонального компьютера должен подключиться к авторизованному серверу обновлений ООО "ДАКОМ М" и загрузить репозиторий с последними обновлениями на диск компьютера. После развёртывания локального репозитория необходимо подключить персональный компьютер в одну сеть с контроллером SpaceVM.
На контроллере SpaceVM необходимо настроить адрес локального репозитория для загрузки пакетов, после чего автоматически запустится процесс обновления идентичный сценарию 1.
Сценарий обновления №3
Мажорные версии SpaceVM предоставляются в виде дистрибутива, который можно получить на CD-диске или загрузить в личном кабинете на портале ООО "ДАКОМ М".
ВАЖНО!
Мажорные версии не обладают обратной совместимостью.
Сценарий обновления на новую мажорную версию представляет собой установку нового дистрибутива на серверы кластера. Перед установкой необходимо сохранить все пользовательские данные, конфигурации виртуальных машин и файлы настроек SpaceVM на внешнем хранилище.
Затем необходимо произвести установку программного обеспечения на серверы и провести настройку кластера под управлением новой версии SpaceVM с последующим восстановлением настроек кластера и сохраненных виртуальных машин.
Сценарий обновления №3.2
Для ускорения инсталяции новой версии SpaceVM возможно использовать сценарий автоматизированной установки программного обеспечения на серверы с использованием технологии PXE.
Для этого необходимо развернуть отдельный сервер или виртуальную машину PXE SpaceVM, с которого будет произведена автоматизированная установка на все серверы, подключенные в общую сеть. PXE SpaceVM можно получить на CD- диске или загрузить в личном кабинете на портале ООО "ДАКОМ М".
Затем аналогично сценарию №3 должна быть произведена установка программного обеспечения на серверы и настройка кластера под управлением новой версии SpaceVM, с последующим восстановлением настроек кластера и сохраненных виртуальных машин.
Работа с резервной копией ОС
Файл резервной копии содержит posix-shell скрипт распаковки, архив с конфигурационными файлами, помогающими восстановлению, а также архив со всеми файлами корневой и загрузочной файловыми системами.
Работа с резервной копией выполняется командой sh < путь до резервной копии > < опции >
.
Внимание
Работать с резервными копиями ОС SpaceVM необходимо с правами администратора root.
Опции при работе с резервной копией ОС SpaceVM
без опций
При запуске файла без опций он выведет на консоль (c) 2023 ООО "Даком М"
в первой строчке, а в остальных - описание, переданное параметром --description, или
переданное заполнением соответствующего поля в графическом интерфейсе при создании
резервной копии, например:
(c) 2023 ООО "Даком М"
before upgrade, current version 6.0.0
help
Опция help предназначена для получения справки по работе с резервной копией. Пример использования:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run help
Примерный вид справки, полученной при передаче опции help:
Usage: sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run [-v] [[list] |
[-v] [extract <dir to extract>] |
[-v] [restore <disk to restore>] |
[-v] [tar <keys tar>] |
[help]]
-v: Verbose output for debug.
list: Show list files in backup. WARNING: this output very large,
it use for 'grep' or output to file.
extract <dir to extract>: Extract files the backuped OS to a passed directory.
restore <disk to restore>: Restore OS to a passed disk.
tar <keys tar>: Use tar keys for archive with data OS from backup.
Don't need use option '-f <archive>'
help: Print this help.
Examples:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run list | grep 'etc/fstab'
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract ./123
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run restore /dev/sda
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run tar -xC ./123 'etc/fstab'
Typical restore with verbose logging:
echo 'y' | sudo sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run -v restore /dev/sda 2>&1 | sudo tee restore.log
-v
Опция -v (verbose) используется для получения детального вывода при отладке совместно с другими опциями
list
Опция list используется для получения полного списка входящих файлов в резервную копию. Пример использования:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run list | grep '/etc/passwd'
Внимание
Так как в резервную копию попадают все файлы, вывод с опцией list может быть крайне большим! Рекомендуется использовать его совместно с программой grep.
extract < целевая директория >
Опция extract служит для извлечения всех файлов, входящих в резервную копию, в заданную директорию.
Пример использования для извлечения в директорию ./123
:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract ./123
restore < диск для восстановления>
Опция restore служит для восстановления ОС SpaceVM на выбранный диск с восстановлением разметки диска.
Пример использования для восстановления на диск /dev/sda
:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run restore /dev/sda
tar < ключи > < файл >
Опция tar используется для извлечения отдельных файлов из резервной копии ОС SpaceVM.
Ключи соответствуют стандартным ключам утилиты tar.
Пример использования для извлечения файла etc/fstab
в директорию ./123
:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run tar -xC ./123 'etc/fstab'
extract_cfg < целевая директория >
Опция extract_cfg является отладочной и используется для извлечения из резервной копии конфигурационных файлов
резервной копии, необходимых для восстановления в заданную директорию.
Пример использования для извлечения в директорию ./123
:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract_cfg ./123
extract_script < целевая директория >
Опция extract_script является отладочной и используется для извлечения из резервной копии
скрипта самораспаковки в заданную директорию.
Пример использования для извлечения в директорию ./123
:
sh 192.168.122.41__8fee191e-b2b7-4bf3-be64-05b244f5a2dc.run extract_script ./123
Описание работы системы перераспределения оперативной памяти узла между собственными нуждами и виртуальными машинами (Ballooning)
Описание
Ballooning - это сервис динамического перераспределения оперативной памяти (ОП) виртуальных машин (ВМ). При условии, что ВМ не будут использовать всю выделенную им ОП одновременно, суммарный объем ОП всех запущенных ВМ может превышать объем ОП физического сервера, на котором они работают. При сильной нагрузке всех ВМ одновременно, доступная ОП сервера будет распределена между ВМ и собственными нуждами сервера. Сервис Ballooning контролирует объем ОП каждой ВМ — если ВМ не использует всю выделенную ей ОП, то она может быть использована другой, более загруженной ВМ, или для собственных нужд сервера.
Для работы сервиса в операционной системе ВМ должен быть установлен драйвер VirtiO Balloon Driver (CD guest-utils.iso /windows/virtio/virtio-win-.../Balloon/). Допускается установка драйвера, входящего в состав пакета spice-guest-tools (CD guest-utils.iso /windows/spice-guest-tools/spice-guest-tools-.../). В большинстве дистрибутивов Linux драйвер VirtiO Balloon Driver предустановлен. Если драйвер не установлен, то сервис не сможет изменять количество оперативной памяти ВМ — свободная ОП останется у ВМ до ее выключения или перезапуска.
Внимание!
Крайне не рекомендуется удалять или отключать драйвер VirtiO Balloon Driver при включенном сервисе Ballooning.
Контроль
По умолчанию сервис включен.
Для включения/отключения сервиса необходимо во вкладке Оборудование -> Память вычислительного узла переместить переключатель в нужное положение. При выключении сервиса последний сам пошагово выдаст всем ВМ забранную у них память.
Внимание!
При выключении сервиса Ballooning происходит возврат ОП к ВМ. При этом свободной ОП сервера должно быть достаточно для включенных ВМ. В противном случае сервис не выключится. Для уменьшения потребления ОП и выключения сервиса необходимо часть ВМ выключить.
Схема работы
Чтобы сервис игнорировал конкретные ВМ, необходимо перевести их в безопасный режим во вкладке Настройка безопасности.
Объем памяти ВМ не снижается ниже гарантированного (Память -> Объем гарантированной памяти).
Внимание!
Если загрузка узла достигнет аварийных уровней (Оборудование -> Пределы ресурсов), сервис начнет выключение загруженных ВМ. Эта функция работает даже при выключенном сервисе!
FTP-сервер узла для загрузки и выгрузки файлов пулов данных
-
По умолчанию FTP-сервер на каждом узле выключен.
-
На каждом сервере контроль работы FTP-сервера производится отдельно. Рекомендуется включать FTP-сервер временно для загрузки или выгрузки файлов, и потом сразу отключать.
-
Для управления FTP-сервером в CLI предусмотрены команды
vsftpd [status|stop|start]
. -
Для авторизации используется созданные SSH пользователи. Создайте как минимум одного SSH пользователя из CLI или WEB для узла и снова включите vsftpd командой
vsftpd [start]
.
Вложенная виртуализация
Вложенная виртуализация (nested virtualization) — это когда вы запускаете гипервизор, например, SpaceVM или другие, внутри виртуальной машины (которая, конечно, работает на другом гипервизоре), а не на реальном оборудовании. Другими словами, у вас есть гипервизор хоста, размещающий гостевой гипервизор (как виртуальную машину), который может размещать свои собственные виртуальные машины.
Это, очевидно, добавляет накладные расходы во вложенную среду, но в некоторых случаях это:
-
может позволить вам протестировать (или узнать), как управлять гипервизорами перед фактической реализацией, или протестировать какую-то опасную/сложную процедуру с участием гипервизоров, прежде чем делать это на физическом оборудовании;
-
позволит компаниям развернуть свою собственную среду виртуализации, например, в публичных сервисах (облаках).
Требования
Чтобы обеспечить максимально возможную производительность, близкую к собственной, любой гипервизор должен иметь доступ к некоторым (реальным) аппаратным функциям, которые обычно полезны для виртуализации, так называемым "расширениям виртуализации с аппаратной поддержкой" (см. http://en.wikipedia.org/wiki/Hardware-assisted_virtualization).
При вложенной виртуализации гостевой гипервизор также должен иметь доступ к расширениям виртуализации с аппаратной поддержкой, и это означает, что гипервизор хоста должен предоставлять эти расширения своим виртуальным машинам. В принципе, он работает и без этих расширений, но с низкой производительностью, и это не вариант для продуктивной среды (но, возможно, достаточный для некоторых тестовых случаев). Раскрытие этих расширений требуется в случае ядра процессоров Intel 3 или выше.
Вам нужно будет выделить достаточно времени процессора, оперативной памяти и дискового пространства для гостевых гипервизоров.
Управление вложенной виртуализацией
Производится в CLI командами system nested [get|enable|disable]
.
Unknown processor type
Если в выводе команды system nested get
вы видите Unknown processor type,
посмотрите вывод команды dmidecode -t 4
, и с этой информацией обратитесь в
поддержку. Вложенная виртуализация может быть включена, если во всех процессорах
узла в поле Manufacturer есть слова Intel или AMD или Advanced Micro Devices.
Установка гипервизоров на SpaceVM
-
Проверьте, что вложенная виртуализация включена на сервере согласно предыдущему пункту.
-
Создайте ВМ с процессором типа host-model или host-passthrough.
Установка SpaceVM на гипервизор
-
Проверьте, что вложенная виртуализация включена на гипервизоре.
-
Создайте ВМ с процессором с поддержкой проброса инструкций виртуализации процессора.
Резервное копирование виртуальной машины
Список основных возможностей резервного копирования виртуальных машин
- Создание резервной копии включенной ВМ.
- Создание и восстановление ВМ с сохранением дерева сохраненных состояний.
- Возможность инкремента резервной копии.
- Сжатие в формат Zstandard.
- Создание и инкремент по расписанию.
- Резервное копирование тонких клонов.
- Автоматическое удаление старых копий при создании по расписанию.
- Импорт из OVF и OVA версии 1.0.
- Просмотр конфигурации ВМ в резервной копии.
- Проверка целостности файла резервной копии.
Примечания по резервному копированию
-
Резервное копирование с mediated-устройствами необходимо выполнять на выключенных ВМ.
-
Посмотреть имеющиеся резервные копии у виртуальной машины и создать новую можно во вкладке на боковой панели Резервное копирование.
-
При создании резервной копии от включенной виртуальной машины на ней будет создано сохраненное состояние, от которого и будет создана резервная копия. По окончании создания копии, если копия без возможности инкремента, то сохраненное состояние будет удалено.
-
При создании инкрементальной резервной копии в Снимки появляется новое сохранённое состояние ВМ, и при дальнейшем инкрементировании каждый раз будет создаваться новое. При удалении хотя бы одного сохраненного состояния, все резервные копии ВМ перестают быть инкрементальными.
Внимание
Автоматически созданное сохраненное состояние может содержать снимки памяти. Снимки памяти не будут создаваться в случае выключенной ВМ, а также если используется гостевой агент, который требуется для создания консистентного снимка.
-
При создании резервной копии не будет создана копия LUN-устройства, присоединённого к ВМ. При восстановлении LUN-устройство будет присоединено, в случае если оно доступно и не занято.
-
Нельзя сделать резервную копию, если имеются диски на lvm, thinlvm, lvm-shared, также нельзя сохранить резервную копию на них. Нельзя сделать резервную копию, если имеются сохраненные состояния с дисками на пуле данных zfs, также с дисками на zfs нельзя сделать резервные копии с возможностью инкремента.
-
Резервная копия виртуальной машины является файлом. Копия, созданная штатными средствами SpaceVM, представляет собой простой tar-архив с расширением .tar или сжатый в формат Zstandard .tar.zst, в котором хранятся файлы дисков ВМ .qcow2, снимки от них .snapshot, хотя это тоже файлы формата qcow2, снимки памяти .memory, iso-образы .iso, примонтированные к cdrom, и xml-файлы конфигурации формата, используемого libvirt Domain XML. Резервная копия должна содержать минимум один конфигурационный xml-файл. В резервной копии могут содержаться несколько конфигурационных файлов вследствие инкрементирования копии, так как операция удаления файла из tar-архива очень накладна, старые версии остаются. Актуальной является последняя, содержащая большее число в префиксе в названия xml-файла, это число является unix временной меткой.
-
При открытии файла резервной копии, кроме обычных для файла кнопок (Обновить, Копировать, Скачать, Удалить), имеется кнопки:
-
Обновить информацию о резервной копии - читает файл резервной копии, что может занять длительное время, особенно, если копия сжата. Эта кнопка присутствует у загруженных файлов tar, xml, OVA и OVF. После того как файл прочитается (кроме OVF), она заменяется кнопкой Конфигурация копии ВМ. Так как OVF зависит от того, загружены в этот пул данных файлы дисков или нет, возможность обновить информацию в ручную должна сохраняться.
-
Конфигурация копии ВМ - появляется после того, как будет прочтена информация из резервной копии после нажатия Обновить информацию о резервной копии. Открывается окно с конфигурацией восстанавливаемой ВМ, без привязки к конкретному узлу.
-
Сжать или Разжать - позволяют сжать резервную копию ВМ SpaceVM в формат Zstandard или разжать. Zstandard выбран как достаточно быстрый формат сжатия.
-
-
В окне Конфигурация копии ВМ идентификаторы UUID могут отличаться от идентификаторов в восстановленной ВМ. Пути к дискам и образам предыдущие и могут изменяться в зависимости от способа восстановления, доступного места и наличия их на узле.
-
При нажатии кнопки Восстановление ВМ в окне Конфигурация копии ВМ можно выбрать сервер из списка тех, на которых доступен файл резервной копии, а также пул данных, на который будут извлечены диски и iso-образы. Если пул данных не указывать, файлы будут восстанавливаться по прежним путям, а в тех случаях, когда на пуле данных недостаточно места, будет выбираться пул данных, на котором находится файл резервной копии. Если по старому пути iso-образ уже существует, то будет использоваться уже существующий файл.
-
При восстановлении резервной копии из шаблона восстановленная ВМ тоже будет шаблоном. В резервную копию тонкого клона не входят диски шаблона, а только снимки от него, поэтому для восстановления из неё требуется существующий шаблон соответствующей версии, так как шаблон может измениться. При открытии Конфигурация копии ВМ резервной копии тонкого клона будут предупреждения о том, что шаблона нет, или он не совместим, или диски не соответствуют. Если требуется восстановить тонкие клоны, то придется удалить измененную версию шаблона вместе с дисками, восстановить из соответствующей резервной копии шаблона и после этого восстановить тонкие клоны.
-
У сторонних резервных копий формата OVA в окне Конфигурация копии ВМ помимо кнопки Восстановление ВМ имеется кнопка Конвертация, при нажатии на которую появится окно с выбором узла и пула данных, а также флагом Сжать, указывающий, что сконвертированную резервную копию нужно создать в сжатом виде формата Zstandard. По аналогии с восстановлением выбрать можно только те узлы, с которых доступен файл резервной копии. Если пул данных не указывать, то сконвертированная резервная копия создается в том же пуле, что и начальная копия. Поддерживается OVA с версией OVF 1.0.
-
У резервной копии, сконвертированной из формата OVA, путей восстановления нет, поэтому все файлы восстановятся или в указанный пул данных, или в пул данных, содержащий эту резервную копию.
-
Восстановление ВМ возможно также из файла XML-формата, поддерживаемого libvirt, а также файла OVF с версией OVF 1.0. При нажатии Восстановление ВМ у этих файлов восстановление или подключение имеющихся дисков и блочных устройств не происходит. У OVF файла помимо кнопки Восстановление ВМ имеются кнопки Восстановление с дисками и Конвертация. Операция Восстановление с дисками аналогична Восстановление ВМ из OVA, как и действие Конвертация, только файлы дисков и iso берутся из директории, в которой находится OVF файл.
-
При конвертации из формата OVA, характерного продуктам Vmware, параметры ВМ, которые не могут быть корректно интерпретированы из-за ограниченного лицензиями виртуального оборудования Vmware, будут заменены аналогом для KVM или проигнорированы.
-
После восстановления ВМ из формата OVA следует проверить её конфигурацию перед запуском. Также необходимо учитывать, что при импорте virtual appliance все скрипты из состава образа будут проигнорированы.
-
Во всех операциях, которые ведут к изменению файловой системы, нельзя выбрать пул данных только на чтение. К ним относится и outside-пул. Соответственно, если файл резервной копии находится на таком пуле данных, то выбор пула будет обязательным, и в списке доступных текущего пула данных не будет.
-
Настоятельно не рекомендуется использовать сжатие для инкрементальных резервных копий, так как при каждом инкременте резервная копия будет разжиматься и снова сжиматься. Эта процедура занимает значительное время и ресурсов, что очевидно разнится с целями инкрементального бэкапа.
-
В задачах по расписанию кроме тех опций, которые есть при создании резервной копии во вкладке Резервное копирование у виртуальной машины, есть опции по ограничению: сколько резервных копий хранить, как долго, и нужно ли удалять старые копии, чтобы освободить место на пуле данных для создания новых, а также ограничение на количество инкрементов.
-
Ограничение на количество одновременно запущенных задач - поле ограничивающее количество параллельно запущенных задач создания резервной копии, при указании "0" ограничение не действует, все задачи запускаются одновременно. Для сетевых файловых систем, рекомендуется использовать не более двух параллельных задач.
-
Ограничение на количество инкрементов перед удалением всех сохраненных состояний - поле, ограничивающее количество инкрементов. После указанного количества происходит выполнение задачи удаления всех сохраненных состояний у ВМ.
-
Включить удаление старых резервных копий, если недостаточно места - флаг, включающий освобождения места на пуле данных при создании резервной копии за счет удаления самых старых резервных копий на нём.
-
Включить удаление старых резервных копий, сохраняя не более указанного числа - позволяет указать, какое количество резервных копий хранить. При создании новой резервной копии, если копий становится больше указанного лимита, то самая старая будет удалена.
-
Включить удаление резервных копий старее указанного числа дней - позволяет задать количество дней для хранения резервной копии. При создании новой резервной копии проверяется наличие копий старее указанного периода, и все копии старее него будут удалены.
-
Подключение диска к другой ВМ для систем резервного копирования
-
Подключение реализовано для систем резервного копирования дисков, в частности, для Кибер Бэкап 15.
-
Функционал доступен только через REST API и не предполагает визуальный интерфейс.
-
Подключение реализовано с помощью создания сохраненного состояния на ВМ, диски которой будут подключаться ко второй ВМ. Все диски этой ВМ будут подключаться от одного сохраненного состояния, то есть при подключении первого диска, будет создано сохраненное состояние с именем vdisks_attached_to_another_domains, и при подключении второго диска будет использоваться то же сохраненное состояние. Это означает, что второй диск будет иметь состояние на тот же момент времени, что и первый. Сохраненное состояние vdisks_attached_to_another_domains нельзя удалить, пока имеются диски, подключенные к другой ВМ, а также нельзя создать новое сохраненное состояние, и, соответственно, выполнить операции, которые этого требуют. Кроме того, большинство операций над ВМ и её дисками будут запрещены.
-
Диски ко второй ВМ подключаются в режиме только на чтение.
-
Подключение и отключение диска ко второй ВМ осуществляется аналогичным запросом, как и в случае подключения и отключения к одной ВМ. Но есть определенные различия: при присоединении диска игнорируются переданные параметры, кроме UUID диска, и диск подключается с типом шины virtio и типом кэширования none. И так как подключается не сам диск, а сохраненное состояние диска, то для ВМ, к которой он подключается, будет подключаться объект снимка диска, а не объект оригинального диска, а в случае диска на zfs-пуле данных будет клон диска, то есть связанный объект диска, но с другим UUID. Поэтому в списке подключенных дисков у второй ВМ не найдется дисков, которые подключали. Для того чтобы отключить диск от второй ВМ, следует передать UUID оригинального диска, а не UUID объектов, к нему подключенных. Пример, пусть имеется ВМ vm1(53f2d6ce-65f7-4189-91b5-dd35b9d14ec4) с диском vm1_disk_1(55522015-292a-436b-921a-1a962e7274d9) и требуется подключить этот диск ко второй ВМ vm2(f36c8ea6-7a8d-429b-956c-5e63edeeb82a), тогда запросы подключения и отключения будут такими:
Пример присоединения диска
POST /api/domains/f36c8ea6-7a8d-429b-956c-5e63edeeb82a/attach-vdisk/ {"vdisk":"55522015-292a-436b-921a-1a962e7274d9"}
Пример отключения диска
POST /api/domains/f36c8ea6-7a8d-429b-956c-5e63edeeb82a/detach-vdisk/ {"vdisk":"55522015-292a-436b-921a-1a962e7274d9"}
Пример получения списка дисков, подключенных от других ВМ
Запрос вернет только диски, имеющие своим вторым подключением ВМ, переданным параметром another_domain. Вернутся объекты оригинальных дисков, которые можно использовать в запросе для отключения.GET /api/vdisks/?another_domain=f36c8ea6-7a8d-429b-956c-5e63edeeb82a {"count": 1, "next": null, "previous": null, "results": [ {"id": "55522015-292a-436b-921a-1a962e7274d9", "status": "ACTIVE", "verbose_name": "vm1_disk_1", "size": 0.1, "datapool": {...}, "domain": {"id": "53f2d6ce-65f7-4189-91b5-dd35b9d14ec4", "verbose_name": "vm1"}, "hints": 0, "shareable": false }]}
-
Если первая ВМ, от которой подключаем диск, является тонким клоном, то в запрос присоединения и отключения диска нужно передавать параметр thin_clone с UUID этого тонкого клона. Так как, если это диск не на zfs, то тонкий клон использует диск шаблона ВМ, но у него свое текущее состояние. Если просто передать диск, то диск будет присоединен от шаблона с его текущим состоянием. Если это диск на zfs-пуле данных, то разницы не будет, так как тонкий клон использует клон диска от диска шаблона. Запросы подключения и отключения будут такими:
!!! example "Пример присоединения диска от тонкого клона"
POST /api/domains/f36c8ea6-7a8d-429b-956c-5e63edeeb82a/attach-vdisk/ {"vdisk":"55522015-292a-436b-921a-1a962e7274d9", "thin_clone":"53f2d6ce-65f7-4189-91b5-dd35b9d14ec4"}
!!! example "Пример отключения диска тонкого клона"
POST /api/domains/f36c8ea6-7a8d-429b-956c-5e63edeeb82a/detach-vdisk/ {"vdisk":"55522015-292a-436b-921a-1a962e7274d9", "thin_clone":"53f2d6ce-65f7-4189-91b5-dd35b9d14ec4"}
-
После отключения последнего диска от других ВМ на первой ВМ сохраненное состояние с именем vdisks_attached_to_another_domains будет удалено.
-
Диск отключается от второй ВМ корректно только, когда на второй ВМ запущена ОС, или ВМ находится в выключенном состоянии, иначе с большой вероятностью произойдет ошибка с сообщением вида "Domain f36c8ea6-7a8d-429b-956c-5e63edeeb82a device did not detach."
-
Если вторая ВМ будет удалена, то присоединенные диски от другой ВМ будут отключены, и если на первой ВМ были отсоединены таким образом все диски, то сохраненное состояние vdisks_attached_to_another_domains будет удалено.
-
Если диск был на zfs-пуле данных, то присоединен ко второй ВМ будет клон диска, созданный средствами zfs, и если этот диск отсоединить, используя его UUID, а не UUID оригинального диска, то клон просто отсоединится без удаления, и сохраненное состояние vdisks_attached_to_another_domains нельзя будет удалить, пока этот клон не будет удален.
Пример создания резервных копий по расписанию
Задача. Создание резервных копий для группы ВМ. Расписание такое: бэкап делается раз в сутки в ночное время, в ночь с субботы на воскресенье делается полный бэкап, в остальные дни делается инкремент. Срок хранения файлов резервной копии 30 дней.
Порядок действий:
-
В разделе Журнал - Задачи по расписанию основного меню нажимаем Добавить, выбираем тип сущности Виртуальная машина, из следующего списка сущностей выбираем нужные ВМ, нажимаем ОК.
-
Открывается окно Создание задачи по расписанию. В поле Название напишем, к примеру,
Ежедневное резервное копирование
. -
Далее в Действие выбираем backup, в Периодичность - daily, в Дата запуска устанавливаем время на ближайшее воскресенье, к примеру, на 01:00.
-
В поле Ограничение на количество инкрементов перед удалением всех сохраненных состояний устанавливаем 7, так как у нас недельный цикл. В ночь с пятницы на субботу, после создания последнего инкремента сразу же в этой задаче произойдет удаление всех сохраненных состояний, и файл резервной копии станет не инкрементируемым. На следующий день будет выполнено полное резервное копирование с возможностью инкремента.
-
Включаем Инкрементировать последнюю резервную копию и, если требуется, включаем Выбрать пул данных, далее выбираем из доступных.
-
Выставляем ограничение по времени хранения резервной копии в днях Включить удаление резервных копий старее указанного числа дней, поле Дней для сохранения, в нашем случае задаем 30.
-
Нажимаем ОК, чтобы создать задачу.
Репликация виртуальных машин
Создание реплик виртуальной машины
Для создания репликаций ВМ требуется создать задачу по расписанию, выбирая действие replication_sync, периодичность будет отвечать за то, как часто будут синхронизироваться реплики с рабочей ВМ. Параметры:
- Количество реплик - указывает максимальное число поддерживаемых реплик. Настоящее число зависит от наличия и доступности узлов. Минимальным числом является одна реплика.
- Добавить сервера - указывает, на каких узлах можно создавать реплики ВМ. Без указания реплики будут использоваться все узлы в текущем кластере.
Примечания по поведению репликаций
-
Репликация не поддерживается при проброшенных USB.
-
Реплики реализованы с помощью копирования файлов снимков состояний ВМ, поэтому репликация поддерживается только для ВМ с дисками на пулах данных: local, nfs, glusterfs, cifs, gluster, gfs2.
-
При создании задачи по расписанию Периодичность будет отвечать за то, как часто будет происходить синхронизация. Выбирайте, исходя из нагруженности серверов и степени важности потери данных. Так как при потере ВМ именно время, когда последний раз происходила синхронизация, будет отвечать, на какой момент состояния её подменит реплика. Нормальным будет поставить минимальное время 2 минуты, но надо учитывать, если на дисках за это время изменений может быть мало, и копирование снимков практически не займет времени, то снимок памяти будет иметь размер занимаемой памяти у ВМ, и копируемый файл будет иметь соответствующий размер.
-
При первом запуске задания по расписанию будут созданы все реплики.
-
Пока рабочая ВМ находится в состоянии включено, её реплики находятся в состоянии паузы. После перевода ВМ в состояние выключено, её реплики при следующем выполнении задачи по расписанию также переводятся в состояние выключено.
-
Если реплику включить, то она перестанет быть репликой, и при следующей синхронизации будет создана новая реплика. Не включайте реплику без особой нужды, так как MAC-адреса интерфейсов на реплике соответствуют MAC-адресам на рабочей ВМ, поэтому это может сказаться на работе сети.
-
При выходе из строя ВМ (состояние Failed), при следующем выполнении задачи по расписанию одна из реплик перейдет из состояния паузы в состояние включено. Также название ВМ изменится на название предыдущей рабочей ВМ и от неё будет создана новая реплика, если имеются доступные узлы. А старая рабочая ВМ помечается на удаление, и как только её состояние перейдет в активное, при очередном выполнении задачи по расписанию она будет удалена.
-
Если некоторые реплики на момент синхронизации будут недоступны (имеют статус Failed), то они помечаются на удаление, и создаются новые, если имеются доступны узлы. При очередном выполнении задачи по расписанию реплики удаляются, если доступ к ним возобновился. Если все реплики и рабочая ВМ были недоступны, то задача по расписанию заканчивается с ошибкой.
Импорт и экспорт ВМ и виртуальных дисков ↵
Импорт и экспорт в SpaceVM
В SpaceVM реализована возможность:
-
импорта ВМ с подключенными к ней виртуальными дисками;
-
импорта виртуальных дисков;
-
экспорта ВМ с подключенными к ней виртуальными дисками;
-
экспорта виртуальных дисков.
Механизм экспорта и импорта ВМ в SpaceVM реализован с использованием файлов резервных копий ВМ.
Экспорт ВМ для использования в другом экземпляре SpaceVM
Чтобы выполнить экспорт ВМ для ее использования в другом экземпляре SpaceVM, необходимо:
1. Сделать резервную копию ВМ
Для этого в Web-интерфейсе SpaceVM необходимо перейти в раздел Виртуальные машины основного меню, выбрать целевую ВМ, в открывшемся окне перейти во вкладку Резервное копирование и нажать кнопку Создать резервную копию.
Внимание
Для предотвращения возможных ошибок, связанных с отсутствием ISO-образов дисков, при восстановлении ВМ рекомендуется исключать их из резервной копии. Также запрещено использовать инкрементные резервные копии.
2. Выгрузить файл резервной копии ВМ
Для этого в Web-интерфейсе SpaceVM необходимо перейти в раздел Виртуальные машины основного меню, выбрать целевую ВМ, в открывшемся окне перейти во вкладку Резервное копирование, выбрать нужную резервную копию и в открывшемся окне нажать кнопку Скачать.
Рекомендация
С целью контроля целостности резервной копии рекомендуется сгенерировать хеш-сумму файла резервной копии для дальнейшего использования. Для этого в окне резервной копии нажать кнопку Генерация хеш суммы файла.
Экспорт виртуальных дисков в SpaceVM
Чтобы выполнить экспорт виртуального диска для его использования в другом экземпляре SpaceVM, необходимо:
1. Выключить ВМ
Если целевой виртуальный диск подключен к включенной ВМ, то следует ее выключить.
Внимание
Выключение ВМ кнопкой Выключить питание может привести к порче или потере данных на виртуальном диске.
2. Выгрузить файл виртуального диска
Для этого в Web-интерфейсе SpaceVM необходимо перейти в раздел Виртуальные машины основного меню, выбрать целевую ВМ, в открывшемся окне перейти во вкладку Диски, или перейти в раздел Хранилища - Диски основного меню, выбрать нужный виртуальный диск и в открывшемся окне нажать кнопку Скачать.
Импорт ВМ для использования в SpaceVM
1. Загрузить файл резервной копии ВМ
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее нажать на кнопку Загрузить из файловой системы и выбрать целевой файл резервной копии ВМ, или нажать кнопку Загрузить по url и ввести ссылку на файл резервной копии ВМ. После нажать кнопку ОК.
2. Восстановить ВМ из резервной копии
Для этого в Web-интерфейсе SpaceVM необходимо:
-
перейти в раздел Хранилища - Файлы основного меню;
-
выбрать целевую резервную копию, из которой требуется восстановить ВМ;
-
в открывшемся окне нажать кнопку Конфигурация копии ВМ;
-
в окне резервной копии ВМ нажать кнопку Восстановление ВМ;
-
в открывшемся окне выбрать целевой сервер и, при необходимости, указать целевой пул данных;
-
нажать кнопку ОК.
Импорт виртуальных дисков
1. Загрузить файл виртуального диска
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее нажать на кнопку Загрузить из файловой системы и выбрать целевой виртуальный диск, или нажать кнопку Загрузить по url и ввести ссылку на файл виртуального диска. После нажать кнопку ОК.
2. Импортировать виртуальный диск
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее выбрать целевой файл виртуального диска, в открывшемся окне нажать кнопку Импортировать, при необходимости выбрать пул данных, указать имя диска и удалить файл виртуального диска после завершения процесса импортирования.
Импорт и экспорт между SpaceVM и VMware
В SpaceVM реализована возможность:
-
импорта ВМ и подключенных дисков из VMware ESXI;
-
импорта ВМ и подключенных дисков из VMware vSphere;
-
экспорта виртуальных дисков в VMware ESXI.
Импорт ВМ из VMware ESXI в SpaceVM
Чтобы выполнить импорт ВМ из VMware ESXI для ее использования в среде SpaceVM, необходимо:
1. Импортировать ВМ и подключенные диски из VMware ESXI
Импортировать ВМ и подключенные к ней виртуальные диски можно как используя Web-интерфейс VMware ESXI, так и vSphere. Подробная информация содержится в документации VMware по ссылке.
-
В Web-интерфейсе VMware ESXI перейти в окно целевой виртуальной машины, нажать кнопку Actions, в открывшемся списке нажать кнопку Export, установить "галочки" напротив полей "имя_вм".ofv и "имя_вм".vmdk.
-
В Web-интерфейсе vSphere перейти в окно целевой виртуальной машины, нажать кнопку Actions, в открывшемся списке перейти в Template, нажать кнопку Export OVF Template и нажать кнопку OK.
2. Загрузить шаблон ВМ и виртуальных дисков
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее нажать на кнопку Загрузить из файловой системы и выбрать файлы шаблона ВМ и виртуальных дисков для загрузки.
Для создания ВМ с дисками из шаблона в Web-интерфейсе SpaceVM:
-
перейти в раздел Хранилища - Файлы основного меню;
-
выбрать целевой файл шаблона ВМ;
-
в открывшемся окне нажать кнопку Обновить информацию о резервной копии;
-
нажать кнопку Конфигурация копии ВМ;
-
в открывшемся окне нажать кнопку Восстановление ВМ с дисками;
-
выбрать сервер и, при необходимости, выбрать пул данных, нажать кнопку ОК.
После завершения ВМ готова к использованию.
Внимание
Для успешного создания ВМ с виртуальными дисками файл шаблона ВМ и все файлы виртуальных дисков должны находится в одном пуле данных!
LegaciMBR/UEFI
Если ВМ при старте пишет - No bootable Device: - Проверьте Тип загрузки. Возможна ситуация, когда при импорте из VMware неверно определяется тип загрузки, то есть может выставиться LegaciMBR вместо дефолтного для VMware UEFI
INACCESSIBLE_BOOT_DEVICE
Если ВМ при старте падает в синий экран с ошибкой - INACCESSIBLE_BOOT_DEVICE: - После миграции и восстановления ВМ меняем тип шины на ide - Запускаем ВМ (система загружается) - Удаляем Vmware Tools, ставим сначала qemu-guest-agent, а затем драйвера virtio - Выключаем ВМ и меняем тип шины на iSCI (контроллер virtio-scsi) - Запускаем ВМ (система загружается)
Импорт ВМ из VMware vSphere в SpaceVM
Чтобы выполнить импорт ВМ из VMware vSphere для ее использования в среде SpaceVM, необходимо:
1. Скачать и установить на сервере с SpaceVM ovftool
Закачайте в нужный пул данных SpaceVM ovftool.
Установите ovftool через CLI команду install-run, например, install-run /storages/local/default/_LIBRARY/VMware-ovftool-4.4.0-15722219-lin.x86_64.run
2. Импортировать ВМ из VMware vSphere в SpaceVM
Импортируйте нужную ВМ через CLI команду ovftool в нужный пул данных, например, ovftool --noSSLVerify vi://developer@192.168.14.160/Datacenter/vm/CnvUbuntuClone /storages/local/default/_LIBRARY/VM.ova
Если ВМ в vSphere находится в каталоге, то ovftool создаст каталог в пуле данных SpaceVM. В этом случае стоит
перенести файлы из этого каталога в _LIBRARY каталог и удалить каталог, созданный ovftool.
Подробности команды смотрите через ovftool --help
.
Примеры команды смотрите через ovftool --help examples
.
3. Просканировать пул данных в SpaceVM
В Web-интерфейсе просканируйте пул данных, в который вы импортировали ВМ.
4. Создать ВМ с виртуальными дисками из ova
Для создания ВМ с дисками из шаблона в Web-интерфейсе SpaceVM:
-
перейти в раздел Хранилища - Файлы основного меню;
-
выбрать целевой файл шаблона ВМ;
-
в открывшемся окне нажать кнопку Обновить информацию о резервной копии;
-
нажать кнопку Конфигурация копии ВМ;
-
в открывшемся окне нажать кнопку Восстановление ВМ;
-
выбрать сервер и, при необходимости, выбрать пул данных, нажать кнопку ОК.
После завершения ВМ готова к использованию.
LegaciMBR/UEFI
Если ВМ при старте пишет - No bootable Device: - Проверьте Тип загрузки. Возможна ситуация, когда при импорте из VMware неверно определяется тип загрузки, то есть может выставиться LegaciMBR вместо дефолтного для VMware UEFI
INACCESSIBLE_BOOT_DEVICE
Если ВМ при старте падает в синий экран с ошибкой - INACCESSIBLE_BOOT_DEVICE: - После миграции и восстановления ВМ меняем тип шины на ide - Запускаем ВМ (система загружается) - Удаляем Vmware Tools, ставим сначала qemu-guest-agent, а затем драйвера virtio - Выключаем ВМ и меняем тип шины на iSCI (контроллер virtio-scsi) - Запускаем ВМ (система загружается)
Экспорт виртуальных дисков из SpaceVM в VMware ESXI
Чтобы выполнить экспорт виртуальных дисков из SpaceVM в VMware ESXI для их использования в среде VMware ESXI, необходимо:
1. Выключить ВМ
Если целевой виртуальный диск подключен к включенной ВМ, следует ее выключить.
Внимание
Выключение ВМ кнопкой Выключить питание может привести к порче или потере данных на виртуальном диске.
2. Выгрузить файл виртуального диска
Для этого в Web-интерфейсе SpaceVM необходимо перейти в раздел Виртуальные машины основного меню, выбрать целевую ВМ, в открывшемся окне перейти во вкладку Диски или перейти в раздел Хранилища - Диски основного меню, после чего выбрать нужный виртуальный диск, в открывшемся окне нажать кнопку Конвертировать, выбрать формат vmdk (ESXI) и нажать Конвертировать.
3. Загрузить файл виртуального диска в VMware ESXI
Для этого в Web-интерфейсе VMware ESXI необходимо слева в меню перейти в целевой пул данных (datapool), в открывшемся окне нажать кнопку Datastore browser, нажать кнопку Upload и выбрать файл виртуального диска.
4. Обеспечить совместимость диска с VMware ESXI
Для этого необходимо подключиться по протоколу SSH к экземпляру VMware ESXI, на который был загружен файл виртуального диска, и выполнить следующую команду:
vmkfstools -i <путь до загруженного файла диска> <путь до преобразованного диска> -d thin
Внимание
В SpaceVM по умолчанию используется тип диска - virtio, который не поддерживается в VMware ESXI.
Импорт и экспорт между SpaceVM и Hyper-V
В SpaceVM реализована возможность импорта и экспорта виртуальных дисков между SpaceVM и Hyper-V.
Импорт виртуальных дисков из Hyper-V в SpaceVM
Для импорта виртуального диска из Hyper-V в SpaceVM необходимо выполнить следующие шаги:
1. Экспортировать виртуальные диски из Hyper-V
Экспортировать виртуальные диски ВМ из Hyper-V можно используя PowerShell или диспетчер Hyper-V. Подробная информация содержится в документации Microsoft по ссылке.
-
В диспетчере Hyper-V нажать правой клавишей "мыши" на ВМ и выбрать пункт Экспорт, после чего выбрать место, куда будет сохранен файл виртуальной машины.
-
В PowerShell выполнить следующую команду:
PS C:\> Export-VM -Name Test -Path D:\
где "Test" - имя ВМ,
"D:\" - путь, куда будут размещены файлы виртуальных дисков и конфигурации.
2. Загрузить виртуальные диски в SpaceVM
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее нажать на кнопку Загрузить из файловой системы и выбрать файлы виртуальных дисков для загрузки.
3. Импортировать виртуальные диски в SpaceVM
Чтобы выполнить импорт виртуальных дисков для подключения к ВМ в Web-интерфейсе SpaceVM, необходимо:
-
перейти в раздел Хранилища - Файлы основного меню;
-
выбрать целевой файл виртуального диска;
-
в окне файла виртуального диска нажать кнопку Импортировать;
-
в открывшемся окне, при необходимости, выбрать пул данных, указать надо ли удалять файл виртуального диска после завершения импортирования и указать имя диска, после чего нажать кнопку Импортировать.
После завершения процесса импортирования виртуальный диск готов к использованию.
Экспорт виртуальных дисков из SpaceVM в Hyper-V
Чтобы выполнить экспорт виртуальных дисков из SpaceVM в Hyper-V, необходимо:
1. Выключить ВМ
Если целевой виртуальный диск подключен к включенной ВМ, то следует ее выключить.
Внимание
Выключение ВМ кнопкой Выключить питание может привести к порче или потере данных на виртуальном диске.
2. Выгрузить файл виртуального диска
Для этого в Web-интерфейсе SpaceVM необходимо перейти в раздел Виртуальные машины основного меню, выбрать целевую ВМ, в открывшемся окне перейти во вкладку Диски, или перейти в раздел Хранилища - Диски основного меню, после чего выбрать нужный виртуальный диск, в открывшемся окне нажать кнопку Конвертировать, выбрать формат vhd (HyperV) и нажать Конвертировать.
3. Загрузить файл виртуального диска в Hyper-V
Загрузить полученный файл виртуального диска в систему с гипервизором Hyper-V. После загрузки виртуальный диск готов к подключению к ВМ или к созданию ВМ с этим диском.
Внимание
В SpaceVM по умолчанию используется тип диска - virtio, который не поддерживается в Hyper-V. Так как некоторые гостевые ОС восприимчивы к изменению типа диска, то могут возникнуть проблемы в работе!
Импорт и экспорт между SpaceVM и Virtualbox
В SpaceVM реализована возможность импорта и экспорта виртуальных дисков между SpaceVM и Virtualbox.
Импорт ВМ из Virtualbox в SpaceVM
Для импорта виртуального диска из Virtualbox в SpaceVM необходимо выполнить следующие шаги:
1. Экспортировать ВМ из Virtualbox
В Virtualbox Manager нажмите правой клавишей "мыши" на ВМ и выберите пункт Экспортировать. В открывшемся окне укажите путь до места, куда будет сохранен файл шаблона ВМ и выберите тип файла ovf.
2. Загрузить ВМ в SpaceVM
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее нажать на кнопку Загрузить из файловой системы и выбрать файл ВМ для загрузки.
Для импортирования ВМ в Web-интерфейсе SpaceVM необходимо:
-
перейти в раздел Хранилища - Файлы основного меню;
-
выбрать целевой файл шаблона ВМ;
-
в открывшемся окне нажать кнопку Обновить информацию о резервной копии;
-
нажать кнопку Конфигурация копии ВМ;
-
в открывшемся окне нажать кнопку Восстановление ВМ с дисками;
-
выбрать сервер и, при необходимости, выбрать пул данных, нажать кнопку ОК.
После завершения ВМ готова к использованию.
Экспорт виртуальных дисков из SpaceVM в Virtualbox
Чтобы выполнить импорт виртуальных дисков из SpaceVM в Virtualbox:
1. Выключить ВМ
Если целевой виртуальный диск подключен к включенной ВМ, то следует ее выключить.
Внимание
Выключение ВМ кнопкой Выключить питание может привести к порче или потере данных на виртуальном диске.
2. Выгрузить файл виртуального диска
Для этого в Web-интерфейсе SpaceVM необходимо или перейти в раздел Виртуальные машины, выбрать целевую ВМ, в открывшемся окне перейти во вкладку Диски, или перейти в раздел Хранилища, далее в подраздел Диски, после чего выбрать нужный виртуальный диск, в открывшемся окне нажать кнопку Конвертировать, выбрать формат vdi (VirtualBox) и нажать конвертировать.
3. Загрузить файл виртуального диска
После загрузки на платформу виртуализации использующую Virtualbox диск готов к использованию.
Внимание
В SpaceVM используется по умолчанию тип диска - virtio, который не поддерживается в Virtualbox. Так как некоторые гостевые ОС восприимчивы к изменению типа диска, то могут возникнуть проблемы в работе!
Импорт и экспорт между SpaceVM и Qemu/KVM
В SpaceVM реализована возможность импорта и экспорта виртуальных дисков между SpaceVM и платформами виртуализации на базе QEMU/KVM.
Экспорт виртуальных дисков из SpaceVM в QEMU/KVM
Чтобы выполнить экспорт виртуального диска для его использования в системах виртуализации на основе Qemu/KVM, необходимо:
1. Выключить ВМ
Если целевой виртуальный диск подключен к включенной ВМ, то следует ее выключить.
Внимание
Выключение ВМ кнопкой Выключить питание может привести к порче или потере данных на виртуальном диске.
2. Выгрузить файл виртуального диска
Для этого в Web-интерфейсе SpaceVM необходимо перейти в раздел Виртуальные машины основного меню, выбрать целевую ВМ, в открывшемся окне перейти во вкладку Диски, или перейти в раздел Хранилища - Диски основного меню, после чего выбрать нужный виртуальный диск и в открывшемся окне нажать кнопку Скачать.
3. Загрузить файл виртуального диска на платформу виртуализации QEMU/KVM
После загрузки на платформу виртуализации на основе QEMU/KVM диск готов к использованию.
Импорт виртуальных дисков из QEMU/KVM в SpaceVM
Для импорта виртуального диска в SpaceVM из платформ виртуализации, использующих QEMU/KVM, необходимо:
1. Выгрузить файл виртуального диска с платформы QEMU/KVM
Выгрузить с платформы виртуализации на базе QEMU/KVM виртуальные диски в формате qcow2.
Внимание
В SpaceVM поддерживается работа виртуальных дисков формата qcow2.
2. Загрузить файл виртуального диска
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее нажать на кнопку Загрузить из файловой системы и выбрать целевой виртуальный диск, или нажать кнопку Загрузить по url и ввести ссылку на файл виртуального диска. После нажать кнопку ОК.
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее выбрать целевой файл виртуального диска, в открывшемся окне нажать кнопку Импортировать, при необходимости выбрать пул данных, указать имя диска и удалить файл виртуального диска после завершения процесса импортирования. После завершения операции импорта виртуальный диск готов к работе.
Перенос физического сервера в SpaceVM
Перенос физического сервера Linux в SpaceVM
Чтобы выполнить перенос физического сервера под управлением ОС Linux в среду SpaceVM, необходимо:
1. Загрузить SpaceVM в режиме Live CD на физическом сервере
Выключить физический сервер, после чего выполнить запуск SpaceVM на физическом сервере в режиме Live CD. Далее, в случае необходимости, выполнить настройку сетевых подключений.
2. Создать виртуальные копии дисков физического сервера на SpaceVM
Для создания виртуальных копий дисков физического сервера, необходимо выполнить следующую команду для каждого диска физического сервера:
dd if=/dev/sda status=progress | ssh root@192.168.0.1 'cat > /storages/local/default/_LIBRARY/my_server1.img'
где /dev/sda
- путь до диска,
root@192.168.0.1
- пользователь cli с правами администратора и IP-адрес сервера виртуализации SpaceVM,
/storages/local/default/_LIBRARY/my_server1.img
- путь до создаваемого файла виртуальной копии диска.
Внимание
Для успешного создания виртуальных копий дисков физического сервера убедитесь, что на хранилище данных имеется достаточно свободного места!
3. Выполнить сканирование в SpaceVM
В Web-интерфейсе SpaceVM перейти в раздел Хранилища - Пулы данных основного меню, далее выбрать пул, на котором создали копии дисков физического сервера и в открывшемся окне нажать кнопку Сканировать.
4. Импортировать созданные копии физических дисков
В Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее выбрать целевой файл виртуального диска, в открывшемся окне нажать кнопку Импортировать, при необходимости выбрать пул данных, указать имя диска и удалить файл виртуального диска после завершения процесса импортирования.
Внимание
Для корректной работы может потребоваться более детальная настройка отдельных параметров ВМ (тип процессора, тип диска, чипсет и т.д.)!
Перенос физического сервера Windows в SpaceVM
Чтобы выполнить перенос физического сервера под управлением ОС Windows в среду SpaceVM, необходимо:
1. Преобразовать диски физического сервера
Для этого на физическом сервере под управлением ОС Windows скачайте и запустите программу Disk2vhd, выберите диски для преобразования, путь для хранения преобразованных дисков и нажмите Create.
2. Загрузить виртуальные диски в SpaceVM
Для этого в Web-интерфейсе SpaceVM перейти в раздел Хранилища - Файлы основного меню, далее нажать на кнопку Загрузить из файловой системы и выбрать файлы виртуальных дисков для загрузки.
3. Импортировать виртуальные диски в SpaceVM
Чтобы выполнить импорт виртуальных дисков для подключения к ВМ в Web-интерфейсе SpaceVM, необходимо:
-
перейти в раздел Хранилища - Файлы основного меню;
-
выбрать целевой файл виртуального диска;
-
в окне файла виртуального диска нажать кнопку Импортировать;
-
в открывшемся окне, при необходимости, выбрать пул данных, указать надо ли удалять файл виртуального диска после завершения импортирования и указать имя диска;
-
нажать кнопку Импортировать.
После завершения процесса импортирования виртуальный диск готов к использованию в качестве виртуального диска ВМ в среде SpaceVM.
Avaya OVA
Внимание
Тестирование проходило на Management_9_1_10_0_47.ova, SM-8.1.0.0.810007-e67-02.ova.
Восстановление ВМ
-
Загружаем в пул данных файл Management_9_1_10_0_47.ova.
-
Восстанавливаем ВМ из файла Management_9_1_10_0_47.ova.
- Обновить конфигурацию о резервной копии.
- Конфигурация копии ВМ.
- Восстановление ВМ.
-
У дисков ВМ меняем шины на ide.
-
Добавляем новый SCSI-контроллер модели lsilogic.
-
Удаляем старый SCSI-контроллер модели auto.
Настройка сети (необязательно)
-
Копируем путь до диска ВМ из его вкладки.
-
Заходим в CLI узла, где доступен пул данных с диском от ВМ.
-
Запускаем изменение диска при выключенной ВМ.
Пример:
guestfish --rw -a /storages/local/default/7ee0e52d-97f2-4be4-8512-ace7d889b54d.qcow2
-
Работаем в консоли изменения диска. Меняем адрес, маску, маршрут, mtu при необходимости;
Изменение сетевых настроек
run mount /dev/vg_root/lv_root / edit /etc/sysconfig/network-scripts/ifcfg-eth0 exit
Запуск
-
Запускаем ВМ.
-
Входим под базовым пользователем/паролем – pmgradmin/password.
Ended: Импорт и экспорт ВМ и виртуальных дисков
Миграция виртуальной машины на другой кластер
При выполнении миграций виртуальной машины в пределах ОДНОЙ ЛОКАЦИИ, на различные кластеры, будет запущен процесс перемещения виртуального диска. Для выполнения процесса миграций ВМ на другой кластер необходимо:
Перейти в раздел Виртуальные машины -> перейти в ВМ -> в основной панели ВМ нажимаем на кнопку Перенести» -> чекбокс Ручной выбор -> чекбокс С переносом дисков -> из раскрывающегося списка Выберите кластер -> из раскрывающегося списка Выберите сервер -> из раскрывающегося списка Выберите пул -> Мигрировать. Будет запущен процесс миграций ВМ на другой кластер в пределах локаций
Внимание
Требования для выполнения миграций: - Сеть с высокой пропускной способностью. - Реализована L3-связанность между кластерами. - У виртуальной машины должны отсутствовать снимки (снимки).
При выполнении миграций виртуальной машины в пределах НЕСКОЛЬКИХ ЛОКАЦИИ, на различные кластеры, будет запущен процесс перемещения виртуального диска. Для выполнения процесса миграций ВМ на другой кластер необходимо:
Перейти в раздел Виртуальные машины -> перейти в ВМ -> в основной панели ВМ нажимаем на кнопку Перенести -> чекбокс Ручной выбор -> чекбокс С переносом дисков -> из раскрывающегося списка Выберите кластер -> из раскрывающегося списка Выберите сервер -> из раскрывающегося списка Выберите пул -> Мигрировать. Будет запущен процесс миграций ВМ на другой кластер за пределы текущей локации.
Внимание
Требования для выполнения миграций - Сеть с высокой пропускной способностью. - Реализована L3-связанность между кластерами. - У виртуальной машины должны отсутствовать снимки (снимки).
Мониторинг контрольных сумм в кластере PostgreSQL 13
С версии 6.0.3 включено мониторинг контрольных сумм кластера postgresql 13.
Для проверки контрольных необходимо остановить на выбранном сервере кластер postgresql 13 и запустить команду /usr/lib/postgresql/13/bin/pg_checksums с нужным ключом для каталога /var/lib/postgresql/13/main
Пример работы с pg_checksums:
ACL на коммутаторах виртуальной сети (микросегментация)
Правила ACL (микросегментация) предназначены для управления трафиком непосредственно на коммутаторах виртуальной сети.
Во вкладке Информация свойств виртуальной сети есть свойство Параметры ACL. Посмотреть текущее состояние настроек можно, нажав на кнопку раскрытия списка
Форма редактирования параметров открывается при нажатии на кнопку
Доступны следующие параметры:
- Режим микросегментации виртуальной сети.
По умолчанию выключено. Включает или выключает режим работы ACL на коммутаторах виртуальной сети. Не зависит от типа виртуальной сети, с L2 - связностью или без связности.
- ARP-запросы в виртуальной сети.
По умолчанию включено. Разрешает прохождению ARP-запросов внутри виртуальной сети.
- Блокировка пакетов с широковещательным адресом отправителя.
По умолчанию выключено. При включении запрещает запросы с широковещательным адресом отправителя.
- Изучение MAC-адресов в виртуальной сети.
По умолчанию включено. Включает механизм изучения MAC-адресов. Создаёт запись соответствия MAC - порт. Время жизни записи - 300 секунд, если не происходит обновления записи.
- Пересылка STP-запросов через виртуальную сеть.
По умолчанию выключено. При включении блокирует пересылку STP-запросов через виртуальную сеть.
Перед включением режима микросегментации необходимо:
- Включить использование брандмауэра.
- Во вкладке Настройка брандмауэра выбрать политику фильтрации трафика. Для каждой виртуальной сети рекомендуется создавать свою политику фильтрации. См. Контроль трафика.
- Во вкладке Информация -- Параметры ACL включить режим микросегментации, необходимые опции и применить изменения. По умолчанию включены опции, необходимые для работы сети.
Добавление новых правил, редактирование или удаление существующих выполняется во вкладке Настройки брандмауэра -- ACL. Созданное правило сразу применяется на коммутаторах виртуальной сети. Правило ACL может содержать два действия - разрешить или блокировать. Правила ACL выполняются сверху вниз до первого совпадения. По умолчанию разрешено всё.
Пример добавления правила блокировки порта 22 (ssh) в виртуальной сети:
Порты можно указывать как по одному, так и диапазоном. Например, 80,443,50000-61000. Адреса можно указывать в виде списка подсетей.
Добавленное правило:
Просмотреть параметры правила можно, нажав на само правило.
Здесь же можно удалить правило или вызвать форму редактирования правила.
Внимание
После редактирования или удаления правила необходимо в Настройках брандмауэра применить изменения. Об этом информирует статус Состояние политики безопасности. После этого правила ACL на коммутаторах будут обновлены.
FAQ ↵
Действия при ошибках установки
-
Процесс установки в целом состоит из 2 частей: до и после первой перезагрузки.
-
До первой перезагрузки идёт базовая установка пакетов: как Space пакетов, так и зависимостей. Генерируется сервис, который запустит после 1 перезагрузки скрипт подготовки системы к работе.
-
После 1 перезагрузки запускается этот скрипт. Он циклично (до 10 раз) проверяет системы к готовности и поэтапно донастраивает её, пока не сочтет, что всё готово. Процесс подготовки можно отслеживать через команду CLI
log first-boot
. -
В конце скрипта подготовки запускается скрипт инициализации сети: создаются коммутаторы default и blackhole, внутренний интерфейс mgmt, адрес, выданный физическому интерфейсу в первой части установки снимается и назначается на mgmt, mgmt подключается к default, первый физический интерфейс в состоянии UP тоже подключается к default. Процесс инициализации сети можно отслеживать через команду CLI
log net-init
. -
Если установка не завершается, стоит посмотреть вывод команд CLI
log first-boot
,log net-init
,log first-tests
. -
Если установка не завершается, можно повторно запустить скрипт подготовки системы к работе через команду CLI
system init
.
Пример (система автонастройки началась и не завершилась. Возможно, сервер был перезагружен в процессе подготовки или были какие-то причины, не дающие завершиться процессу).
-
Если видно по
log first-boot
, что процесс не завершился, то стоит запустить командуsystem autotest
, и посмотреть, будут ли там ошибки. -
Если не инициализировалась сеть, то можно после завершения установки переинициализировать её через команду CLI
net init
. -
Если в выводе команды
ip a
нет mgmt, default, то можно после завершения установки переинициализировать сеть через команду CLInet init
.
Действия при ошибках 1 части установки
Необходимо получить лог инсталлятора.
После возникновения ошибки:
-
Проверьте дату и время на хосте (должны быть актуальные)
-
перейдите в виртуальную консоль 4 (Ctrl-Alt-4 на виртуальной IPMI клавиатуре или физической, если установка с физического терминала), там сделайте скрин экрана и создайте баг в /bugzilla/ или отправьте в ЛК.
-
перейдите в виртуальную консоль 2 (Ctrl-Alt-2 на виртуальной IPMI клавиатуре или физической, если установка с физического терминала), там создайте какой-нибудь каталог типа /flash, подключите к серверу флэш-накопитель, отформатированный в fat32 или ext¾ и примонтируйте его в этот каталог. После этого скопируйте на неё /var/log/syslog с сервера и создайте баг в /bugzilla/ или отправьте в ЛК.
Для монтирования флэш-накопителя и переноса журналов на него необходимо:
-
опознать букву устройства флэш-накопителя при помощи команды blkid, либо подсмотреть в 4 консоли полученную флэшкой букву при её подключении, также нужно обратить внимание, находится ли файловая система на флэш-накопителе в разделе или прямо на устройстве (если есть раздел, а устройство имеет букву, скажем, sdc, то раздел будет sdc1)
-
создать в удобном месте каталог для монтирования, скажем, ~/usb mkdir ~/usb
-
примонтировать раздел (если он есть) или сам флэш-накопитель в этот каталог: mount /dev/sdc1 ~/usb или mount /dev/sdc ~/usb
-
если всё правильно, теперь можно проверить место на флэш-накопителе через df -h
-
далее скопируйте всё из /var/log и отмонтируйте флэшку
Действия при ошибках сервиса статистики
-
Возможна ситуация ошибки хранилища статистики prometheus. Быстрым способом починки является очистка хранилища, перенастройка и перезапуск сервиса. Ниже показана последовательность из 3 действий:
-
system statistics clear
(Очистка БД prometheus. Необходимо выполнить в случае ошибки БД, делаетrm -rf /var/log/prometheus/metrics2/*
) -
system statistics reload
(Перенастройка конфигурации экспортеров prometheus согласно БД контроллера.) -
service restart prometheus
(Перезагрузка сервиса prometheus.) -
Также рекомендуется проверить состояние сервиса статистики (
services status prometheus
) и ошибки сервиса в syslog (ошибки, связанные с prometheus). На контроллере можно проверить работу сервиса статистики, перейдя через браузер по адресуhttp://{controller_ip}:9090/
. Список подключенных экспортеров узлов с их статусами к контроллеру можно увидеть по адресуhttp://{controller_ip}:9090/classic/targets
. На узле можно проверить работу сервисов сбора статистики узла и ВМ, перейдя через браузер по адресамhttp://{node_ip}:9100/
(статистика узла) иhttp://{node_ip}:9177/
(статистика ВМ). -
Можно включить grafana в CLI контроллера через
grafana start
и перейти в браузер по адресуhttp://{controller_ip}:3000/
(admin/admin).
Проблемы и ошибки, связанные с Web-интерфейсом
- время вашей сессии истекло при входе.
Возможные причины 2: приходит каждый раз некорректный токен, в котором нет user_id или username, или он истек.
Вариант решения 1: Необходимо удалить cookie для страницы адреса контроллера и затем нажать Ctrl + F5 для её переоткрытия.
Вариант решения 2: Проверьте время на контроллере в CLI и при необходимости поменяйте на актуальное через команду date.
Проблемы и ошибки, связанные с виртуальными машинами
Ошибка запуска ВМ
Ошибка задачи:
unsupported configuration: Emulator '/usb/bin/qemu-system-x86-64' does
not support virt type 'kvm'
Решение: Скорее всего, процессор не поддерживает виртуализацию. Рекомендуется проверить процессорные инструкции на сервере, настройки BIOS, а в случае установки SpaceVM на ВМ проверить тип процессора и инструкции гипервизора.
Сетевая ошибка миграции ВМ
Ошибка задачи:
An error with retcode 1 occurred while migration: b'error: operation failed:
migration out job: Unable to write to socket: Connection reset by peer\n
Решение: Скорее всего не хватает пропускной способности сети для миграции. Рекомендуется выбрать внешнюю сеть для миграции с большей пропускной способностью, например 10Гбит.
ВМ уходит в паузу
- Посмотреть журнал ВМ в CLI сервера
vm log {Имя или id ВМ}
и попытаться разобраться там. - Попробовать использовать инструкцию Анализ крахов ВМ
Видео ошибка миграции ВМ
Ошибка задачи:
Unknown error: An error with retcode 1 occurred while migration: b''b''emu-system-x86_64:
Failed to load qxl:pci 2021-12-13T05:56:31.887248Z qemu-system-x86_64: error while loading
state for instance 0x0 of device '0000:00:02.0/qxl'
Решение: Ошибка миграции с видеоадаптером qxl. Рекомендуется сменить видеоадаптер.
Ошибка миграции спящей ВМ
Ошибка задачи:
Unknown error: An error with retcode 1 occurred while migration: b''b'' Migration: [ 55 %] Migration:
[ 74 %] Migration: [ 85 %] Migration: [ 91 %] Migration: [ 97 %]
error: operation failed: domain is not running
Решение: Отсутствует на данный момент. Миграция ВМ в паузе может приводить к краху. Рекомендуется не мигрировать больше 1 раза подряд ВМ в паузе, то есть каждый раз после миграции необходимо включать её. Автоматически это делать не стали, так как это имхо странное поведение.
ВМ уходит в паузу сама
Решение: Проверьте наличие свободного места на пуле данных, где лежат диски ВМ.
Не работает загрузчик UEFI на OS Windows.
При установке чистой Windows вылетает синий экран из-за ошибки с памятью.
Решение: Проверьте, что тип ОС Windows и выберите чипсет q35.
Поиск и устранение неполадок
-
Установить gdb через CLI команду
install gdb
. -
Установить qemu-system-x86-dbgsym через CLI команду
install qemu-system-x86-dbgsym
. -
В файле
/etc/libvirt/qemu.conf
раскомментировать строкуmax_core = "unlimited"
через командуsystem libvirt_set_unlimited
. Она перезаписывается при обновлении. -
Рестартовать сервис libvirtd
-
Файлы дампов крахов ВМ будут складироваться в
/var/log/crash/
, автоматически ротироваться и сжиматься. -
Анализировать дампы крахов ВМ можно через gdb, например
gdb /usr/bin/qemu-system-x86_64 /var/log/crash/qemu-system-x86_1640520577.dmp
-
Полученную информацию рекомендуется выслать вендору.
Пример команд CLI
node nodes_cli 'install gdb'
node nodes_cli 'install qemu-system-x86-dbgsym'
node nodes_cli 'system libvirt_set_unlimited'
Вызвать kernel panic в Linux
- Вариант 1
:(){ :|:& };:
Вешает ВМ насмерть без регистрации kernel panic.
- Вариант 2
echo 1 > /proc/sys/kernel/sysrq & echo c > /proc/sysrq-trigger
Вешает ВМ насмерть без регистрации kernel panic.
- Вариант 3
Надо предварительно поставить gdb.
gdb -ex 'call _exit(0)' --pid=1 --batch
Форсированный ребут ВМ дал ошибку, но она перезагрузилась.
- Вариант 4
dd if=/dev/urandom of=/proc/sysrq-trigger
ВМ перезагружается.
Use /proc/sysrq-trigger in linux
echoing letter commands to /proc/sysrq-trigger.
0 – disable sysrq completely
1 – enable all functions of sysrq
>1 – bitmask to allow specific sysrq functions
2 = 0x2 – enable control of console logging level
4 = 0x4 – enable control of keyboard (SAK, unraw)
8 = 0x8 – enable debugging dumps of processes etc.
16 = 0x10 – enable sync command
32 = 0x20 – enable remount read-only
64 = 0x40 – enable signalling of processes (term, kill, oom-kill)
128 = 0x80 – allow reboot/poweroff
256 = 0x100 – allow nicing of all RT tasks
Use magic SysRq key
Command Function
b Will immediately reboot the system without syncing or unmounting your disks.
c Will perform a system crash by a NULL pointer dereference. A crashdump will be taken if configured.
d Shows all locks that are held.
e Send a SIGTERM to all processes, except for init.
f Will call the oom killer to kill a memory hog process, but do not panic if nothing can be killed.
g Used by kgdb (kernel debugger)
h Will display help
i Send a SIGKILL to all processes, except for init.
j Forcibly “Just thaw it” – filesystems frozen by the FIFREEZE ioctl.
k Secure Access Key (SAK) Kills all programs on the current virtual console.
l Shows a stack backtrace for all active CPUs.
m Will dump current memory info to your console.
n Used to make RT tasks nice-able
o Will shut your system off (if configured and supported).
p Will dump the current registers and flags to your console.
q Will dump per CPU lists of all armed hrtimers (but NOT regular timer_list timers) and detailed information about all clockevent devices
r Turns off keyboard raw mode and sets it to XLATE.
s Will attempt to sync all mounted filesystems.
t Will dump a list of current tasks and their information to your console.
u Will attempt to remount all mounted filesystems read-only.
v Forcefully restores framebuffer console
w Dumps tasks that are in uninterruptable (blocked) state.
x Used by xmon interface on ppc/powerpc platforms. Show global PMU Registers on sparc64. Dump all TLB entries on MIPS.
y Show global CPU Registers [SPARC-64 specific]
z Dump the ftrace buffer
0-9 Sets the console log level, controlling which kernel messages will be printed to your console. (0, for example would make it so that only emergency messages like PANICs or OOPSes would make it to your console.)
Проблемы и ошибки, связанные с гостевым агентом
- Ошибка установки qemu_guest_agent.
Решение: Запустить службу теневого копирования.
Проблемы и ошибки, связанные с обновлениями
- Ошибка libvirt.
Решение: Дождаться завершения обновления! При необходимости проверить, есть ли ещё новые пакеты и повторить обновление (система во второй раз поставит недостающие пакеты).
Ответы на часто задаваемые вопросы по связности и ограждению
Узел был огражден без причин, в журнале об этом есть запись
Проверьте тип примененного ограждения. Ограждение типа VIRTUAL указывает на то, что произошел отказ севера или потеря доступности с ним.
Ограждения типа VIRTUAL не предусматривает выполнение каких-либо действий по выключению узла ни со стороны контроллера, ни со стороны самого узла.
Возможная последовательность событий, приведшая к ограждению:
- узел перестал быть доступен или отказал;
- контроллер пометил его сначала недоступным, затем огражденным.
Необходимо искать причину отказа узла или потери доступности:
- проверить сетевую связность;
- проверить работоспособность программных модулей;
- проверить логи узла на наличие записей об аварийном выключении/перезагрузке.
Узел самостоятельно перезагрузился без видимых причин. В журнале есть запись, что узел ограждался
Никакие типы ограждения реализации SpaceVM не предполагают перезагрузку узлов при ограждении. Проверьте какой у вас тип ограждения. Если VIRTUAL или NODE, то это значит, что узел был перезагружен по причине, несвязанной с ограждением узла. При остальных типах ограждения узел должен быть выключен, даже если он должен был быть явно перезагружен. Последовательность событий может быть следующая: сначала узел начал перезагрузку, затем контроллер пометил его сначала недоступным, затем огражденным. Затем узел опять стал доступен, и контроллер его перевел в активный. Необходимо искать причину перезагрузки узла: проверить логи узла на наличие записей о штатной или аварийной перезагрузке.
Пользователь перезагрузил узел, а он был огражден и выключен. В журнале есть запись, что узел оградился
Это может быть нормальным поведением при типах ограждения IPMI и SSH. Последовательность событий может быть следующая: узел начал перезагрузку, контроллер пометил его сначала недоступным, затем огражденным. Далее контроллер выключил узел форсированно по IPMI или по SSH до момента пока не восстановились программные модули SpaceVM. Необходимо до перезагрузки узла перевести его в сервисный режим либо включить тип ограждения VIRTUAL.
При настройках сети кластера или при переключении сетевых кабелей узел был огражден и выключен. В журнале есть запись, что узел оградился
Это может быть нормальным поведением при типах ограждения IPMI и NODE. Последовательность событий может быть следующая: после потери сетевой связности узла с контроллером контроллер пометил узел сначала недоступным, затем огражденным и выключил через IPMI, либо узел самооградился по типу NODE. Необходимо до операций с сетями кластера перевести его в сервисный режим либо включить тип ограждения VIRTUAL.
Сброс к настройкам по умолчанию
SpaceVM является многокомпонентным продуктом. При работе со SpaceVM может потребоваться сброс настроек определённого модуля к настройкам по умолчанию. Ниже приведена методика и команды сброса. Перед применением команд запрашивается подтверждение, т.к. команды являются деструктивными, и возможна потеря данных при их использовании.
Внимание!
Для работы команд требуется SpaceVM версии 6.4.0 и выше.
Примечание
Приведенные команды являются скрытыми.
-
system reset nginx
- сброс только настроек Nginx. -
system reset apt
- сброс настроек apt и репозиториев SpaceVM. -
system reset redis
- сброс настроек сервера Redis. -
system reset pgsql
- сброс настроек сервера PostgreSQL.
Ответы на разнообразные вопросы
При создании автоматического пула ВМ не вводится в домен
Настройки ВМ для успешного ввода в домен: * Установить предпочитаемый DNS-сервер с AD. * Установить Space-Agent и настроить его автоматический запуск от имени администратора. * Установить virtio.
На сервере AD создать одно или несколько подразделений, в зависимости от требуемой системы распределения прав между подразделениями.
Со стороны SpaceVM настроить ввод в домен.
Примечание: 1. Если не указывать название, то в AD будет использоваться имя ПК. 2. Логин и пароль необходимо указать от учетных данных администратора AD. 3. Организационную единицу требуется использовать из свойств подразделения. Если оставить поле пустым, то будет использован контейнер по умолчанию.
Поведение системы при выходе из строя гипервизора и контроллера в кластере
- Необходимо учитывать настройки связности и ограждения.
- Возможно управление ресурсами сервера через CLI или Web-интерфейс этого сервера.
- Высокая доступность
Поведение хостов и кластеров при потере одного из хранилищ
Хранилище и его дочерние сущности перейдут в статус FAILED.
Поведение кластера при фиктивной потере хоста – хост как бы жив, но нет связи с элементами управления
Произойдет однократная попытка подключения к серверу и перезапуска супервизора узла.
Поведение кластера при превышении доступных ресурсов для ВМ
- Невозможность запуска, миграции ВМ.
- Ballooning
- Пределы ресурсов
Потеря хоста с центром управления или базой данных центра управления
- Репликация контроллера
- Необходимо учитывать настройки связности и ограждения.
- Возможно управление ресурсами сервера через CLI или Web-интерфейс этого сервера.
Аварийное выключение всех хостов, восстановление питания. Как будет вести себя система когда питание подается сначала серверам, затем управляющим контроллерам, а затем СХД?
- Необходимо учитывать настройки связности и ограждения.
- Возможно управление ресурсами сервера через CLI или Web-интерфейс этого сервера.
- Контроллер с серверами без СХД будут работать, но будет невозможен запуск ВМ, использующих эту СХД.
Может ли контроллер быть виртуальным?
Да.
Есть ли возможность запускать скрипты для централизованного управления кластером?
- Да.
- REST API.
Есть ли возможность запуститься в тестовой среде во вложенной виртуализации от VmWare?
Да. Надо учитывать, что базовые настройки VmWare (в т.ч. по безопасности) частично блокируют функционал SpaceVM (например: сетей).
Возможность работы кластера в гостевых ОС через Shared RDM LUN?
Да. Подключение LUN напрямую к ВМ
FCoE?
Да, протестировано решение по загрузке самой системы SpaceVM и пулов данных с LUN, презентованных по технологии FCoE.
Что такое "Автономный кластер высокой доступности"?
Это кластер серверов, который при потере связи с управляющим им элементом (контроллером) самостоятельно до момента появления связи с последним принимает решения о восстановлении работоспособности ВМ без риска повреждения данных при прекращении работы узла(ов) кластера.
Ended: FAQ
Техническая поддержка
Чтобы помочь нашим специалистам быстрее решить вашу проблему, предлагаем просмотреть описанные ниже шаги:
Web
В случае ошибки задачи в Web-интерфейсе перейдите в журнал задач, выберите нужную задачу и сделайте скрин ошибки. Если в ошибке вы видите сообщение Некоторые дочерние задачи были завершены с ошибкой., то значит, что это мультизадача и надо выбрать дочернюю задачу внизу окна мультизадачи и сделать дополнительно скрин ошибки. Наиболее полезной информацией является поле Ответ от узлов, где указаны id узлов и их ответ. От части узлов в рамках задачи может придти положительный ответ, а от других нет, тогда эта задача перейдет в статус PARTIAL.
В случае ошибки в Web-интерфейсе Internal Server Error
перейдите в CLI контроллера и скопируйте
результат вывода команд log controller-web
и log controller-async
(часть c сообщением об ошибке).
CLI
Скопируйте ошибку в СLI или сделайте скрин вывода ошибки вместе с введённой командой. Скопируйте
результат вывода команды log cli
.
Выгрузка событий
При наличии доступа к Web-интерфейсу SpaceVM создайте архив во вкладке Журнал-События по кнопке Действия - Выгрузить события с наиболее подходящим фильтром.
Фильтрация журналов
Чем точнее будут использованы условия фильтров при создании архива, тем быстрее служба технической поддержки сможет разобраться и отреагировать.
SpaceVM Bugzilla
Для удобства можно создать баг в SpaceVM Bugzilla или посмотреть там известные баги.
Регистрация пользователя в системе Bugzilla
Для регистрации в системе отслеживания ошибок необходимо перейти по ссылке https://bugzilla.spacevm.ru/. В стартовом окне системы отслеживания ошибок выбираем доступный язык интерфейса EN | RU-RU, по умолчанию EN. Для регистрации ошибки необходимо перейти в «Open a New Account\Зарегистрировать нового пользователя». В окне «Create a new Space Bugzilla account\Регистрация пользователя Space Bugzilla» в поле «Email address\Адрес электронной почты» указываем почту, на которую будут приходить уведомления.
Нажимаем на кнопку «Send\Зарегистрироваться». На почту будет отправлено электронное письмо с подтверждением, содержащее ссылку для продолжения создания учетной записи. Срок действия ссылки истечет, если учетная запись не будет создана в течение 3 дней. Необходимо перейти по ссылке. В открытом окне «Create a new user account for ‘e-mail’\Создания учетной записи для ‘e-mail’» заполняем поля: «Real Name\Полное имя», «Type your password\Введите пароль» и «Confirm your password\Повторите ввод пароля». Нажимаем на кнопку «Create\Создать». Окно создания учетной записи будет закрыто с уведомлением об успешном выполнении.
Создание "Bug\Ошибка"
Переходим по ссылке https://bugzilla.spacevm.ru/. Нажимаем «Log In\Войти» и указываем логин и пароль. После аутентификации переходим «Search\Найти» и просматриваем уже созданные кейсы перед создание нового, чтобы избежать создание дублей. Если подобных кейсов нет, то переходим «File a Bug\Зарегистрировать ошибку». В окне «First, you must pick a product on which to enter a bug\Прежде всего выберите продукт, к которому относится ошибка» будут доступны пространства: SpaceVM и Space VDI.
Выбираем пространство, например, Space VM. Указываем компонент «Component\Компонент» в зависимости от ошибки\пожелания\вопроса. Указываем версию «Version\Версия», «Severity\Серьезность», «Hardware\Платформа», «OS\ОС», «Тип тикета» и «Summary\Аннотация». В поле «Description\Описание» описываем ошибку\пожелание\вопрос. Если необходимо приложить скриншоты, то нажимаем на кнопку «Add an attachment\Добавить приложение». Дальше нажимаем на «Submit Bug\Зарегистрировать ошибку». Появляется уведомление «Bug\Ошибка» создана.
Диагностика при потере связи контроллера с узлами
-
Проверить, пингуется ли узел с контроллера по адресу интерфейса управления.
-
Если узел пингуется, то зайти с контроллера на узел
node ssh [management_ip]
и проверить статус сервиса супервизора узла командойservices list
. -
Если сервис супервизора узла активен, то посмотреть его журналы командой
log node
. Супервизор циклически проверяет статус связи с контроллером и сообщает о неудачных попытках. Если узел не может подключиться к контроллеру, но пингует его, то, возможно, стоит рестартовать супервизор контроллера командойservices restart controller-engine
. -
Удостоверьтесь командой
node config
, что поля node_id, controller_ip, controller_id актуальные. -
Если сервис супервизора узла неактивен, то запустить его командой
services start node-engine
. -
Если узел не пингуется, то можно через Web-интерфейс контроллера проверить статус электропитания узла IPMI. При необходимости включить или перезагрузить.
-
Если узел не пингуется, то через IPMI сервера проверить состояние связи физического интерфейса, используемого для управления. Интерфейс можно посмотреть командой
net show ports -v
, у нужного интерфейса будет строка used by: default. Если он в состоянии DOWN, то поднять его командойnet conf ports set-up -i [имя интерфейса]
.
Диагностика при потере связи по ssh-контроллера с узлами
-
На контроллере в
/var/lib/ecp-veil/.users/veil-controller/.ssh/
находятся файлы приватного ключаid_rsa
и публичного ключаid_rsa.pub
(генерируются у каждого контроллера свои при установке и проверяются при каждом обновлении), которые используются для взаимодействия контроллер-узел. -
При добавлении узла к контроллеру публичный ключ контроллера копируется в
/root/.ssh/authorized_keys
и/var/lib/ecp-veil/.users/veil-node/.ssh/authorized_keys
. -
Для взаимодействия узел-узел ключ не используется. Для некоторых задач между узлами, например, живая миграция, каждый раз генерируется временный ssh-ключ, который удаляется после завершения задачи.
-
В случае ошибки доступа контроллера к узлу (например, при ошибке Permission Denied во время загрузки образа на пул данных этого узла) можно подключиться к этому узлу по ssh и скопировать содержимое файла
/var/lib/ecp-veil/.users/veil-controller/.ssh/id_rsa.pub
в/var/lib/ecp-veil/.users/veil-node/.ssh/authorized_keys
. -
Повторно добавить ssh-ключи контроллера на узел можно командой CLI
node repair_ssh
.
Диагностика при ошибках grpc
-
На контроллере в каталоге
/var/lib/ecp-veil/controller/local_data/
находятся файлы grpc-сертификатов{node_id}.crt
для каждого узла, которые используются для взаимодействия контроллер-узел. -
При добавлении узла к контроллеру генерируется grpc-сертификат и копируется в
/var/lib/ecp-veil/node/local_data/node.crt
и
/var/lib/ecp-veil/node/local_data/node.key
. -
Соответственно, контроллер при grpc-запросе ищет у себя в каталоге
/var/lib/ecp-veil/controller/local_data/
файл с id узла, читает его и с содержимым делает запрос. Сервисnode-engine
на узле при старте ищет в/var/lib/ecp-veil/node/local_data/
файлnode.key
и принимает только запросы с верным сертификатом. -
Если на контроллере по какой-то причине отсутствует нужный сертификат для конкретного узла, то можно скопировать сертификат с узла на контроллер (или удалить на узле, тогда запросы будут идти нешифрованными).
Действия при ошибках сервиса статистики
-
Возможна ситуация ошибки хранилища статистики prometheus. Быстрым способом решения проблемы является очистка хранилища, перенастройка и перезапуск сервиса. Ниже показана последовательность из 3 действий:
-
system statistics clear
(очистка БД prometheus. Необходимо выполнить в случае ошибки БД, делаетrm -rf /var/log/prometheus/metrics2/*
.) -
system statistics reload
(перенастройка конфигурации экспортеров prometheus согласно БД контроллера.) -
service restart prometheus
(перезагрузка сервиса prometheus.)
-
-
Также рекомендуется проверить состояние сервиса статистики (
services status prometheus
) и ошибки сервиса в syslog (ошибки, связанные с prometheus). На контроллере можно проверить работу сервиса статистики, перейдя в браузере по адресуhttp://{controller_ip}:9090/
. Список подключенных экспортеров узлов с их статусами к контроллеру можно увидеть по адресуhttp://{controller_ip}:9090/classic/targets
. На узле можно проверить работу сервисов сбора статистики узла и ВМ, перейдя в браузере по адресамhttp://{node_ip}:9100/
(статистика узла) иhttp://{node_ip}:9177/
(статистика ВМ). -
Можно включить grafana в CLI контроллера командой
grafana start
и перейти в браузере по адресуhttp://{controller_ip}:3000/
(admin/admin).
Действия при ошибках установки
-
Процесс установки в целом состоит из 2 частей: до и после первой перезагрузки.
-
До первой перезагрузки идёт базовая установка пакетов: как Space пакетов, так и зависимостей. Генерируется сервис, который запустит после 1 перезагрузки скрипт подготовки системы к работе.
-
После 1 перезагрузки запускается этот скрипт. Он циклично (до 10 раз) проверяет системы к готовности и поэтапно донастраивает её, пока не решит, что всё готово. Процесс подготовки можно отслеживать командой CLI
log first-boot
. -
В конце скрипта подготовки запускается скрипт инициализации сети: создаются коммутаторы default и blackhole, внутренний интерфейс mgmt, адрес, выданный физическому интерфейсу в первой части установки снимается и назначается на mgmt, mgmt подключается к default, первый физический интерфейс в состоянии UP тоже подключается к default. Процесс инициализации сети можно отслеживать командой CLI
log net-init
. -
Если установка не завершается, то стоит посмотреть вывод команд CLI
log first-boot
,log net-init
,log first-tests
. -
Если установка не завершается, то можно повторно запустить скрипт подготовки системы к работе командой CLI
system init
.
Пример (система автонастройки началась и не завершилась. Возможно, сервер был перезагружен в процессе подготовки или были какие-то причины, не дающие завершиться процессу).
-
Если видно по
log first-boot
что процесс не завершился, то стоит запустить командуsystem autotest
и посмотреть, будут ли там ошибки. -
Если не инициализировалась сеть, то можно после завершения установки снова проинициализировать её командой CLI
net-init
. -
Если в выводе команды
ip a
нет mgmt и default, то можно после завершения установки снова проинициализировать сеть командой CLInet-init
.
Действия при ошибках первой части установки
После возникновения ошибки
-
Проверьте дату и время на хосте (должны быть актуальные).
-
Перейдите в виртуальную консоль 4 (Ctrl-Alt-4 на виртуальной IPMI-клавиатуре или физической, если установка с физического терминала). Там сделайте скрин экрана и создайте баг в https://bugzilla.spacevm.ru/ или отправьте скрин в ЛК.
Необходимо получить лог инсталлятора. Это можно сделать одним из двух способов -- через USB (Flash, IPMI) накопитель или по сети (ssh).
Вариант с USB-накопителем
Перейдите в виртуальную консоль 2 (Ctrl-Alt-2 на виртуальной IPMI-клавиатуре или физической, если установка с физического терминала). Там создайте каталог с произвольным именем, например, /usb. подключите к серверу USB-накопитель, отформатированный в fat32 или ext3/ext4 и примонтируйте его в этот каталог. После этого скопируйте на USB-накопитель каталог /var/log/syslog с сервера и создайте баг в https://bugzilla.spacevm.ru/ или отправьте информацию в ЛК.
Для монтирования флэш-накопителя и переноса журналов на него необходимо:
- Определить букву устройства флэш-накопителя при помощи команды blkid либо посмотреть в 4-ой консоли полученную флешкой букву при её подключении. Также нужно обратить внимание, находится ли файловая система на флэш-накопителе в разделе или прямо на устройстве (если есть раздел, а устройство имеет букву, наприме, sdc, то раздел будет sdc1).
- Создать в удобном месте каталог для монтирования, например, ~/usb:
mkdir ~/usb
. - Примонтировать раздел (если он есть) или сам флэш-накопитель в этот каталог:
mount /dev/sdc1 ~/usb
илиmount /dev/sdc ~/usb
. - Если всё правильно, то теперь можно проверить место на флэш-накопителе командой
df -h
. - Скопировать всё из /var/log:
cp -r /var/log/* ~/usb
. - Отмонтировать флешку:
umount ~/usb
.
Вариант с копированием по сети
Доступен в случае наличия сетевой связности на момент ошибки или при возможности поднять нужный сетевой интерфейс и вручную назначить ему адрес и при необходимости шлюз:
- Перейти в виртуальную консоль 2.
- Проверить наличие сетевого адреса:
ip a
. - Если адрес не назначен, неверно выбран интерфейс или требуется ручная настройка сети, то следует воспользоваться утилитой ip (описание с примерами: https://losst.pro/nastrojka-seti-v-linux).
- Проверить доступность узла назначения:
ping <destination_ip>
. - Установить клиент SSH:
udpkg -i /cdrom/pool/main/o/openssh/openssh-client-udeb_8.3p1-1_amd64.udeb
(номер версии openssh-client-udeb может отличаться. Работает автодополнение при помощи клавиши Tab). - Скопировать содержимого каталога /var/log на сервер назначения:
scp /var/log/* <dst_host_user>@<dst_host_address>:<dir_on_dst_host>
.
Замечание на случай задания VLAN в начале установки
Так как заданные для интерфейса управления параметры VLAN применяются только после перезагрузки сервера по окончании установки,
то при необходимости задания VLAN для копирования лога инсталлятора по сети это следует сделать вручную, предварительно
загрузив модуль 8021q: modprobe 8021q; ip link add link <iface> name <iface.tag> type vlan id <tag>
.
Проверка целостности установочного медиа (флэш-накопителя, например)
- Загрузиться в режиме Space Live.
- Дождаться приглашения командной строки.
- Увидеть, где примонтировано загрузочное устройство (команда
mount
, например /run/live/medium). - Перейти в этот каталог (
cd /run/live/medium
). - Запустить команду
md5sum -c md5sum.txt
. - Так как накопительной статистики по ошибкам здесь нет, то можно скрыть вывод по файлам без ошибок:
md5sum -c md5sum.txt | grep -v ': OK'
.
Ended: Приложения
Релизы ↵
Общие сведения
Релизный цикл
ООО «ДАКОМ М» является правообладателем и разработчиком линейки изделий Space.
В целях усовершенствования функциональных возможностей, повышения качества и возможностей безопасности изделий Space жизненным циклом предусмотрены работы по их непрерывному развитию, включающие постоянный анализ актуальных требований Заказчиков и исправление дефектов, которые можно занести в Space Bugzilla. или ознакомиться с уже известными запросами в данном ресурсе.
В рамках жизненного цикла осуществляется выпуск мажорных, минорных обновлений и обновлений патчей.
Плановый график выпуска обновлений представлен в маршрутной карте на официальном сайте.
Контроль и учет версий
Управление версиями обновления ПО SpaceVM – это процесс присвоения уникального номера в рамках выпуска мажорного, минорного обновлений или патчей.
Обновления имеют семантическую систему нумерации, в которой каждый номер версии состоит из трех чисел x.y.z, разделенных точками, например, 6.1.1.
При каждом обновлении номер версии ПО увеличивается в порядке возрастания по следующим правилам:
-
Первое число х отвечает за мажорное обновление. Меняется при значительных изменениях архитектуры ПО, при обеспечении соответствия актуальным программным сервисам и приложениям. Мажорное обновление может повлечь за собой необходимость переустановки системы.
-
Второе число y отвечает за минорное обновление. Меняется при добавлении новых функциональных возможностей ПО, интеграции со сторонними сервисами, повышении качества ПО.
-
Третье число z отвечает за патч-обновление. Меняется при обнаружении в системе существенных недостатков, влияющих на эксплуатацию. Выполняется устранение недостатков и выпускается обновление к существующей версии ПО до выхода следующей минорной версии ПО.
Обновление
При получении изделий в рамках поставки продукции обязательно требуется произвести обновление до актуальной версии. Обновление будет доступно в случае действительного сертификата сервисной поддержки.
О выходе мажорных или минорных обновлений можно узнать в опубликованной эксплуатационной документации SpaceVM или у аккредитованных сервисных центров и партнеров. Патч-обновления отображаются в Web-интерфейсе ПО.
Процедура установки обновлений представлена в Руководстве системного программиста. Требуется руководствоваться той версией программной документации (встроенной или с официального сайта по ссылке), которая соответствует установленной версии ПО.
Основные изменения SpaceVM 6.4.x
Подтверждена совместимость с программным модулем:
Подтверждена совместимость SpaceVM версии 6.2.0 и 6.2.1 с аппаратным средством защиты информации:
Дополнительная информация представлена в разделе Код Безопасности.
Подтверждена совместимость с операционной системой в качестве гостевой:
- Astra Linux Special Edition 1.7.
- ОС "Альт Сервер 10" разработки компании ООО "Базальт СПО" на платформе х86_64.
C подробной информацией можно ознакомиться на официальном сайте.
6.4.0
Минорный релиз
Реализована новая функциональность без нарушения обратной совместимости.
- Модернизация фильтрации правил межсетевого экрана из web-интерфейса.
- Генерация тестовых пакетов для МСЭ.
- Развитие подсистемы микросегментации.
- Глобальный поиск объектов.
- Синхронизация сетей при добавлении сервера.
- Реализовано резервное копирование правил пограничного брандмауэра.
- Реализована возможность сброса ошибок для внешней сети.
- Реализована возможность переключения кластерного транспорта с внешней сети на сеть управления и обратно.
- Экспериментальный функционал: Интеграция с Kaspersky Endpoint Security.
Исправлены ошибки
- Ошибка корректной работы с СХД (server nfs) в режиме all_squash.
- Ошибка ввода в домен при создании автоматического пула.
- Ошибка сохранения файлов .memory и заполнение места на пуле данных, при завершившейся задачи с ошибкой создания копии.
- Ошибка создания резервной копии ВМ с параметром "Инкрементировать последнюю резервную копию".
- Ошибка восстановления доступности ВМ при использовании функции "Высокая доступность".
- Ошибка создания снимка состояния ВМ с подключенными LUNs.
- Ошибка удаления резервного контроллера из схемы кластера с двумя контроллерами.
- Ошибка переключения роли резервного контроллера с master на slave в схеме кластера с двумя контроллерами.
- Ошибка при отправке/приеме пакетов на ВМ с плавающим IP-адресом.
- Ошибка репликации Postgresql replication process: inactive.
- Прерывание процесса репликации базы данных контроллера.
- Ошибка переноса ВМ с звуковым адаптером USB.
- Ошибка при нажатии кнопки "Отмонтировать все образы".
- Ошибка /etc/hosts некорректно отображается в кластере из C+N - C+N - N.
- Ошибка отображения подготовленного Dashboard для SpaceVM в Grafana.
- Ошибка поддержки Cipher Suite 17 встроенным ipmitool.
- Некорректное подключение/отключение хранилища iSCSI.
- При возобновлении работы хоста происходит широковещательный запрос.
- Ошибка репликации в схеме кластера с двумя контроллерами.
Добавлены улучшения
- Добавлена возможность фильтрации по типу и дате создания в разделе "Файлы".
- Добавлена возможность настройки функций GSO/TSO/GRO. Состояния сохраняются при перезагрузке хоста.
- Добавлено информационное поле «Описание» для правил пограничного брандмауэра.
6.4.1
Внимание
При использовании кластерного транспорта не рекомендуется использовать агрегации сетевых интерфейсов.
Если необходимо использовать агрегацию для отказоустойчивости, то допустимо использовать active-backup.
Исправлены ошибки
- Ошибка отображения списка ВМ.
- Ошибка отображения pci-устройств.
- Ошибка обновления для конфигурации Controller+Node и Controller.
- Ошибка отображения NTP-сервера.
- Ошибка при удалении узла с iscsi target.
- Ошибка дублирования connected_sources в базе, при sources более одного.
- Ошибка hostname на ВМ Alt Linux 10 (64-bit).
- Ошибка монтирования LUN с кластерным транспортом для нового узла.
- Ошибка отображения во время проверки статусов cluster_storage.
- Ошибка переполнения таблицы сессиями.
- Работа команды
find-deleted --truncate
.
Основные изменения SpaceVM 6.3.x
Подтверждена совместимость с антивирусными средствами:
Подтверждена совместимость с серверными платформами:
-
YADRO X2-105
-
YADRO X2-205
-
YADRO X3-105
-
YADRO X3-205
-
VEGMAN R120 G2
-
VEGMAN R220 G2
Полный перечень совместимых серверных платформ.
Подтверждена совместимость с системой хранения данных:
- CХД YADRO TATLIN.UNIFIED.SE
Полный перечень совместимых систем хранения данных.
Подтверждена совместимость с операционной системой:
- РЕД ОС 7.3
C подробной информацией можно ознакомиться на официальном сайте.
6.3.0
Минорный релиз
Реализована новая функциональность без нарушения обратной совместимости. Инструкция по обновлению
-
Возможность выгрузки событий во внешние системы логирования (ArcSight) в формате CEF.
-
Реализована фиксация событий CLI и результат их выполнения на контроллере.
-
Возможность мониторинга и автоматического перезапуска гостевых ОС в случае их недоступности.
-
Реализована возможность изменения названия блочного устройства (LUN).
-
Развитие подсистемы микросегментации. Возможность создания обратных правил ACL.
-
Реализована возможность блокировки пользователя по IP-адресу.
-
Оптимизирован графический Web-интерфейс. Улучшена читаемость, разборчивость и адаптивность.
Исправлены ошибки
-
#623 При работе GFS2 после перезагрузки узла возникает ошибка монтирования репликации LUN.
-
Ошибка при управлении по VNC и SPICE, если используется HTTPS протокол (443 порт).
-
Перенос виртуальных дисков между ZFS LUN.
6.3.1
- Исправлена ошибка обновления узла с ролью Controller.
- Реализован механизм восстанавливающий состояние iscsi target после перезагрузки сервера.
Основные изменения SpaceVM 6.2.x
6.2.0
Минорный релиз
Реализована новая функциональность, без нарушения обратной совместимости.
-
Возможность выгрузки событий во внешние системы логирования в формате UTF-8. Интеграция с ArcSight.
-
Реализована совместимость компонентов решения с наложенными средствами защиты информаций MaxPatrol.
-
Реализовано хранение нескольких копий политики безопасности с возможностью применить необходимую.
-
Возможность настройки приоритета политик безопасности межсетевого экрана.
-
Запрет на удаление встроенного лицензионного ключа.
-
Возможность настройки параметров FRL для виртуальных графических ускорителей.
-
Возможность фиксации ВМ в начале общего списка.
-
Возможность добавления ВМ в список избранных.
-
Режим день/ночь в графическом интерфейсе.
Экспериментальный функционал
- Добавлен режим хранения данных Linstor.
Исправлены ошибки:
-
Резервное копирование: статус "создается" для задач, завершенных с ошибкой.
-
Ошибка работы ZFS pool + LUN при перезагрузке сервера.
-
Ошибка создания кластерного транспорта.
-
Исправление загрузки SpaceVM в режиме UEFI на системах с некорректным чтением NV variables.
-
Ошибка при повторном добавление сервера в кластер с добавлением кластерного транспорта.
-
Исправлена работа сетей при повторном добавлении хоста в кластер.
-
Ошибка работоспособности функции разрежения диска.
-
#634 Ошибка отправки уведомлений при настройках «без аутентификации».
6.2.1
- #496 Исправлена ошибка выделения гарантированной оперативной памяти виртуальным машинам.
- Расширен набор команд в CLI для интеграции MaxPatrol.
Основные изменения SpaceVM 6.1.x
6.1.0
Минорный релиз
Реализована новая функциональность, без нарушения обратной совместимости.
-
Реализована возможность микросегментации сети.
-
Повышена безопасность хранения паролей в конфигурационных файлах.
-
Добавлена технология Floating IP для доступа к ВМ организаций из внешней сети.
Исправлены ошибки:
#92 Возможность отключения ребаланса в balance-slb
#113 Ошибка при миграции ВМ с виртуальным диском
Основные изменения SpaceVM 6.0.x
6.0.5
Виртуальные машины
- Исправлена ошибка создания снимков для ВМ с LUN.
- Добавлена кнопка просмотра файловых систем ВМ.
- Имя ВМ уникально только в рамках пула ресурсов.
- Добавлена возможность переноса шаблона вместе с его тонкими клонами с переносом дисков.
Установка
- Исправлена проблема установки в сети с dhcp IPv6.
- Исправлена проблема установки с локалями.
Зависимости
- lm_sensors
- nfs4-acl-tools
- nfs-kernel-server
CLI
sensors
storage nfs-server *
(Команды статуса, останова, запуска nfs-server)controller/node db-password secret_password
(Смена пароля базы данных)controller/node redis-password secret_password
(Смена пароля Redis)controller db-autovacuum-stats
(Статистика autovacuum)
Унификация команд
В командах заменены все нижние подчеркивания на дефисы для унификации.
Исправлены ошибки:
#219 Корректность отображения времени в разделе внешние сети
#440 Актуальность шаблонов MIB
#443 Актуальность документации
6.0.4
Виртуальные машины
- Добавлено подтверждение принудительной перезагрузки ВМ и опция отмонтирования всех образов.
- Правка задания metadata и userdata для Cloud-Init.
Хранилища
- Загрузка и перенос файлов и образов через промежуточную директорию в пуле данных (.TMP).
Сети
- Исправлен метод сбора информации о сетевых интерфейсах.
- Добавлено определение USB Ethernet интерфейсов.
- Floating ip MVP.
Журнал
У всех сущностей выведена вкладка их задач.
CLI
controller db_vacuum
controller db_get_size
Исправлены ошибки:
#65 Отсутствует предупреждение при выключении/перезагрузке ВМ
#289 Настройка высокой доступности
6.0.3
Виртуальные машины
- Правки мультииспользования LUN виртуальными машинами.
Хранилища
- Правки сортировки образов и файлов.
CLI
- Возможность редиректа вывода команд в файл для дальнейшего анализа и передачи в support.
Общее
- Включено ведения контрольных сумм в кластере PostgreSQL 13.
- Swagger контроллера и узла с поддержкой OpenApi 3.0.
Установка
- Правки установки на блочные сетевые устройства через multipath.
Исправлены ошибки:
#19 Ограждение Node при операциях с GFS
#130 Отображение процентов выполнения текущей задачи
#115 Недоступность кластера после репликации
6.0.2
Виртуальные машины
- Возможность перехода сразу в окно ВМ после создания.
Вычислительные узлы
- Правки проверки соединения контроллера с узлами.
Хранилища
- Добавлена смена производителя блочного хранилища.
- Добавлена опция переноса диска со снимками.
Безопасность
- Базовый пароль в Web-интерфейс контроллера и узла сменен на admin.
- Поддержка аутентификации в системе через сервер RADIUS.
Общее
- Swagger с поддержкой OpenApi 3.0.
6.0.1
Подсистема логирования
Стек td-agent-elasticsearch-kibana заменён на td-agent-loki-grafana.
Виртуальные машины
- Правки отключения и подключения дисков к нескольким ВМ.
- Добавлена кнопка вывода гостевых процессов ВМ.
- Выведен Cloud-Init.
- Кнопка отсоединения выключенного тонкого клона от шаблона (превращение в отдельную ВМ).
- Правки изменения частоты процессора ВМ.
Хранилища
- Правки сканирования дисков у блочных пулов данных.
- При сканировании хранилищ контроллера собирается статистика iops пулов данных и Luns, при этом расставляются их приоритеты
Кластер
- Включена система высокой доступности в отсутствии контроллера.
Контроллер
- Выведены сетевые настройки контроллера.
Общее
- Переделана подсистема вебсокетов.
- Оптимизированы графики.
- Управление подкачкой.
Зависимости
- Обновлено около 200 системных пакетов.
Сети
- Правка дублирования MAC-адресов при групповом подключении ВМ к виртуальной сети.
6.0.0
Мажорный релиз
Крупный релиз без обратной совместимости.
Ended: Релизы
Безопасность ↵
Информационная безопасность
Общая информация
Виртуализация сопряжена с рядом угроз информационной безопасности, которые могут подвергать риску как работу отдельных виртуальных машин, так и безопасность всей IT-инфраструктуры в целом.
Существует множество типов угроз, с которыми сталкиваются среды виртуализации: от внешних атак, таких как вирусы и вредоносное ПО, до внутренних угроз, включая неправильную настройку и управление доступом. Эти риски требуют комплексного подхода к безопасности, начиная с понимания и анализа потенциальных уязвимостей, и заканчивая внедрением эффективных мер защиты.
Для предотвращения атаки на виртуальную среду дополнительно может потребоваться внедрение специализированного программного обеспечения. Далее указаны рекомендации по базовой настройке технологической операционной системы и системы виртуализации SpaceVM для улучшения информационной безопасности инфраструктуры, а также борьбы с угрозами, вызванными проблемами конфигурации виртуальной среды.
Рекомендации по настройке информационной безопасности SpaceVM
Список рекомендаций по обеспечению ИБ SpaceVM
Рекомендации по обеспечению информационной безопасности технологической операционной системы
Обеспечить отдельный раздел для /var/log
Выполнить команду и убедиться, что каталог /var/log подключен:
# mount | grep /var/log
/dev/mapper/sys_vg01-log_storage on /var/log type ext4 (rw,relatime)
По умолчанию раздел /var/log смонтирован отдельно.
Обеспечить настройку параметра nodev для раздела /dev/shm
Удостовериться, что параметр nodev настроен, если существует раздел /dev/shm. Для этого выполнить команду и убедиться, что вывод пустой:
# mount | grep -E '\s/dev/shm\s' | grep -v nodev
По умолчанию параметр nodev настроен на разделе /dev/shm.
Обеспечить настройку параметра nosuid для раздела /dev/shm
Удостовериться, что параметр nosuid настроен, если существует раздел /dev/shm. Для этого выполнить команду и убедиться, что вывод пустой:
# mount | grep -E '\s/dev/shm\s' | grep -v nosuid
По умолчанию параметр nosuid настроен на разделе /dev/shm.
Обеспечить настройку параметра noexec для раздела /dev/shm
Удостовериться, что параметр noexec настроен, если существует раздел /dev/shm. Для этого выполнить команду и убедиться, что вывод пустой:
# mount | grep -E '\s/dev/shm\s' | grep -v noexec
По умолчанию параметр noexec не настроен на разделе /dev/shm.
Обеспечить установку sticky bit для всех каталогов с открытым доступом на запись
Чтобы убедиться, что для всех каталогов с открытым доступом на запись установлен атрибут sticky bit, необходимо выполнить команду:
# df --local -P | awk '{if (NR!=1) print $6}' | xargs -I '{}' find '{}' -xdev -type d \( -perm -0002 -a ! -perm -1000 \) 2>/dev/null
По умолчанию атрибут sticky bit не присутствует на некоторых директориях.
Обеспечить настройку безопасных разрешений на доступ к файлу /etc/issue
Запустить команду и убедиться, что для UID и GID указано 0/root и права на доступ определены как 0644:
# stat /etc/issue
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
По умолчанию разрешения на доступ к файлу /etc/issue корректные.
Обеспечить настройку безопасных разрешений на доступ к файлу /etc/motd
Запустить команду и убедиться, что для UID и GID указано 0/root и права на доступ определены как 0644:
# stat /etc/motd
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
По умолчанию разрешения на доступ к файлу /etc/motd корректные.
Обеспечить настройку безопасных разрешений на доступ к файлу /etc/issue.net
Запустить команду и убедиться, что для UID и GID указано 0/root и права на доступ определены как 0644:
# stat /etc/issue.net
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
По умолчанию разрешения на доступ к файлу /etc/issue.net корректные.
Рекомендации по обеспечению информационной безопасности облачной платформы SpaceVM
Доступ к администрированию системы виртуализации на узлах с ролью "Controller + Node" или "Node"
Изменить пароль по умолчанию в разделе основного меню Безопасность - Пользователи каждого узла с ролью "Controller + Node" или "Node".
По умолчанию: логин - admin, пароль - admin.
Настройка политики паролей системы централизованного управления Space Controller
Изменить параметры политики паролей в разделе Безопасность - Пользователи - Политики авторизации.
Параметры по умолчанию:
- Уровень безопасности пароля: low.
- Количество попыток до ограничений: 5.
- Время блокировки пользователя: 10 мин.
- Время между попытками: 10 с.
- Ограничение при превышении лимита попыток: да.
- Авторизация с проверкой MAC-адресов: нет.
Журналирование действий с ограниченным доступом в Space Controller
При включении будут создаваться события безопасности для всех попыток действий пользователя, к которым у него нет доступа. Настройки выполняются в разделе основного меню Настройки - Системные.
По умолчанию параметр выключен.
Журналирование некорректных действий пользователей в Space Controller
При включении будут создаваться события с ошибками валидации действий пользователей, например, превышение доступных или системных лимитов и т.д. Настройки выполняются в разделе основного меню Настройки - Системные.
По умолчанию параметр выключен.
Возможность удаления пользователей, созданных в локальной базе Space Controller
Настройка выполняется в разделе основного меню Настройки - Системные.
По умолчанию параметр выключен.
Настройки сессий пользователя
Настройки выполняются в разделе основного меню Настройки - Системные.
После изменения полей необходимо подтвердить операцию, нажав кнопку OK и перезагрузить сервисы контроллера командами CLI:
services restart controller-web-api
services restart controller-engine
.
Параметры по умолчанию:
- Тайм-аут бездействия пользователя: 600 с.
- Количество одновременных сессий: 100.
Настройки параметров токенов API
Настройка выполняется в разделе основного меню Настройки - Системные.
Параметры по умолчанию:
- Период жизни токена: 1 день.
- Период возможности обновления токена: 28 дней.
- Время жизни сессионных cookie: 14 дней.
Доступ к централизованной системе управления Space Controller по SSH
Добавить ключи шифрования для пользователя в разделе основного меню Безопасность - Ключи шифрования.
По умолчанию ключи шифрования отсутствуют.
Подключение к службе каталогов LDAP по протоколу LDAPS
Настроить интеграцию со службой каталогов по протоколу LDAPS (при наличии соответствующей поддержки).
По умолчанию интеграция со службой каталогов не настроена.
Настройки журнала событий безопасности
Настроить параметры архивирования и очистки журнала событий в разделе Безопасность - События - Настройка архивации журналов.
Параметры по умолчанию:
- Минимальное количество событий для архивирования журнала: 100 000.
- Размер хранилища архивов журнала: 10 Гбайт.
- Лимит заполнения журнала в процентах: 80.
- Автоматическая очистка директории логов журнала: выкл.
Использование стойких алгоритмов хеширования паролей
Настройки алгоритмов хеширования паролей пользователей и загрузчика GRUB не могут быть изменены.
Параметры по умолчанию:
- Используемый алгоритм при установке для пользователя root: yescrypt.
- Используемый алгоритм при последующем создании пользователей: gost-yescrypt.
- Используемый алгоритм для хеширования пароля GRUB: PBKDF2 с функцией хеширования SHA512.
Ограничение доступа к редактированию меню загрузчика
Установить пароль для изменения конфигурации загрузчика командой CLI boot-protect
.
По умолчанию пароль не установлен. При его установке предъявляются требования политики паролей уровня middle.
Проверка контроля целостности установленного ПО SpaceVM
После установки или обновления SpaceVM провести фиксацию контрольной суммы командой CLI aide init
.
По умолчанию база контрольных сумм не создается.
Выполнять последующую регулярную сверку контрольных сумм командой CLI aide check
.
Доступ к подсистеме встроенной статистики и мониторинга
Включить доступ к встроенному функционалу Grafana командой CLI grafana start
.
По умолчанию подсистема Grafana отключена.
После включения доступ осуществляется с использованием учетной записи: логин - admin, пароль - admin.
Ограничение работы команд CLI
Включение или отключение CLI выполняется командой cli disable
.
По умолчанию параметр включен.
Ограничение доступа по SSH
Включение или отключение доступа по SSH выполняется командой CLI ssh disable|enable
.
По умолчанию параметр включен.
Управление сессиями SSH
Управление сессиями SSH выполняется с помощью команды CLI ssh session
.
Параметры по умолчанию:
- client-alive-count-max: 1.
- client-alive-interval: 7200.
- maxauthtries: 4.
- maxlogins: 1.
- maxsessions: 10.
- maxsyslogins: 10.
Доступ к системе централизованного управления по протоколу HTTPS с применением HTML5
-
Добавить сертификат в разделе основного меню Безопасность - SSL сертификаты и применить его к Web-интерфейсу SpaceVM.
По умолчанию при установке создается самоподписанный сертификат
CN=*
. -
Отключить доступ по HTTP во встроенном firewall. Для этого в разделе Сети - Сетевые настройки - Management plane - Пограничный брандмауэр - Фильтр. вх. трафик установить для протокола port 80 tcp значение drop. Либо выполнить перенаправление HTTP на HTTPS командой CLI
controller nginx-https enable
.По умолчанию доступ по HTTP включен.