Сервісний центр VPSGroup ремонт комп'ютерної техніки, заправка картриджів, ремонт оргтехніки, Київ, Виставковий центр, Васильківська, 55

Налаштування iSCSI сховища в Windows Server 2012.

Internet Small Computer System Interface (iSCSI) - це протокол передачі даних, призначений для обміну даними між серверами і системами зберігання даних (Storage Area Network, SAN). iSCSI вдає із себе комбінацію протоколу SCSI і стека протоколів TCP/IP і призначений для передачі блоків даних через мережі Ethernet.Керуючі команди SCSI передаються всередині IP-пакетів, а протокол TCP забезпечує управління потоком і надійність передачі даних.

При використанні iSCSI дані між сервером і системою зберігання передаються блоками, в необробленому вигляді. Це дозволяє використовувати SAN практично так само, як якщо б вони були підключені до сервера безпосередньо, а не через мережу.Хост-система може створювати на SAN логічні розділи, форматувати їх і використовувати як звичайні локальні жорсткі диски. У цьому полягає основна відмінність SAN від мережевих сховищ (Network Area Storage, NAS), які працюють на рівні файлової системи і використовують протоколи передачі файлів, такі як SMB або CIFS.

Технологія iSCSI була розроблена як більш дешева альтернатива Fibre Channel (FC). Системи на базі iSCSI підтримують стандартні протоколи і можуть бути побудовані на базі будь-якої існуючої мережевої інфраструктури, що підтримує протокол IP. Для роботи iSCSI може використовувати самі звичайні мережеві пристрої (комутатори, маршрутизатори, мережеві адаптери і т.п), тоді як для FC потрібні спеціальні HBA-адаптери, оптичні кабелі та інше дороге устаткування.

Архітектура iSCSI є клієнт-серверної і включає в себе наступні компоненти:

iSCSI Initiator - клієнтський компонент, який відправляє запити на підключення компоненту iSCSI Target, що знаходиться на стороні сервера.Ініціатор може бути реалізований програмно, у вигляді драйвера, або апаратно, у вигляді спеціального iSCSI адаптера.

iSCSI Target - серверний компонент, слухає клієнтські запити і забезпечує установку з'єднання між клієнтом і сервером iSCSI. Крім того, таргет пов'язаний з віртуальними дисками iSCSI, і після установки з'єднання все віртуальні диски, пов'язані з цим Таргет, стають доступні через ініціатор.Як iSCSI Target може виступати як спеціалізована СГД, так і звичайний Windows сервер з встановленою роллю iSCSI Target.

Віртуальні диски iSCSI - використовуються для розбиття дискового простору на логічні розділи (Logical Unit Number, LUN). У Windows Server 2012 iSCSI LUN вдають із себе звичайні віртуальні диски формату VHD \ VHDX.До речі, в Windows Server 2012 для iSCSI підтримувався тільки формат VHD, що ставило обмеження в 2ТБ на максимальний розмір LUN. У Windows Server 2012 R2 використовується формат VHDX, що дозволяє створювати LUN-и розміром до 64ТБ.

А тепер зупинимося і уточнимо деякі моменти:

• На кожному iSCSI сервері може бути один або кілька iSCSI Target;
• кожен iSCSI Target може бути підключений до одного або кількох віртуальним дискам;
• кожен iSCSI Target може обслуговувати одне або кілька підключень від iSCSI Initiator;
• У свою чергу, кожен iSCSI Initiator може підключатися до одного або декількох iSCSI Target і, отже, до одного або кількох віртуальним дискам.

Крім того, в Windows Server 2012 підтримується loopback-конфігурація, в якій і Target і Initiator можуть перебувати на одному і тому ж сервері.

В операційних системах Microsoft підтримка iSCSI з'явилася досить давно . Перша версія Microsoft iSCSI Initiator встановлювалася в якості окремого компонента в Windows 2000, Windows XP SP2 і Windows Server 2003 SP1, а починаючи з Windows Server 2008 і Vista iSCSI Initiator був вбудований в операційну систему.

Що стосується iSCSI Target, то спочатку він входив в спеціальну версію серверної ОС Windows Data Storage Server 2003, що була призначена для побудови систем зберігання і поставлялася тільки одним із попередньо встановлених вигляді. Однак з 2011 року компонент Microsoft iSCSI Software Target 3.3 став доступний для завантаження і установки на Windows Server 2008R2, а в Windows Server 2012 він повністю інтегрований в систему і встановлюється в якості ролі сервера.

На цьому закінчимо теоретичну частину і приступимо до практики. Для настройки візьмемо найпростіший варіант, в якості піддослідних використовуємо два сервера зі встановленою Windows Server 2012 R2: SRV2 для ролі iSCSI Target і SRV3 для iSCSI Initiator.

