TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #115 734
Создание кластера Unix-серверов

Кластеризация серверов в Unix - это процесс объединения нескольких серверов в единое целое для повышения надёжности, масштабируемости и производительности. Кластеры используются для задач высокой доступности (HA), распределённой обработки и балансировки нагрузки.

В этой статье разберём базовые шаги по созданию кластера Unix-серверов и обеспечению их совместной работы.

Что потребуется?

1. Несколько Unix-серверов.
Например, Ubuntu, CentOS или другие дистрибутивы Linux/Unix.
2. Общий доступ к данным.
Используем NFS или другой механизм для хранения.
3. Балансировщик нагрузки.
Например, HAProxy или встроенные механизмы IPVS.
4. Программное обеспечение для кластера.
Для высокой доступности можно использовать Corosync и Pacemaker.


Шаг 1: Настройка узлов

1. Обновите все системы. Перед началом убедитесь, что пакеты обновлены на всех узлах:


sudo apt update && sudo apt upgrade -y # Для Ubuntu
sudo yum update -y # Для CentOS


2. Настройте хосты. Пропишите имена серверов в /etc/hosts, чтобы узлы могли видеть друг друга:


192.168.1.1 node1
192.168.1.2 node2
192.168.1.3 node3


3. Настройте SSH-доступ. Для работы кластера потребуется SSH-доступ между узлами без пароля:


ssh-keygen -t rsa # Генерация ключа
ssh-copy-id node2 # Копирование ключа
ssh-copy-id node3


Шаг 2: Настройка общего доступа к данным (NFS)

1. Установите NFS-сервер на одном из узлов:


sudo apt install nfs-kernel-server # Для Ubuntu
sudo yum install nfs-utils # Для CentOS


2. Настройте экспортируемую директорию, для этого добавьте в /etc/exports:


/data/shared *(rw,sync,no_root_squash)


Примените изменения:


sudo exportfs -a


3. На других узлах подключите общий ресурс:


sudo mount 192.168.1.1:/data/shared /mnt/shared


Проверьте:


df -h


Шаг 3: Настройка кластера HA (High Availability)

1. Установите Pacemaker и Corosync, для этого на всех узлах выполните:


sudo apt install pacemaker corosync -y # Для Ubuntu
sudo yum install pacemaker corosync -y # Для CentOS


2. Настройте Corosync. Отредактируйте файл /etc/corosync/corosync.conf и добавьте узлы:


nodelist {
node {
ring0_addr: node1
}
node {
ring0_addr: node2
}
node {
ring0_addr: node3
}
}
totem {
version: 2
secauth: off
cluster_name: unix_cluster
transport: udpu
}


Запустите Corosync и Pacemaker:


sudo systemctl start corosync
sudo systemctl start pacemaker
sudo systemctl enable corosync
sudo systemctl enable pacemaker


3. Добавьте ресурс в кластер. Например, ресурс виртуального IP:


pcs resource create virtual_ip ocf:heartbeat:IPaddr2 \
ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s


Шаг 4: Проверка и управление кластером
Статус кластера:


pcs status


Добавление нового узла:


pcs cluster auth newnode
pcs cluster node add newnode


Остановка кластера


pcs cluster stop --all


Шаг 5: Настройка балансировки нагрузки (опционально)
Установите HAProxy для равномерного распределения нагрузки:


sudo apt install haproxy # Для Ubuntu
sudo yum install haproxy # Для CentOS


Настройте /etc/haproxy/haproxy.cfg:


frontend http_front
bind *:80
default_backend servers

backend servers
balance roundrobin
server node1 192.168.1.1:80 check
server node2 192.168.1.2:80 check
server node3 192.168.1.3:80 check


Запустите HAProxy:


sudo systemctl restart haproxy


---

Кластеризация Unix-серверов - это основа для построения надёжной инфраструктуры. Вы можете настроить кластеры для высокой доступности, балансировки нагрузки или распределённой обработки. С правильными инструментами, такими как NFS, Pacemaker и HAProxy, вы получите стабильную и масштабируемую систему.

BashTex 📱 #linux #utils
  • 👍 11
More from @bash_tex
  1. Oct 13, 2026openat2(): как Linux защищает от выхода за пределы каталога Допустим, приложение должно чи…
  2. Oct 12, 2026xargs против while read: где быстрее и безопаснее Обе конструкции позволяют обработать спи…
  3. Oct 9, 2026BashTex 📱 #мем
  4. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  5. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  6. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →