Системы хранения данных - краткий обзор. Отличия SAN от NAS

20.03.2018

SAS, NAS, SAN: шаг к сетям хранения данных

Вступление

С повседневным усложнением сетевых компьютерных систем и глобальных корпоративных решений мир начал требовать технологий, которые бы дали толчок к возрождению корпоративных систем хранения информации (сторедж-систем). И вот, одна единая технология приносит в мировую сокровищницу достижений в области сторедж невиданное ранее быстродействие, колоссальные возможности масштабирования и исключительные преимущества общей стоимости владения. Обстоятельства, которые сформировались с появлением стандарта FC-AL (Fibre Channel — Arbitrated Loop) и SAN (Storage Area Network), которая развивается на его основе, обещают революцию в дата-ориентированных технологиях компьютинга.

«The most significant development in storage we"ve seen in 15 years»

Data Communications International, March 21, 1998

Формальное определение SAN в трактовке Storage Network Industry Association (SNIA):

«Сеть, главной задачей которой является передача данных между компьютерными системами и устройствами хранения данных, а также между самими сторедж-системами. SAN состоит из коммуникационной инфраструктуры, которая обеспечивает физическую связь, а также отвечает за уровень управления (management layer), который объединяет связи, сторедж и компьютерные системы, осуществляя передачу данных безопасно и надежно».

SNIA Technical Dictionary, copyright Storage Network Industry Association, 2000

Варианты организации доступа к сторедж-системам

Различают три основных варианта организации доступа к системам хранения:

  • SAS (Server Attached Storage), сторедж, присоединенный к серверу;
  • NAS (Network Attached Storage), сторедж, подсоединенный к сети;
  • SAN (Storage Area Network), сеть хранения данных.

Рассмотрим топологии соответствующих сторедж-систем и их особенности.

SAS

Сторедж-система, присоединенная к серверу. Знакомый всем, традиционный способ подключения системы хранения данных к высокоскоростному интерфейсу в сервере, как правило, к параллельному SCSI интерфейсу.

Рисунок 1. Server Attached Storage

Использование отдельного корпуса для сторедж-системы в рамках топологии SAS не является обязательным.

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

К особенностям SAS можно отнести:

  • Доступ к данных зависит от ОС и файловой системы (в общем случае);
  • Сложность организации систем с высокой готовностью;
  • Низкая стоимость;
  • Высокое быстродействие в рамках одной ноды;
  • Уменьшение скорости отклика при загрузке сервера, который обслуживает сторедж.

NAS

Сторедж-система, подсоединенная к сети. Этот вариант организации доступа появился сравнительно недавно. Основным его преимуществом является удобство интеграции дополнительной системы хранения данных в существующие сети, но сам по себе он не привносит сколь-нибудь радикальных улучшений в архитектуру сторедж. Фактически NAS есть чистый файл-сервер, и сегодня можно встретить немало новых реализаций сторедж типа NAS на основе технологии тонкого сервера (Thin Server).


Рисунок 2. Network Attached Storage.

Особенности NAS:

  • Выделенный файл-сервер;
  • Доступ к данным не зависит от ОС и платформы;
  • Удобство администрирования;
  • Максимальная простота установки;
  • Низкая масштабируемость;
  • Конфликт с трафиком LAN/WAN.

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

SAN

Сети хранения данных начали интенсивно развиваться и внедряться лишь с 1999 года. Основой SAN является отдельная от LAN/WAN сеть, которая служит для организации доступа к данным серверов и рабочих станций, занимающихся их прямой обработкой. Такая сеть создается на основе стандарта Fibre Channel, что дает сторедж-системам преимущества технологий LAN/WAN и возможности по организации стандартных платформ для систем с высокой готовностью и высокой интенсивностью запросов. Почти единственным недостатком SAN на сегодня остается относительно высокая цена компонент, но при этом общая стоимость владения для корпоративных систем, построенных с использованием технологии сетей хранения данных, является довольно низкой.


Рисунок 3. Storage Area Network.

К основным преимуществам SAN можно отнести практически все ее особенности:

  • Независимость топологии SAN от сторедж-систем и серверов;
  • Удобное централизованное управление;
  • Отсутствие конфликта с трафиком LAN/WAN;
  • Удобное резервирование данных без загрузки локальной сети и серверов;
  • Высокое быстродействие;
  • Высокая масштабируемость;
  • Высокая гибкость;
  • Высокая готовность и отказоустойчивость.

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

FC как основа построения SAN

Подобно LAN, SAN может создаваться с использованием различных топологий и носителей. При построении SAN может использоваться как параллельный SCSI интерфейс, так и Fibre Channel или, скажем, SCI (Scalable Coherent Interface), но своей все возрастающей популярностью SAN обязана именно Fibre Channel. В проектировании этого интерфейса принимали участие специалисты со значительным опытом в разработке как канальных, так и сетевых интерфейсов, и им удалось объединить все важные положительные черты обеих технологий для того, чтобы получить что-то в самом деле революционно новое. Что именно?

Основные ключевые особенности канальных:

  • Низкие задержки
  • Высокие скорости
  • Высокая надежность
  • Топология точка-точка
  • Небольшие расстояния между нодами
  • Зависимость от платформы
и сетевых интерфейсов:
  • Многоточечные топологии
  • Большие расстояния
  • Высокая масштабируемость
  • Низкие скорости
  • Большие задержки
объединились в Fibre Channel:
  • Высокие скорости
  • Независимость от протокола (0-3 уровни)
  • Большие расстояния
  • Низкие задержки
  • Высокая надежность
  • Высокая масштабируемость
  • Многоточечные топологии

Традиционно сторедж интерфейсы (то, что находится между хостом и устройствами хранения информации) были преградой на пути к росту быстродействия и увеличению объема систем хранения данных. В то же время прикладные задачи требуют значительного прироста аппаратных мощностей, которые, в свою очередь, тянут за собой потребность в увеличении пропускной способности интерфейсов для связи со сторедж-системами. Именно проблемы построения гибкого высокоскоростного доступа к данным помогает решить Fibre Channel.

Стандарт Fibre Channel был окончательно определен за последние несколько лет (с 1997-го по 1999-й), на протяжении которых была проведена колоссальная работа по согласованию взаимодействия производителей различных компонент, и было сделано все необходимое, чтобы Fibre Channel превратился из чисто концептуальной технологии в реальную, которая получила поддержку в виде инсталляций в лабораториях и вычислительных центрах. В году 1997 были спроектированы первые коммерческие образцы краеугольных компонент для построения SAN на базе FC, таких как адаптеры, хабы, свичи и мосты. Таким образом, уже начиная с 1998-го года FC используется в коммерческих целях в деловой сфере, на производстве и в масштабных проектах реализации систем, критичных к отказам.

Fibre Channel — это открытый промышленный стандарт высокоскоростного последовательного интерфейса. Он обеспечивает подключение серверов и сторедж-систем на расстоянии до 10 км (при использовании стандартного оснащения) на скорости 100 MB/s (на выставке Cebit"2000 были представлены образцы продукции, которые используют новый стандарт Fibre Channel со скоростями 200 MB/s на одно кольцо, а в лабораторных условиях уже эксплуатируются реализации нового стандарта со скоростями 400 MB/s, что составляет 800 MB/s при использовании двойного кольца). (На момент публикации статьи ряд производителей уже начал отгружать сетевые карточки и свичи на FC 200 MB/s.) Fibre Channel одновременно поддерживает целый ряд стандартных протоколов (среди которых TCP/IP и SCSI-3) при использовании одного физического носителя, который потенциально упрощает построение сетевой инфраструктуры, к тому же это предоставляет возможности для уменьшения стоимости монтажа и обслуживания. Тем не менее использование отдельных подсетей для LAN/WAN и SAN имеет ряд преимуществ и является рекомендованным по умолчанию.

Одним из важнейших преимуществ Fibre Channel наряду со скоростными параметрами (которые, кстати, не всегда являются главными для пользователей SAN и могут быть реализованы с помощью других технологий) является возможность работы на больших расстояниях и гибкость топологии, которая пришла в новый стандарт из сетевых технологий. Таким образом, концепция построения топологии сети хранения данных базируется на тех же принципах, что и традиционные сети, как правило, на основе концентраторов и коммутаторов, которые помогают предотвратить падение скорости при возрастании количества нод и создают возможности удобной организации систем без единой точки отказов.

Для лучшего понимания преимуществ и особенностей этого интерфейса приведем сравнительную характеристику FC и Parallel SCSI в виде таблицы.

Таблица 1. Сравнение технологий Fibre Channel и параллельного SCSI

В стандарте Fibre Channel предполагается использование разнообразных топологий, таких как точка-точка (Point-to-Point), кольцо или FC-AL концентратор (Loop или Hub FC-AL), магистральный коммутатор (Fabric/Switch).

Топология point-to-point используется для подсоединения одиночной сторедж-системы к серверу.

Loop или Hub FC-AL — для подсоединения множественных сторедж устройств к нескольким хостам. При организации двойного кольца увеличивается быстродействие и отказоустойчивость системы.

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

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

Предлагая альтернативные решения для систем хранения данных и возможности по объединению нескольких сторедж для резервирования аппаратных средств, SAN помогает обеспечивать защиту аппаратно-программных комплексов от аппаратных сбоев. Для демонстрации приведем пример создания двухнодовой системы без точек отказов.


Рисунок 4. No Single Point of Failure.

Построение трех- и более нодовых систем осуществляется простым добавлением в FC сеть дополнительных серверов и подключением их к обоим концентраторам/ коммутаторам).

При использовании FC построение устойчивых к сбоям (disaster tolerant) систем становится прозрачным. Сетевые каналы и для сторедж, и для локальной сети можно проложить на основе оптоволокна (до 10 км и больше с использованием усилителей сигнала) как физического носителя для FC, при этом используется стандартная аппаратура, которая дает возможность значительно уменьшить стоимость подобных систем.

Благодаря возможности доступа ко всем компонентам SAN из любой ее точки мы получаем чрезвычайно гибко управляемую сеть данных. При этом следует заметить, что в SAN обеспечивается прозрачность (возможность видеть) всех компонентов вплоть до дисков в сторедж-системах. Эта особенность подтолкнула производителей компонентов к использованию своего значительного опыта в построении систем управления для LAN/WAN с тем, чтобы заложить широкие возможности по мониторингу и управлению во все компоненты SAN. Эти возможности включают в себя мониторинг и управление отдельных нод, сторедж компонентов, корпусов, сетевых устройств и сетевых подструктур.

