dCache — xранилище, где живёт ХИГГС

от автора

В последнее время было большое количество постов о ЦЕРНе и Большом Адронном Kоллайдере (БАК или LHC). Но не многие знают, что БАК производит ~20 ПБ данных в год. Порядка 50% всех данных хранится в dCache.

dCache является распределённой системой хранения данных, способной работать на обычном железе, с возможностью расширения посредсвом добавления новых узлов. Всё, что нужно для работы на узле, — это JVM (так как всё написано на джаве) и файловая система, где, собственно, и хранятся данные. Типичные инсталляции используют Linux(RHEL/SL/CentOS 6) или Solaris с XFS или ZFS, соответсвенно. В связи с натурой эксперементальных данных dCache не предусматривает изменение хранимых файлов.

dCache разрабатывается с 2000 года и с 2002 года используеться в более чем 80 научных центрах мира, включая Россию. Самые маленькие системы состоят из одного узла в несколько ТБ, самые большие состоят из ~500 узлов с суммарным дисковым пространством в 22 ПБ.

image

dCache поддерживает разные протоколы доступа к данным. Наряду с широкораспространенными стандартными протоколами WebDAV, FTP, NFSv4.1/pNFS используются а также грид протоклы SRM и GRIDFTP.

Самое простое применение dCache — это расспределённый WebDAV сервер. На его основе можно создать свой собственный Cloud Storage, тем более, что уже существует достаточное количество клиентов, использующих HTTP и WebDAV.

Мы расмотрим более банальное применение — распределенное NFSv4.1 хранилище.

Для хранения метадданных dCache использует postgresql.
Итак, приступим:

# yum install postgresql-server # yum install java-1.7.0-openjdk # yum install http://www.dcache.org/downloads/1.9/repo/2.6/dcache-2.6.10-1.noarch.rpm # /etc/init.d/postgresql initdb 

В /var/lib/pgsql/data/postgresql.conf включаем TCP:
listen_addresses = 'localhost'

В /var/lib/pgsql/data/pg_hba.conf добавляем

host    all         all         127.0.0.1/32          trust # IPv6 local connections: host    all         all         ::1/128               trust
# /etc/init.d/postgresql restart # su postgres -c "createuser -D -R -S chimera" # su  postgres -c "createdb -O chimera chimera" # su  postgres -c "createlang plpgsql chimera" 

Все конфигурационные файлы находятся в /etc/dcache директории. Нас интересует только один из них: /etc/dcache/layout/single.conf, где находится описание сервисов, которые должны быть запущены на данном узле.

Говорим dCache, что должно работать в /etc/dcache/layouts/single.conf:

[dCacheDomain] [dCacheDomain/admin] [dCacheDomain/broadcast] [dCacheDomain/poolmanager] [dCacheDomain/loginbroker] [dCacheDomain/pnfsmanager] [dCacheDomain/cleaner] [dCacheDomain/httpd] [dCacheDomain/topo] [dCacheDomain/nfsv41] 

Данная кофигурация создаёт dCacheDomain ( каждый домайн — одна JVM, один процесс) с соответствующими сервисами.

И конфигурируем дата сервер на том же узле:
# dcache pool create /srv/dcache pool1 pool1Domain

Данная команда добавит в конфигурационный файл pool1Domain с сервисом типа дата сервер с именем pool1:

[pool1Domain] [pool1Domain/pool] name=pool1 path=/srv/dcache waitForFiles=${path}/data

Создаём директорию:
# chimera-cli mkdir /data<br> # chimera-cli chmod /data 777

И экспортируем в /etc/exports:
/data *(rw)

Запускаем dCache:
# dcache start
Лог файлы находятся в /var/log/dcache.

Так как dCache является распределённым храннилищем, нам нужен NFS клиент, который поддерживает pNFS (parallel NFS). Это RHEL/CentOS 6 или любой другой современный линукс дистрибутив:

# mount -overs=4.1 <server>:/data /data

Чтобы добавить новый узел и, тем самым, расширить хранилище, достаточно на другом хосте поставить пакеты openjdk и dcache, создать
/etc/dcache/layouts/single.conf с одной строкой:
dcache.broker.host=и создать дата сервер:
# dcache pool create /srv/dcache pool2 pool2Domain
Важно помнить, что имена домайнов и дата серверов должны быть уникальные.

To steal and contribute code

Код dCache-а находится на гитхабе и, в зависимости от компонента, распостраняется под лицензией AGPL, LGPL и BSD.

Ресурсы:

www.dcache.org
https://github.com/dCache/dcache

Буду рад, если вас интересуют долее сложные конфигурации.

ссылка на оригинал статьи http://habrahabr.ru/post/196584/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *