mpath
Mpath
Установка, монтирование или демонтаж iSCSI блочных хранилищ с использованием multipath.
Это было протестировано на блочных хранилищах SoftLayer, но также будет работать и на других конфигурациях с хранилищами iSCSI multipath.
Логика этой роли:
Во время установки
- Установка зависимых пакетов для использования multipath и iSCSI
- Конфигурация файла /etc/multipath.conf
- Проброс модуля ядра dm-multipath
- Включение и запуск multipathd
- Список с помощью (multipath -l) для запуска обработчика multipathd
- Конфигурация файла /etc/iscsi/initiatorname.iscsi
- Редактирование аутентификации CHAP в /etc/iscsi/iscsid.conf
- Попытка автоматического входа на портал, если не удается - использовать обычный вход
- Создание псевдонима в /etc/multipath/bindings
- Монтаж multipath "/dev/mapper/mydeviceid" на "/mnt/myaliasname"
- Запуск iSCSI и iscsid
- Добавление записей в /etc/fstab
Во время демонтажа
- Получение pid'ов устройства "/dev/mapper/mydeviceid"
- Если устройство используется, принудительно освободить устройство
- Демонтировать устройство ленивым способом (umount -l device)
- Демонтировать и удалить записи из fstab
- Очистка multipath с помощью (multipath -f device)
- Выйти из сеанса целевого портала
- Запуск обработчика для остановки и отключения служб iSCSI, iscsid и multipathd
Требования
Вам потребуется iSCSI multipath блочное хранилище, логин и пароль для IQN. Вам также нужно будет знать полный путь IQN инициатора и ID iSCSI маппера. Например: /dev/mapper/3600...
Переменные роли
Это переменные, которые вам нужно будет настроить в вашем плейбуке.
iscsint - это имя инициатора IQN. Например:
iscsint: iqn.1994-05.com.redhat:47c98423c167
Вы можете задать несколько инициаторов в виде массива:
iscsint:
- iqn.1994-05.com.redhat:47c98423c167
- iqn.1994-05.com.redhat:47c98423c167-2
- iqn.1994-05.com.redhat:47c98423c167-3
mpathip - это IP-адрес целевого устройства
mpathip: 10.150.10.20
filesystem - по умолчанию установлен на ext4, измените это на нужное вам.
Проверьте поддерживаемые файловые системы в модуле монтирования ansible.
map - если установлено в true, это значит, что будут выполняться все задачи установки и конфигурации.
Если установить в false, маппер устройства будет демонтирован и следовать процессу демонтажа.
wwid - это псевдоним для устройства multipath и будет использоваться для настройки файла привязки.
Эта переменная очень важна, её также будут использовать во всей роли для монтирования и демонтажа устройства
на основе id.
Синтаксис должен быть таким:
wwid:
- { id: '360009827346', alias: 'mylun0' }
- { id: '360782378662', alias: 'mylun1' }
...
packs - это список пакетов для установки. Установит iSCSI, multipath и lsof.
credentials необходимо настроить в вашем плейбуке с вашим логином и паролем.
Например:
credentials:
- name: "Мои Учетные Данные"
login: mylogin
pass: mypassword
ПРЕДУПРЕЖДЕНИЕ!
логин и пароль должны быть указаны без кавычек " или одинарных кавычек '.
Зависимости
Отсутствуют
Пример плейбука
Вот образец плейбука. Этот плейбук установит и смонтирует устройство multipath на somehost:
- name: "Развертывание | Запуск роли isca0.mpath"
hosts: somehost
become: yes
remote_user: myuser
vars:
mpathip: "10.200.10.100"
credentials:
- name: "Multipath"
login: MyLogin
pass: Mypassword
iscsint:
- "iqn.1994-05.com.redhat:47c98423c167"
wwid:
- { id: '3600a0980383888835645961', alias: 'blk' }
roles:
- mpath
Если вы хотите демонтировать устройство на группе хостов, а затем смонтировать его на одном хосте, вы можете сначала запустить плейбук на демонтаж, а затем плейбук на "установку/монтаж".
Вот пример плейбука на демонтаж:
- name: "Развертывание | Запуск роли isca0.mpath"
hosts: groupofhosts
become: yes
remote_user: myuser
vars:
map: false
mpathip: "10.200.10.100"
wwid:
- { id: '3600a098038303631a35645961', alias: 'blk' }
roles:
- mpath
Как видите, просто установите map в false, чтобы роль выполняла только задачи демонтажа. :wink:
Список задач
- Добавить поддержку автоматического монтирования
Лицензия
LGPL-3.0
Информация об авторе
Эта роль была создана в 2017 году isca
Manage iscsi blockstorage with multipath on softlayer like a boss
ansible-galaxy install isca0/mpath