План действий: адаптация сервера к новой аппаратной конфигурации
Дата: 2026-02-07
Контекст: Замена материнской платы, процессора и ОЗУ на хост-сервере Denkart.
Связанный документ: Проверка совместимости после замены железа
План выполнять по порядку. После каждого этапа — краткая проверка перед переходом к следующему.
Этап 0. Подготовка (до первого включения)
| # | Действие | Примечание |
|---|---|---|
| 0.1 | Убедиться, что в BIOS включена виртуализация (Intel VT-x / AMD-V) | Иначе LXD будет работать с ограничениями или нестабильно |
| 0.2 | Режим загрузки: UEFI (как было) или Legacy — согласовать с текущими разделами | Ранее использовался EFI (/dev/sdb1) |
| 0.3 | Подключить диски в те же порты SATA/разъёмы, если возможно | Снижает шанс смены имён устройств (sda/sdb/sdc) |
| 0.4 | Иметь под рукой: загрузочную флешку с Ubuntu (на случай проблем), доступ к роутеру Keenetic | — |
Этап 1. Первая загрузка и базовая диагностика
| # | Действие | Команда / проверка |
|---|---|---|
| 1.1 | Включить сервер, дождаться загрузки ОС | Вход по SSH или консоль |
| 1.2 | Проверить архитектуру и ядро | uname -m → x86_64; uname -r |
| 1.3 | Зафиксировать новый CPU и объём RAM | lscpu, free -h |
| 1.4 | Проверить виртуализацию | grep -E 'vmx|svm' /proc/cpuinfo — должна быть хотя бы одна строка |
| 1.5 | Если виртуализация отключена | Перезагрузка → BIOS → включить VT-x/AMD-V → сохранить и загрузиться снова |
Критерий перехода: Сервер загружается, архитектура x86_64, виртуализация включена.
Этап 2. Диски и монтирование
| # | Действие | Команда / проверка |
|---|---|---|
| 2.1 | Посмотреть текущую схему дисков | lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID |
| 2.2 | Проверить, что смонтированы / и /D |
df -h / /D |
| 2.3 | Открыть fstab | cat /etc/fstab |
| 2.4 | Если в fstab используются только /dev/sdX и порядок дисков изменился (например, корень «переехал» на другой букве) |
Вариант А: заменить в fstab на UUID (взять из lsblk). Вариант Б: исправить буквы устройств в fstab под текущие имена. После правок: sudo mount -a и перезагрузка для проверки |
| 2.5 | Записать для документации: какое устройство — корень, какое — /D | Например: корень — /dev/sdb2, /D — /dev/sdc |
Критерий перехода: После перезагрузки / и /D монтируются корректно.
Этап 3. Сеть: интерфейс и IP
| # | Действие | Команда / проверка |
|---|---|---|
| 3.1 | Узнать имя основного сетевого интерфейса и IP | ip -br a |
| 3.2 | Если IP не 192.168.1.112 | На роутере Keenetic: зарезервировать новый MAC за 192.168.1.112 (узнать MAC: ip link show). Либо на хосте настроить статический IP 192.168.1.112 в netplan |
| 3.3 | Если имя интерфейса не enp4s0 | Запомнить новое имя — понадобится для этапов 4 и 6 |
| 3.4 | Проверить доступность по сети | С другого ПК: ping 192.168.1.112, при необходимости SSH |
Критерий перехода: Хост имеет IP 192.168.1.112 и доступен в сети.
Этап 4. LXD и контейнеры
| # | Действие | Команда / проверка |
|---|---|---|
| 4.1 | Проверить, что LXD запущен | systemctl is-active snap.lxd.daemon или аналог для snap |
| 4.2 | Список контейнеров | lxc list |
| 4.3 | Запустить нужные контейнеры, если остановлены | lxc start BBB-CONT22-1 docs-denkart 1c-server-new postgresql-1c-new nginx-reverse-proxy (и другие по необходимости) |
| 4.4 | Проверить сеть LXD | lxc network show lxdbr0 |
| 4.5 | Проверить доступность приложений из контейнеров (локально) | Например: curl -s -o /dev/null -w "%{http_code}" http://10.218.14.37 (BBB), документация и т.д. |
Критерий перехода: LXD работает, контейнеры в состоянии RUNNING, сервисы внутри отвечают.
Этап 5. Маршрутизация (iptables) и доступ извне
| # | Действие | Команда / проверка |
|---|---|---|
| 5.1 | Узнать актуальное имя интерфейса (если ещё не сделано) | ip -br a |
| 5.2 | Применить правила iptables. Если интерфейс не enp4s0 | sudo IPTABLES_INTERFACE=<имя> /home/cdto/DENKART/config/iptables/port-forwarding-rules.sh (подставить имя, например enp1s0) |
| 5.3 | Если интерфейс по-прежнему enp4s0 | sudo /home/cdto/DENKART/config/iptables/port-forwarding-rules.sh |
| 5.4 | Проверить HTTP/HTTPS с хоста | curl -I http://192.168.1.112, curl -I https://192.168.1.112 |
| 5.5 | Проверить проброс портов с роутера | С внешней сети или с телефона (мобильный интернет): доступ к доменам/портам (80, 443, 1541, 1545 и т.д.). При смене MAC — убедиться, что на роутере порты пробрасываются на 192.168.1.112 |
Критерий перехода: С хоста и извне доступны веб-сервисы и нужные порты.
Этап 6. Мониторинг
| # | Действие | Команда / проверка |
|---|---|---|
| 6.1 | Prometheus | curl -s http://192.168.1.112:9091/-/healthy |
| 6.2 | Grafana | Открыть в браузере http://192.168.1.112:3000 |
| 6.3 | Node Exporter | curl -s http://192.168.1.112:9100/metrics | head -5 |
| 6.4 | При необходимости перезапустить контейнеры/сервисы мониторинга | По текущей схеме развёртывания (Docker/systemd и т.д.) |
Критерий перехода: Мониторинг отвечает на 192.168.1.112.
Этап 7. Сохранить конфигурацию iptables (опционально)
| # | Действие | Примечание |
|---|---|---|
| 7.1 | Если имя интерфейса изменилось и использовалась переменная IPTABLES_INTERFACE | Либо добавить в systemd-юнит/скрипт автозапуска установку IPTABLES_INTERFACE=<новое_имя>, либо один раз прописать новое имя по умолчанию в config/iptables/port-forwarding-rules.sh (переменная INTERFACE) |
| 7.2 | Если правила iptables должны применяться при каждой загрузке | Убедиться, что есть юнит/скрипт, который выполняется после поднятия сети и вызывает скрипт с нужным интерфейсом |
Этап 8. Обновление документации
| # | Действие | Документ / место |
|---|---|---|
| 8.1 | Вписать фактические CPU и RAM | host-server-passport.md — таблица «Аппаратные характеристики» |
| 8.2 | При смене имени интерфейса — обновить упоминания enp4s0 | Паспорт, README, при необходимости port-forwarding-rules.sh (по умолчанию в INTERFACE) |
| 8.3 | При смене схемы дисков — обновить устройства для / и /D |
host-server-passport.md, disk-architecture.md, requirements.md |
| 8.4 | Заполнить блок «Результаты проверки» | hardware-replacement-compatibility-check.md |
| 8.5 | Убрать пометки «уточнить» / «до замены» в паспорте и требованиях | После внесения фактических значений |
Критерий перехода: В документации отражены актуальные CPU, RAM, интерфейс и диски.
Сводная последовательность
0. Подготовка (BIOS, диски, доступ к роутеру)
→ 1. Первая загрузка, CPU/RAM, виртуализация
→ 2. Диски и fstab
→ 3. Сеть (интерфейс, IP 192.168.1.112)
→ 4. LXD и контейнеры
→ 5. iptables и доступ извне
→ 6. Мониторинг
→ 7. Закрепить iptables при загрузке (при необходимости)
→ 8. Обновить документацию
Быстрые команды для копирования (на хосте)
# Диагностика
uname -m && uname -r
lscpu | grep -E 'Model name|CPU\(s\)'
free -h
grep -E 'vmx|svm' /proc/cpuinfo | head -1
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID
ip -br a
cat /etc/fstab
# LXD
lxc list
lxc network show lxdbr0
# iptables (если интерфейс, например, enp1s0)
sudo IPTABLES_INTERFACE=enp1s0 /home/cdto/DENKART/config/iptables/port-forwarding-rules.sh
# Проверка доступности
curl -s -o /dev/null -w "%{http_code}" http://192.168.1.112
curl -s http://192.168.1.112:9091/-/healthy
Связанные документы
- Проверка совместимости после замены железа — чек-лист и наводящие вопросы
- Паспорт хост-сервера
- Настройка хост-сервера