Установка и настройка General Parallel File System (GPFS) на xSeries

Рассмотрите простую реализацию General Parallel File System (GPFS). В современном мире Linux доступно множество файловых систем, например, ext2, ext3, ReiserFS, JFS и т.д. Подобным же образом в кластерной среде нужна файловая система, которая хорошо масштабируется, дает лучшую производительность и обеспечивает высокую отказоустойчивость. IBM GPFS отвечает всем этим требованиям. Она имеет поддержку блоков большого размера с широкой разметкой, параллельный доступ к файлам из нескольких узлов, управление маркерами и многое другое.

Введение

Файловая система описывает метод хранения информации на жестком диске. Примерами файловых систем являются 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. Примерная конфигурация
Рисунок 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.
  1. Если вам доступен код в tar-формате, извлеките GPFS-файлы, либо смонтируйте CD-ROM или DVD, на которых есть RPM-файлы GPFS, следующим образом:
    #cd /dump
    #tar zxvf gpfs_code.tar.gz

    На рисунке 2 показана часть извлеченного содержимого:

    Рисунок 2. Cодержимое GPFS
    Рисунок 2. Cодержимое GPFS

  2. Извлеките RPM-файлы GPFS следующим образом:
    #./gpfs_install-2.3.0-0_i386 --dir /dump
     

    Эта команда отобразит сообщение "License". Подтвердите его. Для скрытия лицензионного сообщения используйте параметр --silent.

    Рисунок 3. Извлечение GPFS
    Рисунок 3. Извлечение GPFS

    После извлечения вы должны увидеть:

    Рисунок 4. Извлеченные файлы
    Рисунок 4. Извлеченные файлы

  3. Для установки 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
    Рисунок 5. Установка GPFS

    Установка gpfs.gpl-2.3.0-0.noarch.rpm необходима только на gpfs1.my.com.

  4. После установки RPM-файлов GPFS будут доступны показанные ниже бинарные каталоги.
    #cd /usr/lpp/mmfs
     

    Рисунок 6. Бинарные каталоги
    Рисунок 6. Бинарные каталоги

  5. Для установки обновления 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
    Рисунок 7. Установка обновления GPFS

    Обновление gpfs.gpl-2.3.0-9.noarch.rpm требуется только на gpfs1.my.com.

  6. Теперь вы готовы к компоновке 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
    Рисунок 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. Установка бинарных образов
    Рисунок 9. Установка бинарных образов

    #cd /usr/lpp/mmfs/bin
    #scp mmfslinux mmfs26 lxtrace dumpconv tracedev gpfs2:/usr/lpp/mmfs/bin
     /* Скопируйте на все остальные узлы */

  7. Теперь вы готовы создать GPFS-кластер и настроить Network Storage Device (NSD).
    1. Запустите демон GPFS на всех узлах, используя команду:
      #/usr/lpp/mmfs/bin/mmstartup -a
       

      Рисунок 10. GPFS-демоны
      Рисунок 10. GPFS-демоны

    2. Создайте файл, который идентифицирует узлы, участвующие в GPFS-кластере. 
      #vi  /dump/gpfs.nodes
       

      Рисунок 11. GPFS-узлы
      Рисунок 11. GPFS-узлы

    3. Создайте отдельный файл, содержащий дисковую информацию для создания NSD.
      #vi  /dump/gpfs.disks
       

      Рисунок 12. GPFS-диски
      Рисунок 12. GPFS-диски

    4. Создайте 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-кластер
      Рисунок 13. GPFS-кластер

      Отобразите детальную информацию о GPFS-кластере, используя команду:

      /usr/lpp/mmfs/bin/mmlscluster
       

      Рисунок 14. Подробная информация о GPFS
      Рисунок 14. Подробная информация о GPFS

    5. Создайте NSD, используя:
      #/usr/lpp/mmfs/bin/mmcrnsd -F /dump/gpfs.disks -v yes
       

      Рисунок 15. Создание NSD
      Рисунок 15. Создание NSD

      Отобразите детальную информацию о NSD, используя команду:

      /usr/lpp/mmfs/bin/mmlsnsd
       

      Рисунок 16. Подробная информация о NSD
      Рисунок 16. Подробная информация о NSD

      Содержимое /dump/gpfs.disks меняется после выполнения команды mmcrnsd.

      Рисунок 17. Измененные GPFS-диски
      Рисунок 17. Измененные GPFS-диски

    6. Создайте файловую систему GPFS, используя:
      #/usr/lpp/mmfs/bin/mmcrfs /gpfs gpfsdev -F /dump/gpfs.disks -B 
      1024K -m 1 -M 2 -r 1 -R 2

      Рисунок 18. Создание файловой системы GPFS
      Рисунок 18. Создание файловой системы GPFS

      Приведенная выше команда создает файловую систему GPFS (например, 286GB) и монтирует ее в папке /gpfs. Она также создает запись в файле /etc/fstab на всех узлах, для того чтобы файловая система могла быть автоматически смонтирована после перезагрузки.

      Рисунок 19. Файл fstab
      Рисунок 19. Файл fstab

    7. Теперь ваша 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  */ 


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=3016