www.raaar.ru

      GlusterFS это мощная сеть/кластер файловой системы, исполняемой в пространстве пользователя, которая использует FUSE для подключения поверх реальной файловой системы. GlusterFS использует многоуровневый подход к файловой системе, где функции могут быть добавлены или удалены в соответствии с требованием. Хотя GlusterFS это виртуальная файловая система, она использует уже испытанные файловые системы на реальных дисках, такие как ext3 ext4, XFS, и т.д., чтобы хранить данные. Она может легко масштабироваться до петабайт дискового пространства, которое доступно пользователю под одной точкой монтирования.



Быстрый старт

Оригинал статьи
pdf-версия

Цель

Этот документ предназначен, чтобы дать вам шаг за шагом руководство по первой настройке GlusterFS. Для этого урока, мы предполагаем, что вы используете Fedora 20 в виртуальной машине. Мы также не объясняем здесь каждый шаг подробно, это руководство упрощено, чтобы помочь вам и дать возможность как можно быстрее начать работу с системой. После развертывания GlusterFS, выполнив следующие действия, мы рекомендуем вам прочитать руководство GlusterFS администратора, чтобы узнать, как управлять GlusterFS и как выбрать тип тома, который соответствует вашим потребностям. Прочитайте руководство GlusterFS нового пользователя для более детального объяснения шагов, которые мы здесь предприняли. Мы хотим, чтобы вы успешно начали работать с системой в кратчайшие сроки.

Если вы хотели бы более подробную экскурсию по инструкциям установки GlusterFS, используя различные методы (в локальных виртуальных машинах, EC2 и baremetal) и различных дистрибутивах, то посмотрите 'Начать работать с GlusterFS ' и
Автоматическое развертывание GlusterFS с Puppet-Gluster + Vagrant

Если вы хотите, развернуть GlusterFS автоматически, используя Puppet-Gluster + Vagrant, посмотрите эту статью.


Реальное краткое руководство по быстрой инсталляции и началу работы с GlusterFS


Если вы хотите чистые МИНИМАЛЬНЫЕ действия по началу работы с GlusterFS, взгляните на это очень быстрое руководство.

Шаг 1 - Как минимум два узла


     Fedora 20 на двух узлах под названием "server1" и "server2"
     Рабочее подключение к сети
     По два виртуальных диска, один для установки ОС, и один будет использоваться для обслуживания GlusterFS хранения SDB. Это будет эмулировать реальный мир развертывания, где вы хотели бы, чтобы GlusterFS - система хранения файлов отделялась от установки ОС.
     Примечание: GlusterFS хранит свои динамически генерируемые файлы конфигурации в /var/Lib/glusterd. Если в любой момент времени GlusterFS будет не в состоянии написать эти файлы, то это как минимум, вызывет странное поведение вашей системы; или еще хуже, получите системы в полностью автономном режиме. Желательно создать отдельные разделы для каталогов, таких как /var/log/, чтобы этого не произошло.


Шаг 2 — Форматируйте диски и установите точки монтирования


(На обоих узлах):

Примечание: Предполагается, что точка монтирования будет находиться на /dev/sdb1.

  mkfs.xfs -i size=512 /dev/sdb1
mkdir -p /data/brick1
vi /etc/fstab

Добавьте следующее:

  /dev/sdb1 /data/brick1 xfs defaults 1 2

Сохраните файл и выйдите, примонтируйте всё:

  mount -a && mount

Вы должны увидеть sdb1 установлен на /data/brick1


Шаг 3 - Установка GlusterFS


(на обоих серверах)

Установка программного обеспечения


 yum install glusterfs-server

Стартуем демона GlusterFS :

 service glusterd start
service glusterd status
glusterd.service - LSB: glusterfs server
Loaded: loaded (/etc/rc.d/init.d/glusterd)
Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/glusterd.service
├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
└ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...


Шаг 4 - Настройка SELinux и IPTables


Это только в Fedora 19 или предыдущих версиях. Fedora 20 и позже должны работать нормально с SELinux

Изменить SELinux на "
permissive" или "disabled" чтобы включить SELinux в разрешающий режим

 setenforce 0

Чтобы увидеть текущий режим SELinux

 getenforce

Для того, чтобы изменения SELinux сделать постоянными

В “/etc/selinux/config” вписать “SELINUX=disabled” или ”SELINUX=permissive”

Удалить все iptable правила, так чтобы они не мешали Gluster

  iptables -F

Шаг 5 - Настройка доверенного окружения


От "server1"


 gluster peer probe server2

Примечание: При использовании хостов, первый сервер должен быть проверен с другого сервера, чтобы установить его имя.

От "server2"


 gluster peer probe server1

Примечание: После того, как доверенное окружение было создано, только доверенные члены могут исследовать новые серверы в этом окружении.Новый сервер не может зондировать окружение, он должен быть проверен изнутри пула.


Шаг 6 - Настройка томов GlusterFS


На обоих server1 и server2:

mkdir /data/brick1/gv0

От любого сервера:


gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0

gluster volume start gv0

Убедитесь, что тома показывают "Started":

gluster volume info

Примечание: Если работа нового тома не началась, то поможет понять, что пошло не так, просмотр лог-файлов в /var/log/GlusterFS на одном или обоих серверах - как правило, в etc-GlusterFS-glusterd.vol.log


Шаг 7 - Проверка томов GlusterFS


На этом этапе мы будем использовать один из серверов для монтирования тома. Как правило, вы могли бы сделать это с внешнего аппарата, известного как "клиент". Для этого метода потребуются дополнительные пакеты, которые нужно установить на клиентском компьютере, серверы сейчас нам послужат для простого теста первого использования.


 mount -t glusterfs server1:/gv0 /mnt
for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done

Во-первых, проверьте точку монтирования:


ls -lA /mnt | wc -l

Вы должны увидеть 100 файлов. Далее, проверьте в GlusterFS точки монтирования на каждом сервере:


ls -lA /data/brick1/gv0

Вы должны увидеть 100 файлов на серверах с помощью описанного способа. Без репликации, в пределах тома (здесь это не описано подробно), вы должны увидеть около 50 на каждом.