Впредыдущей статье об использовании сетей хранения iSCSI SAN для построения инфраструктуры виртуализации «iSCSI SAN и виртуализация», опубликованной в Windows IT Pro/RE № 4 за 2009 г., упоминалось о возможности загрузки серверов с iSCSI, однако я не мог уделить этой теме достаточно внимания. Сейчас я более подробно объясню, какие преимущества дает загрузка операционной системы непосредственно с iSCSI SAN и какие аппаратные и программные решения требуются для обеспечения загрузки серверов Windows с системы хранения, поддерживающей iSCSI.

Что дает загрузка с SAN

Системы хранения SAN обеспечивают развитые средства защиты данных — массивы RAID, мгновенные снимки, репликацию и поддержку технологии многоадресного ввода/вывода Microsoft Multipath I/O (MPIO). Большинство поставщиков SAN предлагают высоконадежные системы хранения с избыточными компонентами, допускающими горячую замену. Благодаря этому достигается снижение возможного времени простоя и повышается надежность систем. Конечно, подобные средства защиты реализованы и в серверах, но это стоит денег, так что использование большого количества высоконадежных серверов может оказаться чересчур дорогим удовольствием. В некоторых случаях, например при использовании серверов-лезвий, загрузка с SAN позволяет добиться значительной экономии средств. Вы можете инвестировать дополнительные средства в систему хранения и добиться экономии за счет использования недорогих серверов — все это без ущерба для общей надежности вычислительного комплекса.

SAN позволяет обеспечить высокую переносимость загрузочных томов, которую затруднительно или даже невозможно обеспечить для систем, использующих локальные диски. Следует также принять во внимание объем работы, сопряженный с необходимостью переподключения аппаратного массива RAID с одного сервера на другой в случае отказа материнской платы. Вы можете также значительно повысить эффективность при использовании технологии «мгновенных снимков» SAN для репликации созданного с помощью Sysprep загрузочного образа сервера на несколько логических томов, или блоков, LUN, и получить массив загружаемых с iSCSI серверов. Кроме того, некоторые системы хранения SAN поддерживают сценарии загрузки множественных серверов с одного образа операционной системы, но это опять же тема для отдельной статьи.

Конечно, при сравнении различных архитектур систем хранения необходимо тщательно взвесить все «за» и «против», оценить риски и решить, стоит ли складывать все яйца в одну корзину. Перед принятием решения о переводе группы критически важных серверов на загрузку с сетевой системы хранения данных следует убедиться, что выбранная сетевая система хранения обладает необходимой отказоустойчивостью и сетевая инфраструктура отвечает связанным с этой задачей требованиям по надежности и пропускной способности.

Выбор решения

Как и при использовании систем хранения Fibre Channel, можно использовать выделенные адаптеры HBA iSCSI для загрузки с системы хранения iSCSI SAN. Такой подход позволяет решить задачу, но требует существенных вложений в оборудование. Существует еще два варианта, которые при сравнимой мощности, производительности и простоте реализации существенно дешевле, чем использование HBA, правда, за счет дополнительной загрузки центрального процессора сервера. На рынке представлены сетевые платы с поддержкой загрузки по iSCSI. Рассмотрим аппаратную настройку загрузки по iSCSI.

