Главная » Статьи » Хранилище данных |
Задолго до того, как технология виртуализации обрела нынешнее широкое распространение и признание, она десятилетиями применялась в мэйнфреймах IBM. Недавний всплеск интереса к виртуализации вызван тем, что промышленные центры данных больше не могут удовлетворять потребности новых приложений путём увеличения количества стоек с серверами. Центры данных уже превысили разумные пределы по количеству серверов, потребляемому электричеству, тепловыделению на единицу выделенной площади. Виртуализация является превосходным решением проблемы такого роста требований. Её применение ведёт к увеличению полезной нагрузки, уменьшению количества серверов и снижению эксплуатационных расходов. С другой стороны, виртуализация может оказывать негативное влияние на готовность системы, так как серверы вынуждены обслуживать большее количество приложений. Любой сбой может привести к более разрушительным последствиям для бизнеса. Один из способов избежать такого развития событий - реализовать многоканальный доступ к внешним устройствам SAN (сеть хранения данных). Таким образом вы сможете уменьшить количество сбоев, вызванных невозможностью доступа к подсистеме хранения данных. В этой статье мы показываем, как обеспечить многоканальный доступ хосту Xen и гостевым доменам к системе хранения данных IBM System Storage DS4800, используя дистрибутив Red Hat Enterprise Linux 5 update 1 (RHEL 5.1), а также распространяемый компанией IBM драйвер RDAC (RAID-контроллер) c поддержкой многоканального доступа. Много виртуальных чернил и виртуальной бумаги было потрачено на то, чтобы описать различные типы технологии виртуализации: аппаратные разделы, логические разделы, гипервизор и другие. Xen - это гипервизор с поддержкой паравиртуализации. Другими словами, гипервизор Xen - это программный слой, который работает поверх оборудования. Для работы с гипервизором Xen ядро гостевой операционной системы и драйвера должны быть соответствующим образом модифицированы. Преимущество данного типа виртуализации состоит в том, что за счёт "сотрудничества" гостевой ОС и гипервизора при выполнении низкоуровневых вызовов в большинстве случаев производительность гостевого домена Xen близка к собственной (native). Стоит заметить, что этот тип виртуализации наиболее эффективен по производительности и работает на широком спектре оборудования. Недостаток его состоит в том, что поддерживаются только соответствующим образом модифицированные ядра, поэтому вы не сможете использовать Xen со старыми операционными системами (например, Windows® 2000). Тем не менее, поскольку виртуализация становится такой популярной темой, производители микропроцессоров стремятся поддержать эту тенденцию. Процессоры с поддержкой технологий Intel-VT и AMD Pacifica способны обеспечить работу гипервизора Xen и с немодифицированными гостевыми ОС, правда, с некоторой потерей производительности. На сегодняшний день наиболее распространён гипервизор Xen версии 3; некоторые поставщики Linux решили включить его в свои дистрибутивы. К примеру, Xen стабильно работает и поддерживается дистрибутивами Red Hat Enterprise Linux 5 и Novell SUSE Linux Enterprise Server 10, и, что не менее важно - он бесплатен!
Когда вы запускаете хост Xen, гипервизор Xen первым берёт на себя управление системой. Затем он загружает гостевую ОС, или домен 0 (Dom0) в терминологии Xen. Пользователь взаимодействует с Xen посредством Dom0. Все драйверы устройств для доступа к оборудованию также загружаются в Dom0. Dom0 обеспечивает доступ других гостевых ОС, которые иногда называют доменом U (или DomU), к виртуальным блочным и сетевым устройствам. С этого момента я больше не буду считать Dom0 гостевой ОС, несмотря на то, что по существу это экземпляр гостевой ОС с некоторыми специальными возможностями. Для доступа к виртуальным блочным и сетевым устройствам внутри каждого гостевого домена (DomU) используются "облегчённые" драйверы устройств - драйверы frontend (внешний интерфейс), в отличие от Dom0, где используются "тяжеловесные" драйверы backend (внутренний интерфейс). На рисунке 1 представлена схема архитектуры Xen. Рисунок 1. Упрощённая схема архитектуры Xen ![]()
Начиная с версии Xen 3.0.3, виртуальный блочный frontend реализован в
модуле xenblk, а backend - в модулях blkbk и blktap. Виртуальный
сетевой frontend реализован в модуле xennet, а backend - в модуле
netbk. Чтобы выяснить, какие модули ядра загружены в вашей системе, а
также получить информацию об этих модулях, используйте команды
Переход от прямого соединения между системой хранения данных и хостом к инфраструктуре совместно используемых систем хранения данных SAN - это существенное усложнение картины. То, что когда-то было выделенным интерфейсом SCSI или кабелем FC между хостом и системой хранения данных, сейчас представляет собой скопление кабелей FC, коммутаторов SAN, серверов хранения данных с контроллерами, дисками и т.д. Наряду с бесспорными преимуществами, SAN обладает и недостатками, ввиду высокой вероятности выхода из строя компонентов между хостом и жёсткими дисками. Многоканальный доступ к системам хранения данных - отличный способ решения таких проблем. Фактически хост имеет возможность доступа к логическим дискам (используя логический номер устройства, или сокращённо LUN) на сервере хранения данных по нескольким независимым каналам. Драйвер многоканального доступа объединяет все маршруты доступа и "показывает" операционной системе только одно блочное устройство. Доступ к каждому LUN осуществляется по наилучшему маршруту, а в случае выхода маршрута из строя драйвер многоканального доступа направляет запросы ввода/вывода по альтернативным маршрутам. Драйверы многоканального доступа разных производителей обладают разной функциональностью: одни способны обеспечивать "интеллектуальную" балансировку нагрузки, другие поддерживают только переключение на резервные маршруты в случае сбоя. Для системы хранения данных DS4800 IBM поверх драйвера HBA (хост-адаптер шины) рекомендует использовать драйвер RDAC. Запомните: драйвер многоканального доступа не заменяет драйвер HBA, они дополняют друг друга. Драйвер многоканального доступа - аналог мозга, а драйвер HBA - аналог рук и ног. Современные операционные системы предлагают свои собственные многоканальные драйверы, но перед тем как их использовать, удостоверьтесь, что они сертифицированы производителем вашей системы хранения.
Достаточно теории, давайте перейдём к архитектуре тестовой среды. У меня стоит сервер IBM x3550 c хост-адаптером HBA, который оснащён двумя портами FC. Порты подключены к разным коммутаторам SAN. Система хранения данных DS4800 имеет два контроллера, оснащённых 4 портами FC каждый. Для простоты на рисунке 2 я указал только два FC-соединения. Порты FC системы хранения, также как и порты хоста, подключены к разным коммутаторам. Таким образом, сбой на одном из маршрутов не нарушит доступ хоста к системе хранения данных. Драйвер RDAC, установленный в домене 0, отвечает за выбор наилучшего маршрута при работе в нормальных условиях и переключение на альтернативный маршрут в случае возникновения сбоя. Гостевой ОС не требуется специального драйвера для того, чтобы иметь многоканальный доступ к внутренней системе хранения данных. Рисунок 2. Архитектура тестовой среды ![]() Вот список оборудования и программного обеспечения, которое я использовал в тестовой среде:
Серверы хранения данных SAN от IBM проектируются с учётом возможности многоканального доступа, поэтому вам не надо делать ничего особенного для того, чтобы логический диск был доступен по нескольким маршрутам. В случае DS4800 при создании логического тома, система автоматически меняет владельца среди контроллеров в целях балансировки нагрузки. Как показано на рисунке 3, я создал 4 LUN и отобразил их на мою группу хостов. Запомните, номера LUN должны идти по порядку, чтобы хост мог обнаружить все устройства, начав с 0. Если вы удаляете логический диск, проследите за тем, чтобы остальные номера LUN образовывали непрерывную последовательность! Рисунок 3. Логические диски, созданные в DS4800 и отображённые на мою группу хостов ![]() В настройках коммутационной матрицы я поместил первый WWPN (WorldWide Port Name) хост-адаптера HBA в одну зону с WWPN контроллера А системы хранения данных. Второй WWPN хост-адаптера HBA я поместил в другую зону, вместе с WWPN контроллера B.
Установка гипервизора Xen и домена 0 предельно проста. Процедура проходит следующим образом:
Установка утилит для работы с Xen Утилиты для работы с Xen находятся в директории /VT источника установки RHEL 5.1. Утилиты командной строки - очень мощный, но не самый привлекательный инструмент. Утилиты с графическим интерфейсом просты в использовании, но не так эффективны. Как бы то ни было, давайте установим и те, и другие. Для начала следует установить несколько пакетов, от которых зависят пакеты утилит для работы с Xen; вы найдёте их на установочном DVD (или CD) в директории /Server: Листинг 3. Установка пакетов, от которых зависят пакеты утилит для работы с Xen
При установке пакетов утилит для работы с Xen у меня возникли проблемы с зависимостями. Мне пришлось установить первый пакет без проверки зависимостей, а затем установить остальные пакеты в следующем порядке: Листинг 4. Установка пакетов утилит для работы с Xen
Давайте
попробуем выполнить несколько команд. Только прежде чем это сделать,
вам нужно запустить демона xend. Все утилиты управления Xen получают
информацию от демона xend. Для запуска xend выполните команду Теперь вы можете выполнить команду Листинг 5. Вывод информации, полученной от гипервизора Xen
Кроме того, вы можете выполнить команду Листинг 6. Список функционирующих гостевых доменов Xen
Успешное выполнение команд Если вы предпочитаете графический интерфейс, загрузите Gnome, затем выберите в меню пункт Applications > System Tools > Virtual Machine Manager. Вы должны увидеть окно со статусом ваших виртуальных машин, как на рисунке 4. Рисунок 4. Главная панель менеджера виртуальной машины (VMM) ![]() Установка драйвера многоканального доступа Среда Xen установлена и работает, пришло время установить драйверы для доступа к системе хранения данных SAN. Первым делом установим драйвер адаптера HBA, в моём случае это драйвер QLogic. Скачайте установочный пакет с драйвером QLogic с сайта производителя и установите его в соответствии с документацией. Нужно отключить активную по умолчанию опцию failover (переключение при сбое) в файле /etc/modprobe.conf следующим образом: Листинг 7. Отключение опции failover драйвера QLogic
Теперь установим драйвер RDAC с поддержкой многоканального доступа. Скачайте установочный пакет с сайта IBM (ссылка есть в разделе Ресурсы) и установите его в соответствии с документацией. Вам нужно скомпилировать исходный код, установить модуль и создать новый образ initrd. Чтобы использовать новый образ initrd, вам придётся вручную изменить конфигурационный файл (/etc/grub/grub.conf) вашего менеджера загрузки. Будьте осторожны, не используйте пример, который поставляется со скриптом установки, так как он не применим к системам с Xen. Вместо этого используйте уже существующую запись в файле grub.conf, заменив initrd-xyz.img на mpp-xyz.img. Мой файл выглядит вот так: Листинг 8. Опции загрузки в файле grub.conf
Выведите список всех логических дисков с помощью команды Листинг 9. Список всех LUN, обнаруженных в домене 0
Теперь у вас есть многоканальный доступ к вашей системе хранения данных SAN из домена 0.
Перед тем как устанавливать гостевые домены Xen, нужно выполнить на хосте следующее:
Свою виртуальную сеть я привязал к реальному сетевому интерфейсу eth0. Вы можете использовать для этого менеджер виртуальных машин (VMM); выберите в меню пункт Edit > Host details > Virtual Networks, чтобы отредактировать настройки уже существующей виртуальной сети или добавить новую. Рисунок 5. Настройка виртуальной сети в VMM ![]()
Для организации источника установки я просто извлёк все файлы с
DVD-образа в директорию /var/www/html/rhel51, а затем командой Для первой гостевой ОС я хотел, чтобы три логических диска напрямую отображались в три LUN системы хранения данных DS4800, естественно, через Dom0. Рисунок 6. Отображение устройств хранения для гостевого домена test0 ![]() Готовы? Поехали.
Для доступа к гостевой ОС:
Чтобы вывести список дисков гостевой ОС, введите команду Конфигурация гостевого домена хранится в обычном текстовом файле, который расположен в директории /etc/xen. Для примера я приведу содержимое файла /etc/xen/test0: Листинг 10. Файл конфигурации гостевого домена test0
Создание файла
конфигурации "с нуля" - непростая задача, зато редактировать его
вручную очень просто. Например, если вы хотите изменить размер
выделяемой гостевому домену памяти или количество виртуальных
процессоров, вам нужно просто изменить этот файл, а затем перезагрузить
гостевой домен командами Чтобы поупражняться в редактировании конфигурационного файла, я изменил имена, относящиеся к каждому диску в гостевом домене ( Листинг 11. Смена имён виртуальных устройств
На самом деле неважно, как вы назовёте их, вы можете попробовать даже Листинг 12. Список всех файловых систем в гостевом домене test0
Это завершающий этап процесса установки гостевого домена test0, который теперь имеет многоканальный доступ к трём LUN системы хранения данных DS4800.
Файлы образов в Dom0 должны отображаться в виртуальные диски гостевого
домена test1. LUN #3 системы хранения данных DS4800 сделан доступным
для Dom0 как /dev/sde. Я создал раздел и файловую систему на этом диске
с помощью команд Рисунок 15. Отображение устройств хранения для гостевого домена test1 ![]() Теперь давайте продолжим создание гостевого домена test1, повторив процедуру, которую мы выполнили ранее. Нажмите кнопку New на главной панели VMM, в поле System Name введите Рисунок 16. Выделение дискового пространства гостевому домену test1 ![]()
После настройки остальных параметров (можете сделать их такими же, как
у test0) вы опять увидите приглашение программы установки Red Hat
Enterprise Linux. Пока идёт установка, откройте в VMM свойства
гостевого домена test1 и установите ещё два виртуальных диска. В
качестве имён файлов образов введите Рисунок 17. Панель управления оборудованием гостевого домена test1 ![]() Это файл конфигурации гостевого домена test1: Листинг 13. Файл конфигурации гостевого домена test1
Тег Листинг 14. Список всех файловых систем в гостевом домене test1
На данном этапе оба гостевых домена полностью установлены и настроены для многоканального доступа к соответствующим виртуальным дискам через домен 0. Открыв VMM, вы увидите следующее: Рисунок 18. Главная панель VMM с двумя гостевыми доменами ![]()
Для того чтобы убедиться, что многоканальный доступ работает, я запустил встроенную утилиту от IBM для создания рабочей нагрузки на подсистему ввода-вывода в каждом гостевом домене. Утилита непрерывно записывает блоки данных на все три диска, а затем читает и проверяет их. После этого я выдернул из порта один из кабелей FC, соединяющий хост и коммутатор. Утилита зависла примерно на 5 секунд и продолжила свою работу как ни в чём не бывало. Для имитации выхода из строя коммутатора SAN я отключил порт со стороны хоста на одном из коммутаторов. И опять утилита смогла продолжить свою работу. И напоследок я отключил один из контроллеров системы хранения данных DS4800. Как и следовало ожидать, утилита сработала безупречно! В перерывах между тестами я "восстанавливал" работоспособность тестовой среды и ждал несколько минут, чтобы драйвер многоканального доступа мог снова подключиться по восстановленному маршруту.
В этой статье вы научились устанавливать и настраивать среду Xen и обеспечивать многоканальный доступ к системе хранения данных IBM DS4800. Вы убедились, что многоканальный доступ может существенно увеличить уровень готовности виртуальных машин Xen в случае отказа канала доступа к устройству хранения или технического обслуживания инфраструктуры хранения. Вы можете настроить 4
или даже 8 альтернативных маршрутов, если вам не хватает пропускной
способности и надёжности двух. Серверы хранения данных класса high-end
способны обеспечивать "интеллектуальную" балансировку нагрузки
маршрутов. Таким образом, если вы создаёте виртуализованную среду с
системами хранения данных SAN, вам определённо следует использовать
многоканальный доступ, чтобы достичь высокой доступности, надёжности и
ремонтопригодности.
Источник: http://www.ibm.com/developerworks/ru/library/l-multipath-xen/index.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Просмотров: 3286 | |
Всего комментариев: 0 | |
Операционные Системы
[61]
ОС Open Source
|
Мобильный Linux [26] |
Сравнение ОС [7] |
Статьи о Linux [16] |
Свободное ПО [10] |
Програмирование [6] |
Не для нубов [5] |
Ядро [13] |
Хранилище данных [9] |
Устройства [1] |
Установка/конфигурирование/планиров [16] |
Файловые системы [3] |
Управление, основанное на политиках [1] |
Управление инфраструктурой [0] |
Серверы [5] |
Биографии [6] |
Прочее [25] |