GPFS
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
Есть два метода восстановления кворума после фейла:
- стандартный кворум - идёт обычное голосование до достижения 50%+1 голос
- кворум + тайбрекер.
mmchconfig tiebreakerDisks="gpfs1nsd;gpfs2nsd;gpfs3nsd"
...
Ссылки
- Основные RPM-пакеты - с IBM.com их не скачать. По идее надо покупать только через региональных реселлеров. Сервачок прикрыли на днях...
- Обновления пакетов (IBM.com) - скачиваются свободно под любые платформы. Но бесполезны без основных пакетов.
- Concepts, Planning, and Installation Guide Концепции и некоторые основные моменты GPFS
- GPFS2: Quickstart Guide on ibm_dw - короткая и понятная статья содержит минимум, необходимый для запуска кластера.