Прежде всего следует определить минимальные требования, необходимые для решения этой задачи. Они существенны, но не должны оказаться препятствием на нашем пути, если в компании используется сравнительно современное оборудование. Для обеспечения приемлемой производительности для подключений iSCSI следует использовать Gigabit Ethernet. В серверах требуется слот PCI Express для установки сетевых интерфейсов с поддержкой загрузки по iSCSI. Можно применять адаптеры PCI-X (PCI Extended) c поддержкой загрузки, но стандарт PCI Express — более новый и прогрессивный. Системный BIOS сервера должен обеспечивать поддержку загрузки с систем хранения iSCSI SAN. И наконец, для инициации загрузки сервера с iSCSI потребуется Microsoft iSCSI Software Initiator 2.0.4 (или более поздней версии), который доступен для свободной загрузки с сайта Microsoft (http://microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6–4585-b385-befd1319f825).

Если эти требования к аппаратуре кажутся вам чересчур высокими — ничего страшного. Минимальным требованием является поддержка в BIOS сервера и сетевом интерфейсе загрузки с PXE 2.x. Более подробно о программном решении для обеспечения загрузки по iSCSI рассказано во врезке «Программная загрузка систем по iSCSI».

Компании IBM, Intel и Broadcom производят сетевые интерфейсы, обеспечивающие загрузку с томов iSCSI LUN. В массе своей это адаптеры PCI Express; ведущие производители серверов также предлагают сетевые интерфейсы, интегрированные в материнскую плату сервера. В моем распоряжении оказалось несколько демонстрационных образцов сетевых плат, и я хотел разобраться, насколько просто будет настроить системы для аппаратной загрузки по iSCSI.

Для настройки загрузки по iSCSI требуется выполнить ряд несложных шагов, но при этом надо быть точным и аккуратным, чтобы получить надежную и стабильную конфигурацию. Сначала следует настроить LUN на массиве iSCSI, который будет играть роль загрузочного раздела, настроить сетевой интерфейс для загрузки с этого раздела и подготовить чистую установку Windows Server или перенести имеющуюся систему на выбранный iSCSI LUN. Больше всего времени занимает подготовка операционной системы, но, как и в случае обычного «локального» развертывания, вы можете использовать подготовленные образы и Sysprep для упрощения развертывания в будущем.

Шаг 1. Подготовка тома SAN для загрузки по iSCSI

В подготовке тома SAN для загрузки по iSCSI нет ничего экстраординарного. Просто надо выделить достаточно места и настроить соответствующий доступ по IP-адресу хоста, по протоколу CHAP (Challenge Handshake Authentication Protocol) или по имени инициатора iSCSI. Я советую сразу записать полный идентификатор iSCSI Qualified Name (IQN) целевой системы хранения и, если используется ограничение доступа, IQN инициатора — эти данные потребуется указать при настройке загрузочного BIOS сетевого интерфейса, поскольку псевдонимы при загрузке по iSCSI недоступны. Для создания целевого тома на системе хранения, выполняющего роль загрузочного тома, и ограничения доступа к моему IQN инициатора я воспользовался консолью Dell EqualLogic Group Manager (см. экран 1). Эта консоль входит в комплект поставки моего массива SAN, консоли управления других производителей обладают схожей функциональностью и используют аналогичный пользовательский интерфейс.

Шаг 2. Настройка сетевого интерфейса

Сетевые интерфейсы с поддержкой загрузки по iSCSI имеют встроенную подсистему BIOS, позволяющую настроить и установить загрузочное соединение с iSCSI LUN. Как правило, производители сразу прошивают в BIOS сетевых интерфейсов загрузочный файл PXE. Чтобы сделать возможной загрузку по iSCSI, требуется заменить стандартный PXE загрузочным файлом с поддержкой загрузки по iSCSI. В моем случае для этого потребовалось только создать загрузочную дискету с нужным файлом прошивки. Полные инструкции для конкретной модели сетевых интерфейсов могут различаться, так что нелишним будет изучить соответствующие инструкции на сайте производителя оборудования.

Шаг 3. Ввод параметров iSCSI

После прошивки PXE у вас есть два варианта. Первый — настройка загрузочного BIOS для выбора инициатора iSCSI и параметров целевого тома для вашей среды. Если на сервере имеется несколько сетевых интерфейсов с поддержкой загрузки по iSCSI или установлен многопортовый сетевой интерфейс, следует выбрать и разрешить использование первичного порта для загрузки по iSCSI. Для инициатора надо указать IP-адрес, подсеть и шлюз. Для целевого тома требуется указать IQN, IP-адрес, подсеть, шлюз, порт целевого тома и номер LUN.

Можно настроить DHCP для предоставления необходимых настроек и зарезервировать для каждого хоста индивидуальные параметры. Более подробные сведения о настройке DHCP для загрузки по iSCSI можно найти в статье «How to install and configure the DHCP service for iSCSI Network Boot configuration in Windows Server 2003» на сайте Microsoft по адресу http://support.microsoft.com/? kbid=928496. В любом случае необходимо в том или ином месте указать полные данные.

Выполнив эти шаги, следует перезагрузить сервер и убедиться, что загрузочный BIOS сетевого интерфейса подключается к нужному целевому тому. На то, чтобы выполнить все эти действия, у меня ушло примерно 30–40 минут, включая ручную настройку инициатора с помощью утилит командной строки. Позже я выяснил, что можно зайти в настройки BIOS при нажатии определенной комбинации клавиш во время загрузки, и в этом случае ввод параметров осуществляется значительно проще. Некоторое время пришлось также потратить на установку TCP-соединения с массивом хранения. После анализа возникших затруднений я включил режим port fast на порте коммутатора, к которому подключен сервер. Это решило все проблемы.

Шаг 4. Настройка операционной системы

После того как связь между NIC и LUN установлена, можно приступать к настройке операционной системы. В вашем распоряжении снова есть два способа получить работающую операционную систему на целевом томе iSCSI — перенести уже установленную систему Windows или выполнить чистую установку. Для переноса потребуется временный или постоянный диск на сервере. Необходимо установить операционную систему на локальный диск, а затем перенастроить ее для загрузки по iSCSI. Далее с помощью Sysprep надо подготовить операционную систему и перенести ее на iSCSI LUN. При выполнении установки с нуля Windows Server 2003 или Windows Server 2008 на iSCSI LUN во время выполнения первого этапа нажмите клавишу F6, чтобы скопировать драйверы сетевого адаптера, которые потребуются для установки соединения с LUN. Далее установка выполняется так, как если бы iSCSI LUN был локальным диском. Этапы настройки операционной системы практически не различаются при установке системы или переносе уже существующей. Устанавливается операционная система на локальный диск или том SAN, главное отличие заключается в том, в какой момент происходит выбор драйвера для сетевого интерфейса. При этом рекомендуется следовать инструкции производителя. Обратите внимание — при настройке сетевого интерфейса в Windows следует выбрать использование DHCP, чтобы IP-адрес автоматически назначался в тот момент, когда BIOS сетевого интерфейса обнаруживает iSCSI LUN.

Есть еще несколько задач настройки, которые важны для успешной загрузки с целевого тома iSCSI, вне зависимости от того, указываете вы настройки в BIOS сетевого интерфейса или назначаете через DHCP. Прежде всего необходимо установить Microsoft iSCSI Software Initiator с интегрированной программной поддержкой загрузки. Установка несложная, но необходимо знать, какой из портов сетевого интерфейса будет использовать загрузчик BIOS. Кроме того, необходимо заранее определить, будет ли использоваться MPIO. Во время установки надо установить флажок Configure iSCSI Network Boot Support и выбрать порты сетевого интерфейса, которые будут использоваться для загрузки по iSCSI (см. экран 2). Мастеру установки следует сообщить, будет ли использоваться MPIO. Хотя вы только что установили инициатор iSCSI, не следует выполнять вход на LUN целевого тома. Инициатор свяжется с BIOS загрузчика сетевого интерфейса, чтобы установить и поддерживать соединение с целевым томом. Как это происходит, можно увидеть здесь: (http://ittv.net/DesktopModules/UltraVideoGallery/UltraVideoGallery.swf? vId=107&portalId=0).

После установки инициатора потребуется выполнить еще несколько настроек. В диалоговом окне свойств системы System Properties () на вкладке Advanced нужно настроить файл подкачки. Убедитесь, что файл подкачки размещается на локальном диске (кроме бездисковых серверов, для них следует отключить использование виртуальной памяти). При использовании Windows 2003 следует установить модуль коррекции KB939875 (доступен для загрузки с http://support.microsoft.com/? kbid=939875), который исправляет сбой системы с выдачей дампа при загрузке с томов iSCSI. Наконец, следует добавить сценарий завершения работы, чтобы защитить настройку загрузки системы по iSCSI от нарушений, которые возможны при обновлении сетевого стека. Следует запустить утилиту Lscsibcg (содержится в программном инициаторе Microsoft загрузки по iSCSI) и установить флажок исправления и проверки при каждом выключении сервера. Более подробные сведения о добавлении этого сценария даны в статье на сайте Microsoft: «How to enable the iSCSI boot sequence on a network adapter after you install the Microsoft iSCSI Boot Software Initiator» (http://support.microsoft.com/?kbid=934235).

Итак, настройка операционной системы завершена. Сервер готов к загрузке с установленного на iSCSI LUN образа системы — теперь можно воспользоваться Sysprep и создать образ с созданной временной папки для установки и перенести его на iSCSI LUN. После того как загрузочный образ будет размещен на iSCSI LUN, измените в настройках BIOS сервера последовательность выбора устройств при загрузке (необходимо, чтобы BIOS сервера поддерживал загрузку с системы хранения iSCSI). А что делать, если вам нужно сделать это для устаревшего сервера, в котором такая функциональность не предусмотрена? Нет ничего невозможного, просто потребуется использование дополнительного программного обеспечения, о чем рассказывается во врезке «Программная загрузка систем по iSCSI».

Какой бы из вариантов вы ни выбрали, размещение загрузочных томов серверов на SAN обеспечивает целый комплекс преимуществ перед «локальными» вариантами. Какое из решений — аппаратное или программное — лучше использовать, выбирать вам. Использование аппаратной системы для загрузки по iSCSI проще в эксплуатации и имеет меньше узких мест, чем при программном решении. Кроме того, вы можете применить оба метода.

Эд Рот (eroth@winnetmag.com) — редактор журнала Windows IT Pro


Программная загрузка систем по ISCSI

Использование программного решения для загрузки по iSCSI SAN может оказаться проще, чем использование аппаратных решений, к тому же дает ряд преимуществ. Программное обеспечение netBoot/i компании DoubleTake Software, ранее известное как winBoot/i от компании emBoot, позволяет загружаться с системы хранения iSCSI без приобретения дополнительного оборудования

аже если система BIOS сервера не поддерживает загрузку по iSCSI, можно воспользоваться программными решениями для обеспечения загрузки сервера по iSCSI, требуется только, чтобы сетевой интерфейс поддерживал технологию PXE (Preboot Execution Environment). Компания Double-Take Software (http://www.doubletake.com/) предлагает средства для загрузки по iSCSI для клиентов и серверов, содержащие дополнительные функции, недоступные в аппаратных системах загрузки по iSCSI. Мне неизвестны другие системы, которые предлагали бы такие функции. Я получил копию winBoot/i (через некоторое время Double-Take Software переименовала эту утилиту в netBoot/i) 2.5, чтобы проверить, насколько удобно это средство. Цена составляет 995 долл. для серверной консоли, 395 долл. за серверный агент и 95 долл. за агент для настольных систем.

Дабы продемонстрировать, что загрузка системы с целевого тома iSCSI не требует специализированного аппаратного обеспечения новейшей модели, я решил настроить загрузку по iSCSI для своего старого тестового стенда. Помимо прочего, там имеется старый системный блок с Windows 2000 Server, который играет роль контроллера домена и сервера DNS и DHCP. Роль хоста загрузки iSCSI у меня выполнял сервер под управлением Windows Server 2003.

Для создания рабочей конфигурации загрузки winBoot/i требуется три основных компонента: диспетчер загрузки winBoot/i, клиент winBoot/i и система хранения iSCSI. Программное обеспечение winBoot/i Manager может работать на любой из систем, Windows Server 2008, Windows Server 2003, Windows XP и Windows 2000 Professional или Server. Вам потребуется сервер DHCP, который может работать на той же системе, что и winBoot/i Manager, впрочем, можно использовать и отдельный сервер DHCP. В качестве клиентских операционных систем winBoot/i Client может устанавливаться на Windows Server 2003 (32-и 64-разрядные системы Standard или Enterprise) R2 и Windows Storage Server с установленным пакетом обновлений Service Pack 2.

Установку и настройку системы я проводил в соответствии с процедурами, описанными в разделах Setup и Basic Procedures руководства winBoot/i Getting Started Guide. Как следует из документации, первым шагом является выделение загрузочного тома на SAN. Я запустил Dell EqualLogic Group Manager и создал 40-гигабайтный том. Затем я установил winBoot/i Server на систему, на которой работал сервер DHCP. Установка winBoot/i на существующий сервер Windows DHCP позволяет процедуре установки выполнить необходимые настройки DHCP для поддержки winBoot/i. Помимо этого варианта, в состав winBoot/i включена утилита посредника DHCP, обеспечивающая необходимую поддержку для других сценариев установки. В процессе установки winBoot/i выполняется установка сервера winBoot/i Server и загрузочных образов PXE. После завершения установки я запустил консоль управления winBoot/i Management Console и ввел лицензионные ключи. Нажав на значок Services, я убедился, что службы winBoot/i, TrivialFTP (TFTP) и PXE запущены на моем сервере winBoot/i. После этого с помощью консоли я создал новый клиент и указал параметры, необходимые для отображения клиента на соответствующий целевой том iSCSI при загрузке с PXE.

Далее я установил клиент winBoot/i Client на сервер, работающий под Windows 2003 R2. При этом сначала запустилась установка обновления KB 939875, после чего программа установила инициатор Microsoft iSCSI Software Initiator и собственно клиент winBoot/i Client. В соответствии с приведенными в документации инструкциями, после завершения установки я запустил iSCSI Initiator и зарегистрировался на целевом томе iSCSI, созданном ранее в качестве загрузочного тома. Далее я запустил утилиту winBoot/i SystemCopy (см. экран А) для копирования существующей системы на том iSCSI. SystemCopy — очень простая в использовании утилита, обеспечивающая копирование диска или тома на целевой том iSCSI с помощью службы Microsoft Volume Shadow Copy Service. Если выбрать вариант копирования тома, необходимо предварительно разбить целевой том iSCSI на логические тома и выполнить форматирование. Я выбрал вариант копирования диска для репликации локального диска на том iSCSI.

Утилита копирования системы winBoot/i SystemCopy

Далее я удалил из сервера диск, который использовался для загрузки, и включил в BIOS загрузку PXE с первого сетевого интерфейса. Загрузка прошла быстро и без каких-либо проблем. На все действия по настройке системы для загрузки по iSCSI ушло чуть меньше часа.

Как показал мой опыт, настройка программной загрузки сервера по iSCSI с помощью winBoot/i оказалась даже проще, чем при использовании аппаратного решения. При этом хочется отметить важное преимущество программной загрузки — winBoot/i поддерживает загрузку гостевых виртуальных машин Microsoft Hyper-V с внешних массивов iSCSI SAN, которые не подключены непосредственно к хосту Hyper-V. При этом виртуальные машины могут загружаться по iSCSI через программный инициатор, установленный на гостевой виртуальной машине.


Задача
Требуется обеспечить загрузку серверов с iSCSI SAN для снижения затрат на аппаратуру и обеспечения защиты данных.
Решение
Настроить аппаратное обеспечение SAN, связанные с iSCSI службы, операционную систему на использование специальных сетевых адаптеров или программ.
Необходимые ресурсы
Сервер под управлением операционной системы не ниже Windows Server 2003, оборудование Gigabit Ethernet, сетевой интерфейс с поддержкой загрузки по iSCSI, система хранения поддержкой iSCSI. Подсистема BIOS сервера должна поддерживать возможность загрузки по iSCSI SAN.

Требуемые шаги

  1. Выделить том SAN для загрузки c iSCSI.
  2. Настроить сетевой интерфейс для загрузки c iSCSI.
  3. Настроить параметры iSCSI с помощью Microsoft iSCSI Software Initiator или DHCP.
  4. Выполнить настройку операционной системы.

Сложность 4 / 5


Настройка загрузочного тома в Dell EqualLogic Group Manager

Выбор порта сетевого интерфейса для загрузки по iSCSI