HP LeftHand – о главных «зачем» и «как»

22 апрель, 2010 - 10:12Андрей Зубинский

Ландшафт области систем хранения данных (СХД) в силу специфики трудно назвать и хорошо известным неспециалистам, и неизменным. А ориентирование на незнакомой, да еще и меняющейся на глазах местности – задача не из простых. Естественно, в рамках журнальных статей невозможно повторить ни фундаментальный курс подготовки специалиста, ни хорошо детализированную «карту местности». Но спасти от пугающей terra incognita – вполне возможно.

HP LeftHand – о главных «зачем» и «как»
Два устройства модели P4300 семейства HP LeftHand P4000 – инсталляция, достаточная для построения минимальных отказоустойчивого локального кластера или распределенной катастрофоустойчивой системы.

К значимым изменениям ландшафта мира СХД можно отнести недавнее формирование одной из лидирующих ИТ-компаний, Hewlett-Packard, единой серии систем хранения данных StorageWorks Px000. Сразу попробуем раскрыть суть ни о чем не говорящего буквенно-цифрового индекса. Обратим внимание на символ «x», традиционно обозначающий поле для подстановки. В качестве неформального принципа навигации по области карты СХД, занятой Hewlett-Packard, можно предложить следующее соотношение четных чисел с понятиями: x = 2 (P2000) – развитые дисковые массивы для систем начального и среднего уровня, x = = 4 (P4000) – кластерные СХД, позволяющие строить масштабируемые распределенные системы, x = 6 (или 8) – пока ожидающееся пополнение арсенала для решения задач хранения данных корпоративного уровня. И сразу же заметим, что не стоит обольщаться простотой этого соотношения – на самом деле неформальные правила позволяют использующим их невнимательно разве что не теряться в растерянности, а уверенно заблудиться. Потому, хоть это и выходит за рамки статьи, следует упомянуть, например, о том, что при использовании префикса «X» в буквенно-цифровом индексе правило «работает», но означает перемещение буквально в область запредельных параметров (так, XP20000, и тем более XP24000, тоже являются дисковыми массивами, но фактически суперкомпьютерной архитектуры, основанной на сверхпроизводительной системной шине – матричном коммутаторе). И, естественно, напомнить об относительности описания масштабов – и «начальный», и «средний уровень», и «масштабируемые распределенные системы» на самом деле означают весьма размытые диапазоны.

Мы сконцентрируем внимание на линейке серии Px000, перекрывающей самый широкий диапазон масштабов и отвечающей фактически всем возможным требованиям средних и выше среднего компаний украинского бизнеса – P4000. В полном названии систем этой линейки используется слово LeftHand – сохраненное HP имя компании, приобретение которой было завершено в прошлом году. К слову, это приобретение незначительно сказалось на персоналиях ландшафта СХД – основатель LeftHand Билл Чемберс сейчас является вице-президентом одноименного подразделения HP (история Билла Чемберса весьма примечательна – по образованию механик, начавший карьеру в Texas Instruments, прошедший через одну из самых известных станкостроительных фирм мира – японскую Fanuc, не только нашел свою уникальную нишу в весьма специфическом секторе ИТ, но еще и собственным успехом продемонстрировал одно из возможных решений проблемы «монетизации Open Source программного обеспечения»).

Так как статья носит сугубо ознакомительный характер, мы начнем с ответов на самые главные вопросы: для решения каких задач подходит HP LeftHand P4000 и зачем вообще решать подобные задачи? Здесь, как ни странно, все довольно просто. Основные три задачи, стоящие перед любыми эксплуатационными подразделениями любой отрасли деятельности, – эффективное использование имеющихся ресурсов, обеспечение возможности их наращивания в соответствии с растущими потребностями и гарантирование сохранности этих ресурсов при (в идеале) любых изменениях окружающего мира. Зачем их решать – очевидно. Но, как обычно, такие простые в постановке взаимосвязанные задачи на деле сводятся к одной, которую принято называть оптимизацией с противоречивыми критериями, где улучшение одного показателя обычно приводит к ухудшению другого. Для простоты мы будем рассматривать такие задачи по отдельности и сначала сконцентрируемся на первых двух.

