Резервное хранилище данных

Материал из ISPWiki

Перейти к: навигация, поиск

Содержание

Подготовка сервера

Разметка диска для DRBD

Разметка диска для создания DRBD-устройства выполняется по аналогии с описанной в статье "Основное хранилище данных" и размеры создаваемых разделов должны полностью совпадать с размерами аналогичных разделов на основном сервере хранилища.

Настройка внутренней сети

Если на текущем сервере нет второго сетевого интерфейса, то пропустите данный шаг.

Откройте файл /etc/network/interfaces

 # nano /etc/network/interfaces

и добавьте строки

 auto ethX
 iface ethX inet static
     address 10.0.0.3
     netmask 255.0.0.0

где X - это номер сетевого интерфейса.

Чтобы изменения вступили в силу, необходимо выполнить команду:

 # /etc/init.d/networking restart

Установка дисковых квот

Выполните установку пользовательской утилиты для работы с дисковыми квотами:

 # apt-get install quota

Установка и настройка libnss-extrausers

Выполните установку дополнительного модуля для NSS сервиса, который предоставляет системе записи о пользователях и группах из дополнительных файлов: /var/lib/extrausers/passwd, /var/lib/extrausers/shadow и /var/lib/extrausers/groups.

 # apt-get install libnss-extrausers

Откройте файл /etc/nsswitch.conf

 # nano /etc/nsswitch.conf

и измените опции passwd, group и shadow

 ...
 passwd: compat extrausers
 group:  compat extrausers
 shadow: compat extrausers
 ...

Установка и настройка NFS-сервера

Выполните установку NFS-сервера командой:

 # apt-get install nfs-kernel-server

Откройте файл /etc/default/nfs-common

 # nano /etc/default/nfs-common

и измените опции NEED_STATD и NEED_IDMAPD

 ...
 NEED_STATD="yes"
 ...
 NEED_IDMAPD="yes"
 ...

Откройте файл /etc/idmapd.conf

 # nano /etc/idmapd.conf

и измените опции Domain в разделе General и Method в разделе Translation

 [General]
 Domain = cluster.lan
 ...
 [Translation]
 Method = nsswitch
 ...

Откройте файл /etc/exports

 # nano /etc/exports

и добавьте строку

 /storage 10.0.0.0/8(rw,async,secure,no_root_squash,no_all_squash,no_subtree_check,fsid=root,no_acl)

Перезапустите NFS-сервер командой:

 # /etc/init.d/nfs-common restart

Установка и настройка DRBD

Выполните установку модулей и утилит для поддержки DRBD:

 # apt-get install drbd8-utils drbd8-modules-`uname -r`

Создайте директорию /root/.ssh и скопируйте с основного сервера хранилища файл authorized_keys:

 # mkdir /root/.ssh && scp root@10.0.0.2:/root/.ssh/authorized_keys /root/.ssh/

Скопируйте с основного сервера хранилища файл /etc/drbd.conf:

 # scp root@10.0.0.2:/etc/drbd.conf /etc/

Откройте файл /etc/drbd.conf

 # nano /etc/drbd.conf

и замените раздел "on localhost" следующими строками

 on H {
     address 10.0.0.3:7802;
     disk /dev/sdbX;
     flexible-meta-disk /dev/sdbY;
     device /dev/drbdZ;
 }

где H - имя локального хоста, X - номер устройства хранения, Y - номер устройства для метаданных и Z - номер DRBD устройства.

Скопируйте файл /etc/drbd.conf на основного сервера хранилища:

 # scp /etc/drbd.conf root@10.0.0.2:/etc/

Загрузите модуль DRBD:

 # modprobe drbd

Произведите очистку устройства для хранения метаданных:

 # dd if=/dev/zero of=/dev/sdbY bs=1M

где Y - номер устройства для метаданных.

Создайте DRBD устройство:

 # drbdadm -- --force create-md storage

Подключите DRBD устройство:

 # drbdadm up storage

Установка и настройка Heartbeat

Выполните установку heartbeat командой:

 # apt-get install heartbeat

Скопируйте с основного сервера хранилища файл /etc/ha.d/authkeys:

 # scp root@10.0.0.2:/etc/ha.d/authkeys /etc/ha.d/

Создайте и откройте файл /etc/ha.d/ha.cf

 # touch /etc/ha.d/ha.cf && nano /etc/ha.d/ha.cf

и добавьте следующие строки

 logfile /var/log/ha-log
 keepalive 1
 warntime 2
 deadtime 10
 initdead 30
 bcast ethX
 ucast ethX 10.0.0.2
 ucast ethX 10.0.0.3
 auto_failback off
 autojoin none
 node RH LH
 stonith_host RH external/ssh 10.0.0.3
 stonith_host LH external/ssh 10.0.0.2

где X - номер сетевого интерфейса, RH - имя хоста основного сервера хранилища и LH - имя локального хоста.

Скопируйте файл /etc/ha.d/ha.cf на основного сервера хранилища:

 # scp /etc/ha.d/ha.cf root@10.0.0.2:/etc/ha.d/

Перезапустите heartbeat на основном сервере хранилища:

 # ssh root@10.0.0.2 "/etc/init.d/heartbeat restart"

Создайте и откройте файл /etc/ha.d/haresources

 # touch /etc/ha.d/haresources && nano /etc/ha.d/haresources

и добавьте следующую строку

 H IPaddr2::10.0.0.1/32/ethX drbddisk::storage Filesystem::/dev/drbdY::/storage::Z::usrquota,grpquota nfs-kernel-server

где H - имя локального хоста, X - номер сетевого интерфейса, Y - номер DRBD устройства и Z - файловая система DRBD.

Перезапустите heartbeat:

 # /etc/init.d/heartbeat restart
Была ли эта информация полезной? Да | Нет
Личные инструменты