Виртуальные машины · 3 min read · Dec 01, 2025

Репликация виртуальных машин и аварийное восстановление с VMWare Server и Debian Etch (4.0) - Страница 2

3. Настройка DRBD и создание реплицируемой файловой системы

При установке пакета drbd0.7 в каталог /usr/src копируется только необходимый исходный пакет модуля. Чтобы фактически установить и настроить DRBD, вам нужно будет “собрать” его.

cd /usr/src  
tar xzf drbd0.7.tar.gz  
cd /usr/src/modules/drbd/drbd  
make && make install

Примечание: Если вы получите эту ошибку: “ИЗВИНИТЕ, makefile ядра не найден. Вам нужно указать правильный KDIR!”, то сначала перезагрузите!

Теперь нам нужно настроить DRBD для использования нашего отдельного раздела (/dev/sda7) в качестве устройства DRBD, а затем создать файловую систему на нем.
Я предлагаю переместить/переименовать установленный drbd.conf и поместить наш собственный файл на его место.

mv /etc/drbd.conf /etc/drbd.conf-sample  
nano /etc/drbd.conf

Вы можете использовать этот файл drbd.conf в качестве шаблона:

resource vm1 {
  protocol C;
  incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
  startup {
    wfc-timeout  10;        # 10 секунд
    degr-wfc-timeout 30;    # 30 секунд
  }
  disk {
    on-io-error   detach;
  }
  net {
    max-buffers   20000;        # Играйте с этой настройкой для достижения максимальной производительности
    unplug-watermark   12000;           # Играйте с этой настройкой для достижения максимальной производительности
    max-epoch-size 20000;               # Должно быть таким же, как max-buffers
  }
  syncer {
    rate 10M;       # Используйте больше, если у вас гигабитная сеть. Скорость в килобайтах. например: 10M = 10 мегабайт
    group 1;
    al-extents 257;
  }
  on server1 {          # Используйте ТОЧНОЕ имя хоста вашего сервера, как указано командой "uname -n"
    device     /dev/drbd0;          # ID устройства drbd
    disk       /dev/sda7;       # физическое устройство диска, проверьте вашу схему разделов !!
    address    172.20.20.100:7789;      # Фиксированный IP-адрес server1
    meta-disk  internal;        # Я использую внутреннее хранилище метаданных
  }
  on server2 {
    device     /dev/drbd0;
    disk       /dev/sda7; 
    address    172.20.20.200:7789;
    meta-disk  internal;
  }
}

ПРИМЕЧАНИЕ: ЭТОТ ФАЙЛ ДОЛЖЕН БЫТЬ ОДИНАКОВЫМ НА ОБОИХ СЕРВЕРАХ!

Теперь мы можем запустить устройство DRBD и создать файловую систему.

На обоих серверах:

modprobe drbd   
drbdadm up all

Теперь мы определяем “server1” как основной/мастер-сервер:

На server1:

drbdsetup /dev/drbd0 primary --do-what-I-say  
mkfs.ext3 /dev/drbd0

Подождите некоторое время, чтобы создать файловую систему “ext3” на /dev/drbd0, а затем:

drbdadm connect all

И подождите, пока завершится начальная синхронизация. На медленных сетях это может занять несколько часов в зависимости от размера диска! Вы можете проверить статус синхронизации с помощью этой команды:

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

ПРИМЕЧАНИЕ: Ваши показатели записи на диск будут ограничены скоростью синхронизации, которую вы видите здесь!! Проверьте размер вашего буфера, чтобы увеличить его до оптимальных значений! (вы можете внести изменения в конфигурацию, а затем выполнить: ‘/etc/init.d/drbd reload’)

Проверяйте статус периодически, пока он не завершится, что должно дать вывод, похожий на этот:

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

Когда синхронизация завершится, пришло время смонтировать нашу файловую систему drbd в ранее созданный каталог “/var/vm”, как указано для виртуальных машин во время установки VMWare Server.

mount -t ext3 /dev/drbd0 /var/vm

Эта часть учебника завершает репликацию томов ваших серверов, что позволит виртуальным машинам быть реплицированными на оба сервера. Это обеспечивает безопасность данных и гарантирует, что виртуальные машины, созданные на 1 сервере, всегда будут доступны на обоих серверах. Теперь вы должны создать ваши виртуальные машины, которые вы хотите иметь в вашем аварийном восстановлении. Пожалуйста, проверьте страницу 2: “ Как установить VMware Server на Debian 4.0 “ для получения дополнительной информации о том, как это сделать. Вам понадобятся имя VM и имя конфигурационного файла, чтобы продолжить!

Следующая часть включает в себя настройку пакета HeartBeat и обеспечение того, чтобы в случае аварийного восстановления виртуальные машины были правильно инициализированы и запущены на вторичном сервере.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.