Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Вы можете установить и настроить таргет COMSTAR Internet SCSI (iSCSI) и сделать его доступным в сети. iSCSI может работать по обычному Интернет-соединению (такому как Ethernet), используя стандартный протокол iSCSI. Протокол iSCSI также поддерживает сервисы naming и discovery, сервисы аутентификации с использованием CHAP и RADIUS, и централизованное управление через iSNS.

Если в системе есть хотя бы один InfiniBand (IB) Host Channel Adapter (HCA) и имеется соединение инициатор-таргет, то iSCSI соединение использует iSCSI Extensions for RDMA (iSER) для расширенной передачи данных. При использовании из IB HCA, iSER обеспечивает широкую полосу пропускания, низкую загрузку CPU и единственное сетевое соединение, которое может использоваться одновременно несколькими протоколами.

Оба - и таргет, и инициатор iSER - используют компоненту под названинем iSCSI Data Mover для обеспечения iSCSI соединения. iSER подключается автоматически, когда и таргет, и инициатор настроены на работу с IP адресом, соответствующим IB-устройству.

  1. Установите ПО сервера хранения данных COMSTAR.

    Code Block
    target# pkg install group/feature/storage-server
                  Packages to install:    75
               Create boot environment:    No
                   Services to restart:     7
    DOWNLOAD                                  PKGS       FILES    XFER (MB)
    Completed                                75/75   9555/9555  105.7/105.7
    
    PHASE                                        ACTIONS
    Install Phase                            13347/13347 
    
    PHASE                                          ITEMS
    Package State Update Phase                     75/75 
    Image State Update Phase                         2/2 
    Loading smf(5) service descriptions: 17/17
    Loading smf(5) service descriptions: 3/3
    
    PHASE                                          ITEMS
    Reading Existing Index                           8/8 
    Indexing Packages                              75/75
    Indexing Packages                              75/75
    Optimizing Index...
    
    PHASE                                          ITEMS
    Indexing Packages                            573/573 
  2. Перезагрузите систему или запустите сервис stmf.

    Code Block
    target# svcadm enable stmf
    # svcs stmf
    STATE          STIME    FMRI
    online         09:42:32 svc:/system/stmf:default

Как сделать резервную копию и восстановить конфигурацию COMSTAR

После создания конфигурации COMSTAR сделайте её резервную копию, чтоб при необходимости её можно было восстановить.

  1. Станьте администратором.

  2. Сделайте экспорт текущей конфигурации COMSTAR.

    Code Block
    # svccfg export -a stmf > COMSTAR.backup
  3. При необходимости восстановите экспортированную ранее конфигурацию.

    Code Block
    # svccfg import COMSTAR.backup

Как создать iSCSI LUN

Провайдер логических устройств для создания LUN-ов типа диск называется sbd. Конечно, перед тем, как расшарить LUN дискового типа, необходимо инициализировать хранилище логического устройства.

Предоставляемый сервером дисковый том называется target. Когда LUN будет ассоциирован с таргетом iSCSI, инициатор iSCSI может получить доступ к нему.

Процесс создания SCSI LUN выглядит примерно так:

  • Инициализируйте хранилище LUN, известное также как backing store.

  • Создайте SCSI LUN с использованием backing store.

При создании LUN он получает глобальный уникальный идентификатор (GUID), например, 600144F0B5418B0000004DDAC7C10001. Этот GUID используется для ссылки на LUN в последующих задачах, таких как мапирование LUN на выбранные хосты.

