В бизнес решениях зачастую очень важна откуазоустоичивость реализованного решения, ведь простой, компании достаточно дорого обходится, наша с вами задача реализовать отказоустойчивые решения для корпоративной среды. Что нам потребуется: 2 компьютера или виртуальных машины, с двумя сетевыми картами(каждая), linux(использован centos 6.4), по разделу без файловой системы на каждой машине, прямые руки.
Изначально нужно настроить службу которая будет синхронизировать данные между дисками двух систем. Для этого можно использовать DRBD
DRBD (Distributed Replicated Block Device — распределённое реплицируемое блочное устройство) — это блочное устройство, предназначенное для построения отказоустойчивых кластерных систем на операционной системе Linux. DRBD занимается полным отражением (mirroring) по сети всех операций с блочным устройством. Можно считать, что DRBD это сетевой RAID-1.
Для усановки потребуется подключить доп репохиторий .
rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm
vi /etc/yum.repos.d/elrepo.repo
enabled=0
yum –enablerepo=elrepo install drbd83-utils kmod-drbd83
После установки DRBD пристепим к настроике: у нас имеется наразмеченный раздел на наших серверах и называется он /dev/sda3.
Внесем в конфигурационный файл DRBD ./etc/drbd.d/global_common.conf следуюшее:
global { usage-count yes; }
#участвовать в глобальном подсчете пользоватей
common { syncer { rate 10M; } }
#установка скорости канала для синхронизации
resource r0 {
#начало описания ресурса
protocol C;
#протокол синхронизации
net {
cram-hmac-alg sha1;
shared-secret «FooFunFactory»;
}
on cl1.cl {
device /dev/drbd0;
disk /dev/sda3;
address 10.10.10.1:7789;
meta-disk internal;
}
on cl2.cl {
device /dev/drbd0;
disk /dev/sda3;
address 10.10.10.2:7789;
meta-disk internal;
}
}
описание протоколов:
Protocol A: write IO is reported as completed, if it has reached
local disk and local TCP send buffer.
Protocol B: write IO is reported as completed, if it has reached
local disk and remote buffer cache.
Protocol C: write IO is reported as completed, if it has reached
both local and remote disk.