Как настроить iSCSI сервер (цель) и клиент (инициатор) на Debian 9
В Дата-центрах мира, сети хранения данных (SAN) большой пропускной способности стали минимальным стандартом. В то время как поставщики облачных услуг и виртуализация также продолжают оказывать огромное влияние на мир технологий, становится очевидной необходимость в еще большем количестве хранилищ SAN.
Большинство аппаратных средств SAN состоит из минималистического контроллера (или набора контроллеров) и большой коллекции накопителей большой емкости, которые сконфигурированы для обеспечения высокой доступности и целостности данных.
Многие из этих специализированных продуктов сделаны крупными поставщиками, такими как Netapp, Dell Equalogic, HP Storageworks или EMC, и имеют ценники, которые могут себе позволить только крупнейшие предприятия.
Реально эти устройства представляют собой не что иное, как массивы больших жестких дисков, причем контроллер предоставляет пространство этих жестких дисков сетевым клиентам. На протяжении многих лет существует множество технологий, которые обеспечивают эту функциональность или аналогичную функциональность по значительно более низкой цене.
В дистрибутиве Debian GNU / Linux предусмотрены пакеты, которые позволяют системе Debian обслуживать устройство хранения данных SAN на уровне предприятия только за небольшую часть стоимости! Это позволяет каждому из основных домашних пользователей или крупным центрам обработки данных получать преимущества хранилища SAN без необходимости потратить целое состояние на собственное решение поставщика.
В этой статье мы рассмотрим, как можно настроить систему Debian 9 (Stretch) для обслуживания дискового пространства с помощью системы, известной как Internet Small Computer Systems Interface или iSCSI . iSCSI — это стандарт на основе Internet Protocol ( IP ) для обеспечения хранения блоков (жесткого диска) для других систем. iSCSI работает на модели клиентского сервера, но использует разные имена для отличия клиента от сервера.
В терминологии iSCSI сервер, обслуживающий « дисковое пространство », известен как «Целевой объект iSCSI » , а система, запрашивающая / использующая дисковое пространство, известна как Инициатор iSCSI . Иными словами, « Инициатор » запрашивает блокировку памяти из « Целевой ».
Настройка среды
Это руководство проведет базовую настройку, включающую простой сервер iSCSI ( целевой ) и клиент ( инициатор ), оба из которых работают с Debian 9 (Stretch) .
Debian iSCSI Target: 192.168.56.101/24 Storage: Содержит два дополнительных жестких диска для использования в качестве хранения данных установки iSCSI. Debian iSCSI Initiator: 192.168.56.102/24
Сеть можно посмотреть ниже:
Схема сети iSCSI в DebianКонфигурация целевого объекта iSCSI Debian
В мире iSCSI цель считается хостом, который содержит устройства хранения, которые будут использоваться инициатором .
В этой статье в качестве цели используется сервер с IP-адресом 192.168.56.101 . Все конфигурации будут выполнены на этом узле для этого раздела.
Первым шагом является установка необходимых пакетов, позволяющих системе Debian обслуживать цели iSCSI . Этот программный пакет известен как Target Framework ( TGT ).
Другой элемент , который используется для данного руководства является Управление логическими томами ( LVM ) инструменты, как логические тома ( LVS ) будет использоваться в качестве основы для хранения для целевого устройства.
Оба пакета могут быть установлены с помощью следующих команд.
# apt-get update # apt-get install tgt lvm2
Как только пакеты будут установлены, LVM будет использоваться для подготовки жестких дисков к цели для использования в качестве iSCSI LUN . Первая команда используется для подготовки дисков для включения в настройку LVM. Обязательно измените команду при необходимости для разных сценариев!
# lsblk (Используется только для подтверждения дисков, используемых при создании LVM) # pvcreate /dev/sd{b,c}Подтверждение и создание LVM
После того, как диски были подготовлены с помощью команды « pvcreate », пришло время создать группу томов из этих конкретных дисков. Группа томов требуется для создания логических томов , которые позже будут использоваться в качестве хранилища iSCSI
Для создания группы томов требуется команда ‘ vgcreate ‘.
# vgcreate tecmint_iscsi /dev/sd{b,c} # vgs (Требуется только для подтверждения создания группы томов)Создание группы томов в Debian
Обратите внимание на вышеприведенный вывод о том, что система реагирует на то, что группа томов была создана, но всегда рекомендуется дважды проверить, как показано выше, с помощью команды « vgs ». Емкость этой группы томов составляет всего 9,99 ГБ . Хотя это особенно небольшая группа томов, процесс будет таким же для дисков большой емкости!
Следующим шагом будет создание логического тома, который будет действовать как диск для клиента iSCSI ( инициатор ). В этом примере будет использоваться вся группа томов , но это необязательно.
Логический том будет создан с помощью команды lvcreate
.# lvcreate -l 100%FREE tecmint_lun1 tecmint_iscsi # lvs (Просто используется для подтверждения создания логического тома)Создание логического Тома в Debian
Вышеприведенная команда « lvcreate » может быть немного запутанной с первого взгляда, но разбивка такова:
- lvcreate — команда, используемая для создания логического тома.
- -l 100% FREE — Создайте логический том, используя все свободное пространство группы томов.
- -n tecmint_lun1 — имя создаваемого логического тома.
- tecmint_iscsi — имя группы томов для создания логического тома внутри.
После создания логического тома пришло время создать фактический LUN (номер логического устройства ). LUN будет запоминающее устройство , что инициатор будет подключаться и использовать позже.
Создание
Для создания этого файла используйте текстовый редактор.
# nano /etc/tgt/conf.d/TecMint_iscsi.conf
Внутри этого файла будет сконфигурирована вся необходимая информация о конфигурации для этого LUN . Есть много вариантов, которые можно поместить в этот файл, но на данный момент будет сконфигурирован базовый LUN с взаимным протоколом проверки подлинности Handshake Challenge ( CHAP ).
Определение LUN будет существовать между двумя « целевыми » утверждениями. Для получения дополнительных параметров, которые могут выполняться в целевом выражении, просмотрите страницу руководства для файла « target.conf », выпустив « man 5 tasks.conf ».
<target iqn.2018-02.tecmint.com:lun1> # Provided device as an iSCSI target backing-store /dev/mapper/tecmint_iscsi-tecmint_lun1 initiator-address 192.168.56.102 incominguser tecmint-iscsi-user password outgoinguser debian-iscsi-target secretpass </target>
Там много чего происходит. Быстрое объяснение может быть полезным для большинства.
- Первая строка начинается конкретный ISCSI LUN конфигурации. В этом случае LUNпомечен как « iqn.2018-02.tecmint.com:lun1 ». Часть « iqn » указывает, что это будет имя, присвоенное iSCSI. « 2018-02 » — это произвольно выбранная комбинация дат. ‘ tecmint.com‘ — это домен, к которому принадлежит данный LUN. Наконец, « lun1 » используется как имя для этой конкретной цели.
- Вторая линия выше иллюстрирует комментарий. Комментарии могут существовать в целевых файлах конфигурации и должны быть предварительно снабжены символом « # ».
- Третья линия , где фактический объем памяти , который будет использоваться инициатором существует. В этом случае резервная копия хранилища будет логическим томом, который был создан ранее в руководстве.
- Четвёртая строка является IP — адрес , который , как ожидается , от инициатора. Хотя это не необходимый элемент конфигурации, он может помочь повысить безопасность.
- Пятая линия поступающего имени пользователя / пароль. Как и адрес инициатора выше, этот параметр также не требуется, но может помочь защитить LUN. Поскольку это руководство также охватывает взаимный CHAP iSCSI, этот параметр требуется. В этой строке указывается имя пользователя и пароль, которые ожидается от инициатора для инициатора, чтобы подключиться к этому LUN.
- Шестой строке является имя пользователя / пароль, то цель предоставить инициатору для обеспечения взаимной проверки подлинности CHAP , чтобы иметь место. Обычно этот параметр не требуется, но в этой статье рассматривается взаимная аутентификация CHAP, поэтому этот параметр необходим.
- Конечная строка — это оператор закрытия для определения цели. Обратите внимание на заключительную косую черту перед целевым словом!
После того, как были выбраны соответствующие конфигурации для LUN, сохраните изменения и выйдите из текстового редактора. Если вы используете nano , нажмите, ctrl+o
чтобы сохранить, а затем нажмите, ctrl+x
чтобы выйти из nano.
После создания файла конфигурации служба tgt должна быть перезапущена, так что tgt знает о новых целях и связанной конфигурации.
Это можно сделать с помощью одной из следующих команд и зависит от используемой системы init.
# service tgt restart (Для систем sysv init) # systemctl restart tgt (Для систем systemd init)
После перезапуска tgt важно убедиться, что цель iSCSI становится доступной в соответствии с созданным конфигурационным файлом.
Это можно сделать с помощью команды tgtadm .
# tgtadm --mode target --op show (это покажет все цели)Показать все цели iSCSI
Это завершает конфигурацию цели . Следующий раздел будет работать через конфигурацию инициатора .
Конфигурация инициатора iSCSI в Debian
Следующим шагом в использовании ранее настроенной цели iSCSI является конфигурация инициатора iSCSI .
В качестве инициатора в этой статье будет использоваться другая система Debian 9, но любая система, которая может использовать протокол iSCSI, может подключиться к ранее настроенной цели; это может включать гипервизоры, такие как XenServer / ESXi или другие дистрибутивы, такие как Red Hat, Debian или Ubuntu.
Первым шагом в этом процессе для этого инициатора Debian является установка соответствующих пакетов для iSCSI .
# apt-get update # apt-get install open-iscsi
После того как apt завершит настройку пакетов open-iscsi , может начаться конфигурация инициатора iSCSI . Первым шагом будет соединение с целью получения исходной информации о конфигурации для подготовленной цели.
# iscsiadm -m discovery -t st -p 192.168.56.101
Когда эта команда будет запущена, она ответит назад с именем lun, настроенным ранее для этого конкретного хоста. Вышеприведенная команда также генерирует два файла для вновь обнаруженной информации LUN.
Подключение целевого сервера iSCSIТеперь для файла, созданного для этого узла, должна быть настроена информация CHAP,чтобы эта цель iSCSI действительно была доступна инициатору .
Технически эта информация может быть настроена для всей системы в целом, но в том случае, если хост подключается к различным LUN с разными учетными данными, размещение этих учетных данных в файле конфигурации конкретного узла может смягчить любые проблемы.
Файл конфигурации узла будет существовать в каталоге « / etc / iscsi / nodes / » и будет иметь каталог для каждого LUN. В случае этой статьи (обратите внимание, что изменения будут изменяться, если имена / IP-адреса будут изменены).
# /etc/iscsi/nodes/iqn.2018-02.tecmint.com\:lun1/192.168.56.101\,3260\,1/default
Для работы с этим файлом можно использовать любой текстовый редактор.
# nano /etc/iscsi/nodes/iqn.2018-02.tecmint.com\:lun1/192.168.56.101\,3260\,1/default
Внутри этого файла будет несколько уже настроенных параметров для соответствующей цели,которые были определены во время команды « iscsiadm », выполняемой ранее.
Поскольку эта целевая / инициаторная установка Debian использует взаимный CHAP , некоторые другие параметры необходимо изменить и добавить в этот файл, а затем выполнить вход в цель iSCSI .
Изменения этого файла:
node.session.auth.authmethod = CHAP #Enable CHAP Authentication node.session.auth.username = tecmint-iscsi-user #Target to Initiator authentication node.session.auth.password = password #Target to Initiator authentication node.session.auth.username_in = debian-iscsi-target #Initiator to Target authentication node.session.auth.password_in = secretpass #Initiator to Target authentication
Вышеуказанные параметры позволят этой цели аутентифицироваться инициатору, а также позволяют инициатору пройти аутентификацию цели .
В этом конкретном файле есть другой вариант, который может потребоваться изменить в зависимости от настроек администратора, и это параметр « node.startup ».
Если после этого руководства параметр « node.startup » будет установлен на « ручной » в этой точке. Это может быть нежелательно. Если администратор хочет, чтобы цель iSCSI былаподключена при запуске системы, измените « вручную » на « автоматический »:
node.startup = automatic
После внесения указанных изменений сохраните файл и выйдите из него. На этом этапе сервис инициатора open-iscsi необходимо перезапустить, чтобы прочитать эти новые изменения и подключиться к цели iSCSI .
Это может быть выполнено с помощью одной из следующих команд в зависимости от используемой системы инициализации.
# service open-iscsi restart (For sysv init systems) # systemctl restart open-iscsi (For systemd init systems)Restart Open Инициатор iSCSI
Обратите внимание, что в зеленом поле выше, инициатор iSCSI смог войти в цель . Чтобы еще раз подтвердить, что цель iSCSI действительно доступна инициатору , мы можем проверить систему на наличие дополнительных дисковых накопителей, которые доступны с помощью команды lsblk и проверки вывода для дополнительных дисков.
# lsblkПроверка целевого диска iSCSI
Другая команда, которая может быть использована инициатором для подтверждения подключения к цели, — это iscsiadm как таковой:
# iscsiadm -m sessionПодтверждение соединения с целью ISCSI
Последнее место для подтверждения соединения будет на самой цели с помощью команды « tgtadm » для перечисления любых подключений iSCSI.
# tgtadm --mode conn --op show --tid 1Список iSCSI соединений
С этого момента вновь подключенное устройство iSCSI можно использовать аналогично любому обычно прикрепленному диску! Разделение, создание файловой системы, установка и / или постоянный монтаж могут обрабатываться нормально.
Одна большая осторожность, чтобы быть в курсе с устройствами iSCSI, заключается в том, что если цель iSCSI содержит важные файловые системы, которые необходимы при загрузке инициатора , обязательно используйте запись «_netdev» в файле «/etc/fstab», чтобы гарантировать, что iSCSI устройство подключается до того, как система продолжит загрузку!
Источник: Перевод с сайта tecmint — https://www.tecmint.com/setup-iscsi-target-and-initiator-on-debian-9/
Похожие посты
Создание iSCSI LUN на СХД NetApp
Фирма NetApp знаменита своим подходом в области хранения данных названным unified storage. Это СХД совмещающее как блочный доступ (FC, FCoE, iSCSI), так и файловый (NFS, CIFS). В данной статье будет рассмотрена процедура создания логического дискового устройства (LUN) и презентации его определенным хостам.
При создании LUN на NetApp необходимо руководствоваться несколькими понятиями:
- Один LUN – один инициатор-сервер. Если на LUN будет установлена стандартная файловая система (например, ext3), то доступ к этому LUN будет только у одного сервера. Для доступа с нескольких серверов необходимо его форматировать в кластерной файловой системе (например, OCFS, GlusterFS).
- Один volume – один LUN. В отличие от предыдущего пункта это не требование, а рекомендация. Т.е. можно создавать несколько LUN на одном volume, но для удобства в этом случае их разнести по разным qtree.
- Для volume на которых будут храниться LUN’ы рекомендуется отключить механизм snapshot’ов.
- Презентование LUN инициаторам осуществляется через механизм igroup.
Последовательность действий:
- Первым делом нужно ознакомиться со статусом работы службы iscsi
iscsi status
Если она не запущена, то нужно запустить
iscsi start
Но перед этим, возможно, придется ее лицензировать
license add ******
- Просмотр разрешенных для iSCSI интерфейсов
iscsi interface show
По-умолчанию всем интерфейсам разрешено передавать iSCSI. При желании можно отключить некоторые интерфейсы для iSCSI.
iscsi interface disable <имя_интерфейса>
- Создаем агрегат
aggr create <имя> -t <тип_RAID> -r <размер_RAID> -T <тип_дисков> <кол-во дисков>
- тип_RAID — raid0 |raid4 |raid_dp
- размер_RAID – кол-во дисков в одной RAID группе, для наименьшего overhead рекомендуется ставить равным или более кол-ву дисков, добавляемых в агрегат
- тип_дисков — ATA, SATA, SAS, BSAS, FCAL. Удобно использовать, когда к контроллеру подлечено несколько полок с разными типами дисков и необходимо создать агрегат с одним типом дисков
- Создаем volume
vol create <имя_volume> -s <тип_резервации_места> <имя_агрегата> <размер_volume>
- тип_резервации_места – бывает volume|file|none . Рекомендуется volume.
- размер – кол-во k|m|g|t
- Отключаем механизм snapshots
snap reserver <имя_volume> 0 vol options <имя_volume> nosnap on vol options <имя_volume> nosnapdir on snap ched <имя_volume> 0 0 0
- Создаем lun
lun create –s <размер_lun> -t <тип_ос> <путь_хранения>
- тип_ос – тип операционной системы планируемой под хранение на LUN — solaris, vld, windows, hpux, aix, linux, netware, vmware, windows_gpt, windows_2008, openvms, xen, hyper_v, solaris_efi
- путь_хранения — для LUN он выглядит /vol/<имя_volume>/<имя_LUN>
- Просматриваем подключенных инициаторов
iscsi initiators show
- Создаем igroup и добавляем туда инициаторов
igroup create –i –t <тип_ос> <имя_группы> igroup add <имя_группы> <имя_инициатора>
- парамет -i — создание iSCSI группы. Для создания FC группы нужно использовать -f.
- тип_ос — solaris, windows, hpux, aix, linux, netware, vmware, hyper_v, xen
- имя_инициатора — для iSCSI это WWNN, для FC — WWPN. Имя инициатора на Red Hat задается в файле /etc/iscsi/initiatorname.iscsi
- Привязываем созданный LUN к созданной igroup
lun map <путь_до_LUN> <igroup> <id>
- id – число больше нуля, используется инициатором, когда LUN к нему примаплен
- На стороне инициатора – установка специального ПО, в Линуксе – это демон названный multipathd.
- На стороне таргета NetApp – создание списков доступа для доступа определенных инициаторов к определенным интерфейсам.
Привязать инициаторов к определенным интерфейсам можно следующими командами:iscsi interface accesslist add <имя_инициатора> <имя_интерфейса>
Просмотреть текущий список доступа
iscsi interface accesslist show
- На стороне NetApp – ограничение iSCSI трафика определенными интерфейсами.(см. выше)
При подключении контроллера с использованием нескольких сетевых адаптеров, будет возникать эффект, т.к. multipath, когда один презентованный для инициатора LUN будет виден столько раз сколько путей существует между инициатором и таргетом NetApp. Для ограничения multipath возможно использовать решение как на стороне инициатора, так и на стороне NetApp.
Пример настройки iSCSI LUN на NetApp
vol create iscsivol aggr1 1500g snap reserve iscsivol 0 vol options iscsivol nosnap on vol options iscsivol nosnapdir on snap ched iscsivol 0 0 0 lun create –s 1000g –t linux /vol/iscsivol/lun1 igroup create –I –t linux iscsigrp igroup add iscsigrp iqn.1994-05.com.redhat:server1 lun map /vol/iscsivol/lun1 iscsigrp 5
В примере был создан агрегат размером 1,5 Тб, отключен механизм snapshots, создан LUN размером 1 Тб, создана igroup’а, добавлен хост в нее и примаплен LUN к igroup.
Понравилось это:
Нравится Загрузка…
Запись опубликована в рубрике Cтатьи с метками сети. Добавьте в закладки постоянную ссылку.VMware как подключить iscsi LUN c СХД к хосту Esxi.
VMware как подключить iscsi LUN c СХД к хосту Esxi.
Эта статья о том, как подключить iscsi LUN c СХД к хосту Esxi.
Итак, надеюсь у вас уже есть LUN на СХД, который мы будем подключать к хосту esxi. Как создать LUN на СХД NetApp я уже описывал.
Прежде чем подключить iscsi LUN к хосту Esxi, нужно создать на хосте software iscsi адаптер. Для этого на вкладке «Storage Adapters» хоста esxi жмем «Add», чобы добавить scsi адаптер.
После этого, выбираем созданный нами адаптер и жмем «Properties». На этой вкладке вы можете видеть WWN адаптера, который понадобится при настройке доступа к LUN на СХД.
На открывшемся экране, на вкладке «General Properties» можно указать понятный алиас для нашего инициатора.
На вкладке «Network Configuration» добавляем сетевой адаптер, который будет использоваться для передачи iscsi трафика. Жмем «Add»
и выбираем нужный интерфейс.
На вкладке «Dynamic Discovery» указываем IP адрес нашей СХД.
После этого необходимо пересканировать все storage адаптеры на хосте.
После этого вы увидите в списке доступных устройств ваш LUN.
Теперь необходимо добавить storage на хост. Для этого на вкладке «Storage» жмем «Add Storage».
В открывшемся окне выбираем «Disk/LUN» и жмем «Next».
Выбираем наш LUN.
Выбираем тип файловой системы.
На следующем экране жмем «Next».
Далее выбираем имя для нашего Storage.
Выбираем объем доступного пространства.
На заключительном экране жмем «Finish» и ждем завершения создания хранилища.
После этого вы можете видеть добавленное хранилище в списке доступных для размещения виртуальных машин.
Вот так можно добавить iscsi LUN к хосту Esxi.
Обязательно загляните в рубрику Скачать
Еще информация по VMware.
Поделиться ссылкой:
Похожее
Подключение и настройка iSCSI в Windows Server
Навигация по статье
Это инструкция по подключению iSCSI диска в Windows Server 2016. При заказе услуги iSCSI хранилище в SIM-Networks вы получите сообщение, подобное приведенному ниже (учтите, что значения чисел в адресе сервера могут отличаться от примера-иллюстрации, а вместо букв X,Y или Z в сообщении будут указаны реальные значения для настройки вашего доступа):
Услуга «iSCSI Backup» активирована.
Параметры доступа:
- Адрес сервера (iscsi-target): 185.59.101.184
- Логин: YYY
- Пароль: ZZZ
- Доступ к услуге на данный момент ограничен всего одним IP-адресом — XXX.XXX.XXX.XXX
Подключение диска iSCSI
1. Зайдите в «Панель Управления -> Администрирование» и запустите Инициатор iSCSI.
2. В разделе «Свойства» инициатора iSCSI перейдите на вкладку «Обнаружение» и нажмите кнопку «Обнаружить портал».
3. В открывшемся окне заполните поле «IP адрес» сервера iSCSI.
4. Откройте раздел дополнительных параметров подключения к серверу (нажмите кнопку «Дополнительно»). Выберите значения полей «Локальный адаптер» и «IP-адрес инициатора», как на рисунке ниже (где IP-адрес инициатора — это IP вашего локального сетевого адаптера, через который разрешено подключение к серверу iSCSI).
5. Сохраните настройки, убедитесь в получении изображения, подобного приведенному ниже:
6. В разделе «Свойства» инициатора iSCSI перейдите на вкладку «Конечные объекты», выберите появившийся объект с неактивным состоянием и нажмите кнопку «Подключить».
7. В открывшемся окне «Подключение к конечному объекту», нажмите кнопку «Дополнительно…»
8. Заполните поля раздела, как на рисунке ниже. Параметры «Имя» и «Секрет» — это «Логин» и «Пароль» из письма, отправленного вам при активации услуги.
9. Сохраните настройки. Убедитесь, что значение поля «Состояние» обнаруженного конечного объекта – «Подключено», как на рисунке ниже. Выйдите из раздела «Свойства» Инициатора iSCSI, сохранив настройки.
Инициализация и форматирование диска iSCSI
Подключенный iSCSI диск необходимо подготовить к работе (инициализировать и отформатировать).
10. В разделе «Администрирование» откройте вкладку «Управление компьютером».
11. Перейдите в раздел «Управление дисками».
12. Убедитесь, что ваш диск отображается, его состояние – «Вне сети».
13. Выберите из контекстного меню пункт «В сети».
14. Выполните инициализацию диска.
15. Проверьте, что статус диска изменился на «В сети», но на нём отсутствуют разделы и файловая система.
16. Из контекстного меню на не размеченном диске выберите «Создать простой том».
17. После открытия «Мастера создания простого тома» нажмите кнопку «Далее».
18. Укажите в соответствующем поле размер раздела, или оставьте без изменений значение «по умолчанию» (если необходимо использовать весь диск под один раздел).
19. Назначьте букву диска для нового раздела.
20. Выберите тип файловой системы и метку тома.
21. Нажмите кнопку «Готово» и убедитесь в завершении форматирования тома.
Важно! Во время форматирования может возникнуть окно с предложением отформатировать диск. Необходимо игнорировать этот запрос, закрыть окно и дождаться окончания форматирования.
22. Проверьте, что новый том находится в состоянии «Исправен».
23. Убедитесь, что новый том отображается среди дисков в «Проводнике».
Проверка доступности диска iSCSI для записи
24. Для проверки тома, перейдите к соответствующему диску в «Проводнике» и создайте, к примеру, текстовый файл, как на рисунке ниже:
25. Убедитесь, что при создании файла проблем не возникло – это означает, что новый том iSCSI подключен, отформатирован и работает исправно.
Настройка Linux iSCSI посредством targetcli |
Поделиться с друзьями
Хотел поделиться опытом создания iSCSI таргета на CentOS 7 посредством targetcli. Targetcli – это оболочка для управления Linux-IO Target (LIO™). LIO™ – это реализация SCSI таргета с открытым исходным кодом. LIO™ была включена в ядро Linux в версии 2.6.38.
Немного теории
Targetcli на CentOS 7 представляет таргет в виде иерархически построенной структуры. И делит таргет на back-end и front-end части. Backstores – это back-end, fabric module – это front-end. Backstores это всегда один раздел в иерархии targetcli, внутри которого отображаются хранилища в виде объектов, в то время, как fabric module может быть не один, в нём содержатся различные настройки видимой снаружи части таргета. Существует несколько типов fabric module: Fibre Channel over Ethernet (FCoE), Fibre Channel, IEEE 1394, iSCSI, iSCSI Extensions for RDMA (iSER), SCSI RDMA Protocol (SRP), USB Gadget, Loopback. Ниже можно видеть как выглядит структура таргета с точки зрения targetcli:
Теперь по порядку по элементам
Backstores – это раздел, в котором отображаются объекты-хранилища. Backstores не видимая снаружи часть iSCSI таргета.
Block –жесткий диск, символические ссылки на диск или LVM.
Fileio – файл.
PSCSI (SCSI pass-through) – любое устройство для хранения информации, поддерживающее SCSI команды напрямую, то есть без эмуляции SCSI. Этот бэкстор не нужно использовать, так как может привести к повреждениям железа.
Ramdisk – RAM-диск.
iSCSI – это fabric module, видимая снаружи часть iSCSI таргета. Он содержит список таргетов, лунов, права доступа и т.п. Список всего этого добра появится после настройки.
Loopback – ещё один fabric module, который дает доступ к таргету локально.
Создание iSCSI таргета на linux с помощью targetcli
- Для начала необходимо установить targetcli
yum install targetcli
- Сделать доступным демона (службу) target и запустить его
systemctl enable target systemctl start target
- Открыть targetcli и посмотреть иерархию, в виде которой представлен таргет, почитать помощь. Помощь можно вызывать в любом разделе внутри targetcli, везде будут свои команды.
targetcli ls help
- Создать блочное устройство в бэксторе. В первом случае создано устройство на основе непосредственно жесткого диска, затем добавлено устройство на основе LVM, что гораздо удобнее в эксплуатации.
/backstores/block create storage01 /dev/sdb /backstores/block create storage02 /dev/vg01/lv01 ls
- Создать iSCSI таргет
/iscsi create ls
Внутри iscsi можно видеть структуру. Первый элемент – имя таргета. Ниже по иерархии tpg1 расшифровывается как Target Portal Group – список IP-адресов и TCP портов, которые будет слушать этот таргет. Дальше идут acl – список адресов, с которых можно будет подключиться к таргету, luns – список лунов, portals – список IP-адресов и портов, которые будет слушать таргет. - Перейти в иерархии targetcli на уровень tpg1 и установить параметры авторизации
cd -- используя стрелки для навигации по иерархии, переместиться на уровень tpg1 -- set parameter AuthMethod=None set attribute authentication=0
- Указать iqn имя инициатора, который будет иметь право подключаться к таргету.
acls/ create iqn.1991-05.com.microsoft:hypervisor
В случае, если инициатором будет другой компьютер под управлением Linux, то для получения имени инициатора необходимо прочитать файл /etc/iscsi/initiatorname.iscsi. В этом же файле можно и изменить имя iSCSI инициатора. Для получения имени iSCSI инициатора под Windows необходимо открыть Панель управления -> Администрирование -> iSCSI инициатор. В окне с настройками иницатора выбрать последнюю вкладку Конфигурация. Прочитать поле имя инициатора.
- Создать LUN на основе объекта хранилища в бэксторе
luns/ create /backstores/block/storage02
- Указать IP-адрес, который будет слушать таргет. Проще говоря адрес на сетевом интерфейсе самого сервера. Можно выполнить команду без указания IP-адреса, в этом случае таргет будет принимать подключения на любом сетевом интерфейсе
portals/ create 192.168.10.5
- Сохранить конфигурацию, хотя по умолчанию она сохраняется автоматически при выходе из targetcli
cd / ls saveconfig
На этом таргет готов к использованию. Остается только подключиться инициатором к таргету и использовать LUN как локальный жесткий диск.