Архив

Публикации с меткой ‘High Availability’

Software iSCSI

Появилось желание выложить на блог пару статей настройки и конфигурации продуктов для построения iSCSI хранилищ на программном уровне. Но предварительно немного расскажу о том, какие продукты более всего мне интересны, и на какие также стоит обратить внимание (конечно список будет весьма субъективный, так как каждый сам выбирает подходящее решение, о некоторых я мог даже и не слышать). Здесь я расскажу лишь о тех продуктах, с которыми имел дело лично, будь то настройка в компаниях, либо тестовое изучение.

Прежде всего, что из себя представляют данные продукты в целом. Есть разные модификации, как платные, так и бесплатные, с различным функционалом (повышенная отказоустойчивость, безопасность с разными уровнями аутентификации и т.д.), но суть сводится к одному: имея несколько гипервизоров со своими локальными дисковыми подсистемами, на основе одного из этих гипервизоров, мы создаем одно общее дисковое пространство (DataStore), которое будет видно всем остальным гипервизорам. Этим, по сути, мы создаем общее СХД для всех гипервизоров, которое будет необходимо для таких технологий, как HA, DRS, vMotion.

Для этого нам нужно одной ВМ, назовем ее iSCSI VM, выдать диск большого объема (такого объема, которого нужно нам общее хранилище) и технологиями программных решений построения софтверных iSCSI создать так называемый iSCSI Target, который мы впоследствии покажем нашим гипервизорам. Далее технологиями vSphere мы создаем датастор, который будет ссылаться на этот диск ВМ, и на котором будут лежать другие ВМ. Выглядеть это будет примерно следующим образом:

Конечно, по картинке ясно, что если ESXi01 упадет, то будут недоступны не только данные iSCSI VM, но и данные всех остальных ВМ, которые лежат на нашем общем датасторе. Некоторые продукты умеют создавать реплицированную копию, примерно так же, как технология Fault Tolerance, тем самым обеспечивая зеркалированную запись данных на несколько гипервизоров, при этом в случае падения одного из них, ЦОД останется функциональным.

Итак, приведу примеры таких продуктов, с которыми лично сталкивался:

  1. StarWind iSCSI – один из наиболее популярных продуктов, довольно простой в управлении и умеющий создавать зеркала, о которых я говорил выше. Существует как в бесплатной версии, так и в платной (в бесплатной довольно порезанный функционал, создавать “зеркала” нельзя). О том, как его устанавливать и настраивать я уже писал на сайте нашей компании. Мне этот продукт очень понравился, есть русская техподдержка, довольно быстро работают специалисты. Установка: ставится как программа на ОС Windows Server. Плюсы: огромное количество фич, легкость в настройки, поддержка русскими специалистами, довольно популярна, поэтому всегда найдется тот, кто может подсказать что-нибудь по этому продукту. Минусы: немалая цена, что неудивительно при таких плюсах, поэтому для местного использования подойдет лишь в виде Free Edition, что довольно урезает ее преимущества (лицензию на Windows Server никто не отменял).
  2. vSphere Storage Appliance – довольно новый продукт, появившийся с выходом пятого поколения VSphere. Примечательно то, что этот продукт является родным продуктом компании VMware, довольно удобен тем, что выпускается как .ova файл, который сам разворачивается в ВМ. Сам функционал будет доступен в виде плагина к VSphere Client, поэтому в других окнах нам сидеть не придется, что очень радует, в этом смысле VMware о нас заботится (vDR, Operations, vShield). Продукт также умеет создавать свои зеркала, и недавно (об этом писал в прошлой статье) стал поддерживать RAID5 и RAID6. Установка: как отдельная ВМ с уже установленной ОС и всеми сервисами. Плюсы: интеграция в VSphere, наличие специального бандла Essentials Plus с лицензией VSA, который сильно снижает стоимость продуктов. Минусы: довольно новый продукт, на практике его пробовало меньшее количество людей, чем Starwind, могут возникнуть вопросы технического характера, которые на форумах останутся без решения.
  3. Openfiler – продукт, выпускающийся в бесплатном варианте с полным набором функций, поддерживающий не только iSCSI Target, но и такие фичи, как FTP, sFTP, NFS, FC, а также умеющий создавать различные типы рейдов на основе дисков .vmdk, подключенных к нему. В ближайшее время я немного постараюсь повысить его популярность и выложу подробное описание продукта с пошаговой установкой и настройкой (разработчики пошли другим путем и начали брать деньги с поддержки, например Admin Guide обойдется вам в 40 евро). Довольно интересный продукт, на нем я поднимал пилотный проект View и Openfiler показал себя довольно достойно. Установка: монтируется как образ к Linux 32-bit OS, ставится на отдельную ВМ. Плюсы: бесплатный продукт с множеством функций, хотя если мы говорим здесь об iSCSI Software, то это не считаем, довольно прост в настройке и управлении, в интерфейс всегда можно попасть из WEB. Минусы: нет поддержки продукта в бесплатном варианте, даже документацию придется покупать, защиту в виде зеркалирования и т.д. придется тоже покупать за деньги.
  4. FreeNAS – этим продуктом довольны многие, наверное, уже пользовались, довольно часто слышал, что его используют в Production и весьма довольны. Как понятно из названия, бесплатный продукт на базе FreeBSD. Один раз настраиваем и спокойно пользуемся, также есть поддержка рейдов и дополнительных опций, правда чтобы настроить все правильно, придется потратить не одну минуту. Разработчики продукта решили, что продукт будет бесплатным, однако совместно с iXsystems выпускают сервера с встроенной СХД на базе FreeNAS, своеобразные software iSCSI стораджи, которые стоят денег, и за которые отвечает компания FreeNAS в плане технического обслуживания. Установка: ставится на отдельную FreeBSD ВМ. Плюсы: бесплатный продукт с множеством фич. Минусы: довольно сложно настраивается, нет поддержки на русском языке.

