Кластеризация серверов в 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