Запуск служби iSCSI Initiator

Для початку перевіримо стан служби ініціатора на SRV3.Для цього відкриваємо Server Manager і в меню «Tools» вибираємо пункт «iSCSI Initiator».



як бачите, за замовчуванням служба не запущена. Натиснувши на «Yes» в діалоговому вікні, ми стартуємо службу iSCSI Initiator і поставимо її в режим автоматичного запуску.



Потім у вікні властивостей переходимо на вкладку «Configuration» і запам'ятовуємо значення IQN, воно стане в нагоді нам при налаштуванні сервера.

IQN (iSCSI qualified name) - це унікальний ідентифікатор, який призначається для кожного iSCSI Target і Initiator. IQN формується з дати (місяць і рік) реєстрації домену, офіційного імені домена, написаного в зворотному порядку і будь-якого довільного імені, наприклад імені сервера. Виходить приблизно так: iqn: 1991-05.com.microsoft:srv3.contoso.com



Стартувати сервіс iSCSI Initiator і встановити режим його запуску можна і з консолі PowerShell, наступними командами:

Start-Service msiscsi
Set-Service msiscsi -StartupType automatic

Установка ролі iSCSI Target Server

тепер перейдемо на SRV2 і приступимо до налаштування серверної частини.Перше, що нам треба зробити - це встановити на сервер роль iSCSI Target. Відкриваємо Server Manager, переходимо по посиланню «Add roles and features»



І вибираємо роль «iSCSI Target Server », яка знаходиться в розділі File and Storage Services \ File and iSCSI Services.



або скористаємося командою PowerShell:

Install-WindowsFeature -Name FS-iSCSITarget-Server

Підготовка диска

Тепер підготуємо фізичний диск, який буде використовуватися для зберігання віртуальних iSCSI дисків.Спеціально для цієї мети до сервера підключений новий жорсткий диск розміром 120Гб. На даний момент диск неактивний (Offline). Для його активації в Server Manager переходимо в розділ File and Storage Services -> Disks, натискаємо на диску і переводимо його в Online.



Тепер на цьому диску треба створити новий розділ (або тому), для чого в контекстному меню вибираємо пункт New Volume.



Вибираємо фізичний диск, на якому буде створюватися тому



вказуємо розмір томи



і вибираємо букву диска.



Потім вибираємо для диска файлову систему, розмір сектора і вказуємо мітку тому. Тут нагадаю, що віртуальні диски iSCSI можна створювати тільки на томах NTFS, нова файлова система ReFS (Resilient File System) не підтримується.



Дивимося сумарну інформацію, і якщо все правильно, то тиснемо «Create», запускаючи створення томи .



Ті ж дії можна виконати за допомогою PowerShell. Знаходимо потрібний диск:

Get-Disk | where {$ _. OperationalStatus -eq "Offline"}

Переводимо його в online:

Set-Disk -Number 1 -IsOffline $ false

ініціалізувавши:

Initialize-Disk -Number 1

Створюємо розділ:

New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D

І форматіруем його в NTFS:

Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "iSCSI Storage"

створення віртуальних дисків iSCSI

Наступним пунктом нашої програми йде створення віртуальних iSCSI дисків.Для цього переходимо в розділ iSCSI і натискаємо по посиланню, запускаючи черговий майстер.



Вибираємо тому, на якому буде зберігатися віртуальний диск.



Даємо диску ім'я і опис.



Вказуємо розмір віртуального диска і його тип. Вибирати можна з трьох варіантів:

• Fixed size (фіксованого розміру) - створюваний диск відразу займає весь виділений обсяг.Це найбільш продуктивний, але найменш економічний варіант;
• Dynamically expanding (динамічно розширюваний) - спочатку створюється диск мінімального розміру, який потім динамічно змінюється в залежності від кількості записаних на нього даних. Найкращий варіант у плані використання дискового простору;
• Differencing (різницевий) - в цьому варіанті потрібно вказати розташування батьківського диска, з яким буде пов'язаний створюваний диск.Різницевий диск може бути як фіксованим, так і динамічним, в залежності від типу батька. У цього типу дисків є свої переваги, але використовувати їх для iSCSI особисто я особливого сенсу не бачу.



Тепер потрібно вказати iSCSI Target, до якого буде підключений даний диск.Оскільки на сервері не створено жодного таргета, вибираємо «New iSCSI target».



Даємо таргету ім'я та опис.



і вказуємо сервера, які можуть отримати до нього доступ.