Следующие шаги нужно выполнить на системе, которая предоставляет запоминающее устройство.

  1. Создайте ZFS pool.

    Code Block
    target# zpool create sanpool mirror c2t3d0 c2t4d0
  2. Создайте том ZFS, который будет использоваться как SCSI LUN.

    Code Block
    target# zfs create -V 2g sanpool/vol1
  3. Создайте LUN для тома ZFS.

    Code Block
    target# stmfadm create-lu /dev/zvol/rdsk/sanpool/vol1
    Logical unit created: 600144F0B5418B0000004DDAC7C10001

    Путь к тому ZFS Вы можете найти в директории /dev/zvol/rdsk/pool-name/ .

  4. Проверьте, что LUN создался.

    Code Block
    target# stmfadm list-lu
    LU Name: 600144F0B5418B0000004DDAC7C10001
  5. Добавьте LUN view.

    Эта команда сделает LUN доступным для всех систем.

    Code Block
    target# stmfadm add-view 600144F0B5418B0000004DDAC7C10001

    Если Вам нужно ограничить доступ к LUN view для отдельных систем, ознакомьтесь с How to Restrict LUN Access to Selected Systems.

  6. Проверьте конфигурацию LUN.

    Code Block
    target# stmfadm list-view -l 600144F0B5418B0000004DDAC7C10001
    View Entry: 0
        Host group   : All
        Target group : All
        LUN          : 0

Как создать таргет iSCSI

Эта процедура подразумевает, что Вы уже залогинились в систему, в которой будет создан таргет iSCSI.

  1. Запустите таргет сервис iSCSI.

    Code Block
    target# svcadm enable -r svc:/network/iscsi/target:default

    Убедитесь, что сервис запустился.

    Code Block
    target# svcs -l iscsi/target
    fmri         svc:/network/iscsi/target:default
    name         iscsi target
    enabled      true
    state        online
    next_state   none
    state_time   Mon May 23 14:48:59 2011
    logfile      /var/svc/log/network-iscsi-target:default.log
    restarter    svc:/system/svc/restarter:default
    dependency   require_any/error svc:/milestone/network (online)
    dependency   require_all/none svc:/system/stmf:default (online)
  2. Создайте таргет iSCSI.

    Code Block
    target# itadm create-target
    Target iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405 successfully created
  3. Выведите на экран иформацию о таргете iSCSI.

    Code Block
    target# itadm list-target -v
    TARGET NAME                                                  STATE    SESSIONS 
    iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405  online   0        
            alias:                  -
            auth:                   none (defaults)
            targetchapuser:         -
            targetchapsecret:       unset
            tpg-tags:               default

Как сконфигурировать IB HCA для iSER

InfiniBand (IB) Host Channel Adapter (HCA) необходим, чтобы получить все преимущества Расширения iSCSI для RDMA (iSER). Для использования iSER, Вам нужно сконфигурировать HCA и на таргете, и на инициаторе.

  1. Станьте администратором на хосте (инициаторе).

  2. Подключите HCA к коммутатору IB.

    Для получения более подробной информации, смотрите документацию производителя.

  3. Сконфигурируйте таргет и инициатор для HCA.

    Таргет и инициатор должны быть в обной подсети. В этом примере в качестве драйвера используется ibd0.

    Code Block
    # ipadm create-addr ibd0
  4. Сконфигурируйте IP адрес и порт для HCA.

    Code Block
    # ipadm create-addr -T static -a local=10.1.190.141/24 ibd0/v4addr
  5. Проверьте конфигурацию интерфейса.

    Code Block
    # ipadm show-addr
    ADDROBJ           TYPE     STATE        ADDR
    lo0/v4            static   ok           127.0.0.1/8
    e1000g0/_b        dhcp     ok           10.1.190.141/24
    lo0/v6            static   ok           ::1/128
    e1000g0/_a        addrconf ok           fe80::214:4fff:fe27:360c/10
  6. Станьте администратором на таргете и повторите шаги 3-5 для всех хостов HCA в сети.

  7. Проверьте соединения на таргете и инициаторе.

    Code Block
    target# ping initiator-ip
    initiator# ping target-ip

Как сконфигурировать инициатор iSCSI

Выбор метода определения таргетов iSCSI, который представляет инициатор со списком доступных таргетов, является частью процесса конфигурации. Вы можете сконфигурировать таргеты iSCSI под статическое, SendTargets или динамическое iSNS определение. Динамическое определение с опцией SendTargets будет оптимальной конфигурацией для инициатора iSCSI, который будет доступаться к большому количеству таргетов, например, iSCSI и бридж Fibre Channel. Динамическое определение SendTargets требует указания IP адреса и номера порта таргета iSCSI для инициатора iSCSI. SendTargets - это наиболее общий метод определения таргетов.

