Протокол iSCSI (Internet Small Computer System Interface) представляет собой реализацию протокола SCSI поверх IP, что позволяет подключать серверы к системам хранения данных через стандартную TCP/IP сеть, не используя Fibre Channel. В данной статье мы рассмотрим настройку iSCSI-хранилища на Windows Server 2019 и использование его на других серверах (в Windows Server 2016 и 2012 R2 настройка аналогична). Пример использования: серверу файлов необходим дополнительный объем, и через сеть мы подключаем к нему виртуальный диск с другого сервера-хранилища по iSCSI.
Приобрести оригинальные ключи активации Windows Server можно у нас в каталоге от 1190 ₽
Создание и настройка iSCSI Target
Первым шагом является создание iSCSI таргета (сервера). Для этого необходимо включить роль iSCSI Target Server на сервере, где будет размещено хранилище. Процесс можно выполнить через GUI или командой PowerShell.
1. Активируйте роль iSCSI Target Server:
— Откройте Server Manager -> File and Storage Services -> File and iSCSI Services и установите роль iSCSI.
— Можно установить через PowerShell выполнив команду:
Install-WindowsFeature -Name FS-iSCSITarget-Server
2. Создание iSCSI виртуального диска:
— В Server Manager выберите File and Storage Services -> iSCSI и запустите New iSCSI Virtual Disk Wizard.
— Выберите физический диск, на котором будет создан виртуальный iSCSI диск, укажите его имя и тип (Fixed Size, Dynamically expanding или Differencing).
— На этапе выбора инициаторов (серверов, подключающихся к таргету), выберите один из методов идентификации: IP-адрес, IQN, DNS Name или MAC Address. Используем вариант с IP-адресом.
— При необходимости настройте аутентификацию через CHAP: введите имя пользователя и пароль (не менее 12 символов).
3. Пример создания iSCSI диска через PowerShell:
— Создание виртуального диска размером 200 ГБ:
New-IscsiVirtualDisk -Path С:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB
По умолчанию создается динамический диск размером 4,096 Кб, независимо от того, сколько было указано параметром Size. Динамический диск будет расширяться по мере необходимости.
— Для создания фиксированного диска:
New-IscsiVirtualDisk -Path С:\iSCSIVirtualDisks\iscsiDisk2.vhdx -Size 200GB -UseFixed
4. Настройка таргета и разрешение доступа:
— Присвоим таргету имя и разрешим доступ с определенного IP-адреса:
New-IscsiServerTarget -TargetName "iscsiTarget33" -InitiatorId @("IPAddress:172.17.244.8")
— Или используем IQN имя для подключения:
New-IscsiServerTarget -TargetName iscsiTarget33 -InitiatorIds “IQN: 1991-05.com.microsoft:win2019test.ddd.com”
5. Проверка результата:
— Получим список таргетов и LUN:
Get-IscsiServerTarget | fl TargetName, LunMappings
— Полное имя таргета можно получить командой:
Get-IscsiTarget
— Подключим таргет:
Connect-IscsiTarget -NodeAddress iqn.1991-05.com.microsoft:win2019test-iscsitarget33-target
Настройка iSCSI Initiator на Windows Server
Следующий шаг — это подключение к созданному iSCSI диску со второго сервера-инициатора.
1. Запуск iSCSI Initiator:
— Откройте Control Panel -> iSCSI Initiator или выполните команду iscsicpl.exe.
— Убедитесь, что служба Microsoft iSCSI Initiator Service настроена на автоматический запуск:
Set-Service -Name MSiSCSI -StartupType Automatic
2. Настройка подключения:
— Перейдите на вкладку Discovery, нажмите Discover Portal и введите IP-адрес iSCSI таргета.
— Нажмите Advanced и измените значения по умолчанию в выпадающих списках: Local Adapter –> Microsoft iSCSI Initiator, Initiator IP –> 172.17.244.8.
— Для подключения к iSCSI хранилищу необходимо открыть порты 860 и 3260 в Windows Firewall.
3. Подключение таргета:
— Перейдите на вкладку Targets, на ней появится новое подключение. Чтобы включить его, нажмите Connect -> Advanced, выберите значения из выпадающих полей, включите галочку Enable CHAP log on, укажите имя пользователя и 12-значный пароль.
4. Инициализация iSCSI-диска:
— После подключения, диск будет находиться в состоянии Offline. Откройте консоль Disk Management, выберите новый диск, сделайте его Online, а затем выполните Initialize Disk.
— Создайте разделы на диске и отформатируйте его в NTFS.
Для быстрой инициализации и форматирования нового диска можно использовать следующий однострочный PowerShell:
Get-Disk | Where-Object PartitionStyle -eq 'RAW' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -Confirm:$false
Важно: iSCSI-диски не поддерживают файловую систему ReFS.
Теперь этот виртуальный диск, подключенный с другого сервера по протоколу iSCSI можно использовать как обычный локально подключенный диск.
5. Подключение iSCSI-диска через PowerShell
Вы также можете подключить iSCSI-диск на инициаторе через PowerShell. Для получения IQN таргета выполните:
Get-iSCSITarget
Для подключения выполните команду:
Connect-IscsiTarget –IsPersistent $False
Если используется CHAP аутентификация, подключение будет таким:
Get-iScsiTarget | Connect-iScsitarget –AuthenticationType ONEWAYCHAP –ChapUserName -ChapSecret
Для обеспечения высокой доступности и балансировки нагрузки можно настроить несколько избыточных сетевых компонентов (сетевые карты, коммутаторы) и использовать модуль MPIO (Multipath I/O).
Заключение
Настройка и подключение iSCSI-дисков в Windows Server является простым и гибким решением для расширения хранилища или создания отказоустойчивых кластеров. Используя iSCSI, можно подключать диски по сети как к локальному хранилищу, так и к сетевым ресурсам, обеспечивая эффективное управление данными.
Протокол iSCSI (Internet Small Computer System) представляет собой протокол SCSI, работающий с системами хранения данных поверх протокола IP. С помощью iSCSI вы сможете подключать ваши сервера к сетевым хранилищам по обычной TCP/IP сеть без использования FC. В этой статье мы рассмотрим, как настроить iSCSI-хранилище на одном Windows Server 2019 и использовать его на других серверах(в Windows Server 2016 и 2012 R2 все настраивается аналогично). Первый пример использования iSCSI: файловому серверу необходимо дополнительное место, и мы по сети подключаем к нему виртуальный диск с другого сервера-хранилища по iSCSI. Другой пример – построение отказоустойчивого кластера, когда для нескольких серверов необходимо общее хранилище.
Для использования ISCSI-диска нужно на сервере-хранилище настроить виртуальный диск (это обычный vhd/vhdx файл) и опубликовать его в виде iSCSI таргета, к которому подключаются iSCSI инициаторы (другие сервера и устройства).
Содержание:
- Настройка iSCSI target в Windows Server
- Настройка iSCSI Initiator в Windows Server 2019
Настройка iSCSI target в Windows Server
Сначала нужно включить iSCSI target (активировать роль iSCSI Target Server), зайдя в File and Storage Services -> File and iSCSI Services.
Теперь на 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
Для дисков с высокой активностью и повышенными требованиями к IOPS нужно использовать диски фиксированного размера, т.к. для динамических дисков расходуются дополнительные ресурсы на операции приращения.
Далее таргету присваивается имя, здесь же можно разрешить к нему доступ с 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
Настройка iSCSI Initiator в Windows Server 2019
Следующий шаг – подключение к созданному iSCSI диску со второго сервера-инициатора. Перейдите в панель управления Control Panel, запустите iSCSI initiator (или выполните команду
iscsicpl.exe
).
В консоли управления службами services.msc поставьте автоматический тип запуска для службы Microsoft iSCSI Initiator Service, Или используйте команду:
Set-Service -Name MSiSCSI -StartupType Automatic
Перейдите на вкладку Discovery, нажмите на кнопку Discover Portal и введите ввести IP-адрес первого сервера (iSCSI-таргет). Чтобы трафик ходил только через определённый сетевой интерфейс, нужно нажать кнопку Advanced, и изменить значения по умолчанию в выпадающих списках: Local Adapter –> Microsoft iSCSI Initiator, Initiator IP –> 172.17.244.8.
Для подключения к iSCSI хранилищу необходимо открыть порты 860 и 3260 в Windows Firewall.
Теперь переключитесь на первую вкладку Targets, на ней появится новое подключение. Чтобы включить его, нажмите Connect -> Advanced, выберите значения из выпадающих полей, включите галочку Enable CHAP log on, укажите имя пользователя и 12-значный пароль.
Осталось инициализировать сам iSCSI-диск, который сначала находится в состоянии Offline. Для этого на сервере-инициаторе необходимо в консоли Disk Management в контекстном меню нового диска выбрать пункт Online, а затем – Initialize Disk. Создайте на новом диске один или несколько разделов, присвойте метку и букву диска. Отформатируйте в файловой системе NTFS.
Для быстрой инициализации и форматирования нового диска можно использовать следующий однострочный PowerShell (см. пример в статье об управления дисками и разделами из PowerShell):
Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false
Примечание: iSCSI-диски не поддерживают файловую систему ReFS.
Теперь этот виртуальный диск, подключенный с другого сервера по протоколу iSCSI можно использовать как обычный локально подключенный диск.
Также вы можете подключить iSCSI диск на инициаторе из PowerShell. Чтобы получить IQN таргета, используйте командлет
Get-iSCSITarget
.
Чтобы подключится к iSCSI таргет выполните команду:
Connect-IscsiTarget –IsPersistent $False и введите IQN.
Если использовалась дополнительная проверка аутентификации CHAP, то необходимо будет это указать, используя следующую конструкцию:
Get-iScsiTarget | Connect-iScsitarget –AuthenticationType ONEWAYCHAP –ChapUserName <username> -ChapSecret <secret>
Если вы хотите обеспечить высокую доступность и балансировку нагрузки для iSCSI дисков, можно использовать несколько избыточные сетевые компоненты (сетевые карты, коммутаторы) и модуль MPIO.
This article will discover how to install and configure iSCSI Target on Windows Server 2022. The Internet Small Computer System Interface (iSCSI) and iSCSI Target Server permit you to boot multiple systems from a single operating system image. It enables block-level access to storage appliances by carrying SCSI commands over a TCP/IP network. The iSCSI target is the storage on a remote location, which seems to be the host computer (iSCSI initiator) as a local drive.
To disclose the deployment process, I have created two virtual machines on my VMware workstation. I have installed Windows Server 2022 on the virtual machines. The table below shows the configuration of the virtual machines.
Name | Role | IP Address | Operating System |
DC2022 | iSCSI initiator | 192.168.121.200 | Windows Server 2022 |
SAN.jamiltech.local | iSCSI Target Server | 192.168.121.210 |
To create an iSCSI server, we need to install the iSCSI server role.
Install and configure iSCSI Target
To configure the iSCSI target server, we need to install the File and iSCSI Services roles in our Windows Server. Launch Server Manager 2022, and then select Add Roles and Features.
Click next
We need to install the iSCSI service on our virtual machine. Therefore, select Role-based or feature-based installation, and then click on Next.
We need to install the iSCSI services on SAN.jamiltech.Local, Click next.
Here, we need to install File and iSCSI Services. Expand the File and Storage Services option, and then expand File and iSCSI Services.
Tick iSCSI Target Server
Click on Add features
After selecting the iSCSI target role, click next.
Click next
Click install
iSCSI installation is complete; click on Close.
The iSCSI target server role has been installed successfully.
Click on File and Storage Services.
Creating iSCSI Virtual disks
The iSCSI target server has been created; let us create an iSCSI virtual disk.
Click on iSCSI and then on the right side, select Start the new iSCSI virtual disk wizard
In the new iSCSI disk wizard, click on the Select iSCSI virtual disk location, and select the location of the virtual disk. If you already installed the iSCSI Target Server role on different servers, then you can select the server from the list. The record of servers with the iSCSI target role installed will remain automatically under the Servers box. Select the Volume checkbox; you can also type the custom path under the Type a custom path option. I will create a virtual disk on the C drive of SAN.jamiltech.local. Click next
iSCSI virtual disk name screen, enter a unique name, and then click on Next.
Specify iSCSI Virtual Disk Size
Specify the iSCSI virtual disk size screen; we can specify the size of the virtual disk.
Enter the disk size, select Dynamically expanding, and then click next.
Select the New iSCSI target checkbox, and then click on Next.
Target name and access screen, type a name, and click on next.
Specify the Server Access screen; to add the iSCSI initiators, select the Add button.
By default, the iSCSI initiator can’t connect to the target server. We need to install/enable iSCSI initiators. To connect to the iSCSI target server, click on the browse button.
Type the system name where you want to connect the iSCSI target, and then click OK.
Click ok
Now that we can see that the initiator was successfully added to the list, click on Next.
You can enable CHAP or reverse CHAP if required; click on Next.
Select Create to create an iSCSI virtual disk.
The disk has been created successfully. Click close
Now we can see the list of iSCSI virtual disks in the server manager.
Summary:
In this blog, I have explained how to install and configure the iSCSI Target Server on Windows Server 2022. In my next blog, I will describe how to connect the iSCSI initiator and use it to connect to the iSCSI virtual disk.
Click here to learn more about the iSCSI target server.
Jamilhttp://jamiltech.com
A Professional Technology Blog Writer | An energetic professional with more than 20+ years of rich experience in Technology, Planning, Designing, Installation, and Networking.
This Windows Server 2022 Tutorial covers how to Install and Configure iSCSI on Windows Server 2022. Internet Small Computer Systems Interface is an Internet Protocol-based storage networking standard for linking data storage facilities. It provides block-level access to storage devices by carrying SCSI commands over a TCP/IP network. iSCSI follows the Server-Client model. The iSCSI Target (Server) makes storage available for the iSCSI Initiator (Clients) to use.
Table of Contents
- Install iSCSI Target
- Configure iSCSI Target
- Configure iSCSI initiator
Demo environment – iSCSI Target
- Computer Name: server1.test.com
- Operating System: Windows Server 2022 Datacenter
- IP Address: 192.168.3.3
Demo environment – iSCSI Initiator
- Computer Name: server2.test.com
- Operating System: Windows Server 2022 Datacenter
- IP Address: 192.168.3.4
Install iSCSI Target
Steps for Install iSCSI Target
- Open Add roles and features Wizard
- Select installation type
- Select destination server
- Select server roles
- Select features
- Confirm installation selections
1. Open Add roles and features Wizard
Open the Server Manager dashboard and click Add roles and features.
Before you begin, click Next.
2. Select installation type
Select Role-based or feature-based installation and click on Next.
3. Select destination server
Select a Host to which you’d like to add services and click Next.
4. Select server roles
Choose the iSCSI Target Server box from the server roles page.
5. Select features
On the Select features console, just click Next because we do not require any extra features at the moment.
6. Confirm installation selections
Confirm installation selections and click on Install to start the installation process.
After finishing the installation, click Close.
Configure iSCSI Target
Steps for Configure iSCSI Target
- Open New iSCSI Virtual Disk Wizard
- Select iSCSI virtual disk location
- Specify iSCSI virtual disk name
- Specify iSCSI virtual disk size
- Assign iSCSI target
- Specify target name
- Specify access servers
- Enable Authentication
- Confirm selections
- View Results
1. Open New iSCSI Virtual Disk Wizard
Open the Server Manager dashboard and click File and Storage Services.
Select iSCSI and click To create an iSCSI virtual disk, start the New iSCSI Virtual Disk Wizard.
2. Select iSCSI virtual disk location
Select Type a custom path and browse for the folder we created earlier and click Next.
- Custom path: c:\disk
3. Specify the iSCSI virtual disk name
Enter the Name and Description for the virtual disk and click Next.
- Name: disk1
- Description: iSCSI Disk1
4. Specify iSCSI virtual disk size
Specify the disk size for the virtual disk, Select Dynamically expanding and click Next.
- Size: 10GB
5. Assign iSCSI target
Select New iSCSI target and click Next.
6. Specify target name
Enter the Name and Description for iSCSI Target and click Next.
- Name: target1
- Description: iSCSI Target1
7. Specify access servers
Click Add to specify the iSCSI initiator that will access this iSCSI virtual disk.
Select Enter a value for the selected type, choose IP Address from the drop-down menu, enter Initiator IP Address and click OK.
- Initiator IP Address:192.168.3.4
Click Next to continue.
8. Enable Authentication
Select Enable CHAP, set username and password, and click Next.
9. Confirm selections
Confirm selections and click Create.
10. View Results
After finishing the installation, click Close.
Configure iSCSI initiator
Open the Server Manager dashboard click Tools and select iSCSI Initiator.
Click Yes to continue.
Enter Target’s IP address and click Quick Connect.
- Target: 192.168.3.3
Click Done.
Click Connect.
Click Advanced.
Enable CHAP log on, set username & password, and Click OK.
Click OK.
Check the Status.
Open the Server Manager dashboard, click Tools and select Computer Management.
Click Disk Management, the iSCSI Disk has been attached as follows.
To use the iSCSI Disk turn it online and initialize it and then assign the drive letter.
: Настройка описана на примере Windows Server 2022. На других версиях Windows Server настройка аналогична.
Чтобы добавить диски и настроить MPIO:
-
Настройка хоста и сети:
- Подключите сервер c установленной ОС Windows Server к системе хранения данных RAIDIX.
-
Проверьте, что установлен драйвер для адаптера.
-
Подключение к таргету:
- Откройте окно Server Manager.
-
В меню Tools выберите пункт iSCSI Initiator.
Рис. 1. Server Manager -
В открывшемся окне iSCSI Initiator перейдите во вкладку Discovery. Кликните Discover Portal.
Рис. 2. Окно Initiator Properties -
В открывшемся окне Discover Target Portal введите IP-адрес СХД RAIDIX (в DC-режиме – IP-адрес первого узла) и кликните ОК.
При работе в DC-режиме снова кликните Discover Portal, введите IP-адрес второго узла и кликните ОК.Рис. 3. Поиск таргета -
Во вкладке Targets в поле Discovered targets кликните на обнаруженный iSCSI-таргет и кликните Connect.
Рис. 4. Обнаруженный iSCSI-таргет - В открывшемся окне выберите Enable Multipath и кликните Advanced….
-
В открывшемся окне Advanced Settings в поле Target Portal IP выберите IP-адрес СХД (в DC-режиме – первого узла) и кликните ОК.
При работе в DC-режиме снова кликните Advanced…, выберите IP-адрес второго узла и кликните ОК.Рис. 5. Окно Advanced Settings : Для улучшения производительности рекомендуем создавать 3 сессии для каждого соединения.
Чтобы проверить сессии, в окне iSCSI Initiator Properties во вкладке Targets кликните Properties.
Рис. 6. Просмотр сессий
-
Добавление дисков:
- Откройте панель управления MPIO-устройствами ().
-
Откройте вкладку Discover Multi-Paths. Включите Add Support for iSCSI Devices и кликните Add.
После настройки новые разделы будут автоматически пробрасываться на инициатор, MPIO-устройство будет собираться автоматически.
Рис. 7. Настройка multipath
-
Настройка политики MPIO.
Для каждого добавленного устройства:
- Откройте окно Device Manager, в списке Disk drives для добавленного устройства в контекстном меню выберите Properties.
- В открывшемся окне выберите вкладку MPIO.
-
В строке Select the MPIO policy выберите Round Robin With Subset. Кликните ОК.
Рис. 8. Определение политики MPIO. Выбрано значение Round Robin With Subset
-
Настройка параметров сканирования путей:
: Значения параметров выбираются в зависимости от системы (см. на docs.microsoft.com
параметры MPIO
и таймаут дисков).- Откройте PowerShell (
cmd
→powershell
). -
Задайте значения для следующих параметров:
- Retry Count.
- PDO Remove Period.
- Retry Interval.
- TimeOut Value.
Например, так:
> Set-MPIOSetting -NewRetryCount 5 -NewPDORemovePeriod 60 -NewRetryInterval 10 -NewDiskTimeout 90
- Откройте PowerShell (