Любительский MPP-кластер.

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
v74m
Advanced Member
Сообщения: 638
Зарегистрирован: 17.02.2016,13:24
Откуда: SPb

Любительский MPP-кластер.

Сообщение v74m » 03.06.2026,16:56

falanger писал(а): 31.05.2026,16:32 И оказалось что если от нее отключить физический монитор - то GUI просто "замораживаются"
погугли на тему dummy xorg driver. проблема должна решаться софтово.
Всякое бывает.

falanger
Advanced Member
Сообщения: 2601
Зарегистрирован: 30.04.2008,17:45
Откуда: г Черняховск Калининградскjй обл

Вклад в сообщество

Любительский MPP-кластер.

Сообщение falanger » 03.06.2026,18:26

v74m писал(а): 03.06.2026,16:56 погугли на тему dummy xorg driver. проблема должна решаться софтово.
Спасибо за подсказку. Хотя я уже спаят эмуляторы, так что в общем проблема решена.

falanger
Advanced Member
Сообщения: 2601
Зарегистрирован: 30.04.2008,17:45
Откуда: г Черняховск Калининградскjй обл

Вклад в сообщество

Любительский MPP-кластер.

Сообщение falanger » 03.06.2026,23:13

Добавил сегодня вторую manager-ноду в свой Docker Swarm кластер. По нормальному контрольных нод должно быть 3 или в крупном кластере - 5, можно 7. Поскольку они работают согласно алгоритму "консенсуса по большинству" то желательно нечетное количество. С двумя нодами отвал одной разрушает консенсус и вводит кластер в ступор. Так что как приедет mSATA SSD 128 Gb так и соберу третью ноду, чтобы было три manager-ноды и четыре worker-ноды. У меня на manager-нодах SSD по 128 гб, а на worker - по 64 гб под ОС без задачи хранения данных.

Заодно решил потыкать палкой Nginx который хорошо работает в кластере параллелясь по нескольким нодам для отказоустойчивости. У меня он запущен для перенаправления траффика по порту 80 с IP-адреса любого из узлов внутрь кластера на контейнеры использующие Web.

Пока у меня следующая структура:

master1 manager ip 192.168.1.20
node1 worker ip 192.168.1.21
node2 worker ip 192.168.1.22
master2 manager ip 192.168.1.23
node3 worker ip 192.168.1.24

Планирую расщирить еще на 3 ноды:

node4 worker ip 192.168.1.25
node5 worker ip 192.168.1.26
master3 manager ip 192.168.1.27

Надо заказать кое-какие комплектующие с получки и дождаться пока Пчота их привезет, что не быстро совсем. Но уже того что есть достаточно чтобы учиться что-то делать на кластере.

Развертывание Nginx делал через web-интерфейс Portainer.

1. Открыл Portainer и перешел в Docker Swarm. В боковом меню выбрал раздел Stacks и нажал кнопку Add stack в правом верхнем углу.
2. Задал имя стека - nginx-cluster).
3. В поле ввода скопируйте и вставьте следующий YAML-код:

version: '3.8'

services:
nginx:
image: nginx:latest
ports:
- "80:80"
deploy:
mode: replicated
replicas: 2
placement:
constraints:
- node.role == worker
volumes:
- nginx-data:/usr/share/nginx/html

volumes:
nginx-data:

4. Развернул стек - нажал кнопку Deploy the stack.

Значения из конфигурации:

- image: nginx:latest: используется официальный образ веб-сервера.

- ports: порты для публикации. Swarm откроет порт 80 на каждом узле кластера и автоматически перенаправит трафик (Ingress routing) к одному из контейнеров, даже если узел напрямую не обрабатывает Nginx.

- replicas: 2: запускает сразу 2 экземпляра Nginx для отказоустойчивости.

- volumes: создает независимый том nginx-data, который можно использовать для монтирования ваших web-файлов (статических сайтов) и предотвращает их удаление при перезапуске контейнеров.

falanger
Advanced Member
Сообщения: 2601
Зарегистрирован: 30.04.2008,17:45
Откуда: г Черняховск Калининградскjй обл

Вклад в сообщество

Любительский MPP-кластер.

Сообщение falanger » 04.06.2026,17:52

Развернул простенький сайт на 2 мастер-нодах на Nginx.

Создаем каталоги для HTML-файлов своего сайта.

sudo mkdir -p /usr/share/nginx
sudo mkdir -p /usr/share/nginx/html

