Технологии коммутации в сетях хранения данных
Современные информационные системы можно представить в виде совокупности трех основных компонентов: систем хранения данных, серверов и вспомогательных систем ввода/вывода. Евгений Патий
🕛 22.11.2005, 01:13
Современные информационные системы можно представить в виде совокупности трех основных компонентов: систем хранения данных, серверов и вспомогательных систем ввода/вывода. Если еще несколько лет назад столь строгое разделение выглядело экзотикой, то сегодня это уже привычное положение вещей и даже необходимость. В самом деле, нагрузка в средней информационной системе вполне позволяла объединить сервер и систему хранения данных в единое целое, хотя такая точка зрения уместна лишь "с высоты прожитых лет".Иначе говоря, сначала не было и речи, чтобы разделить такие, казалось бы, неразрывно связанные блоки, как собственно сервер (процессор, чипсет, память и вся соответствующая серверная обвязка) и его дисковый массив. Понимание оправданности разделения этих объектов на мейнстрим-уровне пришло позже, когда объемы данных возросли в геометрической прогрессии и продолжают расти. В принципе, размещение дискового массива внутри сервера вполне оправдано в некоторых ситуациях и сегодня, однако отрицать устойчивую тенденцию четкого разделения этих узлов было бы неправильно.
Для понимания необходимости подхода "разделяй и властвуй" приведем простой пример. Два независимых сервера объединены в локальной сети с несколькими выделенными устройствами хранения данных. Естественно, серверы способны обращаться к любым устройствам, но один из них в данный момент обрабатывает множество клиентских запросов, второму "дышится" несколько легче. В таком случае очередной запрос клиента к первому серверу вполне может быть перенаправлен на второй с аналогичным программным обеспечением, последний, в свою очередь, проведет необходимые операции с данными, размещенными на выделенном сетевом хранилище. Налицо оптимизация процесса.
При очевидных преимуществах данного подхода (в первую очередь, независимость работы сетевого хранилища данных от работы серверов) напрашиваются и вопросы. Ясно, что выделенное сетевое хранилище не может быть организовано простым набором дисков в массив. Требуется некий управляющий блок для оптимизации работы такого устройства - по сути, разновидность компьютера со специализированной операционной системой. А также, что не менее важно, развитые и гибкие методы подключения сетевого хранилища в сеть, ведь может возникнуть ситуация, когда при отличной производительности дисковой подсистемы хранилища доставку данных будет тормозить имеющийся транспорт. В таком случае метод коммутации может стать бутылочным горлышком всей затеи и способен свести на нет преимущества новой организации информационной системы, включающей сетевые хранилища данных.
Проблема очевидна, поэтому сегодня существует несколько вариантов ее решения. Точнее, суть вариантов одна но реализации разные. В рамках данной статьи мы рассмотрим наиболее популярные решения, широко применяющиеся для построения сетей устройств хранения SAN (Storage Area Network): Fibre Channel, Ethernet и InfiniBand.
Fibre Channel
Fibre Channel - это стандарт на последовательные соединения, предназначенные для высокоскоростных коммуникаций согласно топологиям "точка-точка", "кольцо" и "фабрика" между серверами, накопителями, рабочими станциями и концентраторами и коммутаторами. Этот интерфейс практически универсален, он используется не только для подключения отдельных накопителей и хранилищ данных, хотя в данном случае нас интересует именно эта возможность.
Когда в 1988 году американский национальный институт по стандартизации зарегистрировал рабочую группу по разработке "практичного, недорогого и вместе с тем расширяемого метода для высокоскоростного обмена данными между ЭВМ, суперкомпьютерами, рабочими станциями, персональными компьютерами, накопителями и устройствами отображения", мало кто из сторонних наблюдателей верил в успех - слишком уж глобальна и вызывающе звучала постановка задачи. Новый интерфейс, уходящий корнями в мир UNIX, суперкомпьютеров и мейнфреймов, было решено назвать Fiber Channel, но через некоторое время создатели интерфейса вспомнили, что английское слово "fiber" часто ассоциируется с оптоволоконными линиями, поэтому оно было заменено на "fibre". Агрегатная пропускная способность топологий Fibre Channel может достигать порядка Тбит/с. В число предлагаемых сегодня на рынке устройств с поддержкой Fibre Channel входят коммутаторы, концентраторы, подсистемы хранения информации, устройства памяти и адаптеры.
Одним из важных преимуществ Fibre Channel является потенциальная возможность разместить отдельные узлы на большом расстоянии - до 10 км. Из-за строго ограниченной скорости распространения сигнала в носителе удаление узлов друг от друга в любом случае определяет некий лимит на время установления связи на логическом уровне. В случае, когда узлы разнесены на максимально допустимые для Fibre Channel 10 км, на передачу сигнала "туда-обратно" потребуется примерно 60 мкс, прежде чем узлы смогут установить связь и приступить к обмену данными.
Как и большинство стандартов коммутации, Fibre Channel определяет несколько физических и логических уровней. Наиболее низкий в общей иерархии Fibre Channel - физический уровень FC-0. На нем определяются физические характеристики двунаправленного последовательного соединения между точками-портами. В качестве среды распространения сигнала может быть применена классическая витая пара, коаксиальный кабель, а также оптоволоконный проводник. Иначе говоря, FC-0 регламентирует метод передачи полученных с более высокого иерархического уровня двоичных последовательностей данных. Нужно заметить, что именно уровень FC-0 позволяет варьировать скорость обмена данными в диапазоне 250 Мбит/с - 8 Гбит/с, не затрагивая более высокие уровни стандарта Fibre Channel.
Уровень FC-1 определяет протокол передачи и описывает, каким образом представить данные для электрических сигналов уровня FC-0; выполняет задачу соединения между двумя портами и декларирует метод исправления ошибок передачи, если таковые возникнут. На уровне FC-0 с использованием кодирования 8-битные отрезки данных принимают вид 10-битных последовательностей, сбалансированных по количеству нулей и единиц. Каждый байт, подлежащий передаче, преобразуется в четыре возможных комбинации для 10-битного вида, после чего из четырех комбинаций выбираются две наиболее сбалансированные. Существует два правила - не более четырех нулей или единиц подряд и не менее четырех нулей и единиц в 10-битном наборе. Таким образом, из двух 10-битных отрезков FC-0 осуществляет передачу того, первый символ которого отличается от последнего символа предыдущего - алгоритм кодирования выполняет функцию фильтра, значительно облегчая работу приемника. В итоге вероятность возникновения ошибки на переданный бит крайне мала.
Уровень FC-2 называется сигнальным и определяет иерархию посылок для установления связей между работающими через Fibre Channel приложениями. Объекты этого уровня - слова, кадры, пакеты и обмены. Минимальной единицей передачи выглядит слово, но обмен данными между узлами требует упаковки слов в контейнер-кадр. Один или несколько последовательных кадров составляют пакет, который представляет собой однонаправленную посылку от передатчика к приемнику.
Уровень FC-3 необходим для описания общих процедур при наличии двух или более портов в хосте. Последний уровень отображения протоколов FC-4 также является сугубо аппаратным и выполняет задачи преобразования различных протоколов в сигнальные и обратно.
Ethernet
Наиболее перспективной сегодня скоростью самой распространенной сетевой архитектуры принято считать 10 Гбит/с. Это вполне приемлемо с точки зрения использования Ethernet в качестве коммутационной технологии для хранилищ данных.
Существует целый ряд рыночных факторов, которые, по утверждению отраслевых аналитиков, будут способствовать выходу технологии 10-Gigabit Ethernet на первый план. Традиционным стало появление своеобразного альянса компаний-разработчиков, задача которого - продвижение новой сетевой технологии. Не стала исключением и 10-Gigabit Ethernet (официальное наименование стандарта). 10-Gigabit Ethernet Alliance (10 GEA) - организация, в которую входят такие гиганты индустрии, как 3Com, Cisco, Nortel, Intel, Sun, и множество других (всего около восьмидесяти) компаний, была основана еще в 1999 году. Именно этот год принято считать отправной точкой развития десятигигабитного Ethernet.
Если в предшествующих версиях Fast Ethernet или Gigabit Ethernet разработчики позаимствовали отдельные элементы других технологий (FDDI и Fibre Channel соответственно), то спецификации нового стандарта создавались практически с нуля. Кроме того, 10-Gigabit Ethernet ориентирован на крупные транспортные и магистральные сети, например масштаба города, в то время как даже Gigabit Ethernet разрабатывался исключительно для применения в локальных сетях. Стандарт 10-Gigabit Ethernet предусматривает передачу информационного потока на скорости до 10 Гбит/с по одно- и многомодовому оптическому кабелю. В зависимости от среды передачи расстояние может составлять от 65 м до 40 км.
Основная задача проекта "10-Gigabit Ethernet" - расширить возможности протоколов семейства 802.3 для достижения пиковой скорости обмена данными с сохранением совместимости с уже инсталлированной сетевой инфраструктурой.
10-Gigabit Ethernet не является революционной вехой в развитии проводных вычислительных сетей, это всего лишь следующий логический этап после Gigabit Ethernet. Как утверждают разработчики 10-Gigabit Ethernet (или же, в официальных терминах, IEEE 802.3a,e), во главу угла было поставлено соблюдение таких традиций и свойств классического Ethernet "в чистом виде", как эффективность и простота внедрения.
Если логически 10-Gigabit Ethernet - продолжение Fast Ethetnet и Gigabit Ethernet, то на физическом уровне имеются весьма существенные различия. Сети 10-Gigabit Ethernet подразумевают использование оптоволоконных каналов связи, а также только полнодуплексного режима обмена данными, это означает, что необходимость в специальных протоколах обнаружения коллизий автоматически отпадает.
Согласно модели Open Systems Interconnection (OSI) международной организации по стандартам, Ethernet представляет собой протокол второго уровня (Layer 2). 10-Gigabit Ethernet, в свою очередь, использует протокол управления доступом к носителю Media Access Control (MAC) стандарта IEEE 802.3, формат кадра IEEE 802.3, а также минимальный и максимальный размер кадра стандарта IEEE 802.3 - это к вопросу о совместимости.
Предыдущие "вехи" в развитии Ethernet - 1000BASE-X и 1000BASE-T (Gigabit Ethernet) - полностью соответствовали модели Ethernet. Новая технология стала преемником Ethernet в плане расстояния и скорости в связи с использованием волоконных каналов связи и полнодуплексного режима обмена данными. Необходимость в протоколе обнаружения коллизий CSMA/CD ( имевшему смысл применительно к более старым Ethernet-технологиям, в которых предусматривалась возможность использования полудуплексного режима обмена данными) отпала. Во остальном 10-Gigabit Ethernet полностью соответствует канонической модели Ethernet.
Согласно модели Ethernet, физическое устройство (PHYsical layer device, далее PHY), соответствующее первому уровню OSI, соединяет оптоволоконный или медный носитель с уровнем MAC, что соответствует второму уровню OSI. Архитектура Ethernet подразумевает дальнейшее деление объектов PHY на устройства, зависимые от физического носителя (Physical Media Dependent, PMD), и устройства подуровня физического кодирования (Physical Coding Sublayer, PCS). Для примера: оптические приемо-передатчики (трансиверы) - это устройства PMD.
Спецификация стандарта IEEE 802.3a, e определяет два типа устройств PHY - LAN PHY и WAN PHY. WAN PHY обладает расширенным набором возможностей в дополнение к функциям LAN PHY. Грубо говоря, WAN PHY - это PHY, включающий в состав простой недорогой фреймер SONET/SDH, который работает с пропускной способностью, совместимой с полезной пропускной способностью STS-192c/VC-4-64c. WAN PHY - это не интерфейс SONET/SDH, а асинхронный Ethernet-интерфейс.
На стадии проектирования сетей существует возможность выбора из достаточно большого количества стандартов. Имеется широкий круг интерфейсов, технологий, носителей для создания сетевых соединений - Ethernet (100, 1000, 10 000 Мбит/с), OC-12 (622 Мбит/с) и OC-48 (2,488 Гбит/с), SONET (Synchronous Optical Network - синхронная оптическая сеть) или подобная SDH-сеть (Synchronous Digital Hierarchy - синхронная цифровая иерархия), IEEE 802.17 (Resilient Packet Ring).
Как и технология Gigabit Ethernet, 10-Gigabit Ethernet подразумевает поддержку одно- и многомодовых оптоволоконных кабелей. Для одномодового волокна новая технология предоставляет увеличенную "дальнобойность" связи - до 40 км, в отличие от 5 км для Gigabit Ethernet. В любом случае, даже величина 40 км значительно меньше потенциальной дальности распространения сигнала в оптоволоконном кабеле без необходимости регенерации - такой показатель наилучших кабелей составляет несколько тысяч километров.
InfiniBand
InfiniBand - многообещающая разработка, несколько лет назад уверенно заявившая о себе. Это технология инфраструктуры ввода/вывода, упрощающая соединение узлов между собой и увеличивающая пропускную способность соединительных каналов, в частности в устройствах сетевого удаленного хранения данных и в сетевом оборудовании. Упрощение сетевого подключения, снижение задержек, повышение пропускной способности и расширение совместимости, которые приносит с собой архитектура InfiniBand, повышают производительность, надежность и масштабируемость в соответствии с растущими потребностями центров обработки данных.
О том, что технология InfiniBand окончательно утвердилась, косвенно может свидетельствовать факт недавно появившейся официальной поддержки InfiniBand в ядре Linux - а эта операционная система занимает далеко не последнее место на рынке серверов и сетевых хранилищ данных. Однако показательно и то, что в 2002 году компания Microsoft объявила о прекращении дальнейших работ по развитию InfiniBand и приняла решение сфокусировать усилия на гигабитном Ethernet. Проведенный Microsoft опрос партнеров показал, что они заинтересованы в более традиционных решениях, а не в революционных. Многие предпочитают Gigabit Ethernet, так как он отличается от Ethernet только на физическом уровне и может использовать существующую сетевую инфраструктуру, в отличие от InfiniBand, хотя тот и позволяет достигнуть скоростей в несколько раз (а в перспективе и в десятки раз) больших.
Осенью 2000 года организация InfiniBand Trade Association, объединяющая свыше 220 компаний, объявила о выпуске InfiniBand Version 1.0 - первой версии нового скоростного интерфейса. Стандарт описывает архитектуру и спецификации на передачу данных между процессорами и интеллектуальными устройствами ввода/вывода. По сути, InfiniBand призван заменить в серверах шину PCI, обещая более распределенную структуру и большие пропускную способность и гибкость. Главными особенностями данной архитектуры можно назвать последовательный обмен данными, канальную технологию ввода/вывода и матричную топологию. Архитектура InfiniBand должна обеспечить два важных условия конкурентоспособности: возможность увеличения пропускной способности и сокращение времени отклика на обращения. Если подытожить эти сведения, InfiniBand - комбинация сети устройств памяти SAN, коммуникационной сети и шины ввода/вывода.
Сеть InfiniBand представляет собой коммутируемую инфраструктуру с виртуальными каналами связи типа "точка-точка". При этом, ввиду ее изначальной однородности, отсутствуют разделяемые шины и очевидные проблемы с их масштабируемостью. Для повышения отказоустойчивости в сети InfiniBand можно организовать альтернативные пути передачи данных, а подразумеваемые многочисленные подсети InfiniBand объединяются друг с другом с помощью маршрутизаторов. Каждое подключенное к сети устройство имеет канальный адаптер, конечную точку его соединения с коммутатором. Это может быть целевой канальный адаптер (Target Channel Adapter - TCA), предназначенный для устройств, предоставляющих сетевые услуги, или канальный адаптер хост-узла (Host Channel Adapter - HCA), которым предполагается оснащать вычислительные узлы, взаимодействующие с устройствами, поддерживающими InfiniBand.
Адаптеры TCA обеспечивают прямое подключение периферийных устройств к коммутаторам InfiniBand. Это могут быть RAID-массивы, вспомогательные средства резервного копирования, объемные хранилища дата-центров и концентраторы ввода/вывода. Последние оснащены коммутаторами InfiniBand и предназначены для подключения к сети других систем и устройств. В простейшей системе InfiniBand соответствующая технология используется в качестве замены внутренней шины ввода/вывода. При этом адаптер HCA подключается непосредственно к коммутатору, расположенному в шасси концентратора ввода/вывода. Архитектура InfiniBand обеспечивает более высокую скорость передачи данных по сравнению с конкурирующими технологиями - спецификация InfiniBand определяет скорости передачи до 10 Гбит/с и выше.