Рубрика:
Администрирование /
Продукты и решения
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Геннадий Дмитриев
Создаем кластер на платформе FalconStor iSCSI Storage Server
Нужен кластер, но не хватает денег на внешний дисковый массив? Можно подумать о софтовом решении кластера на базе Falconstor iSCSI Storage Server.
Речь пойдет об одной из технологий, которая позволяет создать интеллектуальную открытую инфраструктуру сетевых систем хранения данных на базе продукта FalconStor iSCSI Storage Server, который является частью программного решения FalconStor IPStor Enterprise Edition и предоставляет сервисы по управлению хранения данных, упрощению системы резервного копирования, а также созданию зеркальных копий данных поверх обычной сети IP. Иными словами, FalconStor iSCSI Storage Server позволяет создать простую в управлении, доступную по цене и полнофункциональную систему хранения данных SAN (Storage Area Network).
Продукт коммерческий, стоимость базовой лицензии с годовой поддержкой не превышает 2500$.
Преимущества и недостатки
При проектировании центра обработки данных одни из немаловажных вопросов, которые приходится решать, – время простоя оборудования и время восстановления доступности сервиса после сбоя. Классическое отказоустойчивое решение по обеспечению круглосуточной доступности сервиса представляет собой два узла обработки данных с общим дисковым массивом, подключенным по Fibre Channel или SCSI. Такое решение применяется при обработке баз данных объемом от нескольких десятков гигабайт и позволяет решать вопросы производительности и доступности данных для пользователей.
В небольших сетях, где объемы баз данных не превышают нескольких гигабайт, а число пользователей – двух десятков, данное решение может быть избыточно. В основном из-за большой начальной стоимости вложения. Альтернативное бюджетное решение на основе FalconStor iSCSI Storage Server позволяет решить несколько вопросов.
Во-первых, можно использовать имеющееся дисковое пространство одного из серверов в качестве разделяемого ресурса кластера.
Во-вторых, доступ к разделяемому дисковому пространству организуется поверх протокола TCP/IP. Тем самым дисковый ресурс может быть распределен между несколькими серверными помещениями.
В-третьих, при наличии нескольких сетевых адаптеров можно объединить их в транк и тем самым увеличить пропускную способность канала к дисковому ресурсу.
Данная технология позволяет создавать бюджетные кластерные решения. Классический отказоустойчивый кластер для Microsoft Windows состоит минимум из двух серверов и внешнего дискового массива, подключенного через Fibre Channel или SCSI, стоимость которого достаточно велика. Но, как было отмечено, FalconStor iSCSI Storage Server может использовать внутреннее дисковое пространство уже имеющихся серверов, что позволяет «сэкономить» на одной из дорогостоящих составляющих. Минусом, на мой взгляд, являются достаточно большие задержки, присущие самому протоколу TCP/IP, что не позволяет применять данную технологию при работе с большими базами данных. Связано это с тем, что при работе с базами данных каждый запрос клиента формирует до нескольких десятков небольших запросов к базе данных. В случае с классическим кластером задержки при работе по Fibre Channel составляют микросекунды. В случае запросов к базе данных поверх протокола TCP/IP задержки составляют миллисекунды, что в случае множественных запросов может дать большое время отклика.
Кроме того, FalconStor iSCSI Storage Server не решает потенциальных проблем, возникающих при сбоях на сервере iSCSI. Для того чтобы обеспечить высокую отказоустойчивость, необходимо кластеризовать сам сервис FalconStor iSCSI, что потребует наличия второго сервера, лицензий на кластер и внешнего дискового массива. Все это несколько противоречит требованиям, предъявляемым к «бюджетному» решению.
Некоторые особенности
Перечислю некоторые возможности, предоставляемые FalconStor iSCSI Storage Server.
Опция Snapshot Service позволяет создавать мгновенные копии (клоны) томов, которые можно использовать, например, для уменьшения окна резервного копирования, а также для защиты данных от программных и пользовательских ошибок.
Сокращение окна резервного копирования достигается за счет того, что копирование осуществляется не с «рабочего» тома с остановкой всех работающих приложений, а со сделанного снимка, что не требует остановки сервисов на время, большее, чем требуется для создания этого самого снимка.
Кроме того, возможность создавать несколько мгновенных снимков позволяет при возникновении ошибок (в том числе и ошибок пользователя) осуществить «откат» на более раннее состояние. И именно это, а не какая-то мифическая «верификация», позволяет существенно снизить время восстановления после программных и пользовательских ошибок.
Можно создавать до 32 снимков с каждого тома. Получить доступ к данным из снимка можно, смонтировав его на том же или на другом сервере. Кроме того, iSCSI Storage Server поддерживает запрос снимков через интерфейс Microsoft Volume Shadow Copy Service и умеет автоматически снимать мгновенные копии с серверов приложений с целью сокращения потенциальных потерь данных. Для этого используются специализированные агенты, которые должны устанавливаться на эти серверы.
Опция Backup Enabler способствует выполнению централизованного резервного копирования непосредственно на iSCSI Storage Server. При этом в данной технологии могут применяться системы резервного копирования от третьих фирм.
Опция Mirror Service позволяет создавать зеркальные копии данных, что уменьшает время простоя и ущерб, связанные с отказом диска или контроллера.
Еще две весьма полезные опции – DiskSafe и FileSafe – предназначены для постоянной поблочной или пофайловой репликации данных с локальных дисков серверов на дисковые ресурсы сервера iSCSI. Такой подход позволяет эффективно защищать информацию на локальных дисках серверов и рабочих станций от сбоя при минимальной нагрузке на сетевые интерфейсы. Интеграция с мгновенными снимками обеспечивает надежное сохранение нескольких копий данных и дает пользователям возможность самостоятельно восстанавливать утерянные (например, случайно удаленные) сведения.
Так как имеется возможность делать мгновенные снимки с дискового тома iSCSI Storage Server, на который производится пофайловая или поблочная репликация с локальных дисков посредством опций DiskSafe и FileSafe (точно так же, как можно делать и с обычными дисковыми томами), это позволяет нам защищать данные не только консолидированные на сервере хранения, но и те, работа с которыми фактически ведется на локальных дисках серверов.
В случае, когда происходит какое-либо повреждение данных на локальных дисках, администратор имеет возможность быстро восстановить данные с сервера iSCSI Storage Server, кроме того, можно просто загрузиться с расположенного на iSCSI-сервере образе локального диска. Возможно как полное, так и пофайловое восстановление локальных данных.
Данный подход позволяет также сократить окно резервного копирования, копируя данные со сделанного на iSCSI Storage Server мгновенного снимка. Это снижает как время простоя сервисов на время копирования, так и непосредственную нагрузку на дисковую подсистему в серверах.
Еще одна опция, предназначенная для увеличения отказоустойчивости, – зеркалирование (Mirror). Она позволяет не допустить отказ в обслуживании в случае выхода из строя внешней дисковой подсистемы, подключенной к серверу iSCSI Storage Server. Это требует наличия второй дисковой подсистемы.
Разумеется, есть возможность использовать и одну дисковую систему, осуществляя зеркалирование между двумя расположенными на ней томами, но, очевидно, такой вариант подходит скорее для тестовых сред, нежели для повышения отказоустойчивости эксплуатируемой системы.
Кроме того, если у нас есть второй сервер iSCSI Storage Server, который расположен на удаленной площадке, то мы можем реплицировать данные между серверами, используя соответствующую опцию (Replication). Репликация осуществляется по IP-каналу и не требует высокой пропускной способности. Это дает возможность обеспечивать защиту данных и быстрое восстановление работоспособности сервисов после глобальных аварий в ЦОД (построение катастрофоустойчивых решений).
Итак, для тех, кто запутался, приведу краткий список опций:
- Snapshot – создание мгновенных снимков; защита от ошибок ПО и пользователей, снижение окна резервного копирования.
- DiskSafe/FileSafe – защита локальных дисков серверов путем их репликации на сервер iSCSI Storage Server.
- Mirror – зеркалирование данных между дисковыми подсистемами, подключенными к iSCSI Storage Server; защита от отказа дисковой системы.
- Replication – репликация данных (по IP-каналу) на удаленный iSCSI Storage Server; защита от выхода из строя сервера iSCSI Storage Server (в том числе и вместе с подключенными системами хранения); построение катастрофоустойчивых решений.
Обо всех особенностях данной технологии подробную информацию вы сможете найти на сайте [1].
Описание стенда
Для построения кластера на платформе FalconStor iSCSI Storage Server нам понадобятся три сервера. Первый будет выполнять роль контроллера домена и разделяемого дискового ресурса. Два других сервера будут выступать в роли участников домена, и на них мы развернем отказоустойчивый кластер. Схему смотрите на рис. 1.
Рисунок 1. Схема кластера
На всех узлах стенда установлена операционная система Microsoft Windows 2003 Enterprise Edition SP1 (сервер Falconstor может работать и на Microsoft Windows 2003 Standard Edition).
На сервере iscsi-serv.icluster.local запущены службы Active Directory и DNS, а также установлено программное обеспечение iSCSI Storage Server FalconStor Software Version: 2.01-417. На этом сервере должно быть неразмеченное дисковое пространство, которое будет использоваться программным обеспечением iSCSI Storage Server для создания разделяемых дисковых ресурсов.
Расмотрим настройки сетевых интерфейсов (все адреса статические, пустые настройки удалены).
iscsi-serv.icluster.local:
Windows IP Configuration
Host Name . . . . . . . . . . . . : iscsi-serv
Primary Dns Suffix . . . . . . . . : icluster.local
DNS Suffix Search List . . . . . . : icluster.local
Ethernet adapter Node2 iscsi connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection #3
IP Address. . . . . . . . . . . . : 192.168.130.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Ethernet adapter Node1 iscsi connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection #2
IP Address. . . . . . . . . . . . : 192.168.129.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Ethernet adapter Public Connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection
IP Address. . . . . . . . . . . . : 192.168.128.10
Subnet Mask . . . . . . . . . . . : 255.255.255.0
DNS Servers . . . . . . . . . . . : 127.0.0.1
|
node1.icluster.local:
Windows IP Configuration
Host Name . . . . . . . . . . . . : node1
Primary Dns Suffix . . . . . . . . : icluster.local
DNS Suffix Search List . . . . . . : icluster.local
Ethernet adapter iSCSI Server Connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection
IP Address. . . . . . . . . . . . : 192.168.129.11
Subnet Mask . . . . . . . . . . . : 255.255.255.0
DNS Servers . . . . . . . . . . . : 192.168.128.10
Ethernet adapter Public Cluster Connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection #2
IP Address. . . . . . . . . . . . : 192.168.128.50
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IP Address. . . . . . . . . . . . : 192.168.128.11
Subnet Mask . . . . . . . . . . . : 255.255.255.0
DNS Servers . . . . . . . . . . . : 192.168.128.10
Ethernet adapter Private Cluster Connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection #3
IP Address. . . . . . . . . . . . : 192.168.127.11
Subnet Mask . . . . . . . . . . . : 255.255.255.0
DNS Servers . . . . . . . . . . . : 192.168.128.10
|
node2.icluster.local:
Windows IP Configuration
Host Name . . . . . . . . . . . . : node2
Primary Dns Suffix . . . . . . . . : icluster.local
DNS Suffix Search List . . . . . . : icluster.local
Ethernet adapter Private Cluster Connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection #3
IP Address. . . . . . . . . . . . : 192.168.127.13
Subnet Mask . . . . . . . . . . . : 255.255.255.0
DNS Servers . . . . . . . . . . . : 192.168.128.10
Ethernet adapter iSCSI Server Connection(1):
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection
IP Address. . . . . . . . . . . . : 192.168.130.13
Subnet Mask . . . . . . . . . . . : 255.255.255.0
DNS Servers . . . . . . . . . . . : 192.168.128.10
Ethernet adapter Public Cluster Connection:
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Dual Port Network Connection #2
IP Address. . . . . . . . . . . . : 192.168.128.13
Subnet Mask . . . . . . . . . . . : 255.255.255.0
DNS Servers . . . . . . . . . . . : 192.168.128.10
|
Установка и настройка ПО FalconStor iSCSI Storage Server
В процессе установки данного ПО запускается мастер. Для завершения процедуры инсталляции достаточно ответить на несколько простых вопросов. Взаимодействие с сервером происходит через управляющую консоль FalconStor iSCSI Storage Server (см. рис. 2).
Рисунок 2. Управляющая консоль FalconStor iSCSI Storage Server
Первое, что нужно сделать, – это ввести лицензии в меню «iSCSI Storage Server -> License».
Далее нам потребуется создать два разделяемых ресурса. Первый дисковый ресурс под кворумный раздел должен иметь размер 200 Мб (требования к размеру кворумного раздела можно найти на сайте Microsoft). Второй дисковый ресурс размером 10 Гб будет содержать данные. Названия ресурсов – Quorum и Data соответственно.
Создание логических дисков выполняется через контекстное меню «iSCSI Storage Server -> Logical Units and Groups -> New Logical Unit». Результаты создания логических дисков можно увидеть на рис. 3.
Рисунок 3. Логические диски
При создании двухузлового кластера настройка дисковых устройств, пулов и групп не требуется, так что здесь можно оставить настройки по умолчанию.
Но нам потребуется определить узлы и параметры доступа дисковых ресурсов – это делается через контекстное меню «iSCSI Storage Server -> Hosts -> New Host». Определение узлов достаточно простое, единственный момент, на который хотелось бы обратить внимание, – это задание адресов портала. Он проиллюстрирован на рис. 4.
Рисунок 4. Определение адресов доступа к порталу
Адреса порталов определяем согласно таблице 1.
Таблица 1. Адреса порталов
Имя узла
|
IP-адрес портала
|
node1.icluster.local
|
192.168.129.10
|
node2.icluster.local
|
192.168.130.10
|
В итоге мы должны получить в управляющей консоли два узла, определить адреса доступа к порталу iSCSI Storage Server, настроить авторизацию и уровни доступа к дисковым ресурсам, как показано на рис. 5.
Рисунок 5. Определение узлов в управляющей консоли
На тестовом стенде я не стал настраивать авторизацию и указал «анонимный» уровень доступа к порталу (см. рис. 6).
Рисунок 6. Определение уровня доступа к дисковым ресурсам портала
В разделе определения логических дисков на вкладке «Logical Unit» можно определить уровни доступа к дисковым ресурсам портала. Их всего четыре: No Access, Read, Read/Write Exclusive, Read/Write Non-Exclusive. Для создания кластера нам понадобится доступ к дисковым ресурсам на запись и чтение с двух узлов, поэтому здесь следует выбрать неэксклюзивный режим (см. рис. 7).
Рисунок 7. Авторизация доступа к порталу
Установка и настройка ПО Microsoft iSCSI Initiator
Настройка узлов системы происходит немного сложнее, потому остановлюсь на ней более подробно.
Скачайте файл Initiator-2.03-build3099-x86fre.exe (или более новую версию) с сайта www.microsoft.com и установите продукт на каждый узел. Если вы не собираетесь использовать несколько каналов для доступа к дисковым ресурсам, то опцию multipath можно отключить. В противном случае оставьте настройки по умолчанию. После установки переходите к свойствам iSCSI Initiator. На вкладке «iSCSI Initiator Properties -> Discovery» добавьте IP-адрес iSCSI Storage Server, как показано на рис. 8.
Рисунок 8. Определение адреса портала
Нажмите кнопку «Advanced» и определите параметры локального адаптера и источника (см. рис. 9).
Рисунок 9. Задание дополнительных параметров инициатора
На вкладке «Targets» нажмите кнопку «Log on», отметьте опцию «Automatically restore this connection when the system boots» для восстановления доступа к дисковым ресурсам после перезагрузки системы (см. рис. 10).
Рисунок 10. Указание восстановления доступа к дисковым ресурсам портала
Затем нажмите кнопку «Advanced…» и определите три параметра: Local Adapter, Source IP и Target Portal, как показано на рис. 11.
Рисунок 11. Определение дополнительных параметров инициатора
В итоге получаем настройки, которые отображены в таблице 2.
Таблица 2. Настройки узлов
Имя параметра
|
Node1
|
Node2
|
Target Portal (IP address)
|
192.168.129.10/3260
|
192.168.130.10/3260
|
Local Adapter
|
Microsoft iSCSI Initiator
|
Microsoft iSCSI Initiator
|
Source IP
|
192.168.129.11
|
192.168.130.13
|
Настройки для второго узла аналогичны и отличаются только в адресах.
После настройки ПО следует проверить доступность дисковых ресурсов на каждом из узлов кластера. Затем можно приступать к установке Microsoft Cluster Service. Этот процесс не сложен и описан во многих статьях, поэтому я не буду останавливаться на нем подробно, но отмечу два момента:
- Первое: для корректного функционирования приложений в Cluster Service желательно создать кластерный ресурс Microsoft Distributed Transaction Coordinator.
- Второе: сетевые адаптеры, используемые для доступа к дисковым ресурсам сервисом iSCSI Storage Server, желательно исключить из обслуживания Cluster Service, как показано на рис. 12.
Рисунок 12. Управляющая консоль кластера
Настройка резервных путей
Как уже говорилось ранее, ПО FalconStor iSCSI Storage Server поддерживает настройку резервных путей к дисковым ресурсам. Это позволяет избежать потери доступа к дисковому ресурсу в случае обрыва одного из каналов связи либо увеличить пропускную способность канала в случае корректной работы всех его составляющих.
Установите на дисковом сервере новый сетевой адаптер и настройте его IP-адрес. Через управляющую консоль FalconStor iSCSI Storage Server в свойствах узла на вкладке «Portals» добавьте сетевой ресурс, как было показано на рис. 4.
На узле необходимо сделать следующие изменения: «iSCSI Initiator Properties -> Targets -> Details -> Connections». Здесь надо добавить вторую запись для «Source Portal -> Target Portal -> Add -> Advanced»:
Source = 192.168.131.11
Target = 192.168.131.10
После этого проверьте доступность дискового ресурса. При желании можно даже протестировать отказоустойчивость, выдернув сетевой кабель.
Выводы
Процедура создания кластера на базе продукта FalconStor iSCSI Storage Server достаточно проста. Мастера установки помогают определить большое количество параметров. «Ручная доводка» требуется лишь при создании резервных путей, определении прав доступа и авторизации.
Я попробовал оценить производительность дисковой подсистемы на получившемся тестовом стенда с помощью программного обеспечения IOmeter. В рамках проведенного теста производительность на операциях линейного чтения была ограничена пропускной способностью канала, как в случае использования одного, так и в случае двух каналов.
Прирост скорости операции записи и чтения при использовании двух каналов связи с дисковыми ресурсами iSCSI Storage Server составил порядка 70-80%.
Хочется выразить огромную благодарность Андрею Иванову за его комментарии к статье и полезные советы по настройке стенда.
- Русскоязычный сайт, посвященный ПО Falconstor – http://www.falconstor.ru.
- ПО для тестирования производительности дисковой системы – http://www.iometer.org.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|