GFS2 на iSCSI с Multipath

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

GFS2 - кластерная файловая система обеспечивающая одновременный доступ к общим хранилищам в кластере. GFS2 позволяет всем узлам иметь прямой одновременный доступ к одному общему хранилищу.

Введение

В данной статье рассмотрим развертывание GFS2 на устройстве, подключенном по интерфейсу iSCSI c использованием двух сетевых подключений.

Тестовый стенд:
1. Server-iSCSI (ip: 10.10.10.202; ip: 192.168.155.100) - сервер предоставляющий блочное устройство через iSCSI
2. iSCSI1 (ip: 10.10.10.164; ip: 192.168.155.111) - Первая нода кластера ALT PVE
3. iSCSI2 (ip: 10.10.10.211; ip: 192.168.155.112) - Вторая нода кластера ALT PVE

На двух нодах iSCSI1 и iSCSI2 штатно развернут кластер ALT PVE.

Настройка iSCSI target

iSCSI-target - сервер предоставляющий блочное устройство.
Устанавливаем пакет scsitarget-utils, запускаем и добавляем в автозагрузку сервис tgt:

# apt-get install scsitarget-utils
# systemctl enable tgt
# systemctl start tgt

В файле /etc/tgt/conf.d/sample.conf находятся примеры target-ов.
Настроим отдачу по iSCSI блочного устройства /dev/sdb для этого добавим в файл /etc/tgt/targets.conf следующие строки:

<target iqn.2016-12.com.example:server.target1>
    direct-store /dev/sdb
</target>

iqn.2016-12.com.example:server.target1 - это IQN (iSCSI qualified name) имя длиной до 255 символов в следующем формате:

iqn.<год-месяц>.<имя домена в обратном порядке>:<имя сервера>.<имя цели>

Перезагрузим сервис:

# systemctl reload tgt

Проверим конфигурацию:

# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2016-12.com.example:server.target1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
        I_T nexus: 100
            Initiator: iqn.2017-01.ua.alt:01:9daa1def62d3 alias: iSCSI3
            Connection: 0
                IP Address: 10.10.10.201
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags: 
    Account information:
    ACL information:
        ALL

iSCSI-target по умолчанию работает на порту 3260/tcp. На этом базовая настройка iSCSI-target окончена.

Настройка iSCSI initiator

iSCSI-initiator - клиент подключающийся к iSCSI-target. Установим пакет open-iscsi запустим и добавим в автозагрузку сервис iscsid:

# apt-get install open-iscsi
# systemctl enable iscsid
# systemctl start iscsid

Посмотреть доступные для подключения target-ы можно с помощью команды:

# iscsiadm -m discovery -t sendtargets -p 10.10.10.202

Присоединим iSCSI хранилище к нашему кластеру с помощью web-интерфейса ALT PVE. Зайдем в меню Datacenter -> Storage -> Добавить iSCSI:
Скриншот

Аналогично добавим через второй IP-адрес. В итоге на обоих нодах будет доступно два устройства, это одно и тоже устройство, подключенное через разные маршруты.

Настройка Multipath

Сам по себе open-iscsi не умеет подключаться к нескольким IP одного target-а. При одновременном подключении мы получили два блочных устройства. Для решения этой проблемы существует multipath, который находит диски с одинаковым идентификаторами и обрабатывает их как один диск.