GPFS

Материал из MediaWiki
Перейти к навигации Перейти к поиску

GPFS (General Parallel File System) - коммерческая кластерная файловая система с закрытым исходным кодом от голубого гиганта. Широко известна ввиду того, что многие постоянные участники HPC Top500 используют именно её.

Из самых очевидных плюсов хотелось бы отметить

  • Возможность страйпа файлов между сетевыми дискам
  • Легкое централизованное управление всем кластерным хранилищем с любого из нодов
  • Выполнение задач по обслуживанию ФС без времени простоя и необходимости демонтирования ФС
  • Технологии внутренней индексации, репликации и проч.

Есть и минусы:

  • Закрытость, платность

Поддерживаемые ОС:

  • Linux. Сборки доступны для RHEL4 и SLES (i386, x86_64)
  • AIX 5L
  • Microsoft Windows Server 2003 R2 (x86_64)

Быстрый старт

1. Скачиваем и ставим установочные пакеты. Они имеют нумерацию версий x.y.0, например 3.2.0.

2. Скачиваем и ставим обновления. В имени пакета присутствует слово update. Версия пакета: x.y.z, z != 0. Апдейты свободно скачиваются с сайта IBM.

3. GPFS портирована с AIX и работает через прослойку mmfs. Нужно вручную собрать этот portability layer.

cd to /usr/lpp/mmfs/src
make Autoconfig
make World
make InstallImages

4. Теперь делаем GPFS-кластер. Здесь описываем ноды, а также основной и вторичный сервер конфигурации кластера

mmcrcluster -N node01:quorum,node02:quorum -p node01 -s node02 -r /usr/bin/ssh -R /usr/bin/scp

5. Создаем NSDs (Network Shared Disks). Для этого пишем текстовый файл конфигурации вида

ИмяДиска:СписокНод::DiskUsage:FailureGroup:DesiredName

Например

/dev/sdc:node01,node02::::
/dev/sdd:node02,node01::::

К сожалению, команда создания NSD (след.пункт) не отрабатывает разделы и диски с путями сложнее /dev/sd[a-z][0-9]+, выдавая какую-то несуразицу в ответ, поэтому пытаться задавать /dev/disk/by-path/.... бесполезно.

6. Скармливаем diskdef.txt команде создания кластера.

mmcrfs gpfs1 -F diskdef.txt -A yes -T /gpfs
  • gpfs1 - имя-идентификатор NSD.
  • -A yes означает "монтировать автоматом" при /etc/init.d/gpfs start.
  • -T /gpfs точка монтирования. Это всё прописывается в том числе и в /etc/fstab.

7. Осталось только примонтировать. Следующая простая команда выполняется на одном из нодов:

mmmount /gpfs -a
  • -a означает примонтировать на всех нодах одновременно.

Установили? Идём дальше

Из минималистичного мануала по установке наверное стало предельно понятно, как образовываются названия GPFS-утилит исходя из их назначения. Постоянный префикс mm позволяет легко идентифицировать все утилиты GPFS.

  • mmcrЧТОТО и mmaddЧТОТО - создать/добавить ЧТОТО, например кластер (cluster), сетевой диск (nsd), файлуху на диске (fs) и т.д.
  • mmdelЧТОТО - удалить созданное.
  • mmchЧТОТО - внести коррективы в созданное или в глобальный конфиг (config).

Так же следует отметить команды

  • mmshutdown - остановить и выгрузить драйвера gpfs (mmfs и прочие).
  • mmstartup - запустить кластер gpfs.

Обе могут выполняться с параметром -a, тем самым выполняясь асинхронно на всех нодах.

Для внесения изменений во что-то как правило необходимо это что-то остановить/отмонтировать/логически отсоеденить. В случае изменения конфига (mmchconfig) необходимо всё полностью остановить вплоть до демона gpfs.

tiebreaker disk

Основная статья на IBM.com (Eng).

Есть два метода восстановления кворума после фейла:

  • стандартный кворум - идёт обычное голосование до достижения 50%+1 голос
  • кворум + тайбрекер.
    mmchconfig tiebreakerDisks="gpfs1nsd;gpfs2nsd;gpfs3nsd"

...

Ссылки