Настройка iscsi сервера на centos 7

Введение

Современные операционные системы Windows 7, Windows Server 2008 и всё, что старше, умеют подключаться напрямую на iSCSI target. Проблема только в том, как инициализировать удаленное блочное устройство при включении ПК.

Есть много способов, как загружаться через gPXE и iPXE. В данном посте мы будем рассматривать загрузку с использованием iPXE и подключением для него необходимых скриптов в процессе загрузки.

Суть такова — при запуске компьютера PXE загрузчик получает необходимые настройки через DHCP и загружает PXELINUX, который задает необходимые параметры и загружает iPXE, который, в свою очередь, выступает iSCSI инициатором и передает управление диску. До момента инициализации блочного устройства передачу файлов по сети обеспечивает протокол TFTP.

Зачем использовать хранилище iSCSI?

Помимо вышеупомянутых преимуществ iSCSI, таких как экономия затрат и высокая производительность, есть некоторые другие преимущества и недостатки iSCSI:

  • Поскольку iSCSI работает на сетевых компонентах Gigabit Ethernet (коммутатор Gigabit Ethernet, маршрутизатор и т. д.), он не только дешевле в использовании, но и упрощает среду сетевого хранения.

  • IT персоналу не требуется дополнительных навыков для работы с хранилищем iSCSI. Любой, кто знаком с технологией TCP/IP, может легко установить iSCSI SAN и управлять им.

  • Хранилище iSCSI основано на TCP/IP, который является универсальной и непатентованной технологией, поэтому различные фирменные сетевые устройства хранения данных в iSCSI SAN могут без проблем работать вместе.

  • Тем не менее, основным ограничением сетей хранения iSCSI является их производительность по сравнению со средами хранения на основе FC, но доступность iSCSI 10 GbE и других технических реализаций, таких как многопутевый переход и мостовое соединение центров обработки данных, помогли сократить разрыв в производительности.

Как построить iSCSI SAN?

iSCSI SAN подходит для малых и средних предприятий, у которых есть большие объемы данных для хранения и передачи по сети. Вот несколько советов о том, как установить и настроить iSCSI SAN для корпоративной сети:

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

Во-вторых, для iSCSI SAN лучше использовать неблокирующий коммутатор Gigabit Ethernet корпоративного класса. Коммутатор потребительского уровня часто не поддерживает соединения между несколькими портами на скорости проводной сети, поэтому они могут отбрасывать пакеты без предупреждения. Для приложений центров обработки данных 10GbE iSCSI SAN более ориентирован на будущее, поэтому предпочтительнее использовать коммутатор 10GbE.

Наконец, если ваши серверы имеют одногигабитные подключения к коммутатору Ethernet для доступа к дисковым массивам, они уязвимы для сбоя на этом канале. Лучше всего использовать технику многопутевого ввода-вывода (MPIO) для создания нескольких подключений от инициатора iSCSI каждого сервера к вашему дисковому массиву.

Настройка параметров загрузчика iSCSI.

Настроить параметры можно через встроенную программу установки. Вход в нее осуществляется при инициализации загрузчика сетевой карты во время старта компьютера нажатием клавиш «Ctrl+D» или используя утилиту bootutil. Ниже приведен список ключей утилиты для настройки параметров iSCSI загрузчика и соответствующие копии экранов встроенной программы установки.

Настройка параметров инициатора.

  • -INITIATORDHCP=(Enable/Disable) — получение конфигурации инициатора с DHCP сервера.
  • -INITIATORNAME — произвольное имя IQN компьютера который осуществляет загрузку по iSCSI в следующем формате: iqn.год-месяц.имя-домена-в-обратном-порядке:имя. (не более 255 символов).
  • -INITIATORIP — IP адрес сетевой карты инициатора (IPv4).
  • -NETMASK — сетевая маска подключения.
  • -GATEWAY — шлюз на который будут отправляться пакеты iSCSI. В случае если указаны не нулевые значения, в ОС Windows пакеты будут отправляться на адрес шлюза даже в том случае, когда инициатор и цель находятся в одной сети. При работе в MS-DOS подобная проблема не наблюдалась.
  • -BOOTPRIORITY=( PRIMARY, SECONDARY or DISABLE) — настройка приоритета загрузки.
