Skip to content

Подключение дисков

iSCSI portal – сервер, который предоставляет доступ к системе хранения данных по протоколу iSCSI и определяется по имени или IP-адресу.

iSCSI target - логическая точка подключения портала. Определяется уникальным идентификатором в следующем формате:
iqn.<год (4 цифры) >-<месяц (2 цифры)>.<имя домена в обратном порядке>:< опциональный идентификатор>.

Месяц и год в идентификаторе - дата регистрации домена.

Пример валидных идентификаторов

`iqn.2003-01.com.ibm:00.fcd0ab21.shark128`  
`CPV_IQN:ceph-idc`

На портале iSCSI может быть сконфигурировано несколько iSCSI target.

iSCSI client или iSCSI инициатор - клиентская машина, каждая из которых определяется уникальным клиентским идентификатором в таком же формате, как iscsi target.
Многие ОС сами генерируют идентификаторы iSCSI при установке.
Например, CentOs и RedHat генерируют идентификатор в формате iqn.1994-05.com.redhat:fbb1b3344d99, где последние 12 цифр - mac-адрес сетевого интерфейса. При конфигурировании клиента можно использовать сгенерированный идентификатор, можно придумать свой. Чтобы iSCSI-клиент мог подключиться к iSCSI target, он должен быть зарегистрирован на iSCSI target с указанием списка дисков, которые он может использовать.
Один и тот же клиент может быть одновременно подключен с одному или нескольким таргетам одного или разных порталов. Один и тот же iSCSI диск может быть подключен к нескольким клиентам. Ответственность за целостность данных при этом несет клиентское ПО.

Подключение iSCSI дисков на Windows 10

  1. Запустите программу iSCSI Initiator: Start-> search -> iSCSI Initiator

  2. При первом добавлении диска появится следующее диалоговое окно:

    Нажмите Yes.

  3. Когда откроется окно программы, выберите вкладку Configuration, далее нажмите Change для настройки идентификатора клиента. В открывшемся окне диалога введите имя клиента, добавленного в iSCSI storage UI.

    Либо же можно сначала открыть iSCSI Initiator, узнать стандартный идентификатор машины, а затем добавить в UI клиента с таким именем.

  4. Выберите вкладку Discovery:

  5. Нажмите на Discover Portal.

  6. В открывшемся диалоге необходимо ввести IP-адрес любого портала из списка, который отображается в iSCSI storage UI над вкладками Disk и Clients рядом с квотами:

  7. Убедитесь, что портал успешно добавился:

  8. Затем перейдите во вкладку Targets, выберите единственный таргет из списка и нажмите Connect.

  9. В появившемся диалоговом окне выберите Advanced.

  10. В окне Advanced Settings выберите Enable CHAP on log on, введите имя пользователя и пароль, затем нажмите OK и затем OK в окне Connect to Target.

  11. Проверьте, что таргет перешел в состояние Connected:

  12. Просмотреть подключенные диски можно в списке Devices:

  13. Далее с диском можно работать как с любым другим жестким диском:
    Зайти в Control Panel -> Administrative tools -> Computer Management -> Storage -> Disk Management, проинициализировать диск, разбить на разделы, отформатировать и т.д.

Поддержка Multi-Path.

Технология Multi-Path – это создание более одного соединения между клиентом и сервером для обеспечения бесперебойной работы сервиса при возникновении проблем с одним из соединений. Если в сервисе iSCSI Storage сконфигурирован более чем один iSCSI портал, то сервис может работать по технологии multi-path, устанавливая соединения со всеми порталами.

Технология multi-path может работать в нескольких режимах. Единственным поддерживаемым режимом в iSСSI Storage является режим Fail Over, при котором работает постоянно только одно соединение, а второе включается только при отключении первого.

Подключение по технологии multi-path возможно на платформе Windows начиная с версии Windows-2016 и на платформе Linux.

Подключение iSCSI дисков c поддержкой Multi-Path на Windows 2016

  1. Используя приложение Server Manager, установите компонент Multipath I/O2.

  2. Включите поддержку multi-path для устройств iSCSI:
    Далее откройте Control Panel -> MPIO, перейдите во вкладку Discover Multi-Paths, выберите Add support for iSCSI devices, нажмите Add и перезагрузите систему.

  3. После перезагрузки установите режим Fail Over для всех подключаемых устройств.
    Откройте окно командной строки и запустить команду mpclaim -l -m 1. Проверьте, что установился режим Fail Over, запустив команду mpclaim-s -m.

  4. Затем точно следуйте инструкции для подключения iSCSI-дисков для Windows 10, только в диалоговом окне Connect to Target перед нажатием OK необходимо указать Enable multi-path.

Подключение iSCSI дисков на Linux (CentOS 7)

iSCSI клиент настраивается с поддержкой multi-path, для Fail Over в случае падения одного из iSCSI серверов.

  • Установка пакетов:

    yum install iscsi-initiator-utils device-mapper-multipath
    
  • Далее:

    mpathconf --enable --with_multipathd y
    
  • Указать в /etc/multipath.conf, что multipath будет использоваться для iSCSI устройств (добавить секцию devices):

devices {
        device {
                vendor                 "LIO-ORG"
                hardware_handler       "1 alua"
                path_grouping_policy   "failover"
                path_selector          "queue-length 0"
                failback               60
                path_checker           tur
                prio                   alua
                prio_args              exclusive_pref_bit
                fast_io_fail_tmo       25
                no_path_retry          queue
        }
}

blacklist {
}

defaults {
}
  • Далее:

    systemctl enable --now multipathd
    

    Установка клиентских iqn в файле /etc/iscsi/initiatorname.iscsi:

    InitiatorName=CPV_IQN.ceph-test-qemu:client1
    
  • Установить в /etc/iscsci/iscsci.conf параметры node.session.auth.authmethod, node.session.auth.username, node.session.auth.password для CHAP авторизации:

# To enable CHAP authentication set node.session.auth.authmethod
# to CHAP. The default is None.
node.session.auth.authmethod = CHAP

# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
node.session.auth.username = asharapov
node.session.auth.password = asharapov123
  • Запустить поиск таргетов, указывая адрес любого из настроеных iSCCSI серверов:

    $ iscsiadm  -m discovery -t st -p 172.20.141.33
    
    172.20.141.33:3260,1 CPV_IQN:iscsi-ssd
    
    1.2.20.141.36:3260,2 CPV_IQN:iscsi-ssd
    
  • Подключиться:

$ iscsiadm -m node -T CPV_IQN:iscsi-ssd -l

Logging in to [iface: default, target: CPV_IQN:iscsi-ssd, portal: 172.20.141.33,3260] (multiple)
Logging in to [iface: default, target: CPV_IQN:iscsi-ssd, portal: 172.20.141.36,3260] (multiple)
Login to [iface: default, target: CPV_IQN:iscsi-ssd, portal: 172.20.141.33,3260] successful.
Login to [iface: default, target: CPV_IQN:iscsi-ssd, portal: 172.20.141.36,3260] successful.
  • Проверить multi-path:
$ multipath -ll

36001405c05ae6fc87834550abf4fb426 dm-6 LIO-ORG ,TCMU device
size=1.0G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
|-+- policy='queue-length 0' prio=50 status=active
| `- 5:0:0:0 sda 8:0  active ready running
`-+- policy='queue-length 0' prio=10 status=enabled
  `- 4:0:0:0 sdb 8:16 active ready running
  • Работать с /dev/mapper/36001405c05ae6fc87834550abf4fb426 как с обычным диском:
$ fdisk -l /dev/mapper/36001405c05ae6fc87834550abf4fb426

Disk /dev/mapper/36001405c05ae6fc87834550abf4fb426: 1073 MiB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes

$ mkfs -t ext4 /dev/mapper/36001405c05ae6fc87834550abf4fb426
...

Если файловая система, расположеная на iSCSI диске, будет добавляться в /etc/fstab, то нельзя забывать указывать в опциях монтирования ё_netdevё.

Note

Для подключения iSCSI дисков к другим операционным системам, смотрите официальную документацию соответствующей операционной системы.

Подключение VPN и DirectConnect

В некоторых случаях (например, в случае миграции данных) может понадобиться подключение блочного устройства iSCSI к хосту, находящемуся вне пределов VPC сетей аккаунта. Возможные опции подключения в таком случае - VPN-шлюз и DirectConnect.

Note

Это должно рассматриваться только как временная конфигурация, так как такие подключения могут иметь плохую производительность из-за сетевых задержек. Также такая конфигурация может быть отключена для определенных VPC. Если такое подключение не работает - обратитесь к команде поддержки локации, чтобы уточнить возможно ли включение такой опции для VPC вашего аккаунта.

Если хост подключен через VPN-шлюз, то убедитесь, что настроен один из вариантов маршрутизации к iSCSI-шлюзу:

  • Прямая маршрутизация
  • Натирование VPN (NAT)

Прямая маршрутизация к iSCSI-шлюзу

  • Добавьте специальную подсеть VirtualService (по умолчанию 198.18.0.0/26) вашего VPC в конфигурацию клиента Wireguard на хосте в список разрешенных IP подсетей:

    AllowedIPs = ..., 198.18.0.0/26
    
  • Переподключите VPN-соединение на хосте и попробуйте получить доступ к iSCSI-шлюзу по прямому IP-адресу с хоста:

    $ nc -v 198.18.0.2 3260
    
    Connection to 198.18.0.2 3260 port [tcp/*] succeeded!
    

Натирование VPN к iSCSI-шлюзу

  1. В VPN-сервисе сконфигурироуйте NAT-подсеть, которая не существует на подключаемом хосте и в VPC-сетях аккаунта.
  2. Добавьте запись сопоставления NAT к IP-адресу iSCSI-шлюза (по умолчанию 198.18.0.2) в настройках VPN-шлюза.
  3. Используйте созданный NAT IP (например, 10.0.0.2), чтобы проверить подключение к iSСSI-шлюзу:

    $ nc -v 10.0.0.2 3260
    
    Connection to 10.0.0.2 3260 port [tcp/*] succeeded!