В системах хранения данных основной ресурс – дисковое пространство. Задача его эффективного использования сама по себе является непростой. Специфика этого ресурса такова, что его у вас есть ровно столько, сколько есть, даже если вам столько не надо, и при этом вам придется его увеличивать не ровно на столько, сколько вам надо, а на сколько это позволяется независимыми от вас условиями. Даже когда речь идет о единичных персональных накопителях, решение этой проблемы имеет определенную стоимость – вы не можете добавить всего 10 MB недостающего дискового пространства, а только такую емкость, которую предлагает доступный на рынке накопитель минимальной емкости. Когда же идет речь о разделяемых между многими пользователями системах хранения масштаба даже небольшой компании, к стоимости накопителей добавляются эксплуатационные расходы (электроснабжение, охлаждение etc), затраты на обслуживание всех необходимых процедур и т. п. И совершенно не важно, что реально использовались всего 700 ГБ из 1 ТБ дискового пространства – если новому пользователю выделяется 400 ГБ для развертывания персональной файловой системы, для него придется добавлять еще один физический накопитель емкостью или 500 ГБ, или 1 ТБ. HP LeftHand P4000 предлагает одно из возможных решений этой проблемы фактически за счет повышения уровня абстракции дискового накопителя, иными словами – за счет виртуализации. С помощью системного ПО самый проблемный низкий уровень физических дисков скрывается под абстракцией логических томов, доступных пользователям как обычные SCSI-накопители, но с важным отличием – логический том заданной емкости требует не такой же емкости физического дискового пространства, а объема, незначительно большего реально хранящихся на нем данных. Естественно, в ходе работы пользователя c логическим диском-томом размеры нужного физического дискового пространства будут изменяться, и предусмотрены все механизмы, не просто предохраняющие физические накопители от переполнения, но и своевременно (с упреждением) оповещающие о необходимости повышения емкости физического дискового пространства для обеспечения нормальной работоспособности всей системы. В терминах HP LeftHand такая технология называется «тонким управлением выделением ресурсов» (Thin Provisioning), благодаря ей человек или программная система получает в распоряжение логический накопитель емкостью 100 ГБ, реально использует 20 ГБ его пространства и практически столько же – физического дискового пространства. Раз уж было сказано о виртуализации и обеспечении доступа к виртуальным томам как к SCSI-накопителям, то, очевидно, речь идет об iSCSI – технологии, обеспечивающей еще один уровень абстракции и «прячущей» в стандартных сетевых протоколах TCP/IP команды интерфейса SCSI (на уровне системного ПО клиентских машин это, к слову, означает существенное упрощение сопровождения – драйверы, iSCSI initiators, фактически унифицированы и легально бесплатны, а на серверном уровне – полную независимость от клиентских файловых систем).

Вторая поставленная задача – обеспечение возможности наращивания ресурса (дискового пространства) в соответствии с растущими потребностями. Для ее решения используется как прием увеличения количества физических накопителей, так и менее очевидные, уникальные для применяемого в кластерных СХД подхода, способы. Первый прием, естественно, имеет свои ограничения. Любой компьютер устанавливает ему пределы, определенные как архитектурой, так и конструктивом. Иными словами – дело даже не в том, что количество контроллеров дискового ввода-вывода любого компьютера не может быть большим, чем дозволено полосой пропускания системной шины и способами адресации устройств, а еще и в том, что в определенном объеме можно разместить не так много потребляющих энергию (и потому часть ее преобразующих в тепло) физических накопителей. При проектировании аппаратных средств HP LeftHand P4000 использованы все традиционные приемы, позволяющие снизить влияние перечисленных факторов до уровней, при которых они не должны помешать нормальному функционированию (в частности, сверхвысокий КПД источников питания, резервированная подсистема вентиляции и конструктив, обеспечивающий требуемые потоки и объемы охлаждающего воздуха). Эти экстенсивные меры позволяют в одном устройстве семейства HP LeftHand P4000 устанавливать до 12 физических накопителей.

Собственно, на этой вводной части, посвященной решению первой и, частично, второй задач, заканчиваются самые простые «для всех» особенности HP LeftHand. Начинается сугубо специфическая область систем хранения данных, при ознакомлении с которой мы будем придерживаться такого же принципа следования от постановки задачи к ее реализации.