В системе управления и мониторинга SAN используются такие открытые стандарты, как:

  • SCSI command set
  • SCSI Enclosure Services (SES)
  • SCSI Self Monitoring Analysis and Reporting Technology (S.M.A.R.T.)
  • SAF-TE (SCSI Accessed Fault-Tolerant Enclosures)
  • Simple Network Management Protocol (SNMP)
  • Web-Based Enterprise Management (WBEM)

Системы, построенные с использованием технологий SAN, не только обеспечивают администратору возможность следить за развитием и состоянием сторедж ресурсов, но и открывают возможности по мониторингу и контролю трафика. Благодаря таким ресурсам программные средства управления SAN реализуют наиболее эффективные схемы планирования объема сторедж и балансирование нагрузки на компоненты системы.

Сети хранения данных прекрасно интегрируются в существующие информационные инфраструктуры. Их внедрение не требует каких-либо изменений в уже существующих сетях LAN и WAN, а лишь расширяет возможности существующих систем, избавляя их от задач, ориентированных на передачу больших объемов данных. Причем при интеграции и администрировании SAN очень важным является то, что ключевые элементы сети поддерживают горячую замену и установку, с возможностями динамического конфигурирования. Так что добавить тот или другой компонент или осуществить его замену администратор может, не выключая систему. И весь этот процесс интеграции может быть визуально отображен в графической системе управления SAN.

Рассмотрев вышеперечисленные преимущества, можно выделить ряд ключевых моментов, которые непосредственно влияют на одно из основных преимуществ Storage Area Network — общую стоимость владения (Total Cost Ownership).

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

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

Управляемость компонентов и прозрачность системы предоставляют возможность осуществлять централизованное администрирование всех сторедж ресурсов, а это, в свою очередь, значительно уменьшает затраты на их поддержку, стоимость которой, как правило, составляет более 50% от стоимости оснащения.

Влияние SAN на прикладные задачи

Для того чтобы нашим читателям стало понятней, насколько практически полезны технологии, которые рассматриваются в этой статье, приведем несколько примеров прикладных задач, которые без использования сетей хранения данных решались бы неэффективно, требовали бы колоссальных финансовых вложений или же вообще не решались бы стандартными методами.

Резервирование и восстановление данных (Data Backup and Recovery)

Используя традиционный SCSI интерфейс, пользователь при построении систем резервирования и восстановления данных сталкивается с рядом сложных проблем, которые можно очень просто решить, используя технологии SAN и FC.

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

Кластеризация серверов (Server Clustering)

Одной из типичных задач, для которых эффективно используется SAN, является кластеризация серверов. Поскольку один из ключевых моментов в организации высокоскоростных кластерных систем, которые работают с данными — это доступ к сторедж, то с появлением SAN построение многонодовых кластеров на аппаратном уровне решается простым добавлением сервера с подключением к SAN (это можно сделать, даже не выключая системы, поскольку свичи FC поддерживают hot-plug). При использовании параллельного SCSI интерфейса, возможности по подсоединению и масштабируемость которого значительно хуже, чем у FC, кластеры, ориентированные на обработку данных, было бы тяжело сделать с количеством нод больше двух. Коммутаторы параллельного SCSI — весьма сложные и дорогие устройства, а для FC это стандартный компонент. Для создания кластера, который не будет иметь ни единой точки отказов, достаточно интегрировать в систему зеркальную SAN (технология DUAL Path).

В рамках кластеризации одна из технологий RAIS (Redundant Array of Inexpensive Servers) кажется особенно привлекательной для построения мощных масштабируемых систем интернет-коммерции и других видов задач с повышенными требованиями к мощности. По словам Alistair A. Croll, сооснователя Networkshop Inc, использование RAIS оказывается достаточно эффективным:«Например, за $12000-15000 вы можете купить около шести недорогих одно-двухпроцессорных (Pentium III) Linux/Apache серверов. Мощность, масштабируемость и отказоустойчивость такой системы будет значительно выше, чем, например, у одного четырехпроцессорного сервера на базе процессоров Xeon, а стоимость одинаковая».

Одновременный доступ к видео и распределение данных (Concurrent video streaming, data sharing)

Вообразите себе задачу, когда вам нужно на нескольких (скажем, >5) станциях редактировать видео или просто работать над данными огромного объема. Передача файла размером 100GB по локальной сети займет у вас несколько минут, а общая работа над ним будет очень сложной задачей. При использовании SAN каждая рабочая станция и сервер сети получают доступ к файлу на скорости, эквивалентной локальному высокоскоростному диску. Если вам нужны еще одна станция/сервер для обработки данных, вы сможете ее прибавить к SAN, не выключая сети, простым подсоединением станции к SAN коммутатору и предоставлением ей прав доступа к сторедж. Если же вас перестанет удовлетворять быстродействие подсистемы данных, вы сможете просто прибавить еще один сторедж и с использованием технологии распределения данных (например, RAID 0) получить вдвое большее быстродействие.

Основные компоненты SAN

Среда

Для соединения компонентов в рамках стандарта Fibre Channel используют медные и оптические кабели. Оба типа кабелей могут использоваться одновременно при построении SAN. Конверсия интерфейсов осуществляется с помощью GBIC (Gigabit Interface Converter) и MIA (Media Interface Adapter). Оба типа кабеля сегодня обеспечивают одинаковую скорость передачи данных. Медный кабель используется для коротких расстояний (до 30 метров), оптический — как для коротких, так и для расстояний до 10 км и больше. Используют многомодовый и одномодовый оптические кабели. Многомодовый (Multimode) кабель используется для коротких расстояний (до 2 км). Внутренний диаметр оптоволокна мультимодового кабеля составляет 62,5 или 50 микрон. Для обеспечения скорости передачи 100 МБ/с (200 МБ/с в дуплексе) при использовании многомодового оптоволокна длина кабеля не должна превышать 200 метров. Одномодовый кабель используется для больших расстояний. Длина такого кабеля ограничена мощностью лазера, который используется в передатчике сигнала. Внутренний диаметр оптоволокна одномодового кабеля составляет 7 или 9 микрон, он обеспечивает прохождение одиночного луча.

Коннекторы, адаптеры

Для подсоединения медных кабелей используются коннекторы типа DB-9 или HSSD. HSSD считается более надежным, но DB-9 используется так же часто, потому что он более простой и дешевый. Стандартным (наиболее распространенным) коннектором для оптических кабелей является SC коннектор, он обеспечивает качественное, четкое соединение. Для обычного подключения используются многомодовые SC коннекторы, а для отдаленного — одномодовые. В многопортовых адаптерах используются микроконнекторы.

Наиболее распространены адаптеры для FC под шину PCI 64 bit. Также много FC адаптеров вырабатывается под шину S-BUS, для специализированного использования выпускаются адаптеры под MCA, EISA, GIO, HIO, PMC, Compact PCI. Самые популярные — однопортовые, встречаются двух- и четырехпортовые карточки. На PCI адаптерах, как правило, используют DB-9, HSSD, SC коннекторы. Также часто встречаются GBIC-based адаптеры, которые поставляются как с модулями GBIC, так и без них. Fibre Channel адаптеры отличаются классами, которые они поддерживают, и разнообразными особенностями. Для понимания отличий приведем сравнительную таблицу адаптеров производства фирмы QLogic.

Fibre Channel Host Bus Adapter Family Chart
SANblade 64 Bit FCAL Publ. Pvt Loop FL Port Class 3 F Port Class 2 Point to Point IP/ SCSI Full Duplex FC Tape PCI 1.0 Hot Plug Spec Solaris Dynamic Reconfig VIВ 2Gb
2100 Series 33 & 66MHz PCI X X X
2200 Series 33 & 66MHz PCI X X X X X X X X X
33MHz PCI X X X X X X X X X X
25 MHZ Sbus X X X X X X X X X X
2300 Series 66 MHZ PCI/ 133MHZ PCI-X X X X X X X X X X X X

Концентраторы

Fibre Channel HUBs (концентраторы) используются для подключения нод к FC кольцу (FC Loop) и имеют структуру, похожую на Token Ring концентраторы. Поскольку разрыв кольца может привести к прекращению функционирования сети, в современных FC концентраторах используются порты обхода кольца (PBC-port bypass circuit), которые разрешают автоматически открывать/закрывать кольцо (подключать/отключать системы, присоединенные к концентратору). Обычно FC HUBs поддерживают до 10 подключений и могут стекироваться до 127 портов на кольцо. Все устройства, подключенные к HUB, получают общую полосу пропускания, которую они могут разделять между собой.

Коммутаторы

Fibre Channel Switches (коммутаторы) имеют те же функции, что и привычные читателю LAN коммутаторы. Они обеспечивают полноскоростное неблокированное подключение между нодами. Любая нода, подключенная к FC коммутатору, получает полную (с возможностями масштабирования) полосу пропускания. При увеличении количества портов коммутированной сети ее пропускная способность увеличивается. Коммутаторы могут использоваться вместе с концентраторами (которые используют для участков, не требующих выделенной полосы пропуска для каждой ноды) для достижения оптимального соотношения цена/производительность. Благодаря каскадированию свичи потенциально могут использоваться для создания FC сетей с количеством адресов 2 24 (свыше 16 миллионов).

Мосты

FC Bridges (мосты или мультиплексоры) используются для подключения устройств с параллельным SCSI к сети на базе FC. Они обеспечивают трансляцию SCSI пакетов между Fibre Channel и Parallel SCSI устройствами, примерами которых могут служить Solid State Disk (SSD) или библиотеки на магнитных лентах. Следует заметить, что в последнее время практически все устройства, которые могут быть утилизированы в рамках SAN, производители начинают выпускать с вмонтированным FC интерфейсом для прямого их подключения к сетям хранения данных.

Серверы и Сторедж

Несмотря на то что серверы и сторедж — далеко не последние по важности компоненты SAN, мы на их описании останавливаться не будем, поскольку уверены, что с ними хорошо знакомы все наши читатели.

В конце хочется добавить, что эта статья — лишь первый шаг к сетям хранения данных. Для полного понимания темы читателю следует уделить немало внимания особенностям реализации компонент производителями SAN и программным средствам управления, поскольку без них Storage Area Network — это всего лишь набор элементов для коммутации сторедж-систем, которые не принесут вам полноты преимуществ от реализации сети хранения данных.

Заключение

Сегодня Storage Area Network является довольно новой технологией, которая в скором времени может стать массовой в кругу корпоративных заказчиков. В Европе и США предприятия, которые имеют достаточно большой парк инсталлированных сторедж-систем, уже начинают переходить на сети хранения данных для организации сторедж с наилучшим показателем общей стоимости владения.