>bootutil.exe –NIC=3 -INITIATORDHCP=Disable
>bootutil.exe –NIC=3 -INITIATORNAME=iqn.2015-10.ru.spb.livetravel:Server-1
>bootutil.exe –NIC=3 –INITIATORIP=10.0.0.2
>bootutil.exe –NIC=3 –NETMASK=255.255.255.0
>bootutil.exe –NIC=3 –GATEWAY=0.0.0.0
>bootutil.exe –NIC=3 –BOOTPRIORITY=PRIMARY

Рис. 2 Сетевые настройки iSCSI.

Настройка параметров цели.

  • -TARGETDHCP (Enable/Disable) — получения конфигурации цели с DHCP сервера,
  • -TARGETNAME — IQN имя диска (цели) с которого будет осуществляться загрузка,
  • -TARGETIP — IP адрес цели,
  • -TARGETPORT — порт подключения (по умолчанию 3260),
  • -BOOTLUN — номер LUN.
>bootutil.exe –NIC=3 -TARGETDHCP=Disable
>bootutil.exe –NIC=3 -TARGETNAME=iqn.2015-08.ru.spb.livetravel:iscsiboot
>bootutil.exe –NIC=3 –TARGETIP=10.0.0.1
>bootutil.exe –NIC=3 –TARGETPORT=3260
>bootutil.exe –NIC=3 –BOOTLUN=0

Настройка авторизации

  • -AUTHENTICATIONMETHOD — выбор метода авторизации (NONE, CHAP or MUTUALCHAP),
  • -CHAPUSERNAME — имя пользователя,
  • -CHAPSECRET — пароль (12-16 символов) для подключения к цели,
  • -MUTUALCHAPSECRET — обратный пароль (12-16 символов) для верификации цели на стороне инициатора,
>bootutil.exe –NIC=3 -AUTHENTICATIONMETHOD =CHAP	
>bootutil.exe –NIC=3 –CHAPUSERNAME=iscsiboot
>bootutil.exe –NIC=3 –CHAPSECRET=2128506E9550

Рис. 3 Настройка авторизации iSCSI.

[править] Загрузка компьютера по iSCSI

Although I'm not sure how up-to-date those pages are..                                                                                       
                                                                                                                                             
Anyway, the basic idea for iSCSI boot nowadays is that the iSCSI boot                                                                        
initiator (BIOS, NIC or firmware) doing the initial boot up (loading GRUB                                                                    
from the disk, int13h emulation) should fill up iBFT table with iSCSI NIC/IP                                                                 
configuration info, and also the target/LUN info.                                                                                            
                                                                                                                                             
The booted OS can then set up it's iscsi software initiator based on the                                                                     
info in iBFT table. iBFT table is stored in memory.                                                                                          
                                                                                                                                             
RHEL 5.2 (and CentOS 5.2) already supports this. Microsoft iSCSI software                                                                    
initiator (boot version) also supports iBFT, I think.                                                                                        
                                                                                                                                             
So yeah.. to support iSCSI boot for HVM guests would mean being able to specify                                                              
iBFT information in the domain configuration, and that information should                                                                    
end up in iBFT table in HVM domain memory. And then there should be int13h                                                                   
emulation using that same iBFT information so that bootloaders (GRUB) work...

Сетевые карты производства Intel умеют выполнять загрузку
по iSCSI.

I think broadcom server NICs support iSCSI boot too.                                                                                         
                                                                                                                                             
broadcom+dell:                                                                                                                               
http://www.dell.com/downloads/global/power/ps4q07-20070596-Broadcom.pdf                                                                      
                                                                                                                                             
press releases:                                                                                                                              
http://www.embeddedstar.com/press/content/2004/10/embedded16905.html                                                                         
http://www.linuxelectrons.com/news/hardware/14128/broadcoms-iscsi-block-storage-over-ethernet-delivers-high-performance                      
http://www.broadcom.com/press/release.php?id=635611                                                                                          
http://www.byteandswitch.com/document.asp?doc_id=61762                                                                                       
http://news.thomasnet.com/companystory/810702                                                                                                
                                                                                                                                             
                                                                                                                                             
also, IBM blades contain iBFT capable iSCSI initiator in their BIOS, allowing                                                                
iSCSI boot without HBA.                                                                                                                      

Дополнительная информация
о том как выполнять загрузку узлов без использования
iSCSI HBA, пользуясь только обычной сетевой картой и таблицей iBFT:

Настраиваемые параметры при добавлении авторизованного доступа

Group ID