Вы должны указать следующую информацию при конфигурировании метода определения таргетов, в зависимости от выбранного метода:

  • SendTargets – IP адрес таргета

  • iSNS – iSNS адрес сервера

  • Статический – IP адрес и имя таргета

Более подробная информация о методах определния таргетов находится в Configuring Dynamic or Static Target Discovery.

  1. Запустите сервис iSCSI инициатоора.

    Code Block
    initiator# svcadm enable network/iscsi/initiator
  2. Проверьте имя и IP адрес таргета при логине на сервер, поддерживающий таргет.

    Code Block
    target# ipadm show-addr
    ADDROBJ           TYPE     STATE        ADDR
    lo0/v4            static   ok           127.0.0.1/8
    e1000g0/_b        dhcp     ok           10.80.227.189/24
    lo0/v6            static   ok           ::1/128
    e1000g0/_a        addrconf ok           fe80::214:4fff:fe27:360c/10
    target# itadm list-target -v
    TARGET NAME                                                  STATE    SESSIONS 
    iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405  online   0        
            alias:                  -
            auth:                   none (defaults)
            targetchapuser:         -
            targetchapsecret:       unset
            tpg-tags:               default
  3. Сконфигурируйте статически определяемый таргет.

    Code Block
    initiator# iscsiadm add static-config iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405,
    10.80.227.189
  4. Проверьте статически сконфигурированную информацию.

    Code Block
    initiator# iscsiadm list static-config
    Static Configuration Target: iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405,
    10.80.227.189:3260

    iSCSI соединение инициализируется только после включения метода определения. См. следующий шаг.

  5. Сконфигурируйте один из следующих методов определения таргета:

    • Если Вы сконфигурировали динамически определяемый таргет (SendTargets), настройте метод определения SendTargets.

      Code Block
      initiator# iscsiadm add discovery-address 10.80.227.189
    • Если Вы сконфигурировали динамически определяемый таргет (iSNS), настройте метод определения iSNS.

      Code Block
      initiator# iscsiadm add isns-server 10.80.227.189
  6. Включите один из следующих методов определения таргетов:

    • Если Вы сконфигурировали динамически определяемый таргет (SendTargets), включите метод определния SendTargets.

      Code Block
      initiator# iscsiadm modify discovery --sendtargets enable
    • Если Вы сконфигурировали динамически определяемый таргет (iSNS), включите метод определения iSNS.

      Code Block
      initiator# iscsiadm modify discovery --iSNS enable
    • Если Вы сконфигурировали статически определяемый таргет, включите статический метод определения.

      Code Block
      initiator# iscsiadm modify discovery --static enable
  7. При необходимости перенастройте /dev namespace для распознавания дисков iSCSI.

    Code Block
    initiator# devfsadm -i iscsi

Как удалить обнаруженные таргеты iSCSI

Ассоциированные таргеты отключаются после того, как Вы выполните любое из нижеперечисленных действий:

  • Удалите адрес обнаружения

  • Удалите сервер iSNS

  • Удалите статитечскую конфигурацию

  • Отключите метод обнаружения

Если ассоциированные таргеты ещё используются - например, на них есть смонтированные файловые системы - они не отключатся, а останутся в списке активных таргетов.

Эта необязательная процедура предполагает, что Вы залогинились в локальную систему, где сконфигурирован доступ к SCSI target device.

  1. Станьте администратором.

  2. (Необязательно) Отключите метод обнаружения таргетов iSCSI одним из нижеприведённых действий:

    • Если Вам нужно отключить метод обнаружения SendTargets, выполните команду:

      Code Block
      initiator# iscsiadm modify discovery --sendtargets disable
    • Если Вам нужно отключить метод обнаружения iSNS, введите следующую команду:

      Code Block
      initiator# iscsiadm modify discovery --iSNS disable
    • А если Вам нужно отключить статический метод обнаружения, то Вам поможет команда:

      Code Block
      initiator# iscsiadm modify discovery --static disable