Также есть продукт Microsoft iSCSI Target, но я никогда им не пользовался, если есть те, кто пользовался и кому есть, с чем сравнивать, можете описать продукт, и я с удовольствием добавлю его в этот пост с пометкой Вашего авторства :)

Ограничения для Fault Tolerance

Технологию высокой доступности Fault Tolerance уже знают многие, с ней приходилось работать многим, кому было необходимо обеспечить виртуальную среду гостевыми машинами с отсутствием потерь информации в случае падения серверного оборудования. Технология очень интересная, если кратко, то FT создает на другом сервере из кластера HA (High Availability) теневую копию ВМ, которая в случае падения сервера с основной ВМ берет на себя все ее функции. Сразу же на последующем сервере поднимается другая ВМ, которая становится теневой, а наша бывшая теневая основной. Вот описание этого процесса:

Как уже понятно, для этого нужно несколько серверов (минимум два), а также кластер HA. И также понятно, что теневая ВМ постоянно синхронизируется с нашей основной, то есть в случае падения моментально начинает работать. Это значит, что она должна постоянно задействовать ресурсы второго сервера. Вот бывает так, что эти ресурсы (CPU, RAM) не всегда совместимы с нашим первым сервером, ведь чтобы обе одинаковые ВМ работали на двух серверах, эти сервера должны быть одинаковыми, или близкими по своим критериям. Оперативная память понятно, должна быть зарезервирована и по ней лишь то ограничение, чтобы ее хватало. А вот с CPU все гораздо сложнее. Далее расскажу о том, какие ограничения нас ждут, если мы решили устанавливать FT.

У этой функции довольно много ограничений, начну, пожалуй, с самых важных. Самым важным ограничением, является совместимость CPU:

FT до сих пор не научился работать между процессорами разных производителей. То есть, если у Вас кластер HA с гибридными серверами, где есть и Intel и AMD процессора, то это не очень хорошо. Если их много, то лучше разнести ВМ на два кластера, где будут сервера с разными процессорами. Но и процессора одного производителя, в частности это относится к Intel не всегда будут поддерживать FT, приведу таблицу совместимости процессоров для FT:

Intel
3100
Intel
3300
Intel
5200
Intel
5400
Intel
5500
Intel
7400
AMD
1300
AMD
2300
AMD
8300
Intel 3100

V

V

V

V

X

V

X

X

X

Intel 3300

V

V

V

V

X

V

X

X

X

Intel 5200

V

V

V

V

X

V

X

X

X

Intel 5400

V

V

V

V

X

V

X

X

X

Intel 5500

X

X

X

X

V

X

X

X

X

Intel 7400

V

V

V

V

X

V

X

X

X

AMD 1300

X

X

X

X

X

X

V

V

V

AMD 2300

X

X

X

X

X

X

V

V

V

AMD 8300

X

X

X

X

X

X

V

V

V

Из этого можно заключить следующее, все процессора AMD из этого списка работают друг с другом, а также все процессора Intel работают друг с другом, кроме серии Intel 5500. Процессора этой серии работают лишь с такими же из серии 5500.

Стоит также отметить ограничения на частоту процессора, FT работает только с процессорами с частотой 400 MHz и выше, хотя теперь это уже не особо актуально.

До патча ESX(i)400-200906401-BG FT переводил работоспособность на вторую ВМ спустя пару секунд, что значительно мешало бесперебойной работе. ESX/ESXi для работы FT требуются одинаковой версии.