Тип integer. Позволяет настраивать разные группы с разными профилями проверки подлинности. Пример: все пользователи с идентификатором группы 1 наследуют профиль аутентификации, связанный с группой 1.

User

Тип string. Введите имя учетной записи пользователя для создания для CHAP-аутентификации с пользователем в удаленной системе. Многие инициаторы по умолчанию используют имя инициатора в качестве пользователя.

Peer User

Тип string. Только ввод при настройке взаимного CHAP. В большинстве случаев это должно быть то же значение, что и Пользователь.

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

CHAP не работает с инициаторами GlobalSAN на macOS.

По мере добавления разрешенных прав они будут перечислены в разделе View Authorized Accesses (Просмотр авторизированных доступов). В примере, показанном на рисунке 10.5.6, создаются три пользователя (test1, test2 и test3) и две группы (1 и 2), причем группа 1 состоит из одного пользователя CHAP и группы 2, состоящего из одного пользователя mutual CHAP и одного пользователя CHAP. Нажмите авторизованную запись доступа, чтобы отобразить ее кнопки «Редактировать» и «Удалить».

Просмотр авторизированных доступов iSCSI в FreeNAS

Терминология iSCSI

CHAP

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

Инициатор — Initiator

Это клиент, которому разрешен доступ к данным хранилища в системе FreeNAS. Клиент требует, чтобы инициатор программного обеспечения инициировал подключение к общему ресурсу iSCSI.

Цель — Target

Таргет — это ресурс хранения в системе FreeNAS. Каждая цель имеет уникальное имя, известное как iSCSI Qualified Name (IQN).

ЛУН — LUN

Это номер логического блока (Logical Unit Number), представляющий логическое устройство SCSI. Инициатор ведет переговоры с целью установить связь с LUN. Результатом является соединение iSCSI, которое эмулирует соединение с жестким диском SCSI. Инициаторы рассматривают iSCSI LUN, как если бы они были жестким диском SCSI или SATA. Вместо того, чтобы устанавливать удаленные каталоги, инициаторы форматируют и напрямую управляют файловыми системами на LUN iSCSI. При настройке нескольких iSCSI LUN создайте новую цель для каждого LUN. Поскольку iSCSI мультиплексирует цель с несколькими LUN по одному и тому же TCP-соединению, может существовать конфликт TCP, когда более одного целевого доступа обращается к одному и тому же LUN. FreeNAS поддерживает до 1024 LUN.

В FreeNAS iSCSI встроено в ядро. Эта версия iSCSI поддерживает Microsoft Offloaded Data Transfer (ODX), что означает, что копии файлов происходят локально, а не по сети. Он также поддерживает примитивы VAAI (vStorage APIs for Array Integration) для эффективной работы задач хранения непосредственно на NAS. Чтобы воспользоваться преимуществами примитивов VAAI, создайте zvol, используя инструкции в Create zvol, и используйте его для создания объема устройства, как описано в Extents.

Подключение к iSCSI

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