3. Удалите точку обнаружения устройства iSCSI при помощи одного из следующих шагов:

  • Удалите точку обнаружения iSCSI SendTargets.

    Например:

    Code Block
    initiator# iscsiadm remove discovery-address 10.0.0.1:3260
  • Удалите точку обнаружения iSCSI iSNS.

    Например:

    Code Block
    # iscsiadm remove isns-server 10.0.0.1:3205
  • Удалите точку статическую обнаружения iSCSI.

Например:

Code Block
initiator# iscsiadm remove static-config eui.5000ABCD78945E2B,10.0.0.1
Info

Note - Если Вы попытаетесь отключить или удалить точку обнаружения, которая связана с используемым логическим устройством (LUN), операция не сработает, и Вы увидите следующее сообщение:

logical unit in use

Если такая ошибка возникнет, остановите все ассоциированные операции I/O на LUN, размонтируйте файловые системы и т.д. А затем повторите операцию.

4. Удалите iSCSI target device.

Например:

Code Block
target# itadm delete-target target-IQN

Если таргет останется включенным или окажется занятым, то появится сообщение об ошибке:

Code Block
The target is online or busy. Use the -f (force) option, or 'stmfadm offline-target 
iqn.1986-03.com.sun:02:99619b8a-a4dc-4cfb-93f0-ee3debe7b0c8'
itadm delete-target failed with error 16

Создание портальных групп iSCSI Target

Вы можете создать портальную группу (Target Portal Group - TPG) для управления обнаружением множественных таргетов iSCSI и iSER. TPG - это список IP адресов, определяющий, какие интерфейсы должен слушать конкретный таргет iSCSI.

TPG содержит IP адреса и номера TCP портов. Для использования этой функциональности Вам нужно сделать следующее:

  • Создать TPG в виде списка ip-address:port при помощи команды itadm create-tpg .

  • Привязать конкретный таргет iSCSI к TPG командой itadm modify-target -t .

  • Когда таргет iSCSI станет активным, для каждого IP адреса и порта, принадлежащего к TPG этого таргета, создастся iSCSI listener.

TPG - это эффективный способ управления таргетами, определяемыми через указанный порт. Например, Вы можете ограничить свой таргет iSCSI так, чтобы он был доступен только через конкретный IP адрес или только через набор iSER-совместимых IP адресов.

Info

Note - Не путайте, пожалуйста, портальные группы и таргет-группы. Таргет-группа - это список портов SCSI таргета, которые все интерпретируются как один при создании views. Создание view может помочь Вам при мапировании LUN. Каждая запись view указывает таргет-группу, хост-группу и LUN. Для получения более подробной информации о мапировании Target Groups и LUN смотрите Making SCSI Logical Units Available и stmfadm(1M).

Статическое и iSNS обнаружение таргетов описано в Configuring Dynamic or Static Target Discovery. Инициатор iSCSI использует команду iscsiadm для обнаружения TPG. Более подробно это описано в iscsiadm(1M) и itadm(1M).

Использование TPG с iSER

Когда Вы одновременно используете SendTargets и iSER обнаружение, принято использовать TPG для ассоциации порта iSCSI таргета только с iSER-совместимым IP адресом. Например, если таргет система содержит 4 IP адреса IP: A, B, C b D, и только B и C iSER-совместимы, то только адреса B и C могут быть добавлены в TPG и назначены таргету T.

Инициатор iSCSI с обоими интерфейсами Ethernet и InfiniBand (IB) могут использовать метод обнаружения SendTargets для обнаружения доступных таргетов. Без TPG инициатор обычно предпочитает использование Ethernet интерфейсов использованию IB интерфейсов. Но если таргет T ассоциирован только с IB интерфейсами, то инициатор корректно будет использовать IB-совместимые интерфейсы при подключении к таргету T.

Как создать портальную группу для таргета iSCSI

Вы можете создать портальную группу для таргета (TPG), указав уникальное имя, а TPG Tag (в диапазоне 2–65535) сгенерируется автоматически. TPG Tag 1 зарезервирован для дефолтной TPG, которая используется в случае, если Вы не создаёте TPG для таргета в явном виде. Портал для дефолтной TPG соответствует запросам со всех интерфейсов сети к порту 3260.

