Структурная схема кластера На серверах lb01 и lb02 устанавливается Haproxy для балансировки нагрузки (распределения запросов клиентов на пару Web-серверов(серверов приложений app01 и app02)), а также для отказоустойчивости. При выходе со строя одного из lb-ов второй из них автоматически становится активным сервером(цепляет на себя VIP(Virtual IP) на который прописаны сайты в ДНС) Это достигается за счет […]
Архивы за месяц Декабрь, 2013
Установка и настройка отказоустойчивого балансировщика нагрузки на основе Haproxy+Keepalived (Горизонтальное масштабирование на уровне приложений модели OSI) на Centos
Установка и настройка mysql-mmm-кластера(MySQL Master-Master replication Manager) на Centos
Инструмент управления тиражированием с несколькими основными репликами (MultiMaster replication Manager) использует для репликации традиционный механизм “master-slave”. Он работает на основе набора серверов MySQL с, как минимум, двумя основными репликами с набором подчиненных реплик, а также с выделенным узлом мониторинга. Поверх этого набора узлов настраивается пул IP-адресов, который MMM может динамически перемещать от узла к узлу, […]
Синхронизация сайтов(папок) между серверами с помощью rsync
Например, необходимо получить копию сайтов(папок)/www/sites/{joomla.lb,wordpress.lb} с первого сервера(192.168.1.110) на второй(192.168.1.111) Или, наоборот, со второго на первый. 1.На втором сервере устанавливаем rsync, генерируем ssh-ключи
1 |
[root@centos641vz111 ~]# yum install rsync |
1 |
[root@centos641vz111 ~]# mkdir -p /www/sites/ |
1 |
[root@centos641vz111 ~]# ssh-keygen -t rsa -b 1024 |
2.Содержимое публичного ключа на втором сервере добавляем в файл /root/.ssh/authorized_keys на первом сервере.
1 |
[root@centos641vz111 ~]# cat /root/.ssh/id_rsa.pub |
1 |
[root@centos641vz110 ~]# nano /root/.ssh/autorized_keys |
Проверка прав, владельцев для папки .ssh и файла authorized_keys на первом сервере […]
Настройка MySQL-репликации master-master на Centos
1 |
Server1 - 192.168.1.110 centos641vz110.kama.dnsalias.com - первый сервер |
1 |
Server2 - 192.168.1.111 centos641vz111.kama.dnsalias.com - второй сервер. |
Второй сервер — зеркало первого, который должен реплицировать все с первого, а также передавать ему свои изменения. Просматриваем все файлы, установленные пакетом Percona-Server
1 |
# rpm -ql Percona-Server-server-55-5.5.34-rel32.0.591.rhel6.i686 | less |
Копируем конфиг соответствующий Вашим аппаратным ресурсам
1 |
# cp /usr/share/doc/Percona-Server-server-55-5.5.34/my-large.cnf /etc/my.cnf |
1 |
# mkdir /var/log/mysql |
1 |
# chown -R mysql:mysql /var/log/mysql/ |
Настраиваем репликацию на первом сервере 1.Настраиваем Mysql на первом сервере
1 |
# nano /etc/my.cnf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
pid_file = /var/lib/mysql/centos641vz110.kama.dnsalias.com.pid log_error = /var/log/mysql/centos641vz110.kama.dnsalias.com.err log-bin=/var/log/mysql/centos641vz110-bin.log log-bin-index=/var/log/mysql/centos641vz110-bin.index binlog_format=mixed auto_increment_offset = 1 auto_increment_increment = 2 server-id = 1 relay-log = /var/log/mysql/centos641vz110-relay-bin relay-log-index = /var/log/mysql/centos641vz110-relay-bin.index log-slave-updates = 1 |
Логи смотрим
1 |
# tail -f /var/log/mysql/centos641vz110.kama.dnsalias.com.err |
[…]
Установка MariaDB вместо MySQL на Centos
Генерируем свой репозитарий https://downloads.mariadb.org/mariadb/repositories/#mirror=nucleus Создаем репозитарий (например, Centos6 64bit)
1 |
# nano /etc/yum.repos.d/MariaDB.repo |
1 2 3 4 5 |
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 |
1 |
# yum update |
В процессе обновления конфликтующие библиотеки от mysql будут автоматически замещены Устанавливаем непосредственно сервер и клиент
1 |
# yum install MariaDB-server MariaDB-client |
Запускаем MySQL
1 |
# /etc/init.d/mysql start |
Проводим базовую настройку
1 |
# mysql_secure_installation |
Добавление mysql в автозагрузку
1 |
# chkconfig --level 2345 mysql on |
Настройка MySQL-репликации master-slave на Centos
Настройка MySQL-репликации master—slave на Centos
1 2 |
Master(192.168.1.39) - centos642.kama.dnsalias.com Slave(192.168.1.50) - centos64raidlvm.kama.dnsalias.com |
На главном сервере(master) 1.В my.cnf в секции [mysqld] включаем ведение двоичного(бинарного) журнала
1 |
# nano /etc/my.cnf |
1 2 3 4 5 |
[mysqld] server-id = 39 log-bin = centos642-bin relay-log = /var/log/mysql/centos642-relay-bin relay-log-index = /var/log/mysql/centos642-bin.index |
1 |
# mkdir /var/log/mysql |
1 |
# chown -R mysql:mysql /var/log/mysql/ |
2.Перезапускаем MySQL
1 |
# /etc/init.d/mysqld restart |
3. Создаем учетную запись для подключения с Slave сервера. т.е наделяем пользователя repluser подключающегося с подчиненного сервера с паролем replpassword правом читать информацию из двоичных журналов […]