NFS сервер · 2 min read · Nov 19, 2025
Настройка высокодоступного NFS сервера - Страница 3
6 Настройка DRBD
Теперь мы загружаем модуль ядра DRBD на обоих server1 и server2. Нам нужно сделать это только сейчас, потому что позже он будет загружен скриптом инициализации DRBD.
server1/server2:modprobe drbd
Давайте настроим DRBD:
server1/server2:drbdadm up all
cat /proc/drbd
Последняя команда должна показать что-то вроде этого (на обоих server1 и server2):
| version: 0.7.10 (api:77/proto:74) SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07 0: cs:Connected st:Secondary/Secondary ld:Inconsistent ns:0 nr:0 dw:0 dr:0 al:0 bm:1548 lo:0 pe:0 ua:0 ap:0 1: cs:Unconfigured |
Вы видите, что оба NFS сервера говорят, что они вторичные и что данные несогласованны. Это потому, что еще не было выполнено начальной синхронизации.
Я хочу сделать server1 основным NFS сервером, а server2 “горячим резервом”. Если server1 выйдет из строя, server2 возьмет на себя управление, и если server1 вернется, то все данные, которые изменились за это время, будут зеркалироваться обратно с server2 на server1, чтобы данные всегда оставались согласованными.
Этот следующий шаг нужно выполнить только на server1!
server1:drbdadm – –do-what-I-say primary all
Теперь мы начинаем начальную синхронизацию между server1 и server2, чтобы данные на обоих серверах стали согласованными. На server1 мы делаем это:
server1:drbdadm – connect all
Начальная синхронизация займет несколько часов (в зависимости от размера /dev/sda8 ( /dev/hda8…)), поэтому, пожалуйста, будьте терпеливы.
Вы можете видеть прогресс начальной синхронизации вот так на server1 или server2:
server1/server2:cat /proc/drbd
Вывод должен выглядеть так:
| version: 0.7.10 (api:77/proto:74) SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07 0: cs:SyncSource st:Primary/Secondary ld:Consistent ns:13441632 nr:0 dw:0 dr:13467108 al:0 bm:2369 lo:0 pe:23 ua:226 ap:0 [==========>.........] sync'ed: 53.1% (11606/24733)M finish: 1:14:16 speed: 2,644 (2,204) K/sec 1: cs:Unconfigured |
Когда начальная синхронизация завершится, вывод должен выглядеть так:
| SVN Revision: 1743 build by phil@mescal, 2005-01-31 12:22:07 0: cs:Connected st:Primary/Secondary ld:Consistent ns:37139 nr:0 dw:0 dr:49035 al:0 bm:6 lo:0 pe:0 ua:0 ap:0 1: cs:Unconfigured |
7 Некоторая дополнительная настройка NFS
NFS хранит некоторую важную информацию (например, информацию о блокировках файлов и т.д.) в /var/lib/nfs. Теперь что произойдет, если server1 выйдет из строя? server2 возьмет на себя управление, но его информация в /var/lib/nfs будет отличаться от информации в директории /var/lib/nfs на server1. Поэтому мы немного подкорректируем, чтобы эти данные хранились на нашем разделе /data ( /dev/sda8 или /dev/hda8…), который зеркалируется DRBD между server1 и server2. Таким образом, если server1 выйдет из строя, server2 сможет использовать данные NFS server1.
server1/server2:mkdir /data
server1:mount -t ext3 /dev/drbd0 /data
mv /var/lib/nfs/ /data/
ln -s /data/nfs/ /var/lib/nfs
mkdir /data/export
umount /data
rm -fr /var/lib/nfs/
ln -s /data/nfs/ /var/lib/nfs
Get new posts in your inbox
No spam. Unsubscribe anytime.