Выделенные серверы (bare metal)
Раздел в панели управления: Infrastructure › Bare Metal (Servers
/infra/baremetal, IP Pools, Stock / iDRAC import, Operations, Templates, Customer ISOs, Safety). Тарифы и подписки: Services › Dedicated Server (/dedicated). Включите модуль в разделе System › Admin › License & updates (/license).
Назначение
NexCMP управляет физическими серверами напрямую через iDRAC по Redfish API. Клиенты арендуют сервер целиком: включают и выключают питание, открывают веб-консоль, монтируют ISO или устанавливают операционную систему из шаблона, а также просматривают сведения об оборудовании и метрики. При этом адрес, имя пользователя и пароль iDRAC клиентам никогда не раскрываются.
Используйте модуль для перепродажи выделенных серверов из собственных стоек.
Требования
| Параметр | Требование |
|---|---|
| Оборудование | Серверы Dell с iDRAC 9 и Redfish API. |
| Сеть управления | Предоставляется вами. Сервер панели должен иметь доступ к каждому iDRAC по порту HTTPS 443 (а также к VNC-порту iDRAC, по умолчанию 5901, для консоли), а каждый iDRAC должен иметь доступ к указанному ниже веб-серверу ISO. Адрес iDRAC должен быть IPv4-адресом из частного диапазона (RFC 1918, префикс /16 или меньше), который вы указываете в настройке dedicated_bmc_cidrs. DNS-имена и IPv6 не принимаются. NexCMP не создает эту сеть и не может проверить ее за вас. |
| Учетная запись iDRAC | Одна учетная запись с привилегиями Administrator на каждом iDRAC. NexCMP использует ее для считывания данных сервера и отправки разрешенных команд (питание, виртуальные носители, однократная загрузка, консоль). NexCMP никогда не создает учетные записи iDRAC для ваших клиентов. |
| Утилиты на сервере панели | xorriso и genisoimage (собирают установочный ISO каждого сервера) и novnc (страница консоли в браузере). Установите их с помощью sudo apt-get install -y xorriso genisoimage novnc или доверьте это установщику: запустите его с --baremetal либо передайте ему параметры ISO-сервера; обновление также устанавливает их, если модуль Bare Metal уже включен. Если какая-либо утилита отсутствует, во вкладке Safety появится красное предупреждение, переключатель live ops не включится (ошибка tools_missing), а консоль и установка ОС сообщат об отсутствующей утилите вместо сбоя на более позднем этапе. |
| Веб-сервер ISO | Обычный сервер HTTP в сети управления, раздающий папку ISO NexCMP для iDRAC. Его адресом является частный IPv4-адрес и опциональный порт, например http://10.20.0.2:8080, без пути, сохраненный в dedicated_iso_base_url. Он должен поддерживать диапазоны байтов (byte ranges). Запись в папку выполняет воркер панели, поэтому веб-сервер обычно работает на самом сервере панели, прослушивая адрес этого сервера в сети управления. В комплект поставки NexCMP входит готовый сайт nginx и команда в один шаг для его настройки (см. ниже). |
| Папки ISO | Папка для ISO-файлов и находящиеся внутри нее pub (то, что считывают iDRAC) и server (пользовательские ISO). Одношаговая команда использует /srv/nexcmp-iso; без нее применяются значения по умолчанию после установки (настройки dedicated_iso_lib_dir, dedicated_iso_pub_dir, dedicated_iso_server_dir). Воркер NexCMP должен иметь права на запись в них. Он работает с файловой системой только для чтения, за исключением /var/lib/nexcmp, поэтому для папки в другом месте требуется systemd drop-in (одношаговая команда устанавливает его). |
| Callback-адрес | dedicated_callback_base — https://<your-domain>, доступный с устанавливаемого сервера и указывающий на вашу панель. |
| Хранилище | Свободное место на диске для библиотеки ISO и пользовательских ISO-образов. |
| Зависимости | Модуль Bare Metal, зона и IP-пулы серверов. |
Примеры значений — это не конфигурация
При чистой установке параметры dedicated_bmc_cidrs, dedicated_iso_base_url и dedicated_callback_base содержат примеры значений (тестовая частная сеть и https://example.com). Они не относятся к вашей сети. Пока хотя бы один из них содержит пример значения, на страницах Bare Metal отображается красное уведомление Management network not configured, импорт iDRAC не проходит проверку разрешенных списков, а переключатель live ops отказывается включаться (ошибка config_placeholder). Задайте эти три значения в разделе Infrastructure › Bare Metal › Safety › Management network connection (см. ниже).
Подготовка инфраструктуры
Поместите каждый iDRAC в сеть управления, недоступную для клиентов, и назначьте каждому фиксированный частный IPv4-адрес. Проверьте Redfish API с сервера панели:
bashcurl -sk -u 'nexcmp-admin:XXXX' https://10.20.0.11/redfish/v1/Systems | headСоздайте учетную запись администратора на iDRAC для NexCMP (через веб-интерфейс iDRAC или
racadm). Используйте надежный уникальный пароль. Никогда не используйте встроенную учетную запись iDRAC.Публикация папки ISO для iDRAC в одну команду. На сервере панели от имени root с указанием адреса этого сервера в сети управления и сети iDRAC:
bashsudo nexcmp dedicated-setup-iso --listen 10.20.0.2:8080 --allow 10.20.0.0/24--listenдолжен быть адресом этого сервера (частный IPv4, порт 8080 по умолчанию). В--allowуказываются сети iDRAC (частные CIDR, /16 или меньше, до 8 через запятую); только они смогут выполнять скачивание, и команда также запишет их вdedicated_bmc_cidrs, если в этой настройке все еще указан пример значения.--dir /pathпозволяет выбрать другую папку ISO (по умолчанию/srv/nexcmp-iso). Команда:- создает папку с подпапками
pubиserverвнутри, владельцем которых становится сервисный пользователь NexCMP; - создает группу
nexcmp-isoи добавляет в нее пользователя nginx, чтобы nginx мог читать ISO, пока тот подключен к iDRAC, и доступ был закрыт для всех остальных; - устанавливает сайт nginx
nexcmp-iso(сохраняется, только еслиnginx -tпринимает его; если nginx отсутствует, он будет установлен) и systemd drop-innexcmp-vmd.service.d/iso.conf(ReadWritePathsдля папки,SupplementaryGroups=nexcmp-iso); - записывает настройки ISO (
dedicated_iso_base_url, три папки, группу) и перезапускает воркер NexCMP.
Ее можно запускать повторно с другими значениями, а флаг
sudo nexcmp dedicated-setup-iso --removeудаляет сайт nginx и drop-in (файлы ISO сохраняются). Команду также можно выполнить во время установки: добавьте--iso-listen,--iso-allow(и--iso-dir) к команде установки. Команда не создает сеть управления и не обращается к iDRAC; если значения неверны, адрес не принадлежит этому серверу или порт занят, она завершает работу с сообщением об ошибке до внесения изменений, а сайт nginx, отклоненныйnginx -t, не сохраняется.- создает папку с подпапками
Что раздает веб-сервер ISO. Сайт nginx отвечает на запросы
GET(иHEAD, с диапазонами байтов) для/pub/<name>.isoи больше ни на что: листинг директорий отключен, другие пути внутри каталога недоступны (библиотека иserver/недосягаемы), другие методы запрещены, а доступ открыт только из сетей--allow(остальные получают 403). NexCMP предоставляет каждый ISO-образ, который должен прочитать iDRAC, как файл или временную ссылку вpub; nginx переходит по ссылке, только если у ссылки и её цели один и тот же владелец (сервисный пользователь), поэтому ссылка на системный файл отклоняется. Проверьте это с другого хоста в сети управления:bashcurl -I http://10.20.0.2:8080/ # 403 or 404, never a listing curl -I http://10.20.0.2:8080/pub/ # 403 or 404Тестовый файл в
pubдолжен отвечать на запросRangeкодом 206.Если настраивать вручную: конфигурация сайта nginx и дроп-ин поставляются как шаблоны в релизном пакете (
share/dedicated/nginx-iso.confиshare/dedicated/vmd-iso.confв каталоге/opt/nexcmp/releases/<version>/). Скопируйте их, замените маркеры__...__(listen address, folder, строки allow, group) и сохраните указанные выше правила.Подготовьте образы ОС. Поместите ISO-образы с автоустановкой в папку библиотеки (см. Templates ниже). Клиенты также могут добавлять ISO по ссылке; они скачиваются на сервер и никогда не передаются в iDRAC в виде URL.
Подключение в NexCMP
1. Включите модуль
В разделе System › Admin › License & updates включите переключатель Bare Metal. Категория Bare Metal появится в меню Infrastructure. См. Modules.
2. Настройка подключения к сети управления
Откройте Infrastructure › Bare Metal › Safety. В карточке Management network connection задаются три значения, от которых зависит работоспособность всей системы:
| Поле | Настройка | Что указать |
|---|---|---|
| Сеть iDRAC (CIDR) | dedicated_bmc_cidrs | Приватные сети ваших iDRAC, например 10.20.0.0/24. Только частные CIDR размером /16 или меньше, до 8 диапазонов через запятую. Импортировать можно только iDRAC из этих диапазонов. |
| ISO-сервер для iDRAC | dedicated_iso_base_url | http://<private IPv4>[:port], без пути: адрес веб-сервера ISO из предыдущего раздела, например http://10.20.0.2:8080. Автоматическая команда заполнит его за вас. |
| Callback-адрес панели | dedicated_callback_base | https://<your-domain>, без пути: адрес, к которому обращается устанавливаемый сервер для отчета о завершении. Он должен быть доступен из сети этого сервера. Значения вроде example.com, localhost и аналогичные не принимаются. |
Форма проверяет формат по мере ввода, а сервер повторно проверяет его при сохранении; некорректное значение отклоняется с указанием причины, а сохраненное значение остается прежним. Поле, содержащее шаблонное значение по умолчанию, помечается красной меткой Not configured, а на каждой странице Bare Metal отображается красное уведомление Management network not configured, пока все три параметра не будут заданы корректно. Изменения записываются в журнал аудита вместе с указанной вами причиной. Повторное сохранение шаблонного значения не считается настройкой, если только вы не ввели его вручную.
3. Проверка защитного шлюза (пока оставьте его закрытым)
Откройте Infrastructure › Bare Metal › Safety. Live ops — это глобальный переключатель для всех команд записи в iDRAC (питание, виртуальные носители, консоль и установка ОС). Изначально он выключен, и его нельзя включить, пока в параметрах подключения к сети управления остаются шаблонные значения (переключатель возвращает config_placeholder и перечисляет незаполненные поля). Операции записи отклоняются на уровне API и внутри воркера, тогда как чтение статуса продолжает работать. Вторая блокировка, ops_locked, защищает каждый отдельный сервер: вновь импортированные серверы всегда заблокированы, даже если live ops включен.