По прогнозам аналитиков, в 2005 году значительное количество серверов среднего и верхнего уровня будут поставляться с предварительно установленным интерфейсом Fibre Channel (такую тенденцию можно заметить уже сегодня), и лишь для внутреннего подключения дисков в серверах будет использоваться параллельный SCSI интерфейс. Уже сегодня при построении сторедж-систем и приобретении серверов среднего и верхнего уровня следует обратить внимание на эту перспективную технологию, тем более, что уже сегодня она дает возможность реализовать ряд задач куда дешевле, чем с помощью специализированных решений. Кроме того, вкладывая в технологию SAN сегодня, вы не потеряете свои вложения завтра, поскольку особенности Fibre Channel создают прекрасные возможности для использования в будущем вложенных сегодня инвестиций.

P.S.

Предыдущая версия статьи была написана в июне 2000 года, но в связи с отсутствием массового интереса к технологии сетей хранения данных публикация была отложена на будущее. Это будущее настало сегодня, и я надеюсь, что данная статья побудит читателя осознать необходимость перехода на технологию сетей хранения данных, как передовую технологию построения сторедж-систем и организации доступа к данным.

Каким образом нужно классифицировать архитектурные схемы СХД? Мне кажется, актуальность этого вопроса в дальнейшем будет только расти. Как разобраться во всём этом многообразии предложений, имеющихся на рынке? Сразу хочу предупредить, что этот пост не предназначен для ленивых или не желающих много читать.

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

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

Хранилища, позволяющие работать с информацией любого вида, архитектурно можно разделить на 4 основные группы. Главное, не зацикливаться на некоторых вещах, которые сбивают с толку. Многие склонны классифицировать платформы на основе таких «физических» критериев, как межкомпонентное соединение (interconnect) («У них у всех есть внутренняя шина между нодами!»), или протокол («Это блок, или NAS, или многопротокольная система!»), или делят на аппаратные и программные («Это же просто ПО на сервере!»).

Это совершенно неправильный подход к классифицированию. Единственно верным критерием является программная архитектура, используемая в том или ином решении, поскольку от этого зависят все основные характеристики системы. Остальные компоненты СХД зависят от того, какая именно программная архитектура была выбрана разработчиками. И с этой точки зрения «аппаратные» и «программные» системы могут быть лишь вариациями той или иной архитектуры.

Но не поймите меня неправильно, я не хочу сказать, что разница между ними невелика. Просто она не фундаментальна.

И хочу ещё кое-что уточнить, прежде чем перейти к делу. Для нашей натуры свойственно задавать вопросы «А что из этого самое лучшее/правильное?». Ответить на это можно только одно: «Есть лучшие решения для каких-то конкретных ситуаций или видов нагрузки, но не существует универсального идеального решения». Именно особенности нагрузки диктуют выбор архитектуры , и больше ничто другое.

К слову, недавно я участвовал в забавной беседе на тему ЦОД, работающих исключительно на флэш-накопителях. Мне импонирует страстность в любых проявлениях, и совершенно очевидно, что флэш вне конкуренции в ситуациях, когда производительность и время задержки играют решающую роль (помимо многих других факторов). Но должен признать, что мои собеседники были неправы. У нас есть один клиент, его услугами, даже не подозревая об этом, ежедневно пользуется множество людей. Может ли он полностью перейти на флэш? Нет.


Это большой клиент. А вот другой, ОГРОМНЫЙ, раз в 10 больше. И я опять не могу согласиться с тем, что этот клиент может перейти исключительно на флэш:


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

Ну, с одной стороны, флэш-память будет дешеветь, до определённого предела. Мне казалось, что это будет происходить несколько быстрее, но уже доступны SSD-накопители ёмкостью 1 Тб за $550, это большой прогресс. Конечно, разработчики традиционных винчестеров тоже не сидят сложа руки. В районе 2017-2018 годов конкуренция должна усилиться, поскольку будут внедряться новые технологии (вероятнее всего, фазовый сдвиг и углеродные нанотрубки). Но дело вовсе не в противостоянии флэш и винчестеров, или даже программных и аппаратных решений, главное - архитектура .

Она настолько важна, что практически невозможно поменять архитектуру СХД, не переделав практически всё. То есть, по сути, не создав новую систему. Поэтому хранилища обычно создаются, развиваются и умирают в рамках какой-то одной изначально выбранной архитектуры.

Четыре типа систем хранения данных

Тип 1. Кластеризованные архитектуры . Они не рассчитаны на совместное использование памяти нодами, по сути, все данные находятся в одном ноде. Одной из особенностей архитектуры является то, что иногда устройства «пересекаются» (trespass), даже если они «доступны из нескольких нодов». Другая особенность заключается в том, что вы можете выбрать машину, указать ей какие-то накопители и сказать «эта машина имеет доступ к данным на этих носителях». Синим на рисунке обозначены ЦПУ/память/система ввода-вывода, а зелёным - носители, на которых хранятся данные (флэш или магнитные накопители).

Для данного типа архитектур характерен прямой и очень быстрый доступ к данным. Между машинами будут возникать небольшие задержки, поскольку для обеспечения высокой доступности применяется зеркалирование ввода-вывода и кэширование. Но в целом обеспечивается относительно прямой доступ по ветви кода. Программные хранилища достаточно просты и имеют малое время задержки, поэтому зачастую обладают богатым функционалом, службы данных легко добавляются. Неудивительно, что большинство стартапов начинают с подобных хранилищ.

Обратите внимание, что одной из разновидностей этого типа архитектур является PCIe-оборудование для не HA-серверов (карты расширения Fusion-IO, XtremeCache). Если добавить к нему ПО для распределённого хранилища, когерентность и HA-модель, то подобное программное хранилище будет соответствовать одному из четырёх типов архитектур, описываемых в этом посте.


Применение «федеративных моделей» помогает улучшить горизонтальную масштабируемость архитектур этого типа с точки зрения менеджмента. В данных моделях могут использоваться разные подходы к повышению мобильности данных для перебалансировки между управляющими машинами и хранилищами. Например, в рамках VNX это означает «мобильность VDM». Но я считаю, что называть это «горизонтально масштабируемой архитектурой» будет натяжкой. И, по моему опыту, большинство клиентов разделяют эту точку зрения. Причиной тому расположение данных на одной управляющей машине, иногда - «в аппаратном шкафе» (behind an enclosure). Их можно перемещать, но они всегда будут в каком-то одном месте. С одной стороны, это позволяет снизить количество циклов и задержку при записи. С другой стороны, все ваши данные обслуживаются единственной управляющей машиной (возможен непрямой доступ с другой машины). В отличие от второго и третьего типов архитектур, о которых поговорим ниже, здесь балансировка и настройка играют важную роль.

Объективно говоря, этот абстрактный федеративный уровень влечёт за собой и некоторое увеличение задержки, поскольку использует программное перенаправление. Это аналогично усложнению кода и увеличению задержки в типах архитектур 2 и 3, и отчасти нивелирует преимущества первого типа. В качестве конкретного примера можно привести UCS Invicta, этакий «Silicon Storage Routers». В случае с NetApp FAS 8.x, работающим в кластерном режиме, код изрядно усложнён внедрением федеративной модели.

Продукты, использующие кластерные архитектуры - VNX или NetApp FAS, Pure, Tintri, Nimble, Nexenta и (я думаю) UCS Invicta/UCS. Одни представляют собой «аппаратные» решения, другие - «чисто программные», третьи - «программные в виде аппаратных комплексов». Все они ОЧЕНЬ сильно различаются с точки зрения обработки данных (в Pure и UCS Invicta/Whiptail подразумевается использование только флэш-накопителей). Но архитектурно все перечисленные продукты родственны. Например, вы настраиваете службы обработки данных исключительно для резервного копирования, программный стек становится Data Domain, ваш NAS работает как лучший в мире инструмент для бэкапа - и это тоже архитектура «первого типа».


Тип 2. Слабо сопряжённые, горизонтально масштабированные архитектуры . Ноды не используют память совместно, но сами данные по нескольким нодам. Эта архитектура подразумевает использование большего количества межнодовых связей для записи данных, что увеличивает количество циклов. Хоть операции записи и распределены, но всегда когерентны.

Обратите внимание, что в этих архитектурах не обеспечивается высокая доступность нода в связи с операциями копирования и распределения данных. По той же причине здесь всегда больше операций ввода-вывода по сравнению с простыми кластерными архитектурами. Так что производительность получается несколько ниже, несмотря на небольшой уровень задержки при записи (NVRAM, SSD и т.д.).

В некоторых разновидностях архитектур часто нодов собираются в подгруппы, а остальные используются для управления подгруппами (ноды метаданных). Но здесь проявляются эффекты, описанные выше для «федеративных моделей».


Подобные архитектуры довольно просто масштабируются. Поскольку данные хранятся в нескольких местах и могут обрабатываться многочисленными нодами, эти архитектуры могут отлично подойти для задач, когда требуется распределённое чтение. Кроме того, они хорошо сочетаются с ПО для серверов/хранилищ. Но лучше всего применять подобные архитектуры в условиях транзакционных нагрузок: благодаря их распределённости вы можете не использовать HA-сервер, а слабая сопряжённость позволяет обойтись Ethernet.

Этот тип архитектур используется в таких продуктах, как EMC ScaleIO и Isilon, VSAN, Nutanix и Simplivity. Как в случае с Типом 1, все эти решения совершенно непохожи друг на друга.

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

  • Чем больше распределены операции записи, тем выше задержки и ниже эффективность IOP. Например, в Isilon уровень распределённости очень высок файлов, и хотя с каждым обновлением задержки уменьшаются, но всё же он никогда не продемонстрирует высочайшей производительности. Зато Isilon чрезвычайно силён с точки зрения распаралеллеливания.
  • Если уменьшить степень распределённости (пусть и при большом количестве нодов), то задержки могут снизиться, но при этом вы урежете свои возможности по распараллеливанию чтения данных. Например, во VSAN используется модель «виртуальная машина как объект», что позволяет запускать многочисленные копии. Казалось бы, виртуальная машина должна быть доступна определённому хосту. Но, по факту, во VSAN она «сдвигается» по направлению к ноду, который хранит её данные. Если вы используете это решение, то можете сами посмотреть, как увеличение количества копий объекта влияет на задержку и операции ввода-вывода в рамках всей системы. Подсказка: больше копий = выше нагрузка на систему в целом, причём зависимость нелинейная, как вы могли бы ожидать. Но для VSAN это не проблема благодаря преимуществам модели «виртуальная машина как объект».
  • Можно добиться низкой задержки в условиях высокого масштабирования и распараллеливания при чтении, но только при условии точного разделения данных и записи небольшого количества копий. Этот подход используется в ScaleIO. Каждый том разделён на большое количество фрагментов (по умолчанию по 1 Мб), которые распределены по всем задействованным нодам. В результате достигается чрезвычайно высокая скорость чтения и перераспределения наряду с мощным распараллеливанием. Задержка при записи может быть менее 1 мсек при использовании соответствующей сетевой инфраструктуры и SSD/PCIe Flash в нодах кластера. Однако каждая операция записи производится в двух нодах. Конечно, в отличие от VSAN здесь виртуальная машина не рассматривается как объект. Но если бы рассматривалась, то масштабируемость была бы хуже.

