Я довольно часто использую бесплатный гипервизор hyper-v от Microsoft. Бесплатная редакция основана на core версии сервера. Это доставляет некоторые неудобства в решении стандартных задач, о которых даже не задумываешься во время работы на полноценной версии сервера с графическим интерфейсом. Одной из таких задач было добавление диска через iSCSI.
Онлайн-курс Data Engineer – для разработчиков, администраторов СУБД и всех, кто стремится повысить профессиональный уровень, освоить новые инструменты и заниматься интересными задачами в сфере работы с большими данными. Курс не для новичков – нужно пройти.
В стандартной версии сервера с GUI это делается просто через панель управления. Там есть отдельный раздел для этого.
Есть еще в разделе администрирования оснастка для этих же целей. А что делать, если у вас нет GUI? Решение есть и достаточно простое.
Первым делом нам надо запустить службу Microsoft iSCSI Initiator Service и установить тип запуска «Автоматически»
Делается это с машины, на которой настроены оснастки управления Hyper-V. Подробнее об этом читайте в статьях:
Принцип настройки один и тот же в обоих случаях. После этого подключаемся к гипервизору по rdp и запускаем в командной строке:
Iscsicpl
Откроется оснастка управления iSCSI Initiator .
Дальше стандартным образом подключаете источник и работаете с ним. Чтобы инициализировать подключенный диск, необходимо использовать оснастку управления дисками. Запускаете ее с того же компьютера, на котором стоят оснастки управления Hyper-V.
Онлайн курс "DevOps практики и инструменты"
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по.Настройка 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).
Всем привет сегодня хочу рассказать как подключить ISCSI диск из Windows Server 2008 R2 в Windows Server или в обычный десктопный Windows. Для реализации этой задачи вы должны были установить ISCSI сервер в Windows Server 2008 R2 . Давайте приступим к поставленной задаче. В роли компьютера куда мы будем подключать iscsi диск, выступает сервер с W2012 R2. Первое что нужно выяснить, это iqn значение нашего сервера. Для этого вам нужно зайти в iscsi инициатор и посмотреть его.
Щелкаем по пуску правым кликом и выбираем панель управления
Переходим в Администрирование
Вас предупредят что служба ISCSI не запущена, хотите ли вы ее запускать автоматом жмем Да.
Переходим на вкладку конфигурация, где мы видим iscsi iqn в поле имя инициатора
Задаем имя и описание
Видим, что нужно заполнить идентификатор IQN
Вводим полученный ранее iqn с сервера куда будет подключаться диск.
Теперь вам нужно создать iscsi диск , после чего подключим его к созданному ранее инициатор iscsi, щелкаем по нему правым кликом и выбираем Добавить существующий виртуальный диск
Выбираем ваш виртуальный диск, у меня это 10 гигабайтный диск.
Все мы соединили все составляющие, перейдем на сервер где будем производить подключение iscsi диска и перейдем инициатор на вкладку Обнаружение, жмем кнопку Обнаружить портал
Вводим ip адрес или dns имя вашего сервера хранилища и порт, по умолчанию iscsi порт 3260.
Все сервер добавлен.
Теперь переходим на вкладку конечные объекты, видим, что определился диск и он в состоянии неактивно, жмем подключить.
Жмем ок для подключения, но я советую еще посмотреть более тонкие настройки
Если у вас до iscsi windows server 2008 r2, несколько путей, то советую включить поддержку многопутевых накопителей
Посмотрим дополнительные настройки, вы можете указать точный ip-адрес инициатора, это если их несколько, по сути это нужно если надо пустить трафик через него. И полезным будет явное указание ip-адреса конечного портала (сервера). Про защиту iscsi почитайте тут.
Теперь нам нужно инициализировать диск в Windows, для этого идем в оснастку Управление дисками.
видим, что диск в offline
Делаем его в сети
Инициализируем диск
Создаем простой том
Задаем размер
Задаем букву
Форматируем в нужную файловую систему
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
Подключение
Возвращаемся на SRV2, открываем окно свойств инициатора, переходим на вкладку 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).
iSCSI (Internet Small Computer System Interface - Малый компьютерный системный интернет интерфейс) - это протокол, который разрешает передавать SCSI команды по сети. Обычно iSCSI реализуется для сетевых дисковых массивов (Storage Area Network - SAN), чтобы позволять серверам иметь доступ к большим объемам дискового пространства. Протокол iSCSI считает клиентов инициаторами, а iSCSI сервера - целью.
Сервер Ubuntu может быть настроен как в качестве iSCSI инициатора, так и в качестве целевого объекта (сервером). Это руководство описывает команды и опции настройки по установке iSCSI инициатора. Это предполагает, что у вас есть iSCSI устройство в вашей сети и вы обладаете необходимыми правами для подключения к нему. Инструкции по установке iSCSI устройств очень сильно зависят от производителя, поэтому обратитесь к документации производителя для настройки вашего конкретного iSCSI устройства.
Установка iSCSI инициатора
Для настройки сервера Ubuntu в качестве iSCSI инициатора, установите пакет open-iscsi . Введите в терминале:
Sudo apt-get install open-iscsi
Настройка iSCSI инициатора
Как только пакет open-iscsi установлен, отредактируйте /etc/iscsi/iscsid.conf, изменив следующее:
Node.startup = automatic
Вы можете определить какие целевые объекты вам доступны с помощью утилиты iscsiadm . Введите следующую команду в терминале:
Sudo iscsiadm -m discovery -t st -p 192.168.0.10
-m : определяет режим, в котором работает iscsiadm.
-t : определяет тип поиска.
-p : опция, определяющая IP адрес целевого объекта.
Замените 192.168.0.10 в примере на IP адрес вашего объекта в сети.
Если целевой объект доступен, вы увидите вывод, подобный следующему:
192.168.0.10:3260,1 iqn.1992-05.com.emc:sl7b92030000520000-2
Номер iqn и Ip адрес будут сильно зависеть от вашего оборудования.
Теперь вы можете соединиться с iSCSI сервером и в зависимости от его настроек вам возможно придется ввести данные учетной записи пользователя. Подключение к iSCSI узлу:
Sudo iscsiadm -m node --login
Убедитесь, что новый диск определяется с помощью dmesg:
Dmesg | grep sd [ 4.322384] sd 2:0:0:0: Attached scsi generic sg1 type 0 [ 4.322797] sd 2:0:0:0: 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB) [ 4.322843] sd 2:0:0:0: Write Protect is off [ 4.322846] sd 2:0:0:0: Mode Sense: 03 00 00 00 [ 4.322896] sd 2:0:0:0: Cache data unavailable [ 4.322899] sd 2:0:0:0: Assuming drive cache: write through [ 4.323230] sd 2:0:0:0: Cache data unavailable [ 4.323233] sd 2:0:0:0: Assuming drive cache: write through [ 4.325312] sda: sda1 sda2 < sda5 > [ 4.325729] sd 2:0:0:0: Cache data unavailable [ 4.325732] sd 2:0:0:0: Assuming drive cache: write through [ 4.325735] sd 2:0:0:0: Attached SCSI disk [ 2486.941805] sd 4:0:0:3: Attached scsi generic sg3 type 0 [ 2486.952093] sd 4:0:0:3: 1126400000 512-byte logical blocks: (576 GB/537 GiB) [ 2486.954195] sd 4:0:0:3: Write Protect is off [ 2486.954200] sd 4:0:0:3: Mode Sense: 8f 00 00 08 [ 2486.954692] sd 4:0:0:3: Write cache: disabled, read cache: enabled, doesn"t support DPO or FUA [ 2486.960577] sdb: sdb1 [ 2486.964862] sd 4:0:0:3: Attached SCSI disk
В приведенном выводе sdb - это новый iSCSI диск. Помните, что это всего лишь пример; вывод на вашем экране может сильно отличаться.
Sudo fdisk /dev/sdb n p enter w
Команды выше выполняются внутри утилиты fdisk; смотрите man fdisk для дополнительных деталей. Также утилита cfdisk иногда более дружелюбна к пользователям.
Теперь форматируем файловую систему и монтируем ее, например, в /srv:
Sudo mkfs.ext4 /dev/sdb1 sudo mount /dev/sdb1 /srv
Наконец добавим запись в /etc/fstab для монтирования iSCSI устройства в процесе загрузки:
/dev/sdb1 /srv ext4 defaults,auto,_netdev 0 0
Хорошей идеей будет убедиться, что все работает как надо, перегрузив сервер.