Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)


Описание стенда

node-XXУзлы, предоставляющие ресурс хранения данных. Далее в примере используется минимально возможное количество таких узлов — два, с именами node-00 и node-01. Каждый из этих узлов оснащен двумя дополнительными накопителями (/dev/vdb и /dev/vdc), которые используются для предоставления разделяемого ресурса хранения данных. Далее термин узел используется в смысле узел, предоставляющий ресурс хранения данных.
witness"Наблюдатель". Необходим для создания кворума в кластере, так как в примере использует минимальное количество узлов (два). При большем количестве узлов наблюдатель не требуется. Дополнительные накопители в наблюдателе не требуются.

Далее предполагается, что:

  • все узлы находятся в одной сети передачи данных;
  • все узлы имеют постоянные (статические) IP-адреса;
  • в сети настроено разрешение имен, поэтому далее в примерах используются имена узлов, а не их IP-адреса.

IP-адреса узлов далее обозначаются как <адрес_имя_узла>, например: <адрес_node-00> или <адрес_witness>.

Краткую справку по настройке статических адресов и разрешения имен см. в статье Настройка разрешения имен и статических IP-адресов.

Установка пакетов

Необходимые для создания связки NFS+DRBD под управлением Pacemaker пакеты можно командой:

sudo apt install drbd-`uname -r` drbd-utils nfs-kernel-server pcs

При этом будет установлена версия пакета drbd, соответствующая версии загруженного ядра.

Настройка NFS+DRBD

Следующие шаги настройки выполняются на всех узлах и на узле-свидетеле, если он используется.

  1. Добавить в службу nfsdcld.service зависимость от службы nfs-server.service:
    echo -e "[Unit]\nPartOf=nfs-server.service" | sudo SYSTEMD_EDITOR=tee systemctl edit nfsdcld.service
  2. Загрузить в ядро модуль drbd:
    sudo modprobe drbd
  3. Создать каталоги для монтирования ресурсов:
    sudo mkdir -p /opt/drbd-nfs/{exports,internal}
  4. Создать конфигурационный файл /etc/drbd.d/global_common.conf со следующим содержимым:
    resource ha_nfs {
        on node-00 { volume 0 { device /dev/drbd1; disk /dev/vdb; meta-disk internal; }
                     volume 1 { device /dev/drbd2; disk /dev/vdc; meta-disk internal; } node-id 0; address <адрес_node-00>:7789;
        }
        on node-01 { volume 0 { device /dev/drbd1; disk /dev/vdb; meta-disk internal; }
                     volume 1 { device /dev/drbd2; disk /dev/vdc; meta-disk internal; } node-id 1; address <адрес_node-00>:7789;
        }
        on witness { volume 0 { device /dev/drbd1; disk none;     meta-disk internal; }
                     volume 1 { device /dev/drbd2; disk none;     meta-disk internal; } node-id 2; address <адрес_witness>:7789;
        }
        connection-mesh { hosts node-00 node-01 witness; }
        options { on-no-quorum suspend-io; quorum majority; }
  5. Отключить передачу статистики использования DRBD на внешние серверы. Для этого в файле /etc/drbd.d/global_common.conf изменить значение параметра usage-count на no:
    sudo sed -i "s/^\(\s*usage-count\s\+\)yes;/\1no;/" /etc/drbd.d/global_common.conf

Следующие шаги настройки выполняются на всех узлах данных, на свидетеле их выполнять не требуется:

  1. Создать ресурс ha_nfs:
    sudo drbdadm create-md ha_nfs
  2. Опционально — проверить параметры созданного ресурса:
    sudo drbdadm dump all
  3. Включить созданный ресурс в работу:
    sudo drbdadm up ha_nfs

Следующие шаги настройки выполняются на одном из узлов данных. После выполнения этих действий этот узел будет назначен первичным (primary): 

  1. Создать новые идентификаторы (UUID) ресурсов. Синхронизация ресурсов занимает много времени, и при создании нового ресурса не требуется. Для исключения синхронизации используется опция --clear-bitmap.
    sudo drbdadm new-current-uuid --clear-bitmap ha_nfs/0
    sudo drbdadm new-current-uuid --clear-bitmap ha_nfs/1
  2. Назначить узел первичным:
    sudo drbdadm primary --force ha_nfs
  3. Создать на дисковых ресурсах файловые системы:
    sudo mkfs.ext4 /dev/drbd1
    sudo mkfs.ext4 /dev/drbd2
  4. Примонтировать дисковые ресурсы:
    sudo mount /dev/drbd1 /opt/drbd-nfs/internal/
    sudo mount /dev/drbd2 /opt/drbd-nfs/exports/
  5. Создать на примонтированных ресурсах структуру каталогов:
    sudo mkdir /opt/drbd-nfs/internal/{portblock_tickle_dir,nfs_info_dir}
    sudo mkdir /opt/drbd-nfs/exports/iva-data
  6. Отмонтировать ресурсы:
    sudo umount /dev/drbd1
    sudo umount /dev/drbd2
              

Настройка кластера