Нижеприведённые шаги показывают, как создать 2 TPG, TPGA и TPGB, которые будут пользовать порт 8000 для IP адресов на TPGB.

  1. Станьте администратором.

  2. Создайте 2 TPG.

    Code Block
    target# itadm create-tpg TPGA 192.168.0.1 192.168.0.2
    target# itadm create-tpg TPGB 192.168.0.2:8000 192.168.0.2:8000
Info

Note - IPv4 порталы используют запись адреса с точками (например, 192.168.0.1). Адреса портала IPv6 должны заключаться в квадратные скобки.

4. Сконфигурируйте существующие таргеты iSCSI для работы с TPG - TPGA и TPGB.

Code Block
# itadm modify-target -t TPGA,TPGB eui.20387ab8943ef7548

5. Проверьте созданные TPG.

Code Block
# itadm list-tpg -v

А удалить TPG можно командой itadm delete-tpg.

Как доступаться к дискам iSCSI

Логин происходит автоматически после обнаружения всех устройств инициатором Oracle Solaris iSCSI. Драйвер Oracle Solaris iSCSI определяет число доступных LUN и создаёт ноды устройств. После этого устройства iSCSI могут интерпретироваться как любые другие устройства SCSI.

Вы можете создать на LUN-е ZFS пул, а потом файловую сиситему ZFS.

Посмотреть диски iSCSI в локальной системе Вы можете при помощи утилиты format.

  1. Проверка информации iSCSI LUN в выводе утилиты format.

    Code Block
    initiator# format
           0. c0t600144F0B5418B0000004DDAC7C10001d0 <SUN-COMSTAR-1.0 cyl 1022 alt 2 hd 128 sec 32>
              /scsi_vhci/disk@g600144f0b5418b0000004ddac7c10001
           1. c8t0d0 <Sun-STK RAID INT-V1.0 cyl 17830 alt 2 hd 255 sec 63>
              /pci@0,0/pci10de,375@f/pci108e,286@0/disk@0,0
           2. c8t1d0 <Sun-STK RAID INT-V1.0-136.61GB>
              /pci@0,0/pci10de,375@f/pci108e,286@0/disk@1,0
           3. c8t2d0 <Sun-STK RAID INT-V1.0-136.61GB>
              /pci@0,0/pci10de,375@f/pci108e,286@0/disk@2,0
           4. c8t3d0 <Sun-STK RAID INT-V1.0 cyl 17830 alt 2 hd 255 sec 63>
              /pci@0,0/pci10de,375@f/pci108e,286@0/disk@3,0
    Specify disk (enter its number): 0
    selecting c0t600144F0B5418B0000004DDAC7C10001d0
    [disk formatted]

    В приведённом выше листинге диск 0 - это iSCSI LUN под управлением MPxIO. Диски 1-4 - это локальные диски.

  2. Вы можете создать ZFS пул и файловую систему ZFS на iSCSI LUN.

    Code Block
    initiator# zpool create pool-name c0t600144F0B5418B0000004DDAC7C10001d0
    initiator# zfs create pool-name/fs-name

    Файловая система ZFS автоматически монтируется при запуске и перемонтируется при перезагрузке.

Как сделать доступными логические устройства SCSI

Просто регистрация логического устройства (LUN) во фрэймворке STMF ещё не делает его доступным для хостов (инициаторов) в сети. В этом пункте описывается, как сделать LUN-ы видимыми для инициаторов для нижеприведённых конфигураций.