4. Импорт серверов
Откройте Infrastructure › Bare Metal › Stock / iDRAC import.
В блоке Add one server введите адрес iDRAC, учетную запись и пароль, затем нажмите Test connection. Тест отправляет только команды чтения и ничего не сохраняет.
Поле Пример значения Адрес iDRAC (URL или хост) 10.20.0.11Учетная запись nexcmp-adminПароль XXXXМетка rack1-01(пусто: генерируется)Назначить IP из пула необязательно; выберите сервисный пул IP-адресов сервера Включить в список продаж выключено, пока вы не будете готовы 
Нажмите Save to stock. NexCMP считывает модель, CPU, RAM, диски, сетевые адаптеры и сервисный тег из iDRAC. Сервер добавляется на склад заблокированным.
Для массового добавления серверов используйте Bulk import: по одному серверу на строку, поля разделяются запятой, точкой с запятой или Tab. Функция Preview проверяет список разрешенных адресов, дубликаты адреса iDRAC или сервисного тега и считывает информацию об оборудовании (до четырех серверов одновременно).
5. Пользовательские ISO и веб-адрес ISO
Откройте Infrastructure › Bare Metal › Customer ISOs.
- Параметр HTTP address serving ISOs to iDRAC — это
dedicated_iso_base_url, то же значение, что и в карточке Safety (его можно изменить в любом из этих мест). Укажите адрес вашего веб-сервера ISO в сети управления. - Параметры Customer ISO limits задают размер одного ISO, общий объем хранилища ISO, минимальное свободное место, срок хранения ISO (в часах), максимальное время скачивания и количество одновременных скачиваний.

