Аннотация
Тема достаточно большая, а количество используемых в ней аббревиатур огромно. Ключевая цель статьи дать базовые понятия и помочь не спутать различные протоколы и типы подключений.
Перед прочтением рекомендуется ознакомиться:
Статья будет строится по принципу: от физического носителя до системы хранения.
Основные требования к системе хранения:
- невысокая стоимость при высокой емкости;
- требуется резервирование компонентов на физическом уровне;
- профиль нагрузки: преимущественно запись 90% и более.
Если вы ищете информацию, что такое RDMA, RoCE, FoCE, NVMe, Tier, CDP, MetroCluster — то эта статья не для вас, тут рассматриваются технологии для систем хранения начального уровня с весьма ограниченным функционалом 🙂
Физические носители
Наверное все знают, что такое HDD и SSD в персональных компьютерах — так что здесь останавливаться не буду. Так как SSD существенно дороже за Гб, то и выбор типа носителя невелик — HDD, благо их скоростных характеристик достаточно для нашей задачи.
Производителей HDD в настоящее время осталось немного: Western Digital (они же — WD), Seagate (выкупили Samsung HDD), Kioxia/Toshiba, HGST (ранее — Hitachi Global Storage Technologies, куплены WD и частично Toshiba). Именно у них заказывают свои «фирменные» HDD производители серверов и систем хранения, заботливо накатывая свои прошивки и увеличивая ценник.
Можно встретить следующие обозначения для типоразмера дисков:
- 2,5″ или SFF (от англ. — Small Form Factor): основное преимущество кроме компактности — меньше задержка головки при поиске;
- 3,5″ или LFF (от англ. — Large Form Factor): используются для систем, где важен размер хранения при низкой стоимости (наш выбор).
При выборе емкости HDD не спешите закладывать самые емкие накопители (14-16 Тб), ограничьтесь 8-10 Тб моделями (см. раздел про резервирование RAID).
Скорость вращения дисков бывает от 5400 до 15 000 оборотов в минуту, для видеонаблюдения оптимально подходят самые типовые — 7200 (в прайс-листах могут значиться как 7,2K). Как же так, HDD разных производителей линеек Surveillance (англ. — видеонаблюдение) обычно имеют скорость вращения всего 5900? Все верно — эти жесткие для систем домашнего наблюдения, где нагрузка на HDD невелика (характеризуется небольшим количеством камер), а среди важных параметров — низкий нагрев и тихая работа.
Интерфейс физического подключения:
- SATA — считается, что применим для домашнего сегмента, но есть линейки Enterprise, которые характеризуются повышенной надежностью: WD Gold Enterprise, WD WD Purple Pro, Seagate Exos E (7E8 или 7E10). Нехорошие маркетологи периодически меняют названия линеек оборудования и прячут технических подробности, типа частоты вращения диска и приходится копать даташиты (от англ. — datasheet). Чтобы не ошибиться ищем: заявленное время наработки на отказ (от англ. — Mean Time Between Failures, MTBF) — не менее 2 000 000 часов, четко прописанную скорость вращения — не менее 7200 оборотов в минуту, возможность работы в RAID-массивах (это важно, так как там немного другой принцип работы с данными);
- SAS (Serial Attached SCSI) — как видно из расшифровки названия это интерфейс базирующийся на SCSI (Small Computer System Interface), который в свою очередь получил широкое распространение в серверах (был слишком дорог и избыточен для персональных компьютеров). SAS обратно совместим с SATA: устройства SATA могут быть подключены к контроллеру SAS, но не наоборот. Используются высокие обороты шпинделя — 10 000 или 15 000, а также заявлена более высокая наработка на отказ, но бытует подозрение, что это маркетинговые сказки 🙂 Интерфейс SATA полудуплексный (half-duplex), в отличие от полнодуплексного (full-duplex) SAS. Ключевое отличие SAS от SATA в рамках построения отказоустойчивых систем — возможность подключения по двум линиям передачи одновременно (с одной линией SAS HDD очень редки). Все эти нюансы делают цену на SAS HDD высокой;
- NL-SAS (SAS-NL, Near Line SAS) — модификация, в которой к механической части SATA-дисков добавили интерфейс подключения SAS. Тут и возможность одновременного подключения к двум контроллерам и невысокая цена — то что нужно для недорогой отказоустойчивой системы 🙂
- NVMe — это для SSD, обходим стороной — очень дорого.
Таким образом, если используем «классическую» схему системы видеонаблюдения: сервер, набитый дисками, то выбираем SATA Enterprise-линеек, а в случае использования выделенного хранилища — NL-SAS.
В настоящее время можно заказать накопители с различными версиями SAS: SAS-2 (или SAS 2.0) со скоростью передачи 6 Гбит/с и SAS-3 (или SAS 3.0) со скоростью передачи 12 Гбит/с. Версии обратно совместимы.
Есть еще такая характеристика как «кеш память» (от англ. — cashe), но она важна для одиночных дисков. При использовании RAID-массивов (см. далее) кеш память HDD отключается (используется кеш RAID-контроллера).
Средний срок жизни у HDD — 3-5 лет при активном использовании (наш случай — постоянно на них что-то пишется). Так что сразу закладывайте в бюджет их замену, вместе с деньгами на аккумуляторы ИБП, у которых срок службы аналогичный 🙂
Резервирование накопителей (RAID)
HDD имеют ярко выраженную механическую составляющую, а значит нужно резервирование и без этого никак. С этой целью применяется технология RAID (от англ. — Redundant Array of Independent Disks).
Данные «раскидываются» на несколько дисков RAID-контроллером при записи и им же собираются обратно, при чтении.
На практике в видеонаблюдении могут встретиться следующие типы массивов:
- RAID1 — так называемое зеркало, когда имеется 100% резервирование (честная система N+N). Характеризуется плохой утилизацией дискового пространства — всего 50%. Требуется не менее 2-х дисков, добавляются диски парами (в общем случае). Основное применение — на серверах для размещения гипервизора;
- RAID5 — данные записываются одновременно на несколько HDD с контролем четности, причем для хранения четности не выделяют отдельный диск. Резервирование на уровне N+1, требуется минимально 3 диска, диски можно добавлять по одному, но при этом происходит перестроение массива;
- RAID6 — аналогично RAID5 данные записываются сразу на несколько HDD, но уже с двойным контролем четности. Резервирование на уровне N+2, требуется минимально 4 диска, диски можно добавлять по одному, но при этом происходит перестроение массива;
- RAID-TP, RAID2.0 и т.п. — современные технологии отказоустойчивости, которые каждый производитель систем хранения «сочиняет» сам. Проприетарные реализации, используйте если есть человек, который подскажет что и как.
RAID5 применять крайне не рекомендуется, так как в случае выхода из строя одного из дисков происходит перестроение массива — в этом случае нагрузка на все HDD возрастает и есть возможность потерять второй диск, что приведет к полной потери данных. Поэтому основной тип использующегося для хранения видеоархива — RAID6.
Стоит оговориться, что NetApp использует в своих СХД следующие схемы резервирования:
- RAID4 — выделение диска четности, допускается выход из строя одного диска;
- RAID-DP — аналог RAID6, только четность не «размазывается» на все диски, а выделяются диски под четность и диагональную честность. Допускается выход из строя двух дисков;
- RAID-TEC — то что рекомендуется использовать для емких дисков (наш случай). К RAID-DP добавляется еще диск с анти-диагональной четностью. Теперь не страшен выход трех дисков!
Почему на это обращаю внимание? У данных типов RAID есть большое преимущество — гибкость. Добавить диск в RAID без перестроения нет ничего сложного — дополнительный диск записывается нулями и он готов! Но есть ограничения по количеству дисков в группе.
Чтобы экстренно не искать для замены еще один HDD, когда диск в массиве выйдет из строя, его сразу предусматривают в виде «горячего резерва» (от англ. — hot spare).
Перестроение (реконструкция) массива — это не только существенная нагрузка на HDD, но и длительная по времени процедура, когда массив крайне уязвим. Так например, Raidix (производитель программных систем хранения) дает оценку для массива объема из накопителей объемом 10Тб общим количеством 15 штук — 24 часа, а для 30 штук — 43. Большой объем HDD — дольше перестроение, так как рабочую нагрузку никто не отменял (потеря производительности до 50%), а каналы HDD-контроллер нагружаются по полной.
Кроме резервирования организация RAID из множества дисков позволяет распараллелить нагрузку на HDD, т.е. при такой схеме пишется на все диски, но по чуть-чуть, в отличии от одиночного диска, где все «пихается» на один. Это позволяет уменьшить проблему «бутылочного горлышка» связанного с ограничением скорости записи на диск, проистекающего из его механической составляющей.
Как можно видеть, резервирование «съедает» часть емкости HDD, поэтому для нее были введены понятия:
- «сырая» — складывается из всех накопителей участвующих в массиве;
- «полезная» или «эффективная» — за вычетом емкости HDD для горячей замены и емкости для контроля четности: получается в сумме минимум минус 3 HDD, если все HDD одинаковые (использование HDD разного объема не рекомендуется — RAID будет строиться по меньшему из дисков).
При расчетах не забывайте про «хитрость» производителей HDD: 1Тб = 931Гб 🙂 В интернете полно калькуляторов емкости RAID, надеюсь он появится и в моем калькуляторе видеонаблюдения (как дойдут руки, тут явно не высшая математика).
Не нужно «дергать» диски на рабочей системе хранения (начнется перестройка массива), а извлечение одного диска (как показывают в фильмах) — ничего не даст.
RAID-контроллеры (адаптеры)
Системы хранения оснащаются встроенными устройствами организации RAID-хранилища, а для серверов применяются отдельные RAID-карты расширения или реже «навесные» платы (например у Dell — PERC mini card), также есть программный RAID, но его лучше не использовать.
Для серверных RAID-карт обращаем внимание на следующие характеристики:
- список поддерживаемых конфигураций RAID (обычно RAID6 там уже есть);
- количество накопителей в RAID и их тип;
- наличие (очень желательно) энергонезависимого кеша (от англ. — non-volatile cache, NV cache): его размер в Гб и аккумулятора/суперконденсатора для защиты в случае пропадания электропитания (от англ.- Battery Backup Unit, BBU). Кеш RAID-контроллера позволяет оптимизировать процесс записи данных на диски.
На одном RAID-контроллере обычно можно поднять несколько RAID-групп.
Системы хранения данных
Общие сведения
Системы хранения можно разделить на следующие группы:
- аппаратные — «классический» подход, покупаете железку, она несет на себе контроллеры и/или корзины для накопителей, которые можно нарастить, а также комплект ПО. Именно эти устройства и будут дальше рассматриваться;
- программно-определяемые (от англ. — Software-Defined Storage, SDS) — все доступные ресурсы хранения (накопители, «классические» системы хранения) объединяются в общее хранилище программно-распределенным методом (например vSAN от VMware). Есть мнение, что это следующий этап развития систем хранения.
В нашем случае аппаратные системы более оправданы (далее пойдет речь исключительно об них), так как SDS обычно применяются на больших системах, которым необходима гибкость, и данное решение слишком избыточно для нашей задачи.
Для систем хранения наиболее важными показателями считаются:
- количество операций ввода-вывода (от англ. — Input/Output Operations Per Second, IOPS), которые могут быть обеспечены — для систем видеонаблюдения этот параметр не так важен;
- пропускная способность (от англ. — bandwidth) — это как раз на то, что стоит обратить внимание;
- задержка доступа (от англ. — latency) — чем ниже, тем лучше, но по большому счету для систем видеонаблюдения этот параметр также не важен.
Как так — три основных параметра, а для решения задачи нужен только один? Все просто: в системах видеонаблюдения можно использовать системы хранения начального уровня, которые обеспечивают все потребности и даже немного больше 🙂
Как правило, системы хранения начального уровня:
- имеют один или два контроллера, которые ограничены по мощности и размеру кеша;
- не поддерживают NVMe (для супер-шустрых SSD);
- поддерживается только часть программных функций, которые в нашей задаче и так не используются.
При реализации системы хранения обращаем внимание на следующие особенности, которые будут рассмотрены ниже:
- наличие резервного контроллера;
- вариант организации доступа к системе хранения — NAS, SAN или DAS (последнее приводится для информации);
- так как правило дешевле: шасси в одном корпусе объединяет контроллеры и корзины для устройств хранения и их тип (нам нужно: 3,5″ и SAS);
- наличие резервирования по блокам питания. Некоторые NAS-системы идут с одним блоком и они не подходят для использования в отказоустойчивых системах.
Производители
Рейтинг производителей — на основании статьи на habr.
- высший дивизион: HPE, DellEMC, Hitachi, NetApp, IBM / Lenovo;
- второй дивизион: Fujitsu, Infinidat, Huawei (хотя последние хотят играть в высшем дивизионе, как и Inspur)
- третий дивизион (нишевые решения в ранге low end): Infortrend, наверное сюда можно добавить Seagate (хе-хе), который скоро скорее всего переберется во второй дивизион — ресурсов много 🙂
- SOHO сегмент: Synology, QNAP и т.д.;
- импортозамещение: в большей части нехорошие «российские» компании с переклеенными лейблами первого дивизиона и Huawei, ну и немножко поделок на отечественных процессорах.
Недорого и нас устроит — третий дивизион, а вот «импортозамещенных» старайтесь избегать — люди испорченные госконтрактами. На Infortrend есть сильно негативный отзыв, который показывает как они подчищают за свою «репутацию».
Можно попробовать сделать финт ушами и запросить скидки на СХД начального уровня у производителей высшего эшелона (по GPL-ценам покупать ничего не стоит, как и -20%). При этом нужно понимать, что часть хранилок — это ОЕМ других производителей (просто могут отличаться пластиковая мордочка, прошивки, немного функционал и конечно же сервис):
- OEM Seagate Exos X (ранее были независимым брендом DotHill) — Dell PowerVault ME4 и HPE MSA;
- OEM NetApp E-series — Lenovo DE (Lenovo OEM-ит и все остальные серии NetApp c 2018 года, ранее также OEM-или DotHill), Bosch (хотя они заявляют о «доработке» систем).
Также Seagate в 2013 году выкупила Xyratex, но ассортимент доступных СХД у этой компании почему-то до сих пор весьма небольшой.
С устройствами хранения высшего и второго дивизиона может быть нюанс — устанавливаемые накопители должны быть «родными», уточняйте этот момент сразу. Также смотрим: при заказе диска — это может быть изделие, состоящее из самого диска и салазок. Например, Dell смотрит косо даже если «родной диск для сервера» воткнуть в систему хранения. Может заработает, может и нет, а может и при обращении в поддержку возникнут ненужные вопросы, но уже к вам.
Контроллеры системы хранения
Фактически каждый контроллер системы хранения можно воспринимать, как отдельный сервер, но имеющий высокоскоростную шину связи между другими контроллерами. Контроллеры работают совместно как единое целое и могут управляться с одного порта менеджмента любого из контроллеров. Но есть большой нюанс — хоть все и выглядит как сервер, но по-большому счету поставляется (и по сути является) «черным» ящиком, который как-то хитро работает. Самостоятельно добавить кеш-памяти или допилить пару функций вряд ли получиться, если вы не работаете в производителе 🙂
Система хранения управляет массивом дисков, может собирать встроенные диски в независимые «кучки» и для них уже выбирать тип RAID, создавая таким образом «виртуальные» диски LUN (от англ. — Logical Unit Number). В системе хранения прописывается какой LUN видит сервер.
Организация доступа к системе хранения
Под организацией доступа к системе хранения подразумевается, так как она представляется серверам:
- DAS (Direct Attached Storage) — прямое подключение системы хранения к серверу. Это «классическое» решение системы видеонаблюдения в настоящем времени. Причем самым распространенным вариантами являются встроенные в сервера накопители или размещенные в подключенной полке JBOD, внутри которой диски объединены по интерфейсу SAS, так как этот интерфейс допускает использовать расширители (от англ. — expanders) для ветвления линии SAS. В сервер устанавливается RAID-контроллер с портами SAS, к которому и подключается полка;
- NAS (Network Attached Storage) — сервера видят папки устройства хранения как сетевые и имеют к ним доступ. Подключение сервера к NAS производится по сети Ethernet;
- SAN (Storage Area Network) — подключение к серверам происходит с помощью специальной сети. Наибольшее распространение получили сети на базе Fibre Channel, FC и iSCSI (от англ. — Internet SСSI). Чуть более подробно о подключении будет описано ниже. Серверам хранилище представляется как пустые диски, которые нужно форматировать и работать как со своими системными — так называемый блочный (от англ. — block) доступ.
Стоит обратить внимание:
- некоторые системы хранения поддерживают подключение как устройство SAN, так и NAS;
- не все ПО видеонаблюдения работает с NAS — смотрите руководство администратора!
Расширение системы хранения
Расширение системы хранения осуществляется с помощью дополнительных полок (иногда используют аббревиатуру DAE, от англ. — Disk Array Enclosure) по протоколу SAS, используя шнуры с разъемами miniSAS (SFF-8088 для SAS-2, SFF-8644 для SAS-3), в каждом из которых «несется» 4 линии SAS. Если у вас подключение полок не по SAS, то возможно вы купили более дорогую систему хранения, чем нужна для решения нашей задачи 🙂 Основное отличие от полок JBOD — системы хранения требуют полки расширения того же производителя, что и контроллеры, так как «голова» управляет полками в том числе на уровне включения/выключения. При заказе полок расширения — смотрим инструкцию к «голове» и схему коммутации.
Гарантийное обслуживание
Как и с серверами — это очень важный момент, повторюсь и отмечу пару дополнительных нюансов:
- срок гарантийного обслуживания — обычно 3 года, причем на накопители и шасси может быть различные сроки. Также в системах хранения высшего дивизиона уточняйте, что с гарантией на добавляемые в процессе эксплуатации «родные» накопители;
- время оказания поддержки — типовое NBD (на следующий рабочий день, от англ. — next business day);
- место ремонта — может быть на месте размещения или Заказчик сам везет в сервисный центр;
- необходимость возврата неисправных комплектующих (особенно HDD) в случае гарантийного случая — это отдельная опция, которая стоит денег.
Сеть хранения данных
Для подключения между собой серверов и систем хранения, как правило, используются протоколы:
- Fibre Channel, FC (иногда можно встретить Fiber Channel) — используются специальные карты и коммутаторы Fibre Channel (внутрь него обычно инкапсулируется SCSI). Большинство коммутаторов FC — перелицованные коммутаторы производства Brocade (сейчас принадлежит Broadcom), причем с весьма занятным способом лицензирования — на оборудовании могут быть порты, но пока не заплатите денежку они будут не доступны — так называемые лицензии PoD (от англ. — Ports on Demand). Второй крупный игрок на рынке FC — Cisco. Подключение выполняется преимущественно оптическими кабелями Duplex LC OM3. Технология весьма высокоскоростная и получила широкое распространение пока Ethernet 10G и выше был недоступен. Для нашей задачи не подходит, так как решение недешевое;
- iSCSI — используются специальные карты Ethernet (необходима поддержка инициаторов запроса SCSI) и обычные коммутаторы Ethernet (желательно с портами 10G, но можно и «стартануть» на гигабите). Подключение по медным и оптическим линиям связи, тут все доступнее и привычнее. Коммутаторы нужны с поддержкой настройки MTU и очень желательно не совмещать их с коммутаторами сети ЛВС (иначе необходимо настраивать QoS, VLAN и возможно что-то еще). Этот протокол можно рассматривать как основной вариант для задач видеонаблюдения.
Выделяют три типа карт iSCSI:
- обычные — поддержка iSCSI на уровне драйвера, весь обсчет интерфейса SCSI делается на центральном процессоре, соответственно подъедает его ресурсы (наш вариант в большинстве случаев);
- TOE-карты (от англ. — TCP Offload Engine) — как видно из названия, такие карточки разгружают процессор от инкапсуляции одного из уровней iSCSI, соответственно и цена у этих карт повыше;
- HBA-адаптеры (от англ. — Host Bus Adapter) — фактически аналог карт FC, всю работу делают сами, но и стоимость соответствующая.
В интернете можно встретить упоминание о построении сети хранения на SAS-коммутаторах, но сейчас это неактуально. Другой высокоскоростной вариант InfiniBand, IB — остался как узко-специализированное решение.
Как отмечено в статье про серверы, подключение к сети хранения данных осуществляется с помощью HBA-адаптеров с соответствующими протоколами — iSCSI или FC. Но есть и универсальные решения (походу только у NetApp), в которых необходимо только заменить SFP-модуль на нужный тип протокола — их можно отличить по содержанию в названии аббревиатур CNA (от англ. — converged network adapter)/UTA2 (unified target adapter).
Послесловие
Системы хранения весьма интересны и сложны, хотя линейки начального уровня стараются делать максимально дружелюбными. Прежде чем ввязываться в проект с их использованием обязательно заручитесь поддержкой знающего специалиста, который также согласиться оказать поддержку «первой линии» при эксплуатации системы.
Для тех кто хочет поглубже изучить системы хранения, можно начать с книги EMC — учебник для вузов «От хранения данных к управлению информацией», второе издание, 2016 г. (на русском языке). Ее без проблем можно найти в интернете и, не смотря на почтительный возраст (кхе-кхе 6 лет), она весьма хорошо разжевывает информацию. Да тут не будет последних «новинок» и еще не понятно, какие технологии «отомрут», но базовые навыки предоставляются. Кстати курсы Huawei по СХД, как мне показалось построены именно на ней 🙂