22

Краткое пособие по програмно-определяемым системам хранения данных

Сделаю простой список, может пригодиться кому-то. Плюсы-минусы, на что смотреть.

Windows Storage Spaces Direct

Единица отказа: отдельный сервер, и, при настройке stretched cluster – отдельный сайт (локация).
Плюсы: Есть огромное руководство по настройке. Публичный опыт эксплуатации.
Выжал 13.7 миллионов IOPS (на чтение) еще в 2018 году, семь лет назад - см. The new HCI industry record: 13.7 million IOPS with Windows Server 2019 – на 12 x 2U Intel® S2600WFT
Позволяет одновременно работать виртуальным машинам на том же хосте - для того и сделан.
Минусы: нормально работает на не всяком железе (список тут).
Стоит сотни нефти из-за лицензирования.
Для настройки нужно много читать, но читать открытую документацию. Для работы нужна нормальная сеть (25/100/200G, хотя заведется и на 10G). Нет калькулятора IOPS – что понятно, разные диски, разные коммутаторы. Кому-то и 460 ns на Brocade G710 в самый раз, кто-то берет нормальный, быстрый Ethernet с его ~50 ns на 7130E.
Особенно хорошо у любителей импортозамещения заходят Brocade и Cisco MDS одновременно. Так сказать, прямо до сердечка через access gateway бекпорт , хоть до гланд и не достанут*.

Начиная с версии Server 2022, обычно, не взрывается. Но есть нюансы с кешированием, резервированием памяти, конфигурациями, etc.

VMware (by Broadcom) vSAN 8.0.

С названием теперь совсем путаница. Фирмы VMware, после завершения ее покупки Broadcom, больше нет. Broadcom Software Group переименована в VMware. Но в 2023 году сообщали, что Raghu Raghuram больше не CEO. Но на сайте Broadcom он по прежнему CEO. На официальном сайте продукт по прежнему называется VMware vSAN 8.0.
Единица отказа: отдельный сервер, и, при настройке stretched cluster – отдельный сайт (локация).
Плюсы: Есть огромное руководство по настройке. Есть публичный опыт эксплуатации. Выжимает какие-то рекорды, причем заявленные "It can deliver up to 3.6 million IOPS per storage cluster" - это на чем-то среднем, я видел уже и 6 миллионов IOPS на кластере на 8 обычных хостов на чтение блоком 4к.
Позволяет одновременно работать виртуальным машинам на том же хосте - для того и сделан.
Минусы: нормально работает не на всяком железе (список пока открыт). Стоит сотни нефти, еще и по подписке. Для настройки нужно много читать, но читать открытую документацию.  Для работы нужна нормальная сеть (25/100/200G, хотя заведется и на 10G).
Начиная с версии 7u3 обычно не взрывается. Хотя под кривыми руками отлично умирает.

Nutanix

Единица отказа: отдельный сервер, и, при настройке Metro Availability – отдельный сайт (локация).
Плюсы: он даже продавался в РФ.
Позволяет одновременно работать виртуальным машинам на том же хосте - для того и сделан.
Минусы: без поддержки и сейлов будет грустно. Плюс все, перечисленное выше, для S2D и vSAN

Xinnor xiRAID

Единица отказа: отдельный диск. Это только RAID, но есть решение Virtual RAID Appliance (VRA).
Говорят, хороший. Но цены не найти.

Raidix

Единица отказа: отдельный сервер, но через использование Lustre Object Storage Service (OSS)
Говорят, стал гораздо лучше. Даже руководство по использованию есть. Но списка совместимости нет совсем, а в руководстве указано:
Если у вас возникли проблемы с совместимостью, пожалуйста, обратитесь в техническую поддержку

SYNOLOGY – Xpenology

Оно даже как-то будет работать. На нормальном железе даже нормально заработает. Только это не кластеризуемое решение на «простом серверном железе». Хотя SYNOLOGY уже и кластеризуемое, о чем пишут в статье NAS High Availability Using a Synology NAS Appliance & LINBIT Software.

Freenas - TrueNAS сюда же. Или нет. Там даже дедуп завезли.

Ceph