При виборі серверів можна скористатися двома способами.Якщо ініціатор знаходиться на Windows Server 2012 або Windows 8, то можна просто натиснути «Browse» і вибрати потрібний сервер зі списку. Для більш старих систем треба вручну ввести ідентифікатор сервера. В якості ідентифікатора можна вказати IQN ініціатора, DNS ім'я або IP-адресу сервера, або MAC-адресу мережевого адаптера.



Йдемо далі. На наступній сторінці можна налаштувати аутентифікацію по протоколу CHAP між серверами. CHAP (Challenge Handshake Authentication Protocol) - це протокол для перевірки справжності партнера по підключенню, заснований на використанні загального пароля або секрету. Для iSCSI можна задіяти як односторонню, так і двосторонню (reverse) перевірку автентичності CHAP.



Перевіряємо правильність налаштувань і запускаємо створення диска.



Спробуємо зробити все те ж за допомогою PowerShell. Створимо ще один віртуальний iSCSI диск на 20ГБ командою:

New-IscsiVirtualDisk -Path D: \ iSCSIVirtualDisks \ iSCSI2.vhdx

Зверніть увагу, що за замовчуванням створюється динамічний диск, для створення VHD фіксованого розміру треба скористатися ключем -UseFixed.



Тепер створюємо другий iSCSI Target c ім'ям iscsi-target-2 і в якості сервера доступу вкажемо IQN SRV3:

New-IscsiServerTarget -TargetName iscsi-target-2 -InitiatorIds "IQN: iqn.1991-05.com.microsoft: srv3.contoso.com"



І перевіримо результат командою:

Get-IscsiServerTarget | fl TargetName, LunMappings



Підключення

Повертаємося на SRV3, відкриваємо вікно властивостей ініціатора, переходимо на вкладку Discovery і тиснемо кнопку Discover Portal.



Вводимо ім'я або IP-адресу порталу і тиснемо ОК.



За замовчуванням iSCSI використовує всі доступні IP-адреси, і якщо ви хочете, щоб трафік iSCSI йшов тільки через певний мережевий інтерфейс, то треба перейти в розширені налаштування і в поле «Connect using» і вибрати IP.



Тепер переходимо на вкладку Targets, де повинні відобразитися всі доступні для підключення iSCSI Target. Вибираємо потрібний таргет і тиснемо «Connect».



Не забудьте зазначити чекбокс «Add this connection to the list of Favorite Targets », який забезпечує автоматичне підключення до таргету при виключенні або перезавантаження машини.



Підключення відбулося, і якщо відкрити оснастку управління дисками, то там з'явиться новий диск. Далі з цим диском чинимо так само, як зі звичайним жорстким диском, підключеним локально - переводимо в Online, инициализируем, створюємо на ньому розділи і форматіруем.



Те ж саме можна виконати за допомогою PowerShell. Виводимо список доступних Таргет:

Get-IscsiTarget | fl

І підключаємося до потрібного:

Connect-IscsiTarget -NodeAddress "iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target" -IsPersistent $ true

Ключ -IsPersistent $ true забезпечує автоматичне підключення при виключенні або перезавантаження.



Ну і для відключення можна скористатися командою Disconnect-IscsiTarge, ось так:

Disconnect-IscsiTarget -NodeAddress "iqn.1995-05.com.microsoft:srv2-iscsi-target-2-target" -Confirm: $ false



Висновок

На цьому настройка завершена. Як я говорив, це найпростіший, базовий варіант настройки сховища.У iSCSI є ще багато цікавих можливостей. Наприклад, можна використовувати службу імен iSCSI (iSNS) для простоти управління, багатоколійні введення-виведення (MPIO) для забезпечення відмовостійкості, а для безпеки налаштувати аутентифікацію по протоколу CHAP і шифрування трафіку за допомогою IPSec.Про деякі з цих фич я планую написати в наступних статтях.

І на закінчення важливі моменти, які треба врахувати при організації системи зберігання iSCSI:

• розгортається iSCSI бажано в швидкої мережі, що не нижче Gigabit Ethernet;
• Мережевий трафік iSCSI рекомендується відокремити від решти трафіку і винести в окрему мережу, наприклад за допомогою VLAN або фізичного поділу на підмережі;
• Для забезпечення високої доступності на мережевому рівні необхідно використовувати технологію MPIO, або сеанси з декількома підключеннями (MCS).Об'єднання мережевих адаптерів (NIC Teaming) для підключення до пристроїв зберігання iSCSI не підтримує;
• При використанні технології Storage Spaces можна зберігати віртуальні диски iSCSI на Storage Spaces, але не можна використовувати LUN-и iSCSI для створення Storage Spaces;
• Для зберігання віртуальних дисків iSCSI можна використовувати загальні кластерні томи CSV (Cluster Shared Volume)..