
Мне нужно настроить кластер с общим хранилищем, которое можно перемещать с узла A на узел B и наоборот.
В случае отказа узла A узел B должен взять на себя IP-адрес, связанный со службой NFS, стать владельцем общего диска, смонтировать его и запустить сервер NFS.
Я использую SUSE Linux 11.4.
Пока что я использую пакет кластера HA и NFS. NFS разделяет диск с узла A, но если узел A выходит из строя, узел B перестает работать.
решение1
Возможно, вам захочется взглянуть надрбд, который обеспечивает избыточность дисков на уровне RAID-1 и совместное использование по сети.
Drbd — это блочное устройство, разработанное для построения кластеров высокой доступности путем предоставления виртуального общего устройства, которое поддерживает диски в узлах синхронизированными с помощью TCP/IP. Это имитирует RAID 1, но избегает использования нестандартного оборудования (общих шин SCSI или Fibre Channel). В настоящее время оно ограничено отказоустойчивыми кластерами HA.
Если вы на самом деле используете множество виртуализированных серверов, а не кластер HPC в стиле Beowulf, вам также может быть интересно взглянуть на Googleганети, он может использовать LVM и DRBD для обеспечения высокой доступности виртуальных машин, которые автоматически мигрируют на другие узлы при необходимости.
Ganeti — это инструмент управления кластером виртуальных серверов, созданный на основе технологий виртуализации Xen и KVM и другого бесплатного программного обеспечения. Он предоставляет автоматизированную среду для управления высокодоступными экземплярами виртуальных машин.
Он разработан для упрощения управления кластером виртуальных серверов с использованием стандартного оборудования и для обеспечения быстрого и простого восстановления после физических сбоев. Он может выполнять такие операции, как создание и управление избыточными дисками, установка операционной системы (совместно с установочными скриптами ОС), запуск, завершение работы и отказоустойчивость экземпляров между физическими системами.
Я не использовал ganeti в производстве, но много экспериментировал с ним несколько лет назад, прежде чем устроиться на работу над кластером OpenStack (использование инфраструктуры OpenStack для создания и запуска виртуальных HPC-кластеров для исследователей в университетах по всей стране (Австралия)). Ganeti показал себя очень хорошо в моем тестировании, я действительно восхищался тем, как он был создан и работал.
Если поискать, можно даже найти дополнительный модуль, позволяющий использовать экспорты ZFS iscsi вместо LVM+DRBD для дисков виртуальной машины.