Файловая система описывает метод хранения информации на жестком диске. Примерами файловых систем являются ext2, ext3, ReiserFS и JFS. General Parallel File System (GPFS) - это еще один тип файловой системы, доступной для кластерной среды. Цель GPFS - обеспечить лучшую производительность и высокую отказоустойчивость. В данной статье рассматривается простой пример реализации GPFS. Для упрощения вы будете использовать системы с двумя жесткими дисками - первый диск используется для Linux®, второй оставлен нетронутым (в "сыром" формате).
Аппаратное и программное обеспечение, конфигурация
Необходимое аппаратное и программное обеспечение перечислено ниже. На рисунке 1 изображена конфигурация системы.
- eServer™ x336
- Red Hat Enterprise Linux Version 4.0 Advanced Server with Update 2
- GPFS Version 2.3
- GPFS Version 2.3.0.9 Fix
Рисунок 1. Примерная конфигурация
Перед началом работы обратите внимание на следующие допущения:
- На всех машинах установлена операционная система Red Hat Enterprise Linux AS (например, RHEL4 AS with Update 2).
- Файл /etc/hosts обновлен на всех узлах.
- SSH настроен таким образом, что пользователь root может войти в любую систему без указания пароля.
- Узлы gpfs1.my.com и gpfs2.my.com работают в качестве GPFS-серверов и предлагают /dev/sdb для хранилища. Узел gpfs3.my.com работает как GPFS-клиент.
- Код GPFS доступен в tar-формате в каталоге /dump.
- Шаги 1, 2, 3, 4 и 5 необходимо выполнить на всех узлах (gpfs1.my.com, gpfs2.my.com и gpfs3.my.com).
- Шаги 6 и 7 необходимо выполнить только на gpfs1.my.com, поскольку на нем установлен gpfs.gpl-2.3.0-9.noarch.rpm.
- Если вам доступен код в tar-формате, извлеките GPFS-файлы, либо смонтируйте CD-ROM или DVD, на которых есть RPM-файлы GPFS, следующим образом:
#cd /dump #tar zxvf gpfs_code.tar.gz
На рисунке 2 показана часть извлеченного содержимого:
Рисунок 2. Cодержимое GPFS
- Извлеките RPM-файлы GPFS следующим образом:
#./gpfs_install-2.3.0-0_i386 --dir /dump
Эта команда отобразит сообщение "License". Подтвердите его. Для скрытия лицензионного сообщения используйте параметр--silent.
Рисунок 3. Извлечение GPFS
После извлечения вы должны увидеть:
Рисунок 4. Извлеченные файлы
- Для установки GPFS используйте следующие команды:
#cd /dump #rpm -ivh gpfs.msg.en_US-2.3.0-0.noarch.rpm gpfs.base-2.3.0-0.i386.rpm gpfs.docs-2.3.0-0.noarch.rpm gpfs.gpl-2.3.0-0.noarch.rpm OR rpm -ivh *.rpm
Рисунок 5. Установка GPFS
Установка gpfs.gpl-2.3.0-0.noarch.rpm необходима только на gpfs1.my.com.
- После установки RPM-файлов GPFS будут доступны показанные ниже бинарные каталоги.
#cd /usr/lpp/mmfs
Рисунок 6. Бинарные каталоги
- Для установки обновления GPFS используйте следующие команды:
#tar zxvf gpfs-2.3.0-9.i386.update.tar.gz #rpm -Uvh gpfs.msg.en_US-2.3.0-9.noarch.rpm gpfs.base-2.3.0-9.i386.rpm gpfs.docs-2.3.0-9.noarch.rpm gpfs.gpl-2.3.0-9.noarch.rpm OR rpm -Uvh *.rpm
Рисунок 7. Установка обновления GPFS
Обновление gpfs.gpl-2.3.0-9.noarch.rpm требуется только на gpfs1.my.com.
- Теперь вы готовы к компоновке GPL-модулей GPFS на выбранном для данной процедуры узле (gpfs1.my.com). Вы сделаете эту процедуру только на одном узле. После этого вы распространите сгенерированные бинарные файлы на другие узлы (gpfs2.my.com и gpfs3.my.com).
#cd /usr/lpp/mmfs/src/config #cp site.mcr.proto site.mcr #vi site.mcr
Обратитесь к файлу README, расположенному в каталоге /usr/lpp/mmfs/src, для просмотра желательных изменений.
Рисунок 8. GPL-модули GPFS
В приведенном выше примере LINUX_DISTRIBUTION, LINUX_DISTRIBUTION_LEVEL и LINUX_KERNEL_VERSION были специально обновлены для соответствия системе RHEL4 Update 2.
#cd /usr/lpp/mmfs/src #export SHARKCLONEROOT=/usr/lpp/mmfs/src #make World #make InstallImages
Рисунок 9. Установка бинарных образов
#cd /usr/lpp/mmfs/bin #scp mmfslinux mmfs26 lxtrace dumpconv tracedev gpfs2:/usr/lpp/mmfs/bin /* Скопируйте на все остальные узлы */
- Теперь вы готовы создать GPFS-кластер и настроить Network Storage Device (NSD).
- Запустите демон GPFS на всех узлах, используя команду:
#/usr/lpp/mmfs/bin/mmstartup -a
Рисунок 10. GPFS-демоны
- Создайте файл, который идентифицирует узлы, участвующие в GPFS-кластере. Подробная информация приведена в руководстве "Конфигурирование и настройка GPFS для цифровых систем хранения", ссылка на которую приведена в разделе "Ресурсы".
#vi /dump/gpfs.nodes
Рисунок 11. GPFS-узлы
- Создайте отдельный файл, содержащий дисковую информацию для создания NSD. Подробная информация приведена в руководстве "Конфигурирование и настройка GPFS для цифровых систем хранения", ссылка на которую приведена в разделе "Ресурсы".
#vi /dump/gpfs.disks
Рисунок 12. GPFS-диски
- Создайте GPFS-кластер, используя команду:
#/usr/lpp/mmfs/bin/mmcrcluster -p gpfs1.my.com -s gpfs2.my.com -n /dump/gpfs.nodes -r /usr/bin/ssh -R /usr/bin/scp
Рисунок 13. GPFS-кластер
Отобразите детальную информацию о GPFS-кластере, используя команду:
/usr/lpp/mmfs/bin/mmlscluster
Рисунок 14. Подробная информация о GPFS
- Создайте NSD, используя:
#/usr/lpp/mmfs/bin/mmcrnsd -F /dump/gpfs.disks -v yes
Рисунок 15. Создание NSD
Отобразите детальную информацию о NSD, используя команду:
/usr/lpp/mmfs/bin/mmlsnsd
Рисунок 16. Подробная информация о NSD
Содержимое /dump/gpfs.disks меняется после выполнения команды
mmcrnsd.
Рисунок 17. Измененные GPFS-диски
- Создайте файловую систему GPFS, используя:
#/usr/lpp/mmfs/bin/mmcrfs /gpfs gpfsdev -F /dump/gpfs.disks -B 1024K -m 1 -M 2 -r 1 -R 2
Рисунок 18. Создание файловой системы GPFS
Приведенная выше команда создает файловую систему GPFS (например, 286GB) и монтирует ее в папке /gpfs. Она также создает запись в файле /etc/fstab на всех узлах, для того чтобы файловая система могла быть автоматически смонтирована после перезагрузки.
Рисунок 19. Файл fstab
- Теперь ваша GPFS-система готова к использованию.
- Запустите демон GPFS на всех узлах, используя команду:
Для деинсталляции RPM-файлов GPFS выполните следующие команды:
#rpm -e gpfs.msg.en_US gpfs.docs gpfs.base
/* gpfs2.my.com и gpfs3.my.com */
#rpm -e gpfs.msg.en_US gpfs.docs gpfs.base gpfs.gpl
/* gpfs1.my.com */
#rm -rf /usr/lpp/mmfs
/* gpfs1.my.com, gpfs2.my.com и gpfs3.my.com */ |
Научиться
-
Оригинал статьи "Install and configure General Parallel File System (GPFS) on xSeries".
-
"Конфигурирование и настройка GPFS для цифровых систем хранения": Прочтите это руководство, посвященное новейшей GPFS-функции.
-
"General Parallel File System FAQ": Последние документы серии "Часто задаваемые вопросы".
- "Тестирование производительности клиентов x345/GPFS/Linux и файловых серверов x345/Linux/NSD": IBM Redpaper с результатами тестов.
-
Следите за техническими событиями и web-конференциями developerWorks.
- Хотите больше? Зона developerWorks eServer содержит сотни информативных статей и руководств начальной, средней и повышенной сложности по теме eServer.
Получить продукты и технологии
-
General Parallel File System - Поддержка UNIX-серверов и серверов на процессорах AMD и Intel: Загрузите исправленные пакеты для кластерного программного обеспечения General Parallel File Systems (GPFS).
-
Используйте в вашем следующем проекте пробное программное обеспечение IBM, доступное для загрузки с сайта developerWorks.
Обсудить
-
Подключайтесь к сообществу developerWorks, участвуя в блогах developerWorks.

Хэриш Чаухан (Harish Chauhan) работает в IBM с 1998. Из последних семи лет в IBM он пять лет работал в India Research Lab и более полутора лет - в IBM T.J.Watson Research Center. Хэриш в настоящее время руководит Linux Center of Competency в Бангалоре, Индия. Вы можете связаться с ним по адресу hchauhan@in.ibm.com.