Тип 3. Сильно сопряжённые, горизонтально масштабированные архитектуры . Здесь применяется совместное использование памяти (для кэширования и некоторых типов метаданных). Данные распределены по различным нодам. Этот тип архитектур подразумевает использование очень большого количества межнодовых соединений для всех видов операций.

Совместное использование памяти является краеугольным камнем этих архитектур. Исторически сложилось, что через все управляющие машины могут осуществляться симметричные операции ввода-вывода (см. иллюстрацию). Это позволяет перебалансировать нагрузку в случае возникновения каких-либо сбоев. Данная идея закладывалась в основу таких продуктов, как Symmetrix, IBM DS, HDS USP и VSP. В них осуществляется совместны доступ к кэшу, поэтому процедура ввод-вывода можно управлять с любой машины.

Верхняя диаграмма на иллюстрации отражает архитектуру EMC XtremIO. На первый взгляд, она аналогична Типу 2, но это не так. В данном случае модель совместно используемых распределённых метаданных подразумевает использование IB и удалённого прямого доступа к памяти, чтобы все ноды имели доступ к метаданным. При этом каждый нод представляет собой HA-пару. Как видите, Isilon и XtremIO сильно различаются архитектурно, хотя это и не так очевидно. Да, у обоих горизонтально масштабированные архитектуры, в обоих для межкомпонентного соединения используется IB. Но в Isilon, в отличие от XtremIO, это делается для максимального снижения задержки при обмене данными между нодами. Также в Isilon для связи между нодами можно использовать Ethernet (фактически, именно так на нём работает виртуальная машина), но это увеличивает задержки при операциях ввода-вывода. Что касается XtremIO, то для его производительности большое значение имеет удалённый прямой доступ к памяти.

Кстати, пусть вас не вводит в заблуждение наличие двух диаграмм на иллюстрации - на самом деле, архитектурно они одинаковые. В обоих случаях используются пары HA-контроллеров, совместный доступ к памяти и межкомпонентные соединение с очень низким уровнем задержки. Кстати, в VMAX используется проприетарная межкомпонентная шина, но в будущем появится возможность применения IB.

Для сильно сопряжённых архитектур характерна высокая сложность программного кода. Это одна из причин их невысокой распространённости. Излишняя сложность ПО влияет и на количество добавляемых служб обработки данных, поскольку это представляет собой более трудную вычислительную задачу.

К преимуществам этого типа архитектур можно отнести устойчивость к сбоям (симметричные операции ввода-вывода во всех управляющих машинах), а также, в случае с XtremIO, большие возможности в сфере AFA. Раз речь снова зашла об XtremIO, то стоит упомянуть, что его архитектура подразумевает распределённость всех служб обработки данных. Также это единственное на рынке AFA-решение с горизонтально масштабированной архитектурой, хотя динамическое добавление/отключение нодов ещё не внедрено. Помимо прочего, в XtremIO используется «естественная» дедупликация, то есть она постоянно активна и «бесплатна» с точки зрения производительности. Правда, всё это повышает сложность обслуживания системы.

Важно понимать принципиальную разницу между Типом 2 и Типом 3. Чем более сопряжённая архитектура, тем лучше и более прогнозируемо она позволяет обеспечивать низкий уровень задержек. С другой стороны, в рамках подобной архитектуры сложнее добавлять ноды и масштабировать систему. Ведь когда вы используете совместный доступ к памяти, она представляет собой единую сильно сопряжённую распределённую систему. Сложность решений растёт, а вместе с этим и вероятность ошибок. Поэтому VMAX может иметь до 16 управляющих машин в 8 движках, а XtemIO - до 8 машин в 4 X-Brick (скоро увеличится до 16 машин в 8 блоках). Учетверение, или даже удвоение этих архитектур представляет собой невероятно трудную инженерную проблему. Для сравнения, VSAN может быть масштабирован до «размера кластеров vSphere» (сейчас 32 нода), Isilon может содержать более 100 нодов, а ScaleIO позволяет создать систему из более чем 1000 нодов. При этом всё это архитектуры второго типа.

Снова хочу подчеркнуть - архитектура не зависит от реализации. В вышеупомянутых продуктах используется и Ethernet, и IB. Одни представляют собой чисто программные решения, другие являются программно-аппаратными комплексами, но при этом их объединяют архитектурные схемы.

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

Небольшая проверка того, насколько внимательно вы прочитали всё вышеизложенное : к какому типу относится Cisco UCS Invicta - 1 или 3? Физически выглядит как Тип 3, но ведь это набор USC-серверов серии С, соединённых по Ethernet, на которых работает программный стек Invicta (бывший Whiptail). Подсказываю: смотрите на архитектуру, а не конкретную реализацию 🙂

В случае с UCS Invicta данные хранятся в каждом ноде (UCS-сервер с флэш-накопителями на базе MLC). Единственный нод, не HA, представляющий собой отдельный сервер, может напрямую передавать номер логического устройства (LUN). Если вы решите добавить ещё ноды, возможно система масштабируется слабосопряжённо, как ScaleIO или VSAN. Всё это подводит нас к Типу 2.

Однако увеличение количества нодов, судя во всему, производится с помощью конфигурирования и миграции на “Invicta Scaling Appliance”. При такой конфигурации у вас есть несколько “Silicon Storage Routers” (SSR) и адресное хранилище из нескольких аппаратных нодов. Доступ к данным осуществляется через единственный SSR-нод, но это можно сделать и через другой нод, работающий как HA-пара. Сами данные всегда находятся на единственном UCS-ноде серии С. Так какой же это тип архитектуры? Не важно, как выглядит решение физически, - это Тип 1. SSR представляет собой кластер (может быть больше 2). В конфигурации Scaling Appliance каждый UCS-сервер с MLC-накопителями выполняет функцию, аналогичную VNX или NetApp FAS - дисковое хранилище. Хоть и не подключён через SAS, но архитектура аналогичная.


Тип 4. Распределённые архитектуры без совместно использования каких-либо ресурсов . Несмотря на то, что данные распределяются по разным нодам, делается это безо всякой транзакционности. Обычно данные складируются на каком-то одном ноде и там живут, и время от времени делаются копии на других нодах, ради обеспечения безопасности. Но эти копии не транзакционные. Это является ключевым отличием данного типа архитектур от Типа 2 и 3.

Связь между не-HA-нодами осуществляется с помощью Ethernet, поскольку это дёшево и универсально. Распределение по нодам делается принудительно и время от времени. «Корректность» данных соблюдается не всегда, но программный стек проверяется довольно часто, чтобы обеспечивать правильность используемых данных. При некоторых видах нагрузки (например, HDFS) данные распределяются так, чтобы находиться в памяти одновременно с тем процессом, для которого они требуются. Это свойство позволяет считать данный тип архитектур наиболее масштабируемым среди всех четырёх.

Но это далеко не единственное преимущество. Подобные архитектуры чрезвычайно просты, ими очень легко управлять. Они никоим образом не зависят от оборудования и могут быть развёрнуты на самом дешёвом «железе». Это почти всегда исключительно программные решения. Архитектурам этого типа оперировать петабайтами данных так же просто, как дргугим - терабайтами. Здесь применяются объекты и неPOSIX-файловые системы, причём и те, и другие зачастую располагаются поверх локальной файловой системы каждого рядового нода.

Эти архитектуры можно совмещать с блоками и транзакционными моделями представления данных на базе NAS, но это сильно ограничивает их возможности. Не надо создавать транзакционный стек, помещая Тип 1, 2 или 3 поверх Типа 4.

Лучше всего эти архитектуры «раскрываются» на тех задачах, для которых не свойственны какие-то ограничения.

Выше я приводил пример с очень большим клиентом, у которого 200 000 накопителей. В основе таких сервисов, как Dropbox, Syncplicity, iCloud, Facebook, eBay, YouTube и почти всех Web 2.0-проектов лежат хранилища, построенные по архитектурам четвёртого типа. Вся обрабатываемая информация в Hadoop-кластерах также содержится в хранилищах на базе Типа 4. В целом, в корпоративном сегменте это не очень распространённые архитектуры, но они очень быстро завоёвывают популярность.

Тип 4 лежит в основе таких продуктов, как AWS S3 (кстати, никто за пределами AWS не знает, как устроен EBS, но готов спорить, что это Тип 3), Haystack (используется в Facebook), Atmos, ViPR, Ceph, Swift (используется в Openstack), HDFS, Centera. Многие из перечисленных продуктов могут обретать разную форму, вид конкретной реализации определяется с помощью их API. Например, объектный стек ViPR можно реализовать через объектные API S3, Swift, Atmos, и даже HDFS! А в будущем в этот список попадёт и Centera. Для кого-то это будет очевидно, но Atmos и Centera будут использоваться ещё долго, правда, в виде API, а не конкретных продуктов. Реализации могут меняться, но API остаются чем-то незыблемым, что очень хорошо для клиентов.

Хочу ещё раз обратить ваше внимание на то, что «физическое воплощение» может сбить вас с толку, и архитектуры Типа 4 вы ошибочно отнесёте к Типу 2, поскольку они, зачастую, выглядят одинаково. На физическом уровне какое-от решение может выглядеть как ScaleIO, VSAN или Nutanix, хотя это будут просто серверы с Ethernet. И правильно классифицировать то или иное решение поможет наличие или отсутствие транзакционности.

А теперь я предлагаю вам второй проверочный тест. Давайте рассмотрим архитектуру UCS Invicta. Физически этот продукт выглядит как Тип 4 (серверы, соединённые по Ethernet), но архитектурно его невозможно масштабировать под соответствующие нагрузки, поскольку на самом деле это Тип 1. Причём Invicta, как и Pure, разрабатывался для AFA.

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