Перейдем к третьей задаче гарантирования сохранности доступных ресурсов. Так как одна из главных функций HP LeftHand P4000 – создание абстрактных логических томов, будем рассматривать использованные для решения третьей задачи способы снизу вверх. На уровне физических накопителей, кроме уже перечисленных экстенсивных мер (они, что очевидно, являются необходимыми и для гарантирования сохранности дискового пространства), используется программно-аппаратная поддержка массивов избыточных дисков RAID с защитой выделенной дисковой кэш-памяти от сбоев питания и возможностью их «горячей» замены. Это – приемы традиционные. А теперь, прежде чем подняться на уровень выше, наконец взглянем на устройства семейства HP LeftHand P4000 в целом и глазами инженера. Мы ведем речь об оптимизированных для решения задач из области хранения данных и оснащенных адекватной периферией x86-компьютерах, работающих под управлением специфического системного ПО – HP StorageWorks SAN/iQ. Иными словами – это достойно сделанные машины из де-факто стандартного для современных кластерных систем класса commodity hardware (существенным отличием можно считать разве что наличие iLO2, отдельного, располагающего собственным процессором и сетевым интерфейсом независимого от системного ПО контроллера удаленного управления системой – обязательного атрибута всех серьезных серверов). Поэтому самое интересное в них содержит, естественно, программная составляющая. SAN/iQ – весьма специфическая ОС с набором уникальных сервисов и отдельным платформенно-независимым клиентским ПО для решения задач удаленного администрирования, созданная на основе модифицированного ядра ОС Linux. Именно она отвечает за формирование тех высокоуровневых способностей HP LeftHand P4000, которые выводят устройства этого семейства далеко за пределы обычных дисковых массивов с iSCSI-интерфейсом. Потому что формирует еще несколько уровней абстракции, находящихся между видимыми пользователям логическими томами и невидимыми физическими накопителями. В первую очередь – абстракцию узла сети хранения данных (storage node). Итак, возвращаемся к третьей задаче, к ее решению на уровне абстракции логических томов. Из уже известного очевидно следует, что за каждым логическим томом HP LeftHand P4000 «прячет» защищенные избыточностью на уровне физических накопителей фрагменты дискового пространства. Это неинтересно, потому что так и должно быть. Но стоит опуститься на уровень ниже – начинается самое увлекательное. Минимальный кластер СХД HP LeftHand, раз уж он кластер, должен содержать два узла хранения данных. Поэтому возникает ряд законных вопросов. Во-первых, где именно (т. е. на каком узле) размещается записываемый пользователем в свой логический том некоторый блок данных? Ответ на него зависит от выбранной администратором кластера дополнительной степени гарантирования сохранности доступных ресурсов. Ею можно вообще пренебречь – в этом случае ничего принципиально нового в решении третьей задачи не добиться. Но HP LeftHand предлагает на этом уровне абстракции несколько вариантов тиражирования (synchronous replication) каждого блока данных. Самый простой вариант тираживания двух копий (2-way replication) предусматривает одновременную запись каждого блока данных и его копии на два разных узла хранения данных. Если в кластере более двух узлов, каждый следующий блок записывается на следующем узле, соответственно и его копия помещается на другой узел. Когда доходит очередь до последнего узла кластера, процесс повторяется с первого. В результате блоки данных и их копии невидимо для пользователя оказываются «разбросанными» по узлам кластера таким образом, что при выходе из строя одного узла данные на логическом томе не будут потеряны и вся СХД отработает такую ситуацию фактически в реальном времени. Кроме защиты от выхода из строя одного узла кластера, HP LeftHand позволяет реализовать тиражирование трех и четырех копий (3-way и 4-way replication соответственно). Естественно, логика работы механизма тиражирования требует числа узлов кластера, равного или большего количества копий (например, тиражирование четырех копий, 4-way replication, требует как минимум четырех узлов) и обеспечивает гарантированную работоспособность всей СХД при выходе из строя числа узлов, равного количеству копий минус один. Итак, вспомним недавнее неинтересное – тот факт, что на уровне физических дисков от их выхода из строя пользователя логического тома защищает программно-аппаратный RAID, и добавим к этому защиту избыточностью на уровне узлов кластера, называемую в терминах HP LeftHand – Network RAID (nRAID). Получаем иерархическую систему защиты фактически от всех неприятностей, которые могут случиться с локально развернутым кластером. При этом подсистемы SAN/iQ на лету решают задачи оптимизации последовательных операций чтения, снижают количество самых медленных дисковых операций – поиска (seek) и даже такую болезненную задачу, как дефрагментация, выполняют без отключения доступа к логическим томам. Платой же за столь высокие уровни защиты и удобств, кроме очевидных материальных затрат на приобретение узлов и развертывание кластера, являются неизбежный рост расхода физического дискового пространства и снижение производительности операций записи при увеличении количества копий тиражирования. И все же от одной неприятности и такой уровень защиты ресурсов не спасает – от выхода из строя всего кластера разом. Это уже то, что принято называть катастрофой. Защита системы от «неисправностей» подобного рода обеспечивается механизмами асинхронного удаленного тиражирования, основанного на работе еще одной подсистемы SAN/iQ – механизма моментальных копий (snapshots). Благодаря ему состояние (содержимое) логических томов можно представлять в виде последовательностей зафиксированных состояний. Или, иными словами, определенным зафиксированным начальным состоянием и последовательностью его изменений. Таким образом, вместо монолитного «куска» байтов получается дерево, в узлах которого располагаются «кусочки». Логика восстановления оригинального «куска» из них в SAN/iQ чрезвычайно развита – здесь учитываются не только соседние, «близкородственные» узлы дерева, но и «дальние родственники», что позволило реализовать дающий очень высокий прирост производительности алгоритм «копирования при записи» (тот самый COW, благодаря которому так хорошо работает системный вызов fork() в UNIX-подобных ОС). Вторая положительная сторона механизма моментальных копий – возможность удаленного асинхронного тиражирования на уровне логических томов, ведь небольшие «кусочки» куда проще передавать на большие расстояния, чем целые копии томов. Именно благодаря этому механизму SAN/iQ позволяет создавать и поддерживать в актуальном состоянии удаленные копии логических томов посредством сетей со временем между отправкой запроса и получением ответа (round-trip) 2 мс. А эти удаленные копии (которые, к слову, как и практически все дисковые ресурсы в SAN/iQ также подчиняются принципу тонкого управления выделением ресурсов Thin Provisioning) и являются гарантией сохранности главного ресурса – данных – при катастрофических «неполадках».