Создаем index.html

sudo nano /usr/share/nginx/html/index.html

Дубли сервера будут работать на двух manager-нодаз, значит нужные файлы-каталоги надо сделать на всех используемых нодах.

Задаем имя стека - web-cluster.

Дальше YAML-файл в окно редактора.

version: '3.8'

services:
web-server:
image: nginx:latest
container_name: nginx_swarm_server
volumes:
- /usr/share/nginx/htm:/usr/share/nginx/html:ro
ports:
- "8080:80"
deploy:
replicas: 2
placement:
constraints: [node.role == manager]
update_config:
parallelism: 1
delay: 10s
networks:
- web-net

networks:
web-net:
driver: overlay
attachable: true

Настройки.

image: nginx:latest — загрузит официальный образ веб-сервера.

ports: "8080:80" — пробросит порт 8080 снаружи на внутренний порт 80 контейнера. Swarm сделает этот порт доступным на любой ноде вашего кластера, даже если сам контейнер запущен на другой машине.

replicas: 2 — задает количество запускаемых инстансов Nginx (балансировщик Docker Swarm будет автоматически распределять трафик между ними).

falanger
Advanced Member
Сообщения: 2601
Зарегистрирован: 30.04.2008,17:45
Откуда: г Черняховск Калининградскjй обл

Вклад в сообщество

Любительский MPP-кластер.

Сообщение falanger » 08.06.2026,20:29

Начал разбираться с системой распределенного хранения Ceph.
Почитал хорошую статью https://habr.com/ru/articles/313644/
Начал ставить... Да оно ставится и заводится даже на одной ноде, но при попытке подключения второй ноды со вторым HDD - оказалось что оно требует чтобы администратором обязательно был root и никто иной! Так что придется переустанавливать ОС на всех нодах кластера теперь... чтобы везде был root как суперпользователь.

Установка Ceph

Задаем корректные имена хостов в кластере, исполняя на соответствующих нодах

sudo hostnamectl set-hostname master1
sudo hostnamectl set-hostname master2
sudo hostnamectl set-hostname master3

sudo hostnamectl set-hostname worker1
sudo hostnamectl set-hostname worker2
sudo hostnamectl set-hostname worker3
sudo hostnamectl set-hostname worker4

Прописываем IP-адреса и имена серверов в файле /etc/hosts тоже на всех нодах

echo "192.168.1.20 manager1" | sudo tee -a /etc/hosts
echo "192.168.1.21 worker1" | sudo tee -a /etc/hosts
echo "192.168.1.22 worker2" | sudo tee -a /etc/hosts
echo "192.168.1.23 manager2" | sudo tee -a /etc/hosts
echo "192.168.1.24 worker3" | sudo tee -a /etc/hosts
echo "192.168.1.25 worker4" | sudo tee -a /etc/hosts
echo "192.168.1.26 manager3" | sudo tee -a /etc/hosts

Ставим необходимые для работы сети и утилиты

sudo apt update
sudo apt install -y curl gnupg lvm2 chrony

Добавление репозитория Ceph

curl -fsSL https://download.ceph.com/keys/release.asc | sudo gpg --dearmor -o /usr/share/keyrings/ceph.gpg
echo "deb [signed-by=/usr/share/keyrings/ceph.gpg] https://ceph.com jammy main" | sudo tee /etc/apt/sources.list.d/ceph.list

Установка Cephadm

sudo apt install -y cephadm ceph-common

Инициализация кластера

sudo cephadm bootstrap --mon-ip 192.168.1.20

Добавление дисков (OSD) и узлов

Скопируйте публичный SSH-ключ на все узлы кластера.

ssh-copy-id root@manager2

Добавьте новые узлы через командную строку управления

sudo ceph orch host add manager2

Для автоматического поиска и добавления всех свободных (неразмеченных) дисков как хранилищ (OSD)

sudo ceph orch apply osd --all-available-devices

Проверка состояния

sudo ceph -s

falanger
Advanced Member
Сообщения: 2601
Зарегистрирован: 30.04.2008,17:45
Откуда: г Черняховск Калининградскjй обл

Вклад в сообщество

Любительский MPP-кластер.

Сообщение falanger » 10.06.2026,19:53

Собственный кластер даже такой анемичный как мой - крайне познавательная штука в плане современных сетецентрических систем.