Для чего я всё это расписал?

В мире IT хранилища занимают очень важное место, этакое «царство грибов». Разнообразие предлагаемых продуктов очень велико, и это идёт только на пользу всему делу. Но нужно уметь разбираться во всём этом, не позволять затуманить себе разум маркетинговыми слоганами и нюансами позиционирования. Ради блага как клиентов, так и самой индустрии, необходимо упростить процесс построения хранилищ. Поэтому мы прилагаем столько усилий, чтобы сделать из контроллера ViPR открытую бесплатную платформу.

Но сами по себе хранилища трудно назвать захватывающими. Что я имею в виду? Представим некую абстрактную пирамиду, на вершине которой находится «пользователь». Ниже расположены «приложения», предназначенные для обслуживания «пользователя». Ещё ниже - «инфраструктура» (включая SDDC), обслуживающая «приложения» и, соответственно, «пользователя». А в самом низу «инфраструктуры» находится хранилище.

То есть можно представить иерархию в таком виде: Пользователь->Приложение/SaaS->PaaS->IaaS->Инфраструктура. Так вот: в конце концов, любое приложение, любой PaaS-стек должны вычислять или обрабатывать какую-то информацию. И эти четыре типа архитектур предназначены для работы с разными типами информации, разными видами нагрузки. В иерархии важности информация следует сразу за пользователем. Цель существования приложения заключается в том, чтобы дать пользователю возможность взаимодействовать с нужной ему информацией. Именно поэтому архитектуры систем хранения данных имеют столь важное значение в нашем мире.

Запись опубликована автором в рубрике Без рубрики. Добавьте в закладки .

Итак, выпуск №1 – «Системы хранения данных».

Системы хранения данных.

По-английски они называются одним словом – storage, что очень удобно. Но на русский это слово переводится довольно коряво – «хранилище». Часто на слэнге «ИТ-шников» используют слово «сторадж» в русской транскрипции, или слово «хранилка», но это уже совсем моветон. Поэтому будем использовать термин «системы хранения данных», сокращенно СХД, или просто «системы хранения».

К устройствам хранения данных можно отнести любые устройства для записи данных: т.н. «флешки», компакт-диски (CD, DVD, ZIP), ленточные накопители (Tape), жесткие диски (Hard disk, их еще называют по старинке «винчестеры», поскольку первые их модели напоминали обойму с патронами одноименной винтовки 19 века) и пр. Жесткие диски используются не только внутри компьютеров, но и как внешние USB-устройства записи информации, и даже, например, одна из первых моделей iPod’а – это небольшой жесткий диск диаметром 1,8 дюйма, с выходом на наушники и встроенным экраном.

В последнее время все большую популярность набирают т.н. «твердотельные» системы хранения SSD (Solid State Disk, или Solid State Drive), которые по принципу действия схожи с «флешкой» для фотоаппарата или смартфона, только имеют контроллер и больший объем хранимых данных. В отличие от жесткого диска, SSD-диск не имеет механически движущихся частей. Пока цены на такие системы хранения достаточно высоки, но быстро снижаются.

Все это – потребительские устройства, а среди промышленных систем следует выделить, прежде всего, аппаратные системы хранения: массивы жестких дисков, т.н. RAID-контроллеры для них, ленточные системы хранения для долговременного хранения данных. Кроме того, отдельный класс: контроллеры для систем хранения, для управления резервированием данных, создания «мгновенных снимков» (Snapshot) в системе хранения для последующего их восстановления, репликации данных и т.д.). В системы хранения данных также входят сетевые устройства (HBА, коммутаторы Fiber Channel Switch, кабели FC/SAS и пр.). И, наконец, разработаны масштабные решения по хранению данных, архивации, восстановления данных и устойчивости к катастрофам (disater recovery).

Откуда берутся данные, которые необходимо хранить? От нас, любимых, пользователей, от прикладных программ, электронной почты, а также от различного оборудования – файловых серверов, и серверов баз данных. Кроме того, поставщик большого количества данных – т.н. устройства М2М (Machine-to-Machine communication) – разного рода датчики, сенсоры, камеры и пр.

По частоте использования хранимых данных, СХД можно подразделить на системы краткосрочного хранения (online storage), хранения средней продолжительности (near-line storage) и системы долговременного хранения (offline storage).

К первым можно отнести жесткий диск (или SSD) любого персонального компьютера. Ко вторым и третьим – внешние системы хранения DAS (Direct Attached Storage), которые могут представлять собой массив внешних, по отношению к компьютеру, дисков (Disk Array). Их, в свою очередь также можно подразделить на «просто массив дисков» JBOD (Just a Bunch Of Disks) и массив с управляющим контроллером iDAS (intelligent disk array storage).

Внешние системы хранения бывают трех типов DAS (Direct Attached Storage), SAN (Storage Area Network) и NAS (Network attached Storage). К сожалению, даже многие опытные ИТ-шники не могут объяснить разницу между SAN и NAS, говоря, что когда-то эта разница была, а теперь – ее, якобы, уже и нет. На самом деле, разница есть, и существенная (см. рис. 1).

Рисунок 1. Различие между SAN и NAS.

В SAN с системой хранения связаны фактически сами серверы через сеть области хранения данных SAN. В случае NAS – сетевые серверы связаны через локальную сеть LAN с общей файловой системой в RAID.

Основные протоколы подключения СХД

Протокол SCSI (Small Computer System Interface), произносится как «скáзи», протокол, разработанный в середине 80-х годов для подключения внешних устройств к мини мини-компьютерам. Его версия SCSI-3 является основой для всех протоколов связи систем хранения данных и использует общую систему команд SCSI. Его основные преимущества: независимость от используемого сервера, возможность параллельной работы нескольких устройств, высокая скорость передачи данных. Недостатки: ограниченность числа подключенных устройств, дальность соединения сильно ограничена.

Протокол FC (Fiber Channel), внутренний протокол между сервером и совместно используемой СХД, контроллером, дисками. Это широко используемый протокол последовательной связи, работающий на скоростях 4 или 8 Гигабит в секунду (Gbps). Он, как явствует из его названия, работает через оптоволокно (fiber), но и по меди тоже может работать. Fiber Channel – основной протокол для систем хранения FC SAN.

Протокол iSCSI (Internet Small Computer System Interface), стандартный протокол для передачи блоков данных поверх широко известного протокола TCP/IP т.е. «SCSI over IP». iSCSI может рассматриваться как высокоскоростное недорогое решение для систем хранения, подключаемые удаленно, через Интернет. iSCSI инкапсулирует команды SCSI в пакеты TCP/IP для передачи их по IP-сети.

Протокол SAS (Serial Attached SCSI). SAS использует последовательную передачу данных и совместим с жесткими дисками SATA. В настоящий момент SAS может передавать данные со скоростью 3Gpbs или 6Gpbs, и поддерживает режим полного дуплекса, т.е. может передавать данные в обе стороны с одинаковой скоростью.

Типы систем хранения.

Можно различить три основных типа систем хранения:

  • DAS (Direct Attached Storage)
  • NAS (Network attached Storage)
  • SAN (Storage Area Network)

СХД c непосредственном подключением дисков DAS были разработаны еще в конце


Рисунок 2. DAS

70-х годов, вследствие взрывного увеличения пользовательских данных, которые уже просто физически не помещались во внутренней долговременной памяти компьютеров (для молодых сделаем примечание, что здесь речь идет не о персоналках, их тогда еще не было, а больших компьютерах, т.н. мейнфреймах). Скорость передачи данных в DAS была не очень невысокой, от 20 до 80 Мбит/с, но для тогдашних нужд ее вполне хватало.

СХД с сетевым подключением NAS появились в начале 90-х годов. Причиной стало быстрое развитие сетей и критические требования к совместному использованию больших массивов данных в пределах предприятия или сети оператора. В NAS использовалась специальная сетевая файловая система CIFS (Windows) или NFS (Linux), поэтому разные серверы разных пользователей могли считывать один и тот же файл из NAS одновременно. Скорость передачи данных была уже повыше: 1 — 10Gbps.


Рисунок 3. NAS

В середине 90-х появились сети для подключения устройств хранения FC SAN. Разработка их была вызвана необходимостью организации разбросанных по сети данных. Одно устройство хранения в SAN может быть разбито на несколько небольших узлов, называемых LUN (Logical Unit Number), каждый из которых принадлежит одному серверу. Скорость передачи данных возросла до 2-8 Gbps. Такие СХД могли обеспечивать технологии защиты данных от потерь (snapshot, backup).


Рисунок 4. FC SAN

Другая разновидность SAN – IP SAN(IP Storage Area Network), разработанная в начале 2000-х. Системы FC SAN были дороги, сложны в управлении, а сети протокола IP находились на пике развития, поэтому и появился этот стандарт. СХД подключались к серверам при помощи iSCSI-контроллера через IP-коммутаторы. Скорость передачи данных: 1 — 10 Гбит/с.


Рис.5. IP SAN.

В таблице показаны некоторые сравнительные характеристики всех рассмотренных систем хранения:

DAS NAS SAN
FC SAN IP SAN
Тип передачи SCSI, FC, SAS IP FC IP
Тип данных Блок данных Файл Блок данных Блок данных
Типичное приложение Любое Файл-сервер Базы данных Видео-наблюдение
Преимущество Легкость понимания,

Превосходная совместимость

Легкость установки, низкая стоимость Хорошая масштабиру-емость Хорошая масштабиру-емость
Недостатки Трудность управления.

Неэффективное использование ресурсов. Плохая масштабиру-емость

Низкая производительность.

Неприменимо для некоторых приложений

Высокая стоимость.

Сложность конфигурации

Низкая производи-тельность

Кратко, SAN предназначены для передачи массивных блоков данных в СХД, в то время как NAS обеспечивают доступ к данным на уровне файлов. Комбинацией SAN + NAS можно получить высокую степень интеграции данных, высокопроизводительный доступ и совместный доступ к файлам. Такие системы получили название unified storage – «унифицированные системы хранения».

Унифицированные системы хранения: архитектура сетевых СХД, которая поддерживает как файлово-ориентированную систему NAS, так и блоко-ориентированную систему SAN. Такие системы были разработаны в начале 2000-х годов с целью разрешить проблемы администрирования и высокой суммарной стоимости владения раздельными системами на одном предприятии. Такая СХД поддерживает практически все протоколы: FC, iSCSI, FCoE, NFS, CIFS.

Жесткие диски