Единица отказа: отдельный сервер
Плюсы: бесплатный. Есть исходный код. И с прямыми (очень прямыми) руками обычно даже работает.
Минусы: железа нужно МНОГО. Для того, чтобы получить ту же производительность, что и в коммерческих решениях выше, нужно в 4 (четыре) раза больше железа. Потому что вы не можете запустить сколько-то значимое количество виртуальных машин на том же хосте, где у вас развернуто хранение. Потому что сервис просто безудержно тратит процессор и память.
Поэтому вам нужно железа x2 – половину на хранение, половину на вычисление. (Такое решение есть и у Broadcom - vSAN Max, где собирается огромные кластер только для хранения).
Еще x2 железа нужно на хранение потому, что оптимизацией бесплатного решения (по скорости и по erasure coding и deduplication) в паблике никто особо не занимался. Хотя возможность и упомянута в документации.
Имеет привычку падать по производительности на ребилде, и много когда еще. Просто так падать, если все работает, перестал (но не всегда, еще несколько лет назад умирал на ребилде). Обновление между версиями теоретически существует, практически историй успеха в паблике еще поискать.
Теоретически, в том же Proxmox заявлено:
For small to medium-sized deployments, it is possible to install a Ceph server for using RADOS Block Devices (RBD) or CephFS directly on your Proxmox VE cluster nodes (see Ceph RADOS Block Devices (RBD)). Recent hardware has a lot of CPU power and RAM, so running storage services and virtual guests on the same node is possible.
Практически - вы, конечно, попробуйте.

LINSTOR

Единица отказа: отдельный сервер
Оно запускается. И даже работает. Но пока никто из запустивших не смог отчитаться, на каком железе, под какой нагрузкой, и сколько это будет стоить. Под капотом DRBD и Pacemaker, со всеми их проблемами, как и LVM и ZFS, а теперь еще и drbd-reactor.
Заявлен рекорд в 25.504.950 IOPS, но.
In 2020, LINBIT® measured 14.8 million IOPS on a 12-node cluster to record the highest storage performance reached by a hyper-converged system on the market.
То есть почти то же самое, что на 12 нодах получил Microsoft в 2018 году. Калькулятор storage TCO calculator – убрали с сайта. Наверное, что-то не то калькулировал. Механизм HA был реализован странновато, через отдельный контроллер.
С учетом того, что с осени 2024, у OpenZFS 2.3.0 заявлен Fast Dedup, и того, что Тестирование на одиноком Kingston DC600M 1.92TB SSD SATA показывает ничего, и существования статьи OpenZFS deduplication is good now and you shouldn't use it – что значит «ну есть и есть, использовать не надо», то применимость решения в чем-то серьезнее ООО Ромашка – под вопросом. У статьи есть русский перевод, но зачем он нужен, если все равно вся остальная документация на английском?

SeaweedFS

Держитесь подальше от этого болота.

Все прочие «свои разработки аналоговнетного класса»

Особенно с формулировкой на всякие сео-помойках «наш SDS может работать на любом commodity-железе».
Это, как легко понять, 70/30 маркетинговое вранье.  Программа, скорее всего, запустится. И даже будет работать, пока не случится что-то с железом.
Память вылетит, диск, памяти не хватит на ребилд (это, скорее, к Ceph), SFP модуль откажет, и начнутся задержки по одному из путей. Возможны любые неприятности, вплоть до того, что кривой "дописанный" драйвер ОС будет чуть криво работать с FW конкретной партии дисков, а выявится это спустя 2 месяца эксплуатации. Или спустя два года без патчей, как у HPE с их ровно 32,768 часов до потери данных (3 года, 270 дней 8 часов).
Годится (за редкими исключениями) только для включения в реестры, и для поставок за тонны нефти тем, кто не смог отказаться.

Дело не том, что оно "совсем не работает". Оно, может, и хорошо работает на 100% исправном железе в коротком - сутки, неделя - тесте, но. Но перевод "на русский линукс" заявлен еще в 2007 году, а в 2025 опять просят субсидий и
дать четкий сигнал государственным и корпоративным потребителям.
Переход у Huawei от OceanStor S5300 / OceanStor S3900 (какой это год, 2010 ?) к Huawei OceanStor V3 (представлена в РФ в 29.04.2015, выпуск начат в 2014) занял примерно пять лет.
Переход от Dorado 2100 (2011) к Dorado 2100 G2 (2012) и OceanStor Dorado5000 V3 (2016) - где-то пять лет. При огромном внутреннем спросе, гос.поддержке и сквозной интеграции в комплексные решения, и при открытых внешних рынках. Есть ли шансы на качество у решений, которые ориентированы только на рынок РФ, даже не РБ? Не знаю. Да мне и не интересно.

