Вы можете установить и настроить таргет 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-устройству.
Установите ПО сервера хранения данных 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
Перезагрузите систему или запустите сервис
stmf
.Code Block target# svcadm enable stmf # svcs stmf STATE STIME FMRI online 09:42:32 svc:/system/stmf:default
Как сделать резервную копию и восстановить конфигурацию COMSTAR
После создания конфигурации COMSTAR сделайте её резервную копию, чтоб при необходимости её можно было восстановить.
Станьте администратором.
Сделайте экспорт текущей конфигурации COMSTAR.
Code Block # svccfg export -a stmf > COMSTAR.backup
При необходимости восстановите экспортированную ранее конфигурацию.
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 на выбранные хосты.
Следующие шаги нужно выполнить на системе, которая предоставляет запоминающее устройство.
Создайте ZFS pool.
Code Block target# zpool create sanpool mirror c2t3d0 c2t4d0
Создайте том ZFS, который будет использоваться как SCSI LUN.
Code Block target# zfs create -V 2g sanpool/vol1
Создайте LUN для тома ZFS.
Code Block target# stmfadm create-lu /dev/zvol/rdsk/sanpool/vol1 Logical unit created: 600144F0B5418B0000004DDAC7C10001
Путь к тому ZFS Вы можете найти в директории
/dev/zvol/rdsk/
pool-name/ .Проверьте, что LUN создался.
Code Block target# stmfadm list-lu LU Name: 600144F0B5418B0000004DDAC7C10001
Добавьте LUN view.
Эта команда сделает LUN доступным для всех систем.
Code Block target# stmfadm add-view 600144F0B5418B0000004DDAC7C10001
Если Вам нужно ограничить доступ к LUN view для отдельных систем, ознакомьтесь с How to Restrict LUN Access to Selected Systems.
Проверьте конфигурацию LUN.
Code Block target# stmfadm list-view -l 600144F0B5418B0000004DDAC7C10001 View Entry: 0 Host group : All Target group : All LUN : 0
Как создать таргет iSCSI
Эта процедура подразумевает, что Вы уже залогинились в систему, в которой будет создан таргет iSCSI.
Запустите таргет сервис 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)
Создайте таргет iSCSI.
Code Block target# itadm create-target Target iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405 successfully created
Выведите на экран иформацию о таргете 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 и на таргете, и на инициаторе.
Станьте администратором на хосте (инициаторе).
Подключите HCA к коммутатору IB.
Для получения более подробной информации, смотрите документацию производителя.
Сконфигурируйте таргет и инициатор для HCA.
Таргет и инициатор должны быть в обной подсети. В этом примере в качестве драйвера используется
ibd0
.Code Block # ipadm create-addr ibd0
Сконфигурируйте IP адрес и порт для HCA.
Code Block # ipadm create-addr -T static -a local=10.1.190.141/24 ibd0/v4addr
Проверьте конфигурацию интерфейса.
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
Станьте администратором на таргете и повторите шаги 3-5 для всех хостов HCA в сети.
Проверьте соединения на таргете и инициаторе.
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.
Запустите сервис iSCSI инициатоора.
Code Block initiator# svcadm enable network/iscsi/initiator
Проверьте имя и 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
Сконфигурируйте статически определяемый таргет.
Code Block initiator# iscsiadm add static-config iqn.1986-03.com.sun:02:73d12edc-9bb9-cb44-efc4-c3b36c039405, 10.80.227.189
Проверьте статически сконфигурированную информацию.
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 соединение инициализируется только после включения метода определения. См. следующий шаг.
Сконфигурируйте один из следующих методов определения таргета:
Если Вы сконфигурировали динамически определяемый таргет (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
Включите один из следующих методов определения таргетов:
Если Вы сконфигурировали динамически определяемый таргет (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
При необходимости перенастройте
/dev
namespace для распознавания дисков iSCSI.Code Block initiator# devfsadm -i iscsi
Как удалить обнаруженные таргеты iSCSI
Ассоциированные таргеты отключаются после того, как Вы выполните любое из нижеперечисленных действий:
Удалите адрес обнаружения
Удалите сервер iSNS
Удалите статитечскую конфигурацию
Отключите метод обнаружения
Если ассоциированные таргеты ещё используются - например, на них есть смонтированные файловые системы - они не отключатся, а останутся в списке активных таргетов.
Эта необязательная процедура предполагает, что Вы залогинились в локальную систему, где сконфигурирован доступ к SCSI target device.
Станьте администратором.
(Необязательно) Отключите метод обнаружения таргетов 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), операция не сработает, и Вы увидите следующее сообщение:
Если такая ошибка возникнет, остановите все ассоциированные операции 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 и |
Статическое и 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
You can create a target portal group (TPG) by providing a unique name, and a TPG Tag (ranging from 2–65535) is automatically generated. TPG Tag 1 is reserved for the default TPG that is used when you do not explicitly set a TPG on the target. The portal for the default TPG matches requests from all network interfaces on port 3260
.
The following steps shows how to create two TPGs, TPGA and TPGB, that use port 8000
for the IP addresses in TPGB.
Become an administrator.
Create two TPGs.
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
Note - IPv4 portals are specified in dotted address notation (for example,
192.168.0.1
). IPv6 portal addresses must be enclosed in square brackets.Configure an existing iSCSI target to use the TPGs, TPGA and TPGB.
Code Block # itadm modify-target -t TPGA,TPGB eui.20387ab8943ef7548
Verify the TPGs that you created.
Code Block # itadm list-tpg -v
You can remove a TPG with the
itadm delete-tpg
command.
How to Access iSCSI Disks
After the devices have been discovered by the Oracle Solaris iSCSI initiator, the login negotiation occurs automatically. The Oracle Solaris iSCSI driver determines the number of available LUNs and creates the device nodes. Then, the iSCSI devices can be treated as any other SCSI device.
You can create a ZFS storage pool on the LUN and then create a ZFS file system.
You can view the iSCSI disks on the local system by using the format
utility.
Review the iSCSI LUN information in the
format
output.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]
In the above output, disk 0 is an iSCSI LUN under MPxIO control. Disks 1-4 are local disks.
You can create a ZFS storage pool and ZFS file systems on the iSCSI LUN.
Code Block initiator# zpool create pool-name c0t600144F0B5418B0000004DDAC7C10001d0 initiator# zfs create pool-name/fs-name
The ZFS file system is automatically mounted when created and is remounted at boot time.
Making SCSI Logical Units Available
Simply registering a logical unit (LUN) with the STMF framework does not make it available to hosts (initiators) on the network. This section describes how to make LUNs visible to initiator hosts for the following configurations.
For iSCSI, Fibre Channel, and FCoE configurations, a LUN must be mapped before it can be accessed. You can choose one of the following methods, both of which use the stmfadm
command:
Simple mapping – Exposes the LUN to all initiators through all the ports, using one command. Making LUNs available to all hosts uses this method.
Selective mapping– Enables you to specify the hosts that can access the LUN. Making LUNs available to selected hosts uses this method. This process includes the following steps:
Defining host groups – A host group is a name given to a set of hosts (initiators) that are allowed to access the same LUNs. This step is not needed if the same set of LUNs is visible to all the hosts, as in simple mapping.
Defining target groups – A target group is a name given to a set of target ports that export the same set of LUNs to the same set of host groups. This step is not needed if the same set of LUNs is visible to all the hosts, as in simple mapping.
Adding one or more views for each logical unit – Adding a view creates a bridge between the LUN and the host initiator. When an initiator from the host group logs in to a target port contained in the target group, the LUN is visible.
Info |
---|
Note - Don't confuse a target group with a target portal group (TPG). A TPG is a list of IP addresses that an iSCSI target listens to. A TPG can help you restrict an iSCSI target so that it is available only through one specific IP address. For more information on target groups, see |
A view entry consists of four components: host group, target group, logical unit (LUN), and LUN identifier. Of these four components, only the LUN identifier is required. If the other components are omitted, the following default values are assumed:
If the host group is omitted, the all initiators value is assumed.
If the target group is omitted, the all targets value is assumed.
If the LUN is omitted, the system chooses a suitable LUN for the entry.
How to Make a Logical Unit Available to All Systems
This procedure makes a LUN available to all initiator hosts on a storage network.
Obtain the Global Unique Identification (GUID) number for the LUN.
Code Block # stmfadm list-lu -v
Add a view for the logical unit.
Code Block 3 # stmfadm add-view GUID-number
How to Restrict LUN Access to Selected Systems
Use this procedure to restrict LUNs to selected hosts on a storage network. If you are using Fibre Channel ports, first identify the World Wide Names (WWN). Then, selectively map a logical unit number (LUN) to the ports on host-a
, for example. A target group (targets-0
) is also defined for a given set of target ports that export the same set of LUNs to the same host group.
For information about configuring a target group, see stmfadm
(1M).
Become an administrator.
Identify the Fibre Channel (FC) port on the initiator.
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 . . .
Create a host group.
Code Block target# stmfadm create-hg host-a 210000e08b195dae 210100e08b395dae
Add the WWNs identified in the preceding output as members of the host group.
Code Block target# stmfadm add-hg-member -g host-a
Create a target group.
Code Block target# stmfadm create-tg targets-0
Specify the target group members by adding the target names.
Each SCSI target can be a member of only one target group.
Code Block target# stmfadm add-tg-member -g targets-0 wwn.guid-number
Identify the GUID number for the LUN.
Code Block target# stmfadm list-lu -v
Make the LUN available by adding a view entry, specifying the host group name and the LUN GUID number.
Code Block target# stmfadm add-view -h host-a -t targets-0 -n 1 guid-number
Code Block |
---|