Все жесткие диски можно подразделить на два основных типа: HDD (Нard Disk Drive, что, собственно, и переводится как «жесткий диск») и SSD (Solid State Drive, — т.н. «твердотельный диск»). Т.е., и тот и другой диск – жесткие. Что же тогда «мягкий диск», такие бывают? Да, в прошлом были, назывались «флоппи-диски» (так их прозвали из-за характерного «хлопающего» звука в дисководе при работе). Приводы для них ещё можно увидеть в системных блоках старых компьютеров, которые сохранились в некоторых госучреждениях. Однако, при всем желании, такие магнитные диски их вряд ли можно отнести к СИСТЕМАМ хранения. Это были некие аналоги теперешних «флешек».

Различие HDD и SSD в том, что HDD имеет несколько соосных магнитных дисков внутри и сложную механику, перемещающую магнитные головки считывания-записи, а SSD не имеет механически движущихся частей, и представляет собой, по сути, просто микросхему, запрессованную в пластик. Поэтому называть «жесткими дисками» только HDD, строго говоря, некорректно.

Жесткие диски можно классифицировать по следующим параметрам:

  • Конструктивное исполнение: HDD, SSD;
  • Диаметру HDD в дюймах: 5.25, 3.5 , 2.5, 1.8 дюйма;
  • Интерфейсу: ATA/IDE, SATA/NL SAS, SCSI, SAS, FC
  • Классу использования: индивидуальные (desktop class), корпоративные (enterprsie class).
SATA SAS NL-SAS SSD
Скорость вращения (RPM) 7200 15000/10000 7200 NA
Типичная ёмкость (TБ) 1T/2T/3T 0.3T/0.6T/0.9T 2T/3T/4T 0.1T/0.2T/0.4T
MTBF (час) 1 200 000 1 600 000 1 200 000 2 000 000
Примечания Развитие жестких дисков ATA с последовательной передачей данных.

SATA 2.0 поддерживает скорости передачи 300MБ/с, SATA3.0 поддерживает до 600MБ/с.

Среднегодовой % отказов AFR (Annualized Failure Rate) для дисков SATA – около 2%.

Жесткие диски SATA с интерфейсом SAS подходят для иерархических (tiering). Среднегодовой % отказов AFR (Annualized Failure Rate) для дисков NL-SAS около 2%. Твердотельные диски выполненные из электронных микросхем памяти, включая устройство управления и чип (FLASH/DRAM). Спецификация интерфейса, функции и метод использования такие же, как у HDD, размер и форма – тоже.

Характеристики жестких дисков :

  • Ёмкость

В современных жестких дисках емкость измеряется в гигабайтах или терабайтах. Для HDD эта величина кратна ёмкости одного магнитного диска внутри коробки, умноженной на число магнитных, которых обычно бывает несколько.

  • Скорость вращения (только для HDD)

Скорость вращения магнитных дисков внутри привода, измеряется в оборотах в минуту RPМ (Rotation Per Minute), обычно составляет 5400 RPM или 7200 RPM. HDD с интерфейсами SCSI/SAS имеют скорость вращения 10000-15000 RPM.

  • Среднее время доступа = Среднее время поиска (Mean seek time) + Среднее время ожидания (Mean wait time), т.е. время извлечения информации с диска.
  • Скорость передачи данных

Это скорости считывания и записи данных на жестком диске, измеряемая в мегабайтах в секунду (MB/S). Они обычно отличаются друг от друга по величине.

  • IOPS (Input/Output Per Second)

Число операций ввода-вывода (или чтения-записи) в секунду (Input/Output Operations Per Second), один из основных индикаторов измерения производительности диска. Для приложений с частые операции чтения и записи, таких как OLTP (Online Transaction Processing) – онлайн-обработка транзакций, IOPS – самый важный показатель, т.к. именно от него зависит быстродействие бизнес-приложения. Другой важный показатель – data throughput, что примерно можно перевести как «пропускная способность данных», т.е. какой объем данных можно передать за единицу времени.

RAID

Как бы ни были надежны жесткие диски, а все же данные в них иногда теряются, по разным причинам. Поэтому была предложена технология RAID (Redundant Array of Independent Disks) – массив независимых дисков с избыточностью хранения данных. Избыточность означает то, что все байты данных при записи на один диск дублируются на другом диске, и могут быть использованы в том случае, если первый диск откажет. Кроме того, эта технология помогает увеличить IOPS.

Основные понятия RAID – stripping (т.н. «располосование» или разделение) и mirroring (т.н. «зеркалирование», или дублирование) данных. Их сочетания определяют различные виды RAID-массивов жестких дисков.

Различают следующие уровни RAID-массивов:

Комбинации этих видов порождают еще несколько новых видов RAID:

Рисунок поясняет принцип выполнения RAID 0 (разделение):


Рис. 6. RAID 0.

А так выполняется RAID 1 (дублирование):


Рис. 7. RAID 1.

А вот так работает RAID 3. XOR – логическая функция исключающее ИЛИ (eXclusive OR). При помощи нее вычисляется значение паритета для блоков данных A, B, C, D… , который записывается на отдельный диск.


Рис. 8. RAID 3.

Вышеприведенные схемы хорошо иллюстрируют принцип действия RAID и в комментариях не нуждаются. Мы не будем приводить схемы работы остальных уровней RAID, желающие могут их найти в Интернете.

Основные характеристики видов RAID приведены в таблице.

Программное обеспечение систем хранения

Программное обеспечение для систем хранения можно подразделить на следующие категории:

  1. Управление и администрирование (Management): управление и задание параметров инфраструктуры: вентиляции, охлаждения, режимы работы дисков и пр., управление по времени суток и пр.
  2. Защита данных: Snapshot («моментальный снимок» состояния диска), копирование содержимого LUN, множественное дублирование (split mirror), удаленное дублирование данных (Remote Replication), непрерывная защита данных CDP (Continuous Data Protection) и др.
  3. Повышение надежности: различное ПО для множественного копирования и резервирования маршрутов передачи данных внутри ЦОД и между ними.
  4. Повышение эффективности: Технология тонкого резервирования (Thin Provisioning), автоматическое разделение системы хранения на уровни (tiered storage), устранение повторений данных (deduplication), управление качеством сервиса, предварительное извлечение из кэш-памяти (cache prefetch), разделение данных (partitioning), автоматическая миграция данных, снижение скорости вращения диска (disk spin down)

Очень интересна технология «thin provisioning ». Как это часто бывает в ИТ, термины часто трудно поддаются адекватному переводу на русский язык, например, трудно точно перевести слово «provisioning» («обеспечение», «поддержка», «предоставление» – ни один из этих терминов не передает смысл полностью). А уж когда оно – «тонкое» (thin)…

По принципу «thin provisioning», например, работает банковский кредит. Когда банк выдает десять тысяч кредитов лимитом в 500 тысяч, ему не нужно иметь на счету 5 миллиардов, так как пользователи карточек обычно не тратят весь кредит сразу. Тем не менее, каждый пользователь в отдельности может воспользоваться всей или почти всей суммой кредита, если общий объем средств банка не исчерпан.

Так же работают водопроводные и электрические компании. Предоставляя услуги водо- или электро-снабжения, они рассчитывают, что все жители не станут разом открывать все краны или включать все имеющие в домах электроприборы. За счет более гибкого потребления ресурсов удается сэкономить на их цене и мощности ресурса.


Рис. 9. Thin provisioning .

Таким образом, использование thin provisioning позволяет решить проблему неэффективного распределения пространства в SAN, сэкономить место, облегчить административные процедуры распределения пространства приложениям на хранилище, и использовать так называемый oversubscribing, то есть выделить приложениям места больше, чем мы располагаем физически, в расчете на то, что приложения не затребуют одновременно все пространство. По мере же возникновения в нем потребности позже возможно увеличить физическую емкость хранилища.

Разделение системы хранения на уровни (tiered storage) предполагает, что различные данные хранятся в устройствах хранения, быстродействие которых соответствует частоте обращения к этим данным. Например, часто используемые данные можно размещать в «online storage» на дисках SSD с высокой скоростью доступа, высокой производительностью. Однако, цена таких дисков пока высока, поэтому их целесообразно использовать только для online storage (пока).

Скорость дисков FC/SAS также достаточно высока, а цена умерена. Поэтому такие диски хорошо походят для «near-line storage», где хранятся данные, обращения к которым происходят не так часто, но в то же время и не так редко.

Наконец, диски SATA/NL-SAS имеют относительно невысокую скорость доступа, но зато отличаются большой емкостью и относительно дешевы. Поэтому на них обычно делают offline storage, для данных редкого использования.

Как только система управления замечает, что обращения к данным в offline storage участились, она переводит их в near-line storage, а при дальнейшей активизации их использования – и в online storage» на дисках SSD.

Дедупликация (устранение повторений) данных (deduplication, DEDUP): как следует из названия, устраняет повторы данных на пространстве диска, обычно используемого в части резервирования данных. Хотя система неспособна определить, какая информация избыточна, она может определить наличие повторов данных. За счет этого становится возможным значительно сократить требования к емкости системы резевирования.

Снижение скорости вращения диска (Disk spin-down ) – то, что обычно называют «гибернацией» (засыпанием) диска. Данные на каком-то диске могут не использоваться долгое время, в этом случае технология снижения скорости диска переводит их в режим гибернации, чтобы снизить потребление энергии на бесполезное вращение диска на обычной скорости. При этом также повышается срок службы диска, и увеличивается надежность системы в целом. При поступлении первого запроса к данным на этом диске, он «просыпается», скорость его вращения увеличивается. Платой за экономию энергии и повышение надежности является некоторая задержка при первом обращении к данным на диске, но эта плата вполне оправдана.

«Моментальный снимок» состояния диска (Snapshot ). Snapshot – это полностью пригодная к использованию копия определенного набора данных на диске на момент съема этой копии (поэтому она и называется «моментальным снимком»). Такая копия используется для частичного восстановления состояния системы на момент копирования. При этом непрерывность работы системы совершенно не затрагивается, и быстродействие не ухудшается.

Удаленная репликация данных (Remote Replication) : работает с использованием технологии зеркалирования. Может поддерживать несколько копий данных на двух или более сайтах для предотвращения потери данных в случае стихийных бедствий. Существует два типа репликации: синхронная и асинхронная, различие между ними пояснено на рисунке.


Рис. 10. Удаленная репликация данных (Remote Replication).

Непрерывная защита данных CDP (Continuous data protection) , также известная как continuous backup или real-time backup, представляет собой создание резервной копии автоматически при каждом изменении данных. При этом становится возможным восстановление данных при любых авариях в любой момент времени, причем при этом доступны актуальная копия данных, а не тех, что были несколько минут или часов назад.