Заключение

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

Не имеет смысла обсуждать любые аналоговнеты и опенсорс решения в отрыве от средств производства, требований бизнеса и требований доступности. И готовности платить за доступность.
Если вы нанимаете на работу Васянов, которые скачивают с торрентов сборку ZverPostgre (реальный случай), то вам вообще все равно, что там с данными. Это при наличии в природе Postgres Docker Official Image.
Если у вас за час простоя не произойдет ничего, кроме криков «доколе!», а за потерю дневной работы бухгалтерии придется проставить большой, но торт тем людям, которые будут повторно делать какие-то проводки и учет, то вам не очень нужна система, с надежностью 99.99. Точно так же нет смысла обсуждать все решения с нескучными обоями.

Разве что, иногда весело читать результаты между строк, и, пытаться угадать историю вопроса.
В одном из недавних тестов очередного аналоговнета было сказано:
За два месяца тестирования вышло 3 патча и новое большое обновление прошивки.

Значит, что вместо тестирования писали баг репорты.

Фраза из того же теста того же аналоговнета

Сбои в подсистеме питания вообще никак не повлияли на производительность

Восходит к прекрасной истории. На тестировании другого аналогонета, из него выдернули один блок питания, и это ВООБЩЕ НИКАК СОВСЕМ НИЧУТЬ ВОВСЕ не отразилось на аналоговнете. В смысле, ни алертов, ни событий. Потому что изначальный код писали на железе с одним блоком питания, и алерт «нет питания» просто отсутствовал, за ненужностью. Говорят, исправили. Сколько не исправили?

Но самое интересное начинается, когда нужно обновлять микрокод в самом диске.

* утерянная народная мудрость

Лига Сисадминов

2.3K поста18.8K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

0
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Эти системы хранения решают разные задачи

спасибо кэп.

показать ответы
0
Автор поста оценил этот комментарий

1) 14M IOPS на 12x56 = 672 ядер - это 20K IOPS на ядро.

И это топчик ТС.

2) 14M IOPS на 12x4 = 48 SSD - это 300К IOPS на 1 SSD СЛУЧАЙНОГО чтения. ТТХ заявленных DC P4510 70-200K IOPS ПОСЛЕДОВАТЕЛЬНОГО чтения. Из чего следует вывод, что это попахивает пи...жом и чтение совсем не случайное. На что собственно и намекает почти 2Tb кэша. Как следствие все эти миллионы IOPS мгновенно сдуваются стоит только добавить запись.

3) На...я. Т.е. зачем вот это все? Под какие задачи?

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

И это топчик ТС.

Это топчик открыто заявленного

Как следствие все эти миллионы IOPS мгновенно сдуваются стоит только добавить запись.

это не так

3) На...я. Т.е. зачем вот это все? Под какие задачи?

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

показать ответы
3
Автор поста оценил этот комментарий

Впечатление, что у автора тупо неприязнь к СПО и ннпонимание, как в принципе работает системное ПО. Ну или что ему платят за рекламу гнилой епроверяемой проприетарщины(где хз какие закладки напиханы вендором). Как бы если баг в прошивке харда/ссд - устройство двинет кони спутя Х времени, независимо от ПО, которое с ним работает, ибо они связаны примерно никак. Туда же фундаментальный минус: надо читать документация, с пренебрежительным уточнением, что открытую. Документацию в принципе читать надо, иначе ваш тарантас проработает до первой проблемы и потом намертво ляжет вместе с данными. И валить в одну кучу TrueNAS, FreeNAS и Synology - эт вообще шедевр. Равно как предполагать, что свободным ОС не похрен, на чем работать. ОС смотрит на идентификатор вендора и продукта, выбирает подходящий драйвер среди модулей ядра и работает с ним. Даже если на железке написано "суперпроизводителькручетолькояйца", аивнутри чип от Бродкома - это все еще устройство Бродкома как бы. И списки совместимости актупльны или закрытым платформам типа вмварри или венды, или аппаратным платформам (но не всем, у Cisco UCS есть в прошивке белый список железа, а большей части серверов HP/Dell/Oracle похрен, с чем работать).

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ни слова по делу, как замечательно