DRBD
Устанавливаем DRBD
shell> apt-get update
shell> apt-get install drbd8-utils drbd8-module-source \
build-essential module-assistant
shell> module-assistant auto-install drbd8Для настройки DRBD необходимо создать отдельный раздел на диске, размер которого достаточен для размещения базы данных. Далее настраиваем файл /etc/drbd.conf следующим образом:
global {
usage-count no;
}
common {
protocol C;
}
resource r0 {
syncer {
rate 10M;
}
device /dev/drbd0;
disk /dev/sdb2;
meta-disk internal;
on ubuntu1 {
address 192.168.0.1:27789;
}
on ubuntu2 {
address 192.168.0.2:27789;
}
} где:
rate - скорость обмена данными между резервной и основной машиной.
device - имя виртуального дисковый накопителя.
disk - раздел на диске о котором говорил ранее.
ubuntu1,ubuntu2 - соответствующие host-имена машин.
Копируем данный файл на резервную машину.
1)Настраиваем DRBD для основной машины:
Создаем устройство /dev/drbd0
root-shell> drbdadm create-md allзапускаем DRBD
root-shell> /etc/init.d/drbd startпереводим DRBD в режим primary
root-shell> drbdadm -- --overwrite-data-of-peer primary allФорматируем раздел под файловую систему ext3 (Можно под другую, но должна быть журналируемой)
root-shell> mkfs.ext3 /dev/drbd0 Монтируем раздел к операционной системе
root-shell> mkdir /mnt/drbd
root-shell> mount /dev/drbd0 /mnt/drbd 2)Настраиваем DRBD для запасной машины
создаем раздел /dev/drbd0
root-shell> drbdadm create-md allзапускаем DRBD
root-shell> /etc/init.d/drbd startпосле чего должна запуститься синхронизация, проверить можно следующим образом.
root-shell> cat /proc/drbd
version: 8.0.4 (api:86/proto:86)
SVN Revision: 2947 build by root@drbd-one, 2007-07-30 16:43:05
0: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r---
ns:252284 nr:0 dw:0 dr:257280 al:0 bm:15 lo:0 pe:7 ua:157 ap:0
[==>.................] sync'ed: 12.3% (1845088/2097152)K
finish: 0:06:06 speed: 4,972 (4,580) K/secMySQL
Отключаем MySQL
shell> mysqladmin shutdownсоздаем папку MySQL
root-shell> mkdir /mnt/drbd/mysqlкопируем базу данных в созданную папку
root-shell> cp -R /var/lib/mysql /mnt/drbd/mysql/dataв файле /etc/mysql/my.cnf на обоих машинах изменяем следующую строку
datadir = /mnt/drbd/mysql/dataДалее вносим аналогичные изменения в файл /etc/apparmor.d/usr.sbin.mysqld
и перезапускаем службу apparmor
root-shell> /etc/init.d/apparmor upgrateПерезапускаем MySQL
root-shell> /etc/init.d/mysql startHeartbeat
В папке /etc/ha.d/ надо создать три файла со следующм содержанием
a) ha.cf
logfacility local0
keepalive 500ms
deadtime 10
warntime 5
initdead 30
mcast bond0 225.0.0.1 694 2 0
auto_failback off
node ubuntu1
node ubuntu2b) authkeys - установить права только для чтения
auth 1
1 crc c) haresources
ubuntu1 drbddisk Filesystem::/dev/drbd0::/mnt/drbd::ext3::group gdm mysql apache2 chown 192.168.0.100chown — это скрипт который меняет пользователя для монтируемой папки, может иметь следующие содержание
#!/bin/sh -e
chown -R mysql:mysql /mnt/drbd
Комментариев нет:
Отправить комментарий