Программы управления и администрирования (Management Software): сюда входит разнообразное программное обеспечение по управлению и администрированию различных устройств: простые программы конфигурации (cofiguration wizards), программы централизованного мониторинга: отображение топологии, мониторинг в реальном времени механизмы формирования отчетов о сбоях. Также сюда входят программы «гарантии непрерывности бизнеса» (Business Guarantee): многоразмерная статистика производительности, отчеты и запросы производительности и пр.

Восстановление при стихийных бедствиях (DR, Disaster Recovery) . Это довольно важная составляющая серьезных промышленных СХД, хотя и достаточно затратная. Но эти затраты необходимо нести, чтобы не потерять в одночасье «то, что нажито непосильным трудом» и куда и так уже вложены значительные средства. Рассмотренные выше системы защиты данных (Snapshot, Remote Replication, CDP) хороши до тех пор, пока в населенном пункте, где расположена система хранения не произошло какое-либо стихийное бедствие: цунами, наводнение, землетрясение или (тьфу-тьфу-тьфу) – ядерная война. Да и любая война тоже способна сильно подпортить жизнь людям, которые занимаются полезными делами, например, хранением данных, а не беганием с автоматом с целью оттяпать себе чужие территории или наказать каких-нибудь «неверных». Удаленная репликация подразумевает, что реплицирующая СХД находится в том же самом городе, или как минимум поблизости. Что, например, при цунами не спасает.

Технология Disaster Recovery предполагает, что центр резервирования, используемый для восстановления данных при стихийных бедствиях, располагается на значительном удалении от места основного ЦОД, и взаимодействует с ним по сети передачи данных, наложенной на транспортную сеть, чаще всего оптическую. Использовать при таком расположении основного и резервного ЦОД, например, технологию CDP будет просто невозможно технически.

В технологии DR используются три основополагающих понятия:

  • BW (Backup Window) – «окно резевирования», время, необходимое для системы резевирования для того, чтобы скопировать принятый объем данных рабочей системы.
  • RPO (Recovery Point Objective) – «Допустимая точка восстановления», максимальный период времени и соответствующий объем данных, который допустимо потерять для пользователя СХД.
  • RTO (Recovery Time Objective) – «допустимое время недоступности», максимальное время, в течение которого СХД может быть недоступной, без критического воздействия на основной бизнес.


Рис. 11. Три основополагающих понятия технологии DR.

Данное эссе не претендует на полноту изложения и лишь поясняет основные принципы работы СХД, хотя и далеко не в полном объеме. В различных источниках в Интернете содержится много документов, более подробно описывающих все изложенные (и не изложенные) здесь моменты.

Что это?
Сеть хранения данных , или Storage Area Network - это система, состоящая из собственно устройств хранения данных - дисковых, или RAID - массивов, ленточных библиотек и прочего, среды передачи данных и подключенных к ней серверов. Обычно используется достаточно крупными компаниями, имеющими развитую IT инфраструктуру, для надежного хранения данных и скоростного доступа к ним.
Упрощенно, СХД - это система, позволяющая раздавать серверам надежные быстрые диски изменяемой емкости с разных устройств хранения данных.

Немного теории.
Сервер к хранилищу данных можно подключить несколькими способами.
Первый и самый простой - DAS, Direct Attached Storage (прямое подключение), без затей ставим диски в сервер, или массив в адаптер сервера - и получаем много гигабайт дискового пространства со сравнительно быстрым доступом, и при использовании RAID-массива - достаточную надежность, хотя копья на тему надежности уже давно.
Однако такое использование дискового пространства не оптимально - на одном сервере место кончается, на другом его еще много. Решение этой проблемы - NAS, Network Attached Storage (хранилище, подключенное по сети). Однако при всех преимуществах этого решения - гибкости и централизованного управления - есть один существенный недостаток - скорость доступа, еще не во всех организациях внедрена сеть 10 гигабит. И мы подходим к сети хранения данных.

Главное отличие SAN от NAS (помимо порядка букв в аббревиатурах) - это то, каким образом видятся подключаемые ресурсы на сервере. Если в NAS ресурсы подключаются протоколам NFS или SMB , в SAN мы получаем подключение к диску, с которым можем работать на уровне операций блочного ввода-вывода, что гораздо быстрее сетевого подключения (плюс контроллер массива с большим кэшем добавляет скорости на многих операциях).

Используя SAN, мы сочетаем преимущества DAS - скорость и простоту, и NAS - гибкость и управляемость. Плюс получаем возможность масштабирования систем хранения до тех пор, пока хватает денег, параллельно убивая одним выстрелом еще несколько зайцев, которых сразу не видно:

* снимаем ограничения на дальность подключения SCSI -устройств, которые обычно ограничены проводом в 12 метров,
* уменьшаем время резервного копирования,
* можем грузиться с SAN,
* в случае отказа от NAS разгружаем сеть,
* получаем большую скорость ввода-вывода за счет оптимизации на стороне системы хранения,
* получаем возможность подключать несколько серверов к одному ресурсу, то нам дает следующих двух зайцев:
o на полную используем возможности VMWare - например VMotion (миграцию виртуальной машины между физическими) и иже с ними,
o можем строить отказоустойчивые кластеры и организовывать территориально распределенные сети.

Что это дает?
Помимо освоения бюджета оптимизации системы хранения данных, мы получаем, вдобавок к тому что я написал выше:

* увеличение производительности, балансировку нагрузки и высокую доступность систем хранения за счет нескольких путей доступа к массивам;
* экономию на дисках за счет оптимизации расположения информации;
* ускоренное восстановление после сбоев - можно создать временные ресурсы, развернуть на них backup и подключить к ним сервера, а самим без спешки восстанавливать информацию, или перекинуть ресурсы на другие сервера и спокойно разбираться с умершим железом;
* уменьшение время резервного копирования - благодаря высокой скорости передачи можно бэкапиться на ленточную библиотеку быстрее, или вообще сделать snapshot (мгновенный снимок) с файловой системы и спокойно архивировать его;
* дисковое место по требованию - когда нам нужно - всегда можно добавить пару полок в систему хранения данных.
* уменьшаем стоимость хранения мегабайта информации - естественно, есть определенный порог, с которого эти системы рентабельны.
* надежное место для хранения mission critical и business critical данных (без которых организация не может существовать и нормально работать).
* отдельно хочу упомянуть VMWare - полностью все фишки вроде миграции виртуальных машин с сервера на сервер и прочих вкусностей доступны только на SAN.

Из чего это состоит?
Как я писал выше - СХД состоит из устройств хранения, среды передачи и подключенных серверов. Рассмотрим по порядку:

Системы хранения данных обычно состоят из жестких дисков и контроллеров, в уважающей себя системе как правило всего по 2 - по 2 контроллера, по 2 пути к каждому диску, по 2 интерфейса, по 2 блока питания, по 2 администратора. Из наиболее уважаемых производителей систем следует упомянуть HP, IBM, EMC и Hitachi. Тут процитирую одного представителя EMC на семинаре - «Компания HP делает отличные принтеры. Вот пусть она их и делает!» Подозреваю, что в HP тоже очень любят EMC. Конкуренция между производителями нешуточная, впрочем, как и везде. Последствия конкуренции - иногда вменяемые цены за мегабайт системы хранения и проблемы с совместимостью и поддержкой стандартов конкурентов, особенно у старого оборудования.

Среда передачи данных . Обычно SAN строят на оптике, это дает на текущий момент скорость в 4, местами в 8 гигабит на канал. При построении раньше использовались специализированные хабы, сейчас больше свитчи, в основном от Qlogic, Brocade, McData и Cisco (последние два на площадках не видел ни разу). Кабели используются традиционные для оптических сетей - одномодовые и многомодовые , одномодовые более дальнобойные.
Внутри используется FCP - Fibre Channel Protocol , транспортный протокол. Как правило внутри него бегает классический SCSI, а FCP обеспечивает адресацию и доставку. Есть вариант с подключением по обычной сети и iSCSI , но он обычно использует (и сильно грузит) локальную, а не выделенную под передачу данных сеть, и требует адаптеров с поддержкой iSCSI, ну и скорость помедленнее, чем по оптике.

Есть еще умное слово топология, которое встречается во всех учебниках по SAN. Топологий несколько, простейший вариант - точка-точка (point to point), соединяем между собой 2 системы. Это не DAS, а сферический конь в вакууме простейший вариант SAN. Дальше идет управляемая петля (FC-AL), она работает по принципу «передай дальше» - передатчик каждого устройства соединен с приемником последующего, устройства замкнуты в кольцо. Длинные цепочки имеют свойство долго инициализироваться.

Ну и заключительный вариант - коммутируемая структура (Fabric), она создается с помощью свитчей. Структура подключений строится в зависимости от количества подключаемых портов, как и при построении локальной сети. Основной принцип построения - все пути и связи дублируются. Это значит, что до каждого устройства в сети есть минимум 2 разных пути. Здесь тоже употребимо слово топология , в смысле организации схемы подключений устройств и соединения свитчей. При этом как правило свитчи настраиваются так, что сервера не видят ничего, кроме предназначенных им ресурсов. Это достигается за счет создания виртуальных сетей и называется зонированием, ближайшая аналогия - VLAN . Каждому устройству в сети присваивается аналог MAC -адреса в сети Ethernet, он называется WWN - World Wide Name . Он присваивается каждому интерфейсу и каждому ресурсу (LUN) систем хранения данных. Массивы и свитчи умеют разграничивать доступ по WWN для серверов.

Сервера подключают к СХД через HBA - Host Bus Adapter -ы. По аналогии с сетевыми картами существуют одно-, двух-, четырехпортовые адаптеры. Лучшие собаководы рекомендуют ставить по 2 адаптера на сервер, это позволяет как осуществлять балансировку нагрузки, так и обеспечивает надежность.

А дальше на системах хранения нарезаются ресурсы, они же диски (LUN) для каждого сервера и оставляется место в запас, все включается, установщики системы прописывают топологию, ловят глюки в настройке свитчей и доступа, все запускается и все живут долго и счастливо*.
Я специально не касаюсь разных типов портов в оптической сети, кому надо - тот и так знает или прочитает, кому не надо - только голову забивать. Но как обычно, при неверно установленном типе порта ничего работать не будет.

Из опыта.
Обычно при создании SAN заказывают массивы с несколькими типами дисков: FC для скоростных приложений, и SATA или SAS для не очень быстрых. Таким образом получаются 2 дисковые группы с различной стоимостью мегабайта - дорогая и быстрая, и медленная и печальная дешевая. На быструю вешаются обычно все базы данных и прочие приложения с активным и быстрым вводом-выводом, на медленную - файловые ресурсы и все остальное.