В логах биоса серверов можно найти следующие ошибки, свидетельствующие о неработоспособности FT, означать они могут следующее:

  • IncompatibleProduct – на сервере запущен продукт, отличающийся от официальных ESX/ESXi (сторонний продукт или продукт без подписи VMware);
  • IncompatibleCpu – ESX/ESXi сервер не поддерживает аппаратную виртуализацию (Intel-VT, AMD-V), необходимую для работы FT;
  • hvDisabled – сервер поддерживает виртуализацию, но она отключена в настройках BIOS, на котором исполняется FT;
  • cpuidLimitSet – на сервере ESX/ESXi включена опция, которая осуществляет максимальный предел на CPUID, препятствующий тому, чтобы FT работал;
  • oldBIOS – BIOS старой версии, требуется обновление;
  • Unknown — неизвестная конфигурация BIOS препятствует тому, чтобы FT работал должным образом.

Существует требование по сетевому оборудованию. У каждого ESX/ESXi должно быть минимум по 2 сетевые карты скоростью минимум 1 Гбит/сек., находящиеся в одной сети. 1 сетевая карта должна быть выделена для FT, вторая для vMotion.

Само собой, так как ВМ, защищенная FT, использует технологию HA для данного процесса, то ВМ должна находиться на общей СХД.

В данный момент у ВМ может быть лишь 1 vCPU, но VMware обещает в ближайшее время исправить этот момент.

Технология FT не поддерживает тонкие диски. Если ВМ находится в выключенном состоянии, и Вы включаете FT, тонкий диск автоматически будет преобразован в толстый.

Все снимки (snapshots) должны быть удалены у ВМ, так как с ними FT работать не будет.

Само собой, для использования FT должна быть лицензия Enterprise или Enterprise Plus.

Не все ОС будут работать с FT. В данный момент выявлено например, что на процессорах AMD Barcelona не будут работать следующие системы:

  • Windows XP (64 bit)
  • Windows XP (32 bit)
  • Windows 2000
  • Solaris 10 (32 bit)

Физические RDM не поддерживаются технологий FT, только виртуальные.

NPIV и VMI ROM не поддерживаются не ОС, защищенных FT.

CD-ROM’ы и Floppy диски, направленные на физические устройства или удаленные также не поддерживаются, с .ISO образами на общем СХД FT работает.

NIC Passthrough и VMXNET2 адаптеры не поддериживаются.

Вот такие ограничения существуют. Далее приведу список всех поддерживающих на данный момент процессоров технологию FT:

Intel Xeon Penryn Category:

  • 31xx Series
  • 33xx Series
  • 52xx Series
  • 54xx Series
  • 74xx Series

Intel Xeon Nehalem Category:

  • 34xx Series (Lynnfield)
  • 35xx Series
  • 55xx Series
  • 65xx Series
  • 75xx Series

Intel Xeon Westmere Category:

  • 34xx Series (Clarkdale)
  • 36xx Series
  • 56xx Series
  • E7-28xx Series
  • E7-48xx Series
  • E7-88xx Series
  • i3/i5 (Clarkdale)

Intel Xeon Sandy Bridge Category 1:

  • E3-12xx Series

Intel Xeon Sandy Bridge Category 2:

  • i3-21xx Series

AMD Opteron Barcelona Category:

  • 13xx Series
  • 23xx and 24xx Series (DP)
  • 41xx Series
  • 61xx Series
  • 83xx and 84xx Series (MP)

А также таблицу с официально поддерживаемыми гостевыми ОС:

Гостевая ОС Поддержка
Windows 7 Поддерживается всеТребуется VSphere 4.0U1 и выше
Windows Server 2008 Поддерживается все
Windows Vista Поддерживается все
Windows Server 2003 (64 bit) Поддерживается все
Windows Server 2003 (32 bit) Intel ПоддерживаетсяЕсли используется процессор AMD, нужен SP2 или выше
Windows XP (64 bit) Поддерживается
Windows XP (32 bit) Intel ПоддерживаетсяAMD не поддерживается
Windows 2000 Intel ПоддерживаетсяAMD не поддерживается
Windows NT 4.0 Intel ПоддерживаетсяAMD не поддерживается
Linux (all ESX-supported distributions) Поддерживается
Netware Server Нет данных
Solaris 10 (64-bit) ПоддерживаетсяЕсли используется процессор AMD, нужен Solaris U1 или выше
Solaris 10 (32-bit) Intel ПоддерживаетсяAMD не поддерживается
FreeBSD (all ESX-supported distributions) Поддерживается все

Вот примерно так обстоят дела. Если не хочется проверять все самому, или не уверены в точности проверки, воспользуйтесь утилитами VMware Site Survey и CPU Identification Utility для проверки на совместимость с FT.