Основное хранилище данных
Материал из ISPWiki
Содержание |
Подготовка сервера
Разметка диска для DRBD
Прежде чем мы перейдем к непосредственной установке основного сервера хранилища данных, необходимо определиться будет ли в кластере резервный сервер хранилища. Если резервного хранилища не планируется, то пропустите данный шаг.
DRBD – это блочное устройство, которое позволяет организовывать RAID1-массив через сеть. На каждом из хранилищ DRBD связывает виртуальное устройство /dev/drbdX (Х – номер устройства) и локальный раздел диска. Запись информации осуществляется на основном сервере хранилища на устройство /dev/drbdX, которое передает эти данные для записи на связанный локальный раздел диска и отсылает по сети на резервный сервер хранилища. В случае выхода из строя основного сервера хранилища его место автоматически занимает резервный.
Для организации хранилища на основе DRBD необходимо создать 2 дополнительных раздела на жестком диске для:
- метаданных (расчет размера описан здесь);
- хранилища.
Настройка внутренней сети
Если на текущем сервере нет второго сетевого интерфейса, то пропустите данный шаг.
Откройте файл /etc/network/interfaces
# nano /etc/network/interfaces
и добавьте строки
auto ethX
iface ethX inet static
address 10.0.0.2
netmask 255.0.0.0
где X - это номер сетевого интерфейса.
Чтобы изменения вступили в силу, необходимо выполнить команду:
# /etc/init.d/networking restart
Установка и настройка дисковых квот
Выполните установку пользовательской утилиты для работы с дисковыми квотами:
# apt-get install quota
Если Вы не используете DRBD, то откройте файл /etc/fstab
# nano /etc/fstab
и добавьте опции grpquota и usrquota к разделу хранилища
... /dev/sdaX / ext4 errors=remount-ro,grpquota,usrquota 0 1 ...
где X - это номер раздела диска.
Перемонтируйте раздел
# mount -o remount,grpquota,usrquota /dev/sdaX
Установка и настройка 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 пропустите данный шаг.
Выполните установку модулей и утилит для поддержки DRBD:
# apt-get install drbd8-utils drbd8-modules-`uname -r`
Откройте файл /etc/drbd.conf
# nano /etc/drbd.conf
и измените следующим образом
common {
protocol C;
syncer {
rate 20M;
}
startup {
wfc-timeout 1;
}
}
resource storage {
on H {
address 10.0.0.2:7802;
disk /dev/sdbX;
flexible-meta-disk /dev/sdbY;
device /dev/drbdZ;
}
on localhost {
address 127.0.0.1:65535;
disk /dev/sdbX;
flexible-meta-disk /dev/sdbY;
device /dev/drbdZ;
}
}
где H - имя локального хоста, X - номер устройства хранения, Y - номер устройства для метаданных и Z - номер DRBD устройства.
Загрузите модуль DRBD:
# modprobe drbd
Произведите очистку устройства для хранения метаданных:
# dd if=/dev/zero of=/dev/sdbY bs=1M
где Y - номер устройства для метаданных.
Создайте DRBD устройство:
# drbdadm -- --force create-md storage
Подключите DRBD устройство:
# drbdadm up storage
Переместите устройство ресурса в главную роль:
# drbdadm -- --overwrite-data-of-peer primary storage
Создайте файловую систему:
# mkfs.X /dev/drbdY
где X - файловая система и Y - номер DRBD устройства.
Установка и настройка Heartbeat
Если Вы не используете DRBD пропустите данный шаг.
Выполните установку heartbeat командой:
# apt-get install heartbeat
Создайте и откройте файл /etc/ha.d/authkeys
# touch /etc/ha.d/authkeys && nano /etc/ha.d/authkeys
и добавьте следующие строки
auth 1 1 md5 X
где X - это секретная фраза для аутентификации.
Установите права на файл /etc/ha.d/authkeys:
# chmod 0600 /etc/ha.d/authkeys
Создайте и откройте файл /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 auto_failback off autojoin none node H fake stonith_host H external/fake
где X - номер сетевого интерфейса и H - имя локального хоста.
Создайте и откройте файл /usr/lib/stonith/plugins/external/fake
# touch /usr/lib/stonith/plugins/external/fake && nano /usr/lib/stonith/plugins/external/fake
и добавьте следующие строки
#!/bin/sh exit 0
Установите права на файл /usr/lib/stonith/plugins/external/fake:
# chmod +x /usr/lib/stonith/plugins/external/fake
Создайте и откройте файл /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.
Заметьте, что указан IP-адрес 10.0.0.1, а не 10.0.0.2! Данный IP-адрес называется "плавающим" и будет автоматически назначен резервному серверу хранилища при выходе из строя основного. При последующей установке Мастер-узла и HTTP-бекэндов в качестве IP-адреса сервера хранилища нужно будет указывать именно "плавающий" IP-адрес.
Перезапустите heartbeat:
# /etc/init.d/heartbeat restart
Установка базовой системы в хранилище
Выполните установку утилиты debootstrap:
# apt-get install debootstrap
Выполните проверку дисковых квот:
# quotacheck -ugm /storage
Установите базовую систему GNU/Linux Debian "Lenny" в хранилище:
# debootstrap lenny /storage
Добавьте символические ссылки на файлы /storage/etc/passwd и /storage/etc/group в /var/lib/extrausers/:
# ln -s /storage/etc/passwd /storage/etc/group /var/lib/extrausers/
Создайте и откройте файл /storage/etc/mtab
# touch /storage/etc/mtab && nano /storage/etc/mtab
и добавьте строку
/storage / X rw,usrquota,grpquota 0 0
где X - это файловая система DRBD.
Создайте и откройте файл /storage/etc/adduser.conf
# cp /storage/usr/share/adduser/adduser.conf /storage/etc/ && nano /storage/etc/adduser.conf
и измените опции FIRST_SYSTEM_UID и FIRST_SYSTEM_GID:
... FIRST_SYSTEM_UID=501 ... FIRST_SYSTEM_GID=501 ...