Кстати интересный вывод - хакерская атака на такие системы может быть направлена на уровень коммуникационной среды. Достаточно "положить" сеть и кластерная система сходит с ума из-за потери кворума управляющими узлами, даже если сами узлы и ближайшие к ним в группе физические ноды исправны и работают корректно.

Это если не пытаться получить доступ к управлению-информации, а просто "класть" систему.

falanger
Advanced Member
Сообщения: 2601
Зарегистрирован: 30.04.2008,17:45
Откуда: г Черняховск Калининградскjй обл

Вклад в сообщество

Любительский MPP-кластер.

Сообщение falanger » 12.06.2026,13:39

Сдохла одна из платок, просто лежавшая в коробке и ждавшая своего времени. Иногда так бывает. Хорошо что при попытке включения не унесла с собой процессор, память и ссд. Поменял цвет один их дросселей фаз питания процессора, это из видимого. А по симптомам - плата начинает запускаться и гаснет.
Не стал экспериментировать дальше, они на Авито есть и стоят копейки. Я себе уже заказал новую на замену.

falanger
Advanced Member
Сообщения: 2601
Зарегистрирован: 30.04.2008,17:45
Откуда: г Черняховск Калининградскjй обл

Вклад в сообщество

Любительский MPP-кластер.

Сообщение falanger » 13.06.2026,18:15

Коллекция анемичных процессоров на Socket G2 / mPGA 988B пополнилась редким камнем - Celeron B830. Прямо коллекция собралась...
Процессоры
Intel Celeron B800 SR0EW - 1
Intel Celeron B840 SR0EN - 1
Intel Celeron B830 SR0HR - 1
Intel Pentium B940 SR07S -1
Intel Pentium B950 SR07T - 2 (пока в работе на нодах)
Intel Pentium B960 SR07V - 1 (пока в работе на ноде)
Intel Celeron 1000M SR102 - 1 (пока в работе на ноде)
ОЗУ SO-DIMM DDR3
SK hynix 2GB 1Rx16 PC3L-12800S-11-13-C3 - 1.
hynix 2GB 1Rx8 PC3-10600S-9-10-B1 - 2.
BR BR-NB-4G 1600 1.35V (4GB DDR3-1600) - 3.
no-name 4GB (DDR3-1600 SO-DIMM) - 2.
Кому чего надо - пишите в ЛС, договоримся.

K0chan
Newbie
Сообщения: 1
Зарегистрирован: 25.06.2026,21:43
Откуда: Москва

Любительский MPP-кластер.

Сообщение K0chan » 25.06.2026,22:13

Всех приветствую! Стал счастливым обладателем IC847 Plus c Pentium B960. Приобрел i7-3632QM и i5-3360M к ней в надежде что они заработают с пол тычка... Обслужил плату, заменил термоинтерфейсы везде где можно. Пока шли процы поставил винду, все нормально, стресс тесты проходит, 50 градусов, вольтаж железобетон ~1.190V. Отложил плату...

Как пришли процы сразу воткнул i7 все запустилось сразу - казалось бы победа? но нет. Плата стала в случайный момент времени вырубаться вне зависимости от уровня нагрузки... Грешил сначала на перегрев чипсета, проца, но нет, всё "ледяное" в быстром тесте в CPU-Z. Выключения сохранялись даже при отключении гипертрейдинга и/или турбобуста. Потребление обоих (i5 и i7) не больше 35 ватт по паспорту. Да и даже самые простые VRM могут переварить 35 ватт. Учитывая что родной проц потребляет 20 ватт в пике... Однако меня насторожило излишне заниженный вольтаж - около 1V даже в нагрузке. Подозрения на неправильно прописанные напруги в биосе китайцами или устаревшие версии микрокодов на 3-е поколение. BIOS версии 4.6.5 от 11/07/2020. Чипсет HM75. Опера 4гб 1.35V ddr3l. Запитываю от обычного ATX бп.

Перепробовал уже всё, кроме переустановки винды уже с новыми процами (да и вряд ли получится с постоянными выключениями то). Знаю что у чипсетов HM70 были проблемы с Intel ME и они офицально не поддерживают что-то кроме Celeron и Pentium. Но у IC847 Plus стоит HM75 у которого с этим проблем нет...

Может кто-нибудь сталкивался с такой проблемой конкретно с этой платой? :help: Многие обсуждали тут апгрейд так что наверняка есть опыт. :(

Ответить