Если SAN создается с нуля - имеет смысл строить ее на основе решений от одного производителя. Дело в том, что, несмотря на заявленное соответствие стандартам, существуют подводные грабли проблемы совместимости оборудования, и не факт, что часть оборудования будет работать друг с другом без плясок с бубном и консультаций с производителями. Обычно для утряски таких проблем проще позвать интегратора и дать ему денег, чем общаться с переводящими друг на друга стрелки производителями.

Если SAN создается на базе существующей инфраструктуры - все может быть сложно, особенно если есть старые SCSI массивы и зоопарк старой техники от разных производителей. В этом случае имеет смысл звать на помощь страшного зверя интегратора, который будет распутывать проблемы совместимости и наживать третью виллу на Канарах.

Часто при создании СХД фирмы не заказывают поддержку системы производителем. Обычно это оправдано, если у фирмы есть штат грамотных компетентных админов (которые уже 100 раз назвали меня чайником) и изрядный капитал, позволяющий закупить запасные комплектующие в потребных количествах. Однако компетентных админов обычно переманивают интеграторы (сам видел), а денег на закупку не выделяют, и после сбоев начинается цирк с криками «Всех уволю!» вместо звонка в саппорт и приезда инженера с запасной деталью.

Поддержка обычно сводится к замене умерших дисков и контроллеров, ну и к добавлению в систему полок с дисками и новых серверов. Много хлопот бывает после внезапной профилактики системы силами местных специалистов, особенно после полного останова и разборки-сборки системы (и такое бывает).

Про VMWare. Насколько я знаю (спецы по виртуализации поправьте меня), только у VMWare и Hyper-V есть функционал, позволяющий «на лету» перекидывать виртуальные машины между физическими серверами. И для его реализации требуется, чтобы все сервера, между которыми перемещается виртуальная машина, были подсоединены к одному диску.

Про кластеры. Аналогично случаю с VMWare, известные мне системы построения отказоустойчивых кластеров (Sun Cluster, Veritas Cluster Server) - требуют подключенного ко всем системам хранилища.

Пока писал статью - у меня спросили - в какие RAIDы обычно объединяют диски?
В моей практике обычно делали или по RAID 1+0 на каждую дисковую полку с FC дисками, оставляя 1 запасной диск (Hot Spare) и нарезали из этого куска LUN-ы под задачи, или делали RAID5 из медленных дисков, опять же оставляя 1 диск на замену. Но тут вопрос сложный, и обычно способ организации дисков в массиве выбирается под каждую ситуацию и обосновывается. Та же EMC например идет еще дальше, и у них есть дополнительная настройка массива под приложения, работающие с ним (например под OLTP, OLAP). С остальными вендорами я так глубоко не копал, но догадываюсь, что тонкая настройка есть у каждого.

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

Метки: Добавить метки

Еще никогда проблема хранения файлов не стояла так остро, как сегодня.

Появление жестких дисков объемом в 3 и даже 4ТБ, Blu-Ray дисков емкостью от 25 до 50ГБ, облачных хранилищ - не решает проблему. Вокруг нас становится все больше устройств, порождающих тяжеловесный контент вокруг: фото и видео-камеры, смартфоны, HD-телевидение и видео, игровые консоли и т.п. Мы генерируем и потребляем (в основном из интернета) сотни и тысячи гигабайт.

Это приводит к тому, что на компьютере среднестатистического пользователя хранится огромное количество файлов, на сотни гигабайт: фотоархив, коллекция любимых фильмов, игр, программ, рабочие документы и т.д.

Это все нужно не просто хранить, но и уберечь от сбоев и прочих угроз.

Псевдо-решения проблемы

Можно оснастить свой компьютер емким жестким диском. Но в этом случае встает вопрос: как и куда архивировать, скажем, данные с 3-терабайтного диска?!

Можно поставить два диска и использовать их в режиме RAID «зеркало» или просто регулярно выполнять резервное копирование с одного на другой. Это тоже не лучший вариант. Предположим, компьютер атакован вирусами: скорее всего, они заразят данные на обеих дисках.

Можно хранить важные данные на оптических дисках, организовав домашний Blu-Ray архив. Но пользоваться им будет крайне неудобно.

Сетевое хранилище - решение проблемы! Отчасти…

Network attached storage (NAS) - сетевое файловое хранилище. Но можно объяснить еще проще:

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

В результате этого - NAS может хранить какие-либо Ваши данные, а вы можете получать к нему доступ с любого домашнего ПК или ноутбука. Забегая вперед, стоит сказать, что локальная сеть должна быть достаточно современной для того, чтобы вы могли быстро и без проблем «прокачивать» по ней десятки и сотни гигабайт между сервером и компьютерами. Но об этом - позже.

Где взять NAS?

Способ первый: покупка. Более-менее приличный NAS на 2 или 4 жестких диска можно купить за 500-800 долларов. Такой сервер будет упакован в небольшой корпус и готов к работе, что называется, «из коробки».

Однако, ПЛЮС к этим 500-800 долларов добавляется еще стоимость жестких дисков! Так как обычно NAS продаются без них.

Плюсы: вы получаете готовое устройство и тратите минимум времени.

Минусы такого решения: NAS стоит как настольный компьютер, но при этом обладает несравнимо меньшими возможностями. Фактически это просто сетевой внешний диск за большие деньги. За довольно большие деньги вы получаете ограниченный, невыгодный набор возможностей.

Мое решение: самостоятельная сборка!

Это намного дешевле покупки отдельного NAS, хоть и чуть дольше ведь вы собираете машину самостоятельно). Однако, вы получаете полноценный домашний сервер, который при желании можно использовать во всем спектре его возможностей.

ВНИМАНИЕ! Я настоятельно не рекомендую собирать домашний сервер, используя старый компьютер или старые, отработавшие свое комплектующие. Не забывайте, что файловый сервер - это хранилище ваших данных. Не поскупитесь сделать его максимально надежным, чтобы в один прекрасный день все ваши файлы не «сгорели» вместе с жесткими дисками, например, из-за сбоя в цепи питания системной платы…

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

Идеальным решением исходя из этого является системная плата со встроенным в нее процессором и пассивным охлаждением, компактных размеров.

Я выбрал системную плату ASUS С-60M1-I . Она была куплена в интернет-магазине dostavka.ru:



В комплекте поставки качественное руководство пользователя, диск с драйверами, наклейка на корпус, 2 кабеля SATA и задняя панель для корпуса:



ASUS, как впрочем и всегда, укомплектовал плату очень щедро. Полные спецификации платы вы можете узнать здесь: http://www.asus.com/Motherboard/C60M1I/#specifications . Я скажу лишь о некоторых важных моментах.

При стоимости всего в 3300 рублей - она обеспечивает 80% всего того, что нам нужно для сервера.

На борту платы находится двухъядерный процессор AMD C-60 со встроенным графическим чипом. Процессор имеет частоту 1 ГГц (автоматически может увеличиваться до 1,3 ГГц). На сегодня он устанавливается в некоторые нетбуки и даже ноутбуки. Процессор класса Intel Atom D2700. Но всем известно, что Atom имеет проблемы с параллельными вычислениями, что часто сводит его производительность на «нет». А вот C-60 - лишен этого недостатка, и в добавок оснащен довольно мощной для этого класса графикой.

В наличии два слота для памяти DDR3-1066 , с возможностью установки до 8 ГБ памяти.

Плата содержит на борту 6 портов SATA 6 Гбит . Что позволяет подключить к системе целых 6 дисков(!), а не только 4, как в обычном NAS для дома.

Что САМОЕ важное - плата построена на базе UEFI , а не привычного нам BIOS. Это значит, что система сможет нормально работать с жесткими дисками более 2,2 ТБ. Она «увидит» весь их объем. Системные платы на BIOS не могут работать с жесткими дисками более 2,2 ГБ без специальных «утилит-костылей». Разумеется, использование такого рода утилит недопустимо, если мы ведем речь о надежности хранения данных и о серверах.

С-60 довольно холодный процессор, поэтому он охлаждается с помощью одного только алюминиевого радиатора. Этого достаточно, чтобы даже в момент полной загрузки температура процессора не повышалась более 50-55 градусов. Что является нормой.



Набор портов вполне стандартный, огорчает только отсутствие нового USB 3.0. А особо хочется ответить наличие полноценного гигабитного сетевого порта:


На эту плату я установил 2 модуля по 2 ГБ DDR3-1333 от Patriot:


Система Windows 7 Ultimate устанавливалась на жесткий диск WD 500GB Green, а для данных я приобрел HDD Hitachi-Toshiba на 3 ТБ:



Все это оборудование у меня питается от БП FSP на 400 Ватт, что, разумеется - с запасом.

Финальным этапом была сборка всего этого оборудования в корпус mini-ATX.

Сразу после сборки я установил на компьютер Windows 7 Ultimate (установка заняла порядка 2 часов, что нормально, учитывая низкое быстродействие процессора).

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

Достаточно запомнить локальный IP этого ПК в сети, чтобы подключатся к нему с любой машины через стандартную Windows-утилиту «Подключение к удаленному рабочему столу»:


Я намеренно не стал устанавливать специализированные операционные системы для организации файлового хранилища, типа FreeNAS. Ведь в таком случае, не было бы особого смысла собирать отдельный ПК под эти нужды. Можно было бы просто купить NAS.

А вот отдельный домашний сервер, который можно загрузить работой на ночь и оставить - это интереснее. К тому же, привычным интерфейсом Windows 7 удобно управлять.

Итого общая стоимость домашнего сервера БЕЗ жестких дисков составила 6 000 рублей.

Важное дополнение

При использовании любого сетевого хранилища очень важна пропускная способность сети. Причем, даже обычная 100 Мегабитная кабельная сеть не приводит в восторг, когда вы, скажем, выполняете архивацию со своего компьютера на домашний сервер. Передать 100 ГБ по 100 Мегабитной сети - это уже несколько часов.

Что уж говорить о Wi-Fi. Хорошо, если вы используете Wi-Fi 802.11n - в этом случае скорость сети держится в районе 100 Мегабит. А если стандарт 802.11g, где скорость редко бывает больше 30 Мегабит? Это очень, очень мало.

Идеальный вариант, когда взаимодействие с сервером происходит по кабельной сети Gigabit Ethernet . В этом случае - это действительно быстро.

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

Похожие статьи