Клиент Инициатора iSCSI предварительно установлен с Windows 7. Подробное руководство для этого клиента можно найти здесь. (http://techgenix.com/Connecting-Windows-7-iSCSI-SAN/)

Клиент для Windows 2000, XP и 2003 можно найти здесь. (http://www.microsoft.com/en-us/download/details.aspx?id=18986)

В этом руководстве показано, как создать цель iSCSI для системы Windows 7. (https://www.pluralsight.com/blog/software-development/freenas-8-iscsi-target-windows-7)

Mac OS X не содержит инициатора. globalSAN — коммерческий, простой в использовании инициатор Mac. (http://www.studionetworksolutions.com/globalsan-iscsi-initiator/)

BSD-системы предоставляют инициаторы командной строки: iscontrol (8) поставляется с версиями FreeBSD 9.x и ниже, iscsictl (8) поставляется с версиями FreeBSD 10.0 и выше, iscsi-инициатор (8) поставляется с NetBSD, а iscsid (8) поставляется с OpenBSD.

Некоторые дистрибутивы Linux предоставляют утилиту командной строки iscsiadm из Open-iSCSI. (http://www.open-iscsi.com/) Используйте веб-поиск, чтобы узнать, существует ли пакет для распространения, если команда не существует в системе Linux.

Если добавлен LUN, а iscsiadm уже подключен, он не увидит новый LUN до повторного сканирования с помощью «iscsiadm -m node -R». В качестве альтернативы, используйте «iscsiadm -m discovery -t st -p portal_IP», чтобы найти новый LUN и «iscsiadm -m node -T LUN_Name -l» для входа в LUN.

Инструкции по подключению с сервера VMware ESXi можно найти в разделе Как настроить FreeNAS 8 для iSCSI и подключиться к ESX (i). (https://www.vladan.fr/how-to-configure-freenas-8-for-iscsi-and-connect-to-esxi/)

Обратите внимание, что требования по загрузке vSphere 4.x из iSCSI различаются между ESX и ESXi. ESX требует аппаратного адаптера iSCSI, в то время как ESXi требует специальной поддержки прошивки iSCSI

Магия находится на стороне хоста загрузки, что означает, что нет никакой разницы в конфигурации FreeNAS. Подробнее см. Руководство по конфигурации SAN iSCSI. (https://www.vmware.com/pdf/vsphere4/r41/vsp_41_iscsi_san_cfg.pdf)

Брандмауэр VMware разрешает только подключения iSCSI по порту 3260. Если выбран другой порт, исходящие соединения с этим портом должны быть добавлены вручную в брандмауэр до того, как эти соединения будут работать.

Если цель можно увидеть, но не подключиться, проверьте Discovery Auth (параметры обнаружения) в Target Global Configuration (глобальной целевой конфигурации).

Если LUN не обнаружен ESXi, убедитесь, что в режиме promiscuous установлен Accept в vSwitch.

Какой TCP порт используется для получения доступа к таргету iSCSI в FreeNAS?

По умолчанию 3260.

Системы FreeNAS с несколькими IP-адресами или интерфейсами могут использовать портал для предоставления услуг на разных интерфейсах или подсетей. Это можно использовать для настройки многоканального ввода-вывода (MPIO). MPIO более эффективен, чем агрегация ссылок.

Если система FreeNAS имеет несколько сконфигурированных интерфейсов, порталы также могут использоваться для обеспечения контроля доступа к сети. Например, рассмотрим систему с четырьмя интерфейсами, сконфигурированными со следующими адресами:

192.168.1.1/24

192.168.2.1/24

192.168.3.1/24

192.168.4.1/24

Может быть создан портал, содержащий первые два IP-адреса (идентификатор группы 1) и портал, содержащий два оставшихся IP-адреса (идентификатор группы 2). Затем может быть создана цель с именем A с идентификатором группы портала 1 и второй целью с именем B с идентификатором группы портала 2. В этом случае служба iSCSI будет прослушивать все четыре интерфейса, но соединения с целевым A будут ограничены первыми двумя сетями, а соединения с целевым B будут ограничены двумя последними сетями.

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

Лечение split-brain[]

Если случилось так, что каждая нода перешла в автономный режим то делаем следущее:

  • 1. Решаем, какая нода содержит более важные данные (главная), а какую принести в жертву (второстепенная) путем зеркалирования с главной.
  • 2. Заходим на второстепенную и сперва останавливаем iscsi сервер.
/etc/init.d/iscsitarget stop

Затем переключаем том в режим только для чтения

drbdadm secondary r0

И говорим серверу, что согласны с тем, что данные на на нём будут принесены в жертву

drbdadm -- --discard-my-data connect r0

3. Заходим на основной сервер и выполняем подключение к тому

drbdadm connect r0

4. Выполним контроль состояния

cat /proc/drbd

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

ds:UpToDate/UpToDate

5. Затем переходим снова на второстепенную ноду и переводим её из режима только для чтения в режим записи (Primary)

drbdadm primary r0

6. Запускаем iscsi сервер на этой ноде

/etc/init.d/iscsitarget start

Настройка iSCSI target в Windows Server

Сначала нужно включить iSCSI target (активировать роль iSCSI Target Server), зайдя в File and Storage Services -> File and iSCSI Services.

Install-WindowsFeature -Name FS-iSCSITarget-Server

Теперь на iSCSI сервере нужно создать виртуальный диск. Для этого необходимо зайти в Server Manager -> File and Storage Services -> iSCSI, нажать To create an iSCSI virtual disk, start the New iSCSI Virtual Disk Wizard.

В мастере создания виртуального iSCSI диска нужно выбрать физический раздел, на котором его нужно разместить. Далее нужно присвоить имя iSCSI диска, указать размер диска и его тип (Fixed Size, Dynamically expanding или Differencing), имя iSCSI таргета.

На шаге Access Servers нужно указать серверы (iSCSI инициаторы), которые смогут подключаться к данному iSCSI таргет, выбрав один из вариантов подключения:

  • IQN (придется сначала включить iSCSI initiator на сервере и скопировать IQN);
  • DNS Name
  • IP Address;
  • MAC Address.

Пусть используется вариант с IP-адресом.

Следующий шаг в этом мастере – это настройка протокола аутентификации CHAP. Его следует использовать, если необходимо проверять подлинность подключения от инициатора. Далее он включается, вписывается имя пользователя и 12-значный пароль (или длиннее), затем Next -> Next -> Finish. Проверьте, что виртуальный диск iscsiDisk2.vhdx создался в каталоге D:\iSCSIVirtualDisks.

Можно создать iSCSI диск с помощью PowerShell. Создадим виртуальный диск размером 200 Гб:

New-IscsiVirtualDisk -Path С:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB.

По умолчанию создается динамический диск размером 4,096 Кб, независимо от того, сколько было указано параметром Size. Динамический диск будет расширяться по мере необходимости.

Если нужно использовать диск фиксированного размера (такие диске резервируют место на физическом носителе при создании), то его создать той же командой с дополнительным параметром UseFixed:

New-IscsiVirtualDisk -Path С:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB –UseFixed

Далее таргету присваивается имя, здесь же можно разрешить к нему доступ с IP-адреса сервера-инициатора:

New-IscsiServerTarget -TargetName «iscsiTarget33» -InitiatorId @(«IPAddress:172.17.244.8»)

При желании вместо IP-адреса можно использовать IQN имя (iSCSI Qualified Name – уникальный идентификатор iSCSI устройства в сети):

New-IscsiServerTarget -TargetName iscsiTarget33 -InitiatorIds “IQN: 1991-05.com.microsoft:win2019test.ddd.com”

Затем желательно проверить результат:

Get-IscsiServerTarget | fl TargetName, LunMappings

Получить полное имя таргета можно с помощью командлета Get-IscsiTarget , а затем подключить таргет:

Connect-IscsiTarget -NodeAddress iqn.1991-05.com.microsoft:win2019test-iscsitarget33-target

[править] Терминология: сеансы, соединения

>
> First of all: Thanks for the possibility to ask questions
> here. I compiled and
> installed the iscsitarget 1.4.19 on CentOS 5.4 x86_32 (Linux
> gate.dentikum.ch
> 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686
> i386 GNU/Linux)  
> and configured it with the following /etc/iet/ietd.conf:
>
> Target iqn.2010-01.ch.intersoft-networks:storage.lun1
>         # IncomingUser
>         # OutgoingUser
>         # Lun 0 Path=/install/iscsi.img,Type=fileio
>         Lun 0 Path=/install/iscsi.img,Type=fileio
>         Alias LUN1
>         InitialR2T Yes
>         ImmediateData Yes
>         # MaxOutstandingR2T 8
>         MaxConnections  5
>         MaxSessions 0
... 

MaxSessions needs to be at least 1, the code should enforce
this, I need to make sure it does, because it sounds like it
doesn't.

IET only supports MaxConnections 1 for now.

MaxConnections is # of TCP connections per session.

> When I try to start the daemon it hangs always after some
> operations (strace
> at the end).  
>
> To my other question: This is a test installation for a later
> iscsi target for
> a VMWare ESXi cluster as data storage. When I set
> MaxConnections to a other
> setting than 1 it brings always the message:
>
> iscsi_trgt: sess_param_check(46) max_connections: 5 is out of
> range (1 1)
> So my question: Is it even possible to open more than one
> connection to a
> target?
... 

Currently IET doesn't support Multiple Connections per Session.

Hopefully we should get that working soon.

To help out a bit in understanding the relationships.


IET
 +-> Target
 |     +-> Volume
 |     +-> Volume
 |     +-> Session (Initiator)
 |     |      +-> Connection
 |     |      +-> Connection
 |     +-> Session (Initiator)
 |            +-> Connection
 |            +-> Connection
 +-> Target
       +-> Volume
       +-> Volume
       +-> Session (Initiator)
       |      +-> Connection
       |      +-> Connection
       +-> Session (Initiator)
              +-> Connection
              +-> Connection

Typically you would have multiple volumes per target if they
are to be used together, such as a cluster that has one
volume as a quorum and other data volumes, or say for VMware
were multiple volumes are concatinated to expand a VMFS
datastore. Otherwise it usually is one volume per target. The
first volume for each target MUST be LUN 0. 

Глобальная настройка цели (таргета)

Sharing ‣ Block (iSCSI) ‣ Target Global Configuration (Общий доступ ‣ Блок (iSCSI) ‣ Целевая глобальная конфигурация), показанная на рисунке, содержит параметры, которые применяются ко всем общим ресурсам iSCSI.

Глобальные конфигурационные переменные iSCSI цели (таргета) в FreeNAS

Некоторые встроенные значения влияют на использование iSNS. Извлечение разрешенных инициаторов из iSNS не выполняется, поэтому целевые списки управления доступом должны быть настроены вручную. Чтобы сделать регистрацию iSNS полезной, цели iSCSI должны иметь явно настроенные IP-адреса порта. Это позволяет избежать инициаторов, пытающихся обнаружить неконфигурированные адреса целевого портала, такие как 0.0.0.0.

Период регистрации iSNS составляет 900 секунд. Зарегистрированные сетевые объекты, не обновляемые в течение этого периода, не зарегистрированы. Таймаут для запросов iSNS составляет 5 секунд.

Настройка внешнего хранилища

Подключитесь к серверу по SSH с учётной записью суперпользователя и выполните следующие действия:

Убедитесь, что вы используете последнюю версию пакетов ПО:

AlmaLinux

CODE

Astra Linux

CODE

Установите оболочку для управления таргетом:

AlmaLinux

CODE

Astra Linux

CODE

Проверьте объём свободного места на диске:

CODE

Обратите внимание!
Рекомендуем использовать отдельный раздел или физический диск для создания таргета.

Создайте директорию для таргета. Например, /var/targetdisk01:

CODE

Запустите консоль targetcli:

CODE

Создайте файл для таргета:

CODE

CODE

Пояснения к команде

— имя таргета

Например, targetdisk1
— путь к файлу таргета. Например, /var/targetdisk01/targetdisk1.img.
— размер файла. Например, — для файла размером 5 Гб.

Задайте IQN для таргета:

CODE

CODE

Пояснения к команде

— текущий год
— текущий месяц
— обратное доменное имя. Например, для домена example.com укажите com.example
— произвольное имя

Ответ будет содержать номер созданной TPG.

Создайте LUN:

CODE

Пояснения к команде

— IQN таргета. Например, iqn.2020-02.com.example:MyTarget1
— имя портальной группы. Например, tpg1.

CODE

Пояснения к команде

— имя таргета, заданное в п.6

Ответ будет содержать номер созданного LUN.

Настройте ACL для таргета:

Задайте IQN инициатора:

CODE

Пояснения к команде

— IQN таргета. Например, iqn.2020-02.com.example:MyTarget1
— имя портальной группы. Например, tpg1.

CODE

Пояснения к команде

— текущий год
— текущий месяц

— имя инициатора

Задайте id пользователя и пароль инициатора:

CODE

CODE

CODE

Пояснения к командам

— текущий год
— текущий месяц
— обратное доменное имя. Например, для домена example.com укажите com.example
— имя инициатора
— id пользователя инициатора. Например, initiator1.
— пароль инициатора

, что все настройки созданы  

CODE

Пример вывода команды

CODE

Чтобы сохранить настройки, выйдите из консоли targetcli:

CODE

Добавьте сервис target в автозагрузку:

для ОС AlmaLinux — выполните команду: 

CODE

для ОС Astra Linux:
Создайте юнит-файл /etc/systemd/system/target.service следующего содержания: 

CODE

Выполните команду: 

CODE

Если вы используете firewalld, установите необходимые разрешения и перезапустите сервис:

CODE

CODE

12.7. Использование устройств iSCSI

Между устройствами SCSI и iSCSI не существует принципиальных различий после их корректного соединения с системой: поверхность дисковых устройств должна разделяться на разделы, в этих разделах должны создаваться файловые системы, после чего созданные файловые системы должны монтироваться.

root@ubu1104:/etc/iscsi/nodes# history | tail -13
   94 fdisk /dev/sdc
   95 fdisk /dev/sdd
   96 fdisk /dev/sdb
   97 mke2fs /dev/sdb1
   98 mke2fs -j /dev/sdc1
   99 mkfs.ext4 /dev/sdd1
  100 mkdir /mnt/is1
  101 mkdir /mnt/is2
  102 mkdir /mnt/is3
  103 mount /dev/sdb1 /mnt/is1
  104 mount /dev/sdc1 /mnt/is2
  105 mount /dev/sdd1 /mnt/is3
  106 history | tail -13
root@ubu1104:/etc/iscsi/nodes# mount | grep is
/dev/sdb1 on /mnt/is1 type ext2 (rw)
/dev/sdc1 on /mnt/is2 type ext3 (rw)
/dev/sdd1 on /mnt/is3 type ext4 (rw)

Типы виртуальных жестких дисков

Виртуальная машина на Hyper-V может использовать три вида виртуальных жестких дисков. Все три вида представляют собой обычный файл, расположенный на разделе NTFS.

Рассмотрим подробнее каждый вид:

Dynamically expanding disk — динамически расширяющийся диск. Этот диск используется по умолчанию при создании виртуальной машины. Виртуальная машина, использующая этот диск, видит полный размер диска. Однако, в файловой системе хоста, файл жесткого диска занимает столько места, сколько занимают данные в виртуальной машине. По мере роста объема данных в виртуальной машине, растет и размер файла жесткого диска. Этот вид диска очень удобно использовать в тестовых средах, поскольку производительность виртуальных машин с данным диском меньше, чем виртуальных машин с дисками фиксированного объема.

Fixed size disk — диски фиксированного размера. Для дисков данного вида характерно то, что на хостовой машине создается файл равный размеру жесткого диска виртуальной машины. Например, если вы создаете в виртуальной машине жесткий диск 40 Гб, то файл на хосте будет также размером 40 Гб. После создания файла свободное место в нем заполняется нулями. Диски фиксированного размера должны по умолчанию использоваться в рабочей среде.

Differencing disk — разностный жесткий диск. Диски данного вида обладают взаимосвязью родительский-дочерний. Родительский диск это статический диск, предназначенный только для чтения. Разностный диск (дочерний) сохраняет все изменения. Используя этот вид диска, можно создать несколько виртуальных машин с одним родительским жестким диском. При этом разностный диск будет у каждой машины свой.

Виртуальная машина может использовать любой вид виртуальных жестких дисков. Однако существует возможность использовать и физические жесткие диски. Для этого используется pass-through (сквозное) подключение жесткого диска.

Чтобы использовать такое подключение, жесткие диски должны быть видны на хоствой машине. Это могут быть локальные диски хоста, диски iSCSI или SAN. Нельзя подключить только определенный раздел жесткого диска, жесткий диск должен быть подключен целиком. Для использования pass-through подключения, жесткий диск на локальной машине должен находиться в Offline. Переключать жесткий диск в online или offline можно, используя Disk Manager или утилиту diskp a rt.

В теории pass-through подключение должно обеспечивать максимальную производительность. Но, по результатам тестов, виртуальный Fixed disk совсем немного уступает сквозному подключению жестких дисков.

В случае использования физических дисков, напрямую подключенных к виртуальной машине, необходимо учитывать следующее:

  • Данный тип дисков не поддерживает динамическое расширение.
  • С ними нельзя использовать разностные диски.
  • Нельзя создавать снимки виртуальных жестких дисков.

Ограничения виртуальных жестких дисков:

  • Файлы виртуальных жестких дисков должны располагаться на NTFS разделе;
  • Максимальный размер файла виртуального жесткого диска не должен превышать 2040 GB (2 TB);
  • Нельзя использовать сжатие папок, где расположены файлы VHD.

Параметры создания экстента в FreeNAS

Обратите внимание, что создание файла экстента не удается, когда имя файла будет создано для имени тома / набора данных. Не прилагается

Extent Name

Тип string. Введите имя экстента. Если размер экстента не равен 0, он не может быть существующим файлом в томе или наборе данных.

Device

Тип drop-down menu. Отображается только при выборе устройства. Выберите неформатированный диск, контроллер, zvol, zvol snapshot или HAST.

Path to the extent

Тип browse button. Отображается только в том случае, если выбран файл. Перейдите к существующему файлу и используйте «0» в качестве размера экстента или перейдите к тому или набору данных, нажмите «Закрыть», добавьте имя «Расширение» в путь и укажите значение в «Размер экстента». Экстенты не могут быть созданы внутри корневого каталога джейла.

Extent size

Тип integer. Отображается только в том случае, если выбран файл. Если размер указан как «0», файл уже должен существовать и будет использоваться фактический размер файла. В противном случае укажите размер создаваемого файла.

Available Space Threshold

Тип string. Отображается только в том случае, если выбран файл или zvol. Когда заданный процент свободного места будет достигнут, система выдает предупреждение. Для получения дополнительной информации см. Предупреждение о пороге VAAI. (http://doc.freenas.org/11/vaai.html#vaai)

Enable TPC

Тип checkbox. Если включено, инициатор может обходить обычное управление доступом и доступ к любой подлежащей сканированию цели; это позволяет другим операциям xcopy блокировать управление доступом.

LUN RPM

Тип drop-down menu. НЕ изменяйте этот параметр при использовании Windows в качестве инициатора. Необходимо изменить только в больших средах, где для точной статистики отчетов требуется количество систем, использующих определенный RPM.

12.3. Инициатор iSCSI в дистрибутиве RHEL/CentOS

В данном разделе описана методика настройки инициатора iSCSI в дистрибутивах RHEL6, RHEL7 и CentOS.

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

# yum install iscsi-initiator-utils

После этого необходимо запросить у список идентификаторов всех целевых серверов.

# iscsiadm -m discovery -t sendtargets -p 192.168.1.95:3260
Starting iscsid: 
192.168.1.95:3260,1 iqn.2014-04.be.linux-training:centos65.target1

Мы получили информацию о целевом сервере с идентификатором .

Используем этот идентификатор iqn для указания имени пользователя и пароля (paul и hunter2 соответственно), которые были ранее установлены нами на целевом сервере.

# iscsiadm -m node --targetname iqn.2014-04.be.linux-tra\
ining:centos65.target1 --portal "192.168.1.95:3260" --op=update --name node.\
session.auth.username --value=paul
# iscsiadm -m node --targetname iqn.2014-04.be.linux-tra\
ining:centos65.target1 --portal "192.168.1.95:3260" --op=update --name node.\
session.auth.password --value=hunter2
# iscsiadm -m node --targetname iqn.2014-04.be.linux-tra\
ining:centos65.target1 --portal "192.168.1.95:3260" --op=update --name node.\
session.auth.authmethod --value=CHAP

В дистрибутивах RHEL и CentOS эта информация хранится в файлах из директории .

# grep auth /var/lib/iscsi/nodes/iqn.2014-04.be.linux-tr\
aining\:centos65.target1/192.168.1.95\,3260\,1/default 
node.session.auth.authmethod = CHAP
node.session.auth.username = paul
node.session.auth.password = hunter2
node.conn.timeo.auth_timeout = 45
# 

После перезапуска службы в нашей системе появятся три новых устройства.

# fdisk -l | grep Disk
Disk /dev/sda: 42.9 GB, 42949672960 bytes
Disk identifier: 0x0004f229
Disk /dev/sdb: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdc: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdd: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sde: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/sdf: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/sdg: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root: 41.4 GB, 41448112128 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 973 MB, 973078528 bytes
Disk identifier: 0x00000000
# service iscsi restart
Stopping iscsi: 
Starting iscsi: 
# fdisk -l | grep Disk
Disk /dev/sda: 42.9 GB, 42949672960 bytes
Disk identifier: 0x0004f229
Disk /dev/sdb: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdc: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdd: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sde: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/sdf: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/sdg: 2147 MB, 2147483648 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root: 41.4 GB, 41448112128 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 973 MB, 973078528 bytes
Disk identifier: 0x00000000
Disk /dev/sdh: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdi: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000
Disk /dev/sdj: 1073 MB, 1073741824 bytes
Disk identifier: 0x00000000

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

service iscsi status

Настраиваемые параметры сопоставления целей и экстентов iSCSI в FreeNAS

LUN ID

Тип drop-down menu. Выберите значение для использования или введите значение от 1 до 1023

Обратите внимание, что некоторые инициаторы ожидают значения ниже 256

Примечание

Каждая запись LUN имеет кнопки редактирования и удаления для изменения настроек или полного удаления LUN. Всплывающее окно подтверждения появляется при нажатии кнопки «Удалить». Если инициатор имеет активное соединение с LUN, он отображается красным текстом. Рекомендуется очищать соединения инициатора с LUN перед их удалением.

После того, как iSCSI настроен, не забудьте запустить его в Services ‣ Control Services. Нажмите красную кнопку OFF рядом с iSCSI. Через секунду или около того он изменится на синий, указывая, что служба запущена.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: