• Звонок по России бесплатный 8 800 200-59-60
  • Москва +7 (495) 232-92-30
  • Санкт-Петербург +7 (812) 327-59-60
  • Екатеринбург +7 (343) 378-41-50

Пресс-центр

Falconstor iSCSI Cluster

Вступление

Речь в этой статье пойдет об одной из технологий, которая позволяет создать интеллектуальную открытую инфраструктуру сетевых систем хранения данных на базе продукта 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 (в т.ч. и вместе с подключенными системами хранения); построение катастрофоустойчивых решений.

Обо всех особенностях данной технологии — подробную информацию вы сможете найти по ссылке, приведенной в конце статьи.

Описание стенда

Для построения кластера на платформе FalconStor iSCSI Storage Server нам понадобятся три сервера. Первый будет выполнять роль контроллера домена и разделяемого дискового ресурса. Два других сервера будут выступать в роли участников домена, и на них мы развернем отказоустойчивый кластер.

Схема будет выглядеть следующим образом:

На всех узлах стенда установлена операционная система 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 для создания разделяемых дисковых ресурсов.

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

Настройки сетевых интерфейсов (все адреса статические, пустые настройки удалены).

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.

Управляющая консоль FalconStor iSCSI Storage Server

Первое, что нужно сделать — это ввести лицензии в меню iSCSI Storage Server License. Далее нам потребуется создать два разделяемых ресурса. Первый дисковый ресурс под кворумный раздел должен иметь размер 200МБ (требования к размеру кворумного раздела можно найти на сайте Майкрософт). Второй дисковый ресурс размером 10ГБ будет содержать данные. Названия ресурсов — Quorum и Data соответственно.

Создание логических дисков выполняется через контекстное меню iSCSI Storage Server Logical Units and Groups New Logical Unit. Результаты создания логических дисков можно увидеть здесь.

При создании двухузлового кластера настройка дисковых устройств, пулов и групп не требуется, так что здесь можно оставить настройки по умолчанию. Но нам потребуется определить узлы и параметры доступа дисковых ресурсов — это делается через контекстное меню iSCSI Storage Server Hosts New Host. Определение узлов достаточно простое, единственный момент, на который хотелось бы обратить внимание — это задание адресов портала. Он проиллюстрирован на рисунке

Адреса порталов определяем согласно этой таблицы:

Имя узла IP адрес портала
node1.icluster.local 192.168.129.10
node2.icluster.local 192.168.130.10

В итоге мы должны получить в управляющей консоли два узла, определить адреса доступа к порталу iSCSI Storage Server, настроить авторизацию и уровни доступа к дисковым ресурсам, как показано на рисунке:

Определение узлов в управляющей консоли

На тестовом стенде я не стал настраивать авторизацию и указал "анонминый" уровень доступа к порталу (см. рис. X)

Авторизация доступа к порталу

В разделе определения логических дисков на вкладке Logical Unit можно определить уровни доступа к дисковым ресурсам портала. Их всего четыре: No Access, Read, Read/Write Exclusive, Read/Write Non-Exclusive. Для создания кластера нам понадобится доступ к дисковым ресурсам на запись и чтение с двух узлов, поэтому здесь следует выбрать неэксклюзивный режим (см. рис. Y)

Определение уровня доступа к дисковым ресурсам портала

Установка и настройка ПО Microsoft iSCSI Initiator

Настройка узлов системы происходит немного сложнее, потому остановлюсь на ней более подробно.

Скачайте файл Initiator-2.03-build3099-x86fre.exe (или более новую версию) с сайта microsoft.com и установите продукт на каждый узел. Если вы не собираетесь использовать несколько каналов для доступа к дисковым ресурсам, то опцию multipath можно отключить. В противном случае оставьте настройки по умолчанию. После установки переходите к свойствам iSCSI Initiator. На вкладке iSCSI Initiator Properties Discovery добавьте IP-адрес iSCSI Storage Server, как показано на рисунке — определение адреса портала

Нажмите кнопку Advanced и определите параметры локального адаптера и источника:

Задание дополнительных параметров инициатора

На вкладке Targets нажмите кнопку Log on, отметьте опцию Automatically restore this connection when the system boots для восстановления доступа к дисковым ресурсам после перезагрузки системы:

Указание восстановления доступа к дисковым ресурсам портала

Затем нажмите кнопку Advanced… и определите три параметра: Local Adapter, Source IP и Target Portal, как показано на рисунке:

Определение дополнительных параметров инициатора

В итоге получаем следующие настройки:

Имя параметра 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. Этот процесс достаточно прост и описан во многих статьях, поэтому я не буду останавливаться на нем подробно, но отмечу два момента:

  1. Для корректного функционирования приложений в Cluster Service желательно создать кластерный ресурс Microsoft Distributed Transaction Coordinator.
  2. Сетевые адаптеры, используемые для доступа к дисковым ресурсам сервисом iSCSI Storage Server желательно исключить из обслуживания Cluster Service, как показано на рисунке

Управляющая консоль кластера

Настройка резервных путей

Как уже говорилось ранее, ПО FalconStor iSCSI Storage Server поддерживает настройку резервных путей к дисковым ресурсам. Это позволяет избежать потери доступа к дисковому ресурсу в случае обрыва одного из каналов связи, либо увеличить пропускную способность канала в случае корректной работы всех его составляющих.

Установите на дисковом сервере новый сетевой адаптер и настройте его IP-адрес. Через управляющую консоль FalconStor iSCSI Storage Server в свойствах узла на вкладке Portals добавьте сетевой ресурс, как было показано на рисунке «определение адресов доступа к порталу».

На узле необходимо сделать следующие изменения:

iSCSI Initiator Properties Targets Details Connections:
Здесь надо добавить вторую запись для Source PortalTarget Portal
Add Advanced:
Source = 192.168.131.11
Target = 192.168.131.10

После этого проверьте доступность дискового ресурса. При желании можно даже протестировать отказоустойчивость, выдернув сетевого кабеля.

Выводы

Процедура создания кластера на базе продукта FalconStor iSCSI Storage Server достаточно проста. Мастера установки помогают определить большое количество параметров. "Ручная доводка" требуется лишь при создании резервных путей, определении прав доступа и авторизации.

Я попробовал оценить производительность дисковой подсистемы на получившемся тестовом стенда с помощью программного обеспечения IOmeter. В рамках проведенного теста производительность на операциях линейного чтения была ограничена пропускной способностью канала, как в случае использования одного, так и в случае двух каналов. Прирост скорости операции записи и чтения при использовании двух каналов связи с дисковыми ресурсами iSCSI Storage Server составил порядка 70-80%. Обычно, когда речь заходит о результатах тестирования, указывают условия его проведения (программу — это есть, названия конкретных тестов, настройки). Думаю, графики тоже не помешали бы.

Ссылки и благодарности

Хочется выразить огромную благодарность Андрею Иванову, моему коллеге из московского офиса Тринити, за его комментарии к данной статье и особо полезные советы по настройке стенда.

Впрочем, я бы не взялся за его создание, если бы мой коллега не уехал в отпуск и не оставил мне свою работу. Поэтому статья, которую вы только что дочитали, обязана своим рождением двум людям: мне и решившему вовремя отдохнуть Сергею Селезневу.

Несколько полезных ссылок

Один из лучших технический форумом в российском интернете
http://www.3nity.ru
 
ПО для тестирования производительности дисковой системы
http://www.iometer.org/

Геннадий Дмитриев,
Технический директор ЗАО «Тринити Урал»
февраль 2008 года.

Система Orphus