Подключение MPIO iSCSI LUNs на Linux

Multipath I/O — технология, позволяющая задействовать нескольких контроллеров или шин для доступа к одному устройству хранения данных. Например, один SCSI диск может быть подсоединён к двум SCSI контроллерам. В случае отказа одного из них, операционная система будет продолжать работать по другому. Это дает возможность повысить производительность и отказоустойчивость среды передачи данных.

  1. Установим iSCSI и multipath utilities to your host:
    • RHEL/CentOS:
    yum install iscsi-initiator-utils device-mapper-multipath
    • Ubuntu/Debian:
    sudo apt-get update
    sudo apt-get install multipath-tools
  2. Создадим или отредактируем конфигурационный файл.
    • Редактируем /etc/multipath.conf
    • Внимание: В RHEL7/CentOS7, multipath.conf может быть пустым.
    defaults {
    user_friendly_names no
    max_fds max
    flush_on_last_del yes
    queue_without_daemon no
    dev_loss_tmo infinity
    fast_io_fail_tmo 5
    }
    # All data under blacklist must be specific to your system.
    blacklist {
    wwid "SAdaptec*"
    devnode "^hd[a-z]"
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^cciss.*"
    }
    devices {
    device {
    vendor "NETAPP"
    product "LUN"
    path_grouping_policy group_by_prio
    features "3 queue_if_no_path pg_init_retries 50"
    prio "alua"
    path_checker tur
    failback immediate
    path_selector "round-robin 0"
    hardware_handler "1 alua"
    rr_weight uniform
    rr_min_io 128
    }
    }
  3. Загрузим multipath модуль, запустим multipath службы и добавим в автозагрузку.
    • RHEL 6:
      modprobe dm-multipath
      service multipathd start
      chkconfig multipathd on
    • CentOS 7:
      modprobe dm-multipath
      systemctl start multipathd
      systemctl enable multipathd
    • Ubuntu:
      service multipath-tools start
  4. Проверим, что multipath работает.
    • RHEL 6:
      multipath -l

      Если получаем пустоту – значит работает.

    • CentOS 7:
      multipath -ll

      RHEL 7/CentOS 7 может вернуть No fc_host device, это можно проигнорировать.

  5. Обновим /etc/iscsi/initiatorname.iscsi файл с IQN (значение должно быть в нижнем регистре)
    InitiatorName=<value-from-the-Portal>
  6. Отредактируем CHAP настройки в /etc/iscsi/iscsid.conf
    node.session.auth.authmethod = CHAP
    node.session.auth.username = <Username-value-from-Portal>
    node.session.auth.password = <Password-value-from-Portal>
    discovery.sendtargets.auth.authmethod = CHAP
    discovery.sendtargets.auth.username = <Username-value-from-Portal>
    discovery.sendtargets.auth.password = <Password-value-from-Portal>
  7. Настроим автозапуск iSCSI.
    • RHEL 6:
      chkconfig iscsi on
      chkconfig iscsid on
      service iscsi start
      service iscsid start
    • CentOS 7:
      systemctl enable iscsi
      systemctl enable iscsid
      systemctl start iscsi
      systemctl start iscsid
  8. Обнаружим цели по IP адресу портала.
    iscsiadm -m discovery -t sendtargets -p <ip-value-from-SL-Portal>

    Установим автоматическое подкючение iSCSI:

    iscsiadm -m node -L automatic
  9. Подтвердим подключение к сессии iSCSI.
    iscsiadm -m session
    multipath -l

    Получим отчет по подключениям.

  10. Убедимся что устройство подключено. Оно находится по-умолчанию в виде /dev/mapper/mpathX где X сгенерированный ID.
    fdisk -l | grep /dev/mapper

    Получим что-то вроде,

    Disk /dev/mapper/3600a0980383030523424457a4a695266: 73.0 GB, 73023881216 byte

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2023

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!