Вне нашего внимания остался один очевидный момент – раз мы говорим iSCSI, то говорим и о сети. И о неизбежных нюансах. Во-первых, загрузку разделяемых по сети узлов кластера надо равномерно распределять. Во-вторых, при выходе из строя одного из узлов его функции надо перекладывать на функционирующие. Эти функции выполняются подсистемами SAN/iQ автоматически и в реальном времени. Один из узлов кластера при конфигурировании системы назначается на роль «очень важной персоны» VIP (на самом деле – Virtual IP). В этой роли он снабжает клиентов (iSCSI initiators) адресами логических томов (т. е. является iSCSI-порталом) и распределяет загрузку остальных узлов кластера. В случае выхода из строя функции VIP автоматически «подхватываются» другим узлом кластера. В сетевом контексте весьма интересны механизмы эффективной утилизации возможностей нескольких сетевых карт подсистемами SAN/iQ (например, при использовании одного MAC-адреса), но они выходят за рамки журнальной статьи, достаточно упоминания о их существовании.

К не совсем техническим, но очень важным вопросам относится приспособленность далеко не всех перечисленных возможностей к освоению техническим персоналом. Здесь SAN/iQ, можно сказать, является эталоном среди специализированного системного ПО. Пользовательский интерфейс клиентского ПО настолько прост и лишен «вычурностей», что если администратор имеет представление о базовых понятиях системы, похоже, никаких сложностей управление ей не составит.

Завершить данный обзор следует разве что упоминанием о производительности. Автор располагает независимыми ее оценками, но это как раз тот случай, когда лучше просто посмотреть по сторонам, чем привести какие-то цифры. Вопреки некогда бытовавшим опасениям iSCSI СХД демонстрируют более чем неплохие показатели, что подтверждается и количеством, и масштабами уже развернутых и эксплуатирующихся систем. Единственное «но» – проектирование сетевой части таких систем должно быть выполнено на самом высоком профессиональном уровне. Неудачная топология сети, ошибки в оценках пропускной способности, несоответствующее требованиям сетевое оборудование – все это непременно скажется на производительности системы в целом.

Мнение эксперта

За мнением эксперта мы обратились в компанию Integrity Systems, являющуюся единственным в Украине Золотым партнером HP со специализацией StorageWorks Solutions.

Евгений Войтович, ведущий специалист Integrity Systems по системам хранения данных: «Говоря о СХД HP LeftHand, хотелось бы отметить, что это не просто система хранения на базе iSCSI. Дело в том, что этому продукту не свойственно ограничение традиционных iSCSI-систем, производительность которых ограничивается возможностями одного или двух контроллеров, поэтому по мере увеличения количества дисков и полок она не может расти выше определенного максимума. Здесь же все наоборот: при увеличении числа узлов кластера наращиваются и пропускная способность, и хранимый объем данных. Именно поэтому потенциал СХД HP LeftHand значительно выше, чем у традиционных систем хранения iSCSI. Отсюда и ее позиционирование, включающее работу с такими требовательными приложениями, как виртуализация, почта и базы данных, а не только выполнение функций недорогого файлового хранилища, каковыми являются обычные iSCSI СХД. Также хотелось бы отметить уникальные возможности HP LeftHand, которые не присущи системам хранения такого уровня от других производителей. Это прежде всего «бесплатная» репликация, позволяющая организовывать катастрофоустойчивые решения без дополнительных затрат. Наверняка у заказчиков вызовут интерес и технология Thin Provisioning, и сверхвысокая надежность решений на базе HP LeftHand, ведь благодаря ей вы обойдетесь без запланированных простоев при обслуживании системы».