6. Шаблоны ОС
Откройте Infrastructure › Bare Metal › Templates. Здесь перечислены ISO-образы с автоустановкой, найденные в папке библиотеки. Нажмите Register напротив файла, чтобы указать семейство ОС, версию и учетную запись (заполняются автоматически по имени файла), затем переведите шаблон в положение Enable. Включение шаблона ничего не запускает: каждая установка по-прежнему проходит проверку safety gate. Действие Unregister лишь удаляет строку шаблона, но не сам файл.

7. IP-пулы
Откройте Infrastructure › Bare Metal › IP Pools и добавьте диапазоны IPv4, которые серверы получают в качестве сервисных адресов. Каждый сервер получает один адрес; опция Назначить IP из пула при импорте выбирает следующий свободный адрес. Количество свободных адресов подсчитывается для каждого пула.

8. Тарифные планы и продажи
- Откройте Services › Dedicated Server › Plans & pricing. Отредактируйте четыре демонстрационных тарифа (в версии 1.6.1 они называются
BM-40C-<RAM>) или создайте свои: цену, расчетные периоды и стоимость установки. При новой установке цены указываются в долларах США с точностью до цента, и с кошелька списывается именно эта сумма: курс обмена не требуется. В установках, где цены тарифов уже были заданы во вьетнамских донгах, сохраняются донги и по-прежнему требуется курс обмена в настройках (без него заказы отклоняются с ошибкойdedicated_fx_unavailable). Демонстрационные тарифы изначально имеют цену 0 и находятся в статусе disabled: для выставления на продажу цена тарифа должна быть больше 0. Сопоставляйте каждый тариф с фактически импортируемым оборудованием: имя демонстрационного тарифа не определяет и не изменяет аппаратную конфигурацию сервера. - Откройте сервер (Infrastructure › Bare Metal › the server › Sales), прикрепите тарифный план и включите Sellable.
- Включите live ops (страница Safety, с текстовым подтверждением) и разблокируйте серверы, с которыми планируете работать (вкладка сервера Lock, с указанием причины, заносимой в журнал аудита).
- В разделе Services › Dedicated Server включите продажи. Это выполняется в два шага: ознакомьтесь с последствиями, а затем введите
ENABLE SALES. До этого момента клиенты не видят страницу заказа, и средства с них не списываются.

Возможности клиентов на странице сервера
Страница сервера клиента содержит шестнадцать вкладок в семи группах (Overview, Control, Network, Hardware, Billing, Activity, Settings). Группа Billing содержит:
- Тариф и продление: оплата от 1 до 24 месяцев вперед за один шаг; новая дата отсчитывается от текущей даты продления, а средства списываются с баланса единоразово. Автопродление можно включить или выключить.
- Billing cycle: выбор другого расчетного периода (например, раз в квартал); он начинает действовать со следующего продления, при этом в текущий момент списания и возвраты не производятся.
- Change plan: клиент может запросить другой тариф. При отправке запроса списания не производятся. Вы одобряете или отклоняете его в разделе Services › Dedicated Server › Plan changes после апгрейда оборудования или переноса сервера. При одобренном апгрейде списывается разница за остаток уже оплаченного периода; даунгрейд не предполагает возврата средств и вступает в силу со следующего периода.
- Invoices: все счета данного сервера (заказ, продления, смены тарифа).
В разделе Plan changes можно сортировать запросы по ID, дате, состоянию, тарифам или серверу; сортировка применяется ко всей выборке на сервере. Колонка действий остается видимой при горизонтальной прокрутке на узком экране.
В верхней части Overview четыре динамические плитки отображают CPU, RAM, Disk и Network с небольшим графиком за последние 24 часа. CPU, RAM и Disk показывают процент использования по данным последнего опроса iDRAC (Disk — это активность ввода-вывода, а не свободное место); Network показывает текущую входящую и исходящую скорость, а также общий объем за месяц по данным счетчика трафика. Если сервер выключен, iDRAC недоступен или машина не передает это значение, на плитке отображается — и краткая причина; вымышленный 0 никогда не показывается. Эти показатели поступают из Dell iDRAC, а без счетчика трафика на плитке Network остается —. Плитки обновляются каждую минуту, пока открыта страница, а при клике открывается вкладка Hardware или Bandwidth.
Во вкладке Overview на карточке Access отображаются имя пользователя и пароль установленной операционной системы, по умолчанию скрытые кнопками Show и Copy. Они доступны после каждой установки, а не только один раз, при этом новый владелец сервера никогда не увидит пароль предыдущего владельца. Если пароль ОС был изменен внутри сервера, на карточке по-прежнему отображается пароль, заданный при установке. Вкладка Bandwidth отображается только при наличии агента учета трафика (см. раздел «Ограничения»). Вкладка Subnet отсутствует: аренда собственных IP-префиксов (BYOIP) для выделенного сервера в NexCMP не поддерживается.
Что клиенты могут и чего не могут делать
| Клиенты могут | Недоступно никогда |
|---|---|
| Просматривать инвентарь, состояние работоспособности, статус питания и метрики | Видеть адрес, имя пользователя или пароль iDRAC |
| Включать питание, выполнять штатное выключение, перезагрузку, принудительное выключение, сброс | Изменять учетные записи iDRAC или сетевые настройки iDRAC |
| Открывать консоль в браузере (не более одной сессии одновременно) | Изменять BIOS или RAID, очищать журналы, обновлять прошивку, сбрасывать iDRAC |
| Монтировать ISO или ссылку на собственный ISO, настраивать однократную загрузку, переустанавливать ОС из активного шаблона | Выполнять прямые вызовы Redfish (такие функции отсутствуют в NexCMP) |
NexCMP не создает учетные записи iDRAC для клиентов: они пользуются только элементами управления в портале, а адрес и учетные данные iDRAC им никогда не показываются.
Проверка
- В разделе Safety карточка Management network connection не содержит красных меток, а на страницах Bare Metal отсутствуют красные предупреждения. При обращении с хоста в сети управления
curl -I http://<iso-address>/не выводит список файлов. - Кнопка Test connection в форме импорта возвращает модель, CPU, RAM и service tag.
- Сервер появляется в Servers со своим оборудованием. При live ops off действие по управлению питанием отклоняется с сообщением «Управление сервером временно отключено на уровне всей системы».
- После включения live ops и разблокировки одного тестового сервера выключите и включите питание сервера в Operations или на странице сервера, а затем откройте консоль.
- Оформите тестовый заказ с тестовым планом: сервер назначается, ОС устанавливается, и установка завершается отправкой отчета сервера в панель.
Ограничения и примечания
- У каждого физического сервера может быть не более одной действующей подписки.
- Команда на запись отправляется только тогда, когда одновременно включен режим live ops и снята блокировка с сервера. Проверка повторяется внутри worker непосредственно перед каждой командой.
- В статусе Installing система ожидает ответа новой ОС на ее порту (SSH 22, Windows 3389, Proxmox 8006) до завершения заказа; время установки ограничено (
dedicated_install_timeout_min, по умолчанию 150 минут). - Учет трафика для выделенных серверов ведется через агент учета трафика, который не входит в стандартную установку. Без него учет не ведется, портал скрывает вкладку Bandwidth, а API возвращает
capabilities.bandwidthкакfalse. - Действия администратора с арендованным сервером (блокировка, разблокировка, отмена с возвратом средств или без) унифицированы с другими услугами; возвраты зачисляются на тот баланс, с которого производилась оплата.
- Серверы не перепродаются через реселлеров: услуга Dedicated продается только с основного сайта.
Устранение неполадок
| Симптом | Причина | Решение |
|---|---|---|
| Тест завершается с ошибкой адреса | Адрес не является IPv4-литералом из dedicated_bmc_cidrs (частный диапазон, /16 или меньше) либо порт не разрешен | Используйте IPv4-адрес iDRAC и добавьте его подсеть в Safety › Management network connection (dedicated_bmc_cidrs). DNS-имена и IPv6 не поддерживаются. |
Красное предупреждение «Management network not configured» или переключатель оперативных действий возвращает config_placeholder | Одно из значений dedicated_bmc_cidrs, dedicated_iso_base_url, dedicated_callback_base по-прежнему содержит шаблонное значение по умолчанию | Укажите фактические значения в меню Safety › Management network connection. |
| Поле отклоняется при сохранении | Неверный формат (CIDR не является частным или шире чем /16, адрес ISO не http://<private IPv4>[:port], callback не https://<domain>) либо указан шаблонный адрес вроде example.com | Ознакомьтесь с сообщением под полем; сохраненное значение остается без изменений. |
nexcmp dedicated-setup-iso завершает работу до внесения каких-либо изменений | --listen не является адресом этого сервера, порт уже занят либо указано недопустимое значение | Используйте адрес этого сервера в сети управления, выберите другой порт или исправьте значение, указанное в сообщении. |
| "TLS-сертификат iDRAC отличается от закрепленного — опрос и операции записи остановлены" | Сертификат iDRAC был заменен (новый сертификат, замена iDRAC) | Откройте сервер, перейдите на вкладку Access, сравните оба отпечатка и, если изменение выполнено намеренно, нажмите Repin certificate. |
| «Управление серверами временно отключено на уровне всей системы» | Операции в реальном времени отключены | Включите их в Safety. |
| «Этот сервер заблокирован для выполнения операций» | Сервер заблокирован для операций | Разблокируйте сервер на вкладке Lock, указав причину. |
| «На этом сервере все еще выполняется другая операция» | Предыдущая операция еще не завершена | Подождите; проверьте Operations. |
| «Для этого сервера уже открыт другой сеанс консоли» | Допускается только одна сессия консоли | Закройте другую сессию. |
| «Контроллер сервера временно недоступен» | iDRAC не отвечает | Проверьте сеть управления и iDRAC. |
| Сбой монтирования ISO с ошибкой 403 или 404 от iDRAC | Веб-сервер не может прочитать файл или указан неверный базовый адрес | Проверьте права веб-сервера ISO и параметр HTTP address serving ISOs to iDRAC. |
| «Этого тарифного плана нет в наличии в выбранной локации» | В этой локации нет доступных для продажи серверов с данным тарифом | Привяжите тариф к серверу и включите Sellable. |
| «В данный момент нет доступных адресов IPv4 для назначения» | Пул IP-адресов пуст | Добавьте адреса в пул. |
| «Автоматическая установка ОС сейчас недоступна» | Не выполнены предварительные требования для установки | Убедитесь, что шаблон включен и каталоги ISO доступны для записи; клиенты по-прежнему могут выполнить установку через ISO и консоль. |
| Установка зависает | Устанавливаемый сервер не может подключиться к callback-адресу | Проверьте dedicated_callback_base и доступность панели по HTTPS из сети сервера. |