Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Настройка iSCSI-хранилища в Windows Server 2008 R2
Протокол iSCSI разработан для работы в сетях хранения данных и представляет собой способ доступа к блочным устройствам по протоколу SCSI поверх TCP/IP. Это дает возможность организации недорогих сетей хранения данных (SAN) при помощи обычных Ethernet-сетей. Эта возможность широко используется при построении систем высокой доступности и мы будем рассматривать в рамках этого цикла именно решения на основе iSCSI-хранилищ. Сегодня мы рассмотрим создание такого хранилища на платформе Windows Server 2008 R2.
Сначала пару слов о принципиальных отличиях iSCSI от иных сетевых систем хранения данных. Cети хранения данных — SAN ( Storage Area Network ) предусматривают передачу данных в сети в «сыром» виде по протоколу SCSI, также, как если бы они передавались между системой и локальным диском на низком уровне. iSCSI устройства воспринимаются системой практически также, как локальные диски — перед использованием на них нужно создать разделы и отформатировать.
В тоже время привычные всем сетевые хранилища — NAS ( Network Area Storage) обеспечивают доступ на уровне файловой системы, используя протоколы передачи файлов, такие как SMB или NFS.
Проще говоря: NAS — это привычные всем общие сетевые папки, SAN — подключаемые по сети диски. Из этого следует второе важное отличие. Сетевая папка может обслуживать множество клиентов. Устройство SAN может быть подключено к единственному клиенту, точно также как обычный HDD может быть подключен только к одному ПК. Исключение — кластеры, когда к одному SAN-устройству имеют доступ сразу несколько нод, в этом случае используется дополнительный уровень абстракции — кластерная файловая система, например Microsoft Cluster Shared Volumes (CSV) или VMware VMFS.
Перед тем, как приступать к практическому освоению данной технологии, следует познакомиться с принятой терминологией:
- Инициатор iSCSI (iSCSI Initiator) — клиентская часть, направляет запросы цели iSCSI, может быть выполнена программно, в виде драйвера или аппаратно, в виде iSCSI-адаптера;
- Цель iSCSI (iSCSI Target, таргет) — серверная часть, принимает подключения от инициатора и предоставляет ему доступ к связанным с ним блочными устройствами — виртуальными дисками, LUN. Может быть реализован как программно, так и в виде аппаратной СХД.
Одна цель iSCSI может быть связана с несколькими блочными устройствами, которые будут доступны подключившемуся к цели инициатору. Один инициатор может быть подключен к нескольким целям и использовать все связанные с ними устройства. Одна цель также может принимать подключения от нескольких инициаторов, но каждое отдельное устройство может быть доступно только одному из инициаторов.
Еще один момент, теперь уже связанный с практической реализацией iSCSI-хранилищ. Для SAN крайне желательно выделить отдельную сеть, изолированную от сети предприятия.
Это необходимо для обеспечения достаточной пропускной способности в сети хранения данных и избежать перегрузки обычной сети iSCSI-трафиком. Также нет смысла организовывать iSCSI в сетях с пропускной способностью ниже чем 1 Гбит/сек.
В состав Windows Server 2008 R2 роль цели iSCSI не входит и для ее развертывания необходимо скачать Microsoft iSCSI Software Target. Распаковываем его и устанавливаем пакет iscsitarget_public.msi из папки x64. Установка предельно проста и мы не будем заострять на ней внимание.
После установки перейдем к консоли управления iSCSI: Пуск — Администрирование — Программная цель iSCSI. Прежде всего создадим новую цель (таргет). Для этого щелкнем правой кнопкой на Цели iSCSI — Создать цель iSCSI.
Откроется мастер, в котором укажем имя цели и ее описание. Давайте целям осмысленные имена и не ленитесь создавать описания, чтобы потом не приходилось гадать для чего у вас создана та или иная цель.
Следующим шагом нам надо указать идентификаторы инициаторов iSCSI которым будет разрешен доступ к цели. Идентификатор IQN — это специальное имя формата iqn. . : , которое является уникальным для каждого iSCSI-устройства в сети хранения данных. Где:
- year-mo — год регистрации доменного имени;
- reversed_domain_name -доменное имя, записанное наоборот;
- unique_name — уникальное имя устройства, например таргет здесь будет содержать указанное вами имя, а инициатор имя хоста.
Например, в программных решениях Microsoft IQN по умолчанию имеет формат iqn.1991-05.com.microsoft:unique_name.
Чтобы узнать IQN перейдем на инициатор iSCSI, в нашем случае это сервер под управлением Windows Server 2012, но алгоритм действий будет одинаков для любых иных версий Windows. Переходим в Панель управления — Инициатор iSCSI, на предложение задать ее автоматический запуск отвечаем утвердительно:
Затем в открывшемся окне переходим на закладку Конфигурация, где находится искомый идентификатор:
Можно скопировать его и указать при настройке цели, но есть другой способ. Для этого перейдите на закладку Конечные объекты, в поле Объект введите имя сервера с установленной Программной целью iSCSI и нажмите Быстрое подключение.
Понятно, что пока мы ни к чему не подключимся, но сейчас у нас иная задача. Возвращаемся обратно на сервер цели и жмем на странице указанием идентификатора инициатора кнопку Обзор.
Теперь становится понятно, для чего мы делали попытку подключения. Сервер целей iSCSI хранит список последних подключавшихся к ней инициаторов и позволяет их выбрать.
На этом создание цели завершено и мы можем создать и привязать к ней один или несколько дисков. Для этого переходим к пункту Устройства и в меню правой кнопки мыши выбираем Создать виртуальный диск.
Откроется следующий мастер, в котором указываем расположение и имя виртуального диска, обратите внимание, что указывать нужно полное имя файла, вместе с расширением .vhd.
Затем укажем желаемый размер в МБ
И цель iSCSI (таргет) к которой будет привязан данный виртуальный диск.
На этом настройка диска также будет завершена. В результате этих несложных действий мы получили настроенную цель iSCSI с привязанным к ней виртуальным диском. Теперь снова перейдем на инициатор. Можно воспользоваться быстрым подключением и автоматически присоединить диски с обнаруженных целей. Но следует помнить, что наша цель не только подключить диски, но и разделить сеть хранения данных и локальную сеть предприятия.
Поэтому переходим на закладку Обнаружение и нажимаем Обнаружить портал, затем вводим имя сервера с ролью цели iSCSI.
После чего возвращаемся на закладку Конечные объекты, выбираем обнаруженную цель, которая находится в состоянии Неактивно, и нажимаем Свойства.
В открывшемся окне в поле IP-адрес конечного портала выбираем адрес принадлежащий вашей сети хранения данных:
Возвращаемся обратно и нажимаем Подключить. Присоединенные устройства можно обнаружить в оснастке Управление дисками.
Дальнейший алгоритм работы с ними ничем не отличается от работы с обычным диском: подключаем, размечаем, форматируем.
В данном материале мы рассмотрели самый простой вариант настройки хранилища. В наших последующих материалах мы будем возвращаться к отдельным настройкам, не затрагивая общей темы создания хранилища.
Подключение сетевых дисков в Windows через групповую политику
Вы можете использовать групповые политики для гибкого подключения сетевых папок с файловых серверов в виде отдельных сетевых дисков Windows. Исторически для подключения сетевых дисков использовались логон bat скрипты с командой net use U: \\server1\share . Однако групповые политики намного гибче, отрабатывают быстрее и обновляются в фоновом режиме (не нужно выполнять перезагрузку или логоф пользователя для подключения сетевых дисков через GPO).
В этой статье мы покажем, как использовать GPO для подключения сетевых дисков в Windows: рассмотрим подключение общей сетевой папки отдела на основе групп безопасности AD и персональных сетевых дисков пользователей на сетевом хранилище.
Создайте в Active Directory новую группу для отдела менеджеров и добавьте в нее учетные записи сотрудников. Можно создать и наполнить группу из графической консоли ADUC или воспользоваться командлетами PowerShell для управления группами AD (входят в модуль AD PowerShell):
New-ADGroup «SPB-managers» -path ‘OU=Groups,OU=SPB,dc=test,DC=com’ -GroupScope Global -PassThru –Verbose
Add-AdGroupMember -Identity SPB-managers -Members a.novak, r.radojic, a.petrov, n.pavlov
Предположим, у вас есть файловый сервер, на котором хранятся общие сетевые каталоги департаментов. UNC путь к общему рабочему каталогу менеджеров, который нужно подключить всем сотрудникам отдела — \\server1\share\managers .
Теперь нужно создать GPO для подключения данного сетевого каталога в виде диска.
- Откройте консоль управления доменными GPO — Group Policy Management Console ( gpmc.msc );
- Создайте новую политику и прилинкуйте ее к OU с учетными записями пользователей, перейдите в режим редактирования политики;
- Перейдите в секцию GPO User Configuration ->Preferences ->Windows Settings ->Drive Maps. Создайте новый параметр политики New ->Mapped Drive;
- На вкладке General укажите параметры подключения сетевого диска:
-
- Action: Update (этот режим используется чаше всего);
- Location: UNC путь к каталогу, который нужно подключить;
- Label as: метка диска;
- Reconnect: сделать сетевой диск постоянным (будет переподключаться каждый раз при входе, даже если вы удалите политику – аналог параметра /persistent в net use);
- Drive Letter – назначить букву диска;
- Connect as: опция сейчас не доступна, т.к. Microsoft запретила сохранять пароли в Group Policy Preferences.
-
- Переключитесь на вкладку Common, включите опции “Run in logged on users’s security context” и “Item-level Targeting”. Затем нажмите на кнопку “Targeting”;
- Здесь мы укажем, что данная политика должна применяться только к пользователям, которые состоят в группе безопасности AD, созданной ранее. Выберите New Item ->Security Group -> укажите имя группы;
- Сохраните изменения;
- После обновления политик в сессии пользователя подключиться сетевой диск, доступный из File Explorer и других программ.
Создадим еще одно правило политики, которое подключает персональные сетевые каталоги пользователей в виде сетевых дисков. Допустим, у вас есть файловый сервер, на котором хранятся личные папки пользователей (на каждую папку назначены индивидуальные NTFS разрешения, чтобы пользователи не могли получить доступ к чужим данным). Вы хотите, чтобы эти каталоги автоматически подключались в сеанс пользователя в виде сетевых дисков.
Создайте для каждого пользователя отдельный каталог, соответствующий его имени в AD ( sAMAccountName ) и назначьте нужные NTFS права.
Создайте еще одно правило подключения дисков в той же самой GPO.
В настройках политики укажите путь к сетевому каталогу с личными папками пользователей в виде \\server1\share\home\%LogonUser% . В качестве метки диска я указал %LogonUser% — Personal .
Сохраните изменения и обновите политики на компьютерах пользователей командой:
Теперь у пользователей должны подключиться новые сетевые диски — персональные каталоги с файлового сервера. Пользователи смогут использовать их для хранения личных данных. Такой сетевой диск будет подключаться на любом компьютере, на который выполнил вход пользователь.
Таким образом в одной GPO вы можете создать множество отдельных параметров с различными условиями подключения сетевых дисков пользователям.
Для выборки различных критериев компьютеров или пользователей при подключении дисков используется функционал таргетинга GPP (в основе лежат wmi фильтры).