Для конфигураций iSCSI, Fibre Channel и FCoE, LUN должен быть размаплен перед доступом. Выберите один из следующих методов, каждый из которых пользуется командой stmfadm:

  • Простое мапирование (Simple mapping) – Представляет LUN всем инициаторам через все порты при помощи одной команды. Этим методом пользуются при предоставлении LUN-ов всем хостам.

  • Выборочное мапирование (Selective mapping) – Позволяет определить хосты, которые будут иметь доступ к LUN. Этим методом пользуются при предоставлении LUN-ов определённым хостам. Этот процесс включает следующие шаги:

    1. Определение хост-групп – Хост-группа - это имя набора хостов (инициаторов), которым разрешён доступ к одним и тем же LUN-ам. Этот шаг не нужен, если один и тот же набор LUN-ов доступен всем хостам, как в простом мапинге.

    2. Определение таргет-групп – Таргет-группа - это это имя набора портов таргета, которые экпортируют один и тот же набор LUN-ов одним и тем же хост-группам. Этот шаг не нужен, если один и тот же набор LUN-ов доступен всем хостам, как в простом мапинге.

    3. Добавление одного или нескольких view каждому логическому устройству – Добавление view создаёт мост между LUN-ом и инициатором. Когда инициатор из хост-группы логинится в тарге-порт, входящий в таргет-группу, LUN становится видимым.

Info

Note - Не путайте таргет-группу и портальную группу таргета (TPG). A TPG - это список адресов IP, которые слушает таргет iSCSI. TPG может помочь Вам ограничить доступ к таргету iSCSI так, что он будет доступен только по одному определённому IP адресу. Более подробная информация о таргет-группах приводится в stmfadm(1M).

View состоит из 4 компонент: хост-группы, таргет-группы, логического устройства (LUN) и идентификатора LUN. Из этих 4 компонент обязателен только идентификатор LUN. Если остальные компоненты опущены, то берутся значения по умолчанию:

  • Если опущена хост-группа, подразумеваются все инициаторы.

  • Если опущена таргет-группа, подразумеваются все таргеты.

  • Если опущен LUN, система выбирает LUN, подходящий для этого view .

Как сделать логическое устройство доступным всем системам

Эта процедура делает LUN доступным всем инициаторам в системе хранения данных.

  1. Получите GUID для LUN.

    Code Block
    # stmfadm list-lu -v
  2. Добавьте view для логического устройства.

    Code Block
    3 # stmfadm add-view GUID-number

Как ограничить доступ LUN к отдельным системам

Используйте эту процедуру для того, чтобы ограничить доступ LUN-ов к отдельным хостам в системе хранения данных. Если Вы работаете с портами Fibre Channel, сначала определите World Wide Names (WWN). Затем выборочно размапьте логический номер устройства (LUN) на порты, например,host-a. Таргет-группа (targets-0) также определена для данного набора таргет-портов, которые экспортируют один и тот же набор LUN-ов той же самой хост-группе.

Более подробная информация по конфигурации таргет-группы приводится в stmfadm(1M).

  1. Станьте администратором.

  2. Идентифицируйте порт Fibre Channel (FC) на инициаторе.

    Code Block
    initiator# fcinfo hba-port
    HBA Port WWN: 210000e08b195dae
            Port Mode: Initiator
            Port ID: 0
            OS Device Name: /dev/cfg/c8
            Manufacturer: QLogic Corp.
            Model: 375-3108-xx
            Firmware Version: 03.03.28
            FCode/BIOS Version:  fcode: 1.13;
            Serial Number: not available
            Driver Name: qlc
            Driver Version: 20100408-3.01
            Type: unknown
            State: offline
            Supported Speeds: 1Gb 2Gb 
            Current Speed: not established 
            Node WWN: 200000e08b195dae
            NPIV Not Supported
    .
    .
    .
    
  3. Создайте хост-группу.

    Code Block
    target# stmfadm create-hg host-a 210000e08b195dae 210100e08b395dae
  4. Добавьте идентификатор WWN из предыдущего вывода в качестве члена хост-группы.

    Code Block
    target# stmfadm add-hg-member -g host-a
  5. Создайте таргет-группу.

    Code Block
    target# stmfadm create-tg targets-0
  6. Определите таргет-группу добавлением имён таргетов.

    Каждый таргет SCSI может быть членом только одной таргет-группы.

    Code Block
    target# stmfadm add-tg-member -g targets-0 wwn.guid-number
  7. Определите GUID для LUN-а.

    Code Block
    target# stmfadm list-lu -v
  8. Сделайте LUN доступным путём добавления view, указав имя хост-группы и LUN GUID.

    Code Block
    target# stmfadm add-view -h host-a -t targets-0 -n 1 guid-number