Перед установкой beegfs необходимо обновить пакеты установленные в системе:
sudo yum update
Убедитесь, что ваш дистрибутив Linux поддерживается данной файловой системой, на момент написания этого гайда актуальны следующие дистрибутивы:
Red Hat Linux и его деревативы (CentOS, Fedora) версии 6, 7, 8.
Suse Linux и его деревативы(OpenSUSE) версии 12.
Debian GNU Linux и его деревативы (Ubuntu, *buntu) версии 8, 9, 10.
Актуальную информацию можно узнать на WIKI проекта, по ссылке:
https://www.beegfs.io/wiki/DownloadInstallationPackages
После проверки на совместимость с вашим дистрибутивом необходимо добавить репозиторий проекта в дистрибутив:
http://www.beegfs.io/release/
И еще раз выполнить:
sudo yum update
Для корректной работы файловой системы требуется синхронизация времени на всех узлах кластера (NTP server).
Перед установкой вам необходимо продумать архитектуру свой инсталляции BeeGFS, а так же ознакомится с базовыми понятиями данной файловой системы. Это параллельная кластерная файловая система, файлы распределяются на нескольких узлах кластера (допустимо и наличие единственного узла для всех служб файловой системы) для максимизации производительности чтения/записи и масштабируемости файловой системы. Кластерная, описывает, что узлы сервера совместно работают над созданием единой файловой системы, которая может быть одновременно смонтирована и доступна другим узлам кластера (и прочим клиентам). Основная идея в том, что клиенты могли видеть и использовать эту распределенную файловую систему также,как и локальные файловые системы. Исходя из этой идеи и стоит планировать инфраструктуру инсталлируемой системы.
Непосредственно установка и первоначальная настройка BeeGFS:
Начинать установку следует с mgmt сервиса — это сервис управления файловой системы.
yum install beegfs-mgmtd
Далее инициализациия новой конфигурации:
/opt/beegfs/sbin/beegfs-setup-mgmtd -p /MGMT_FOLDER
После инициализаци необходимо редактировать первоначальную конфигурацию mgmt сервиса:
vim /etc/beegfs/beegfs-mgmt.conf
storeMgmtdDirectory = /data/mgmt/# Директория в которой mgmt сервис хранит данные о файловой системе
storeAllowFirstRunInit = false #Разрешает инициализацию директории хранения mgmt, нужно для первого запуска.
sysAllowNewServers = true #Разрешить добавление новых серверверов. Отключить после завершения сборки ФС
sysAllowNewTargets = true #Разрешить добавление новых таргетов. Отключить после завершения сборки ФС
connAuthFile = #Путь к файлу аутентицикации, если предусмотрен secret.key
connBacklogTCP = 128 #Количество допустимых TCP соединений
connInterfacesFile = /etc/beegfs/con.conf #Путь к файлу с разрешенными сетевыми интерфейсами
connMgmtdPortTCP = 1111 #Порт для работы mgmt TCP
connMgmtdPortUDP = 1111 #Порт для работы mgmt UDP
connNetFilterFile = #Путь к файлу содержащему подсети исходящих адресов
connPortShift = 0 #Смещение для всех использумыех портов
logType = logfile
logLevel = 2
logNoDate = false
logNumLines = 50000
logNumRotatedFiles = 5
logStdFile = /var/log/beegfs-mgmtd.log
#Секция квотирования файловой системы
quotaQueryGIDFile =
quotaQueryGIDRange =
quotaQueryUIDFile =
quotaQueryUIDRange =
quotaQueryType = system
quotaQueryWithSystemUsersGroups = false
quotaUpdateIntervalMin = 10
runDaemonized = true #Тип запуска (демон)
sysTargetOfflineTimeoutSecs = 180 #Время потери таргета
tuneClientAutoRemoveMins = 30 #Таймер удаления таргета из файловой системы (совсем) минуты
tuneNumWorkers = 10 #Количество воркеров обслуживающих файловую систему Не забудьте создать файл /etc/beegfs/con.conf содержищий название интерфейса с которым планируется работа файловой системы. Так же удостоверьтесь, что при инсталляции вы используете вакантные порты операционной сиситемы - всего понадобиться 5 портов для сервисов файловой системы: mgmt, storage,meta,helper, client. После редактирования конфигурационного файла можно запустить сервис: systemctl start beegfs-mgmtd.service Затем проверить состояние сервиса: systemctl status beegfs-mgmtd.service Если что то пошло не так, нужно изучить файл логов, расположенный тут: /var/log/beegfs-mgmt.log После успешного запуска службы и проверки ее статуса необходимо отредактировать systemd unit этой службы: vim /usr/lib/systemd/system/beegfs-mgmt.service В секции [Service] необходимо добавить строку для предотвращения возможных ошибок при запуске сервиса. ExecStartPre=/usr/bin/sleep 10 Далее, установка beegfs-storage service Установка пакета: yum install beegfs-storage libbeegfs-ib Инициализация новой конфигурации: /opt/beegfs/sbin/beegfs-setup-storage -p /storage_directory -s 1 -i 101 -m NODE В данном случае параметр -s это ID сервиса.А параметр -i это пользовательский ID. Для работы сервисов имеет значение ID сервиса (-s). ID представляет собой уникальный идентификатор сервиса. Это число в диапазоне 1-65636, должно быть уникальным в своем классе (metadata, storage, client). NODE - это имя управляющей ноды ip/hostaname. После инициализаци необходимо редактировать первоначальную конфигурацию storage сервиса: /etc/beegfs/beegfs-storage.conf sysMgmtdHost = 172.26.2.65 #Адрес хоста, на котором расположен сервис mgmt storeStorageDirectory = ,/data/stor/ #Директория в которой хранятся данные storage сервиса, запятая нужна storeAllowFirstRunInit = false #Разрешение на инициализацию новой директории хранения storage target connAuthFile = #Путь к файлу аутентицикации, если предусмотрен secret.key connBacklogTCP = 128 #Количество допустимых TCP соединений connInterfacesFile = /etc/beegfs/con.conf #Путь к файлу с разрешенными сетевыми интерфейсами connMaxInternodeNum = 12 connMgmtdPortTCP = 1111 #Порт для работы mgmt TCP connMgmtdPortUDP = 1111 #Порт для работы mgmt UDP connStoragePortTCP = 1112 #Порт для работы storage TCP connStoragePortUDP = 1112 #Порт для работы storage UDP connPortShift = 0 #Смещение для всех использумыех портов Убедитесь что каталог, указанный в кофигурационном файле как storage target существует и доступен. Так же проверьте наличие файла описывающего разрешенные сетевые интерфейсы. После редактирования конфигурационного файла можно запустить сервис systemctl start beegfs-storage.service Затем проверить состояние сервиса systemctl status beegfs-storage.service Если что то пошло не так, нужно изучить файл логов, расположенный тут: /var/log/beegfs-storage.log После успешного запуска службы и проверки ее статуса необходимо отредактировать systemd unit этой службы: vim /usr/lib/systemd/system/beegfs-storage.service В секции [Service] необходимо добавить строку для предотвращения возможных ошибок при запуске сервиса. ExecStartPre=/usr/bin/sleep 15 Далее, установка beegfs-meta service Установка пакета: yum install beegfs-meta libbeegfs-ib Инициализация новой конфигурации: /opt/beegfs/sbin/beegfs-setup-meta -p /meta_directory -s 1 -m NODE После инициализаци необходимо редактировать первоначальную конфигурацию meta сервиса: vim /etc/beegfs/beegfs-meta.conf sysMgmtdHost = 172.26.2.65 #Адрес хоста, на котором расположен сервис mgmt storeStorageDirectory = /data/meta/ #Директория в которой хранятся данные storage сервиса,без запятой storeAllowFirstRunInit = false #Разрешение на инициализацию новой директории хранения meta target connAuthFile = #Путь к файлу аутентицикации, если предусмотрен secret.key connBacklogTCP = 128 #Количество допустимых TCP соединений connInterfacesFile = /etc/beegfs/con.conf #Путь к файлу с разрешенными сетевыми интерфейсами connMaxInternodeNum = 12 connMetaPortTCP = 1113 #Порт для работы meta сервиса TCP connMetaPortUDP = 1113 #Порт для работы meta сервиса UDP connMgmtdPortTCP = 1111 #Порт для работы mgmt TCP connMgmtdPortUDP = 1111 #Порт для работы mgmt UDP connPortShift = 0 #Смещение для всех использумыех портов Убедитесь что каталог, указанный в кофигурационном файле как meta target существует и доступен. Так же проверьте наличие файла описывающего разрешенные сетевые интерфейсы. После редактирования конфигурационного файла можно запустить сервис systemctl start beegfs-meta.service Затем проверить состояние сервиса systemctl status beegfs-meta.service Если что то пошло не так, нужно изучить файл логов, расположенный тут: /var/log/beegfs-meta.log
После успешного запуска службы и проверки ее статуса необходимо отредактировать systemd unit этой службы:
vim /usr/lib/systemd/system/beegfs-meta.service
В секции [Service] необходимо добавить строку для предотвращения возможных ошибок при запуске сервиса.
ExecStartPre=/usr/bin/sleep 15
Далее, установка beegfs-helper, beegfs-client service
Установка пакетов:
yum install beegfs-client beegfs-helperd beegfs-utils
Сборка клиента. Необходимо изменить конфигурацию файла сборки клиента:
/etc/beegfs/beegfs-client-autobuild.conf
Возможны следующие варианты:
buildArgs=-j8 Если вы не ипользуете IB buildArgs=-j8 BEEGFS_OPENTK_IBVERBS=1 Если вы используете IB и хотите собрать клиент с библиотекой libbeegfs-ib buildArgs=-j8 BEEGFS_OPENTK_IBVERBS=1 OFED_INCLUDE_PATH=/usr/src/openib/include Если вы используете IB и установили драйавра OFED от меланокса. Не используйте драйвер OFED версии 4.5 и выше! Они не совместимы с клиентом beegfs! После редактирования файла сборки, нужно запустить процесс сборки: /etc/init.d/beegfs-client rebuild Инициализация клиента: /opt/beegfs/sbin/beegfs-setup-client -m NODE NODE - Имя управляющей ноды ip/hostaname. После инициализаци необходимо редактировать первоначальную конфигурацию client сервиса: /etc/beegfs/beegfs-client.conf sysMgmtdHost = 172.26.2.65 #Адрес хоста, на котором расположен сервис mgmt connAuthFile = #Путь к файлу аутентицикации, если предусмотрен secret.key connClientPortUDP = 1115 #Порт для работы client сервиса UDP connHelperdPortTCP = 1114 #Порт для работы client сервиса TCP connMgmtdPortTCP = 1111 #Порт для работы mgmt TCP connMgmtdPortUDP = 1111 #Порт для работы mgmt UDP connPortShift = 0 #Смещение для всех использумыех портов Необходимо отредактировать файл: vim /etc/beegfs/beegfs-mounts.conf Здесь указывается в какой точке монтировать файловую систему и конфиг файл клента через пробел: /MOUNT_DIRECTORY /etc/beegfs/beegfs-client.conf Далее, редактирование конфигурации beegfs-helper: vim /etc/beegfs/beegfs-helper.conf Основные настройки: connAuthFile = #Путь к файлу аутентицикации, если предусмотрен secret.key connHelperdPortTCP = 1114 #Порт для работы helper сервиса TCP connPortShift = 0 #Смещение для всех использумыех портов После конфигурирования этих служб запускаем сервисы. Helper: systemctl start beegfs-helperd.service systemctl status beegfs-helperd.service Client: systemctl start beegfs-client.service systemctl status beegfs-client.service После успешного запуска служб и проверки их статуса необходимо отредактировать systemd unit этих служб: vim /usr/lib/systemd/system/beegfs-helper.service vim /usr/lib/systemd/system/beegfs-client.service В секции [Service] необходимо добавить строку для предотвращения возможных ошибок при запуске сервиса. ExecStartPre=/usr/bin/sleep 20 Все службы пишут логи: /var/log/beegfs-* (mgmt/storage/meta/helper/client) Если все службы были коректно конфигурированы и успешно запущены, можно убедится, что файловая система была смонтирована: df -h