CoreOS представил новое распределенное хранилище - Torus
Наши друзья из CoreOS официально представили новое распределенное хранилище - Torus (бублик, а не сбежавший из имперских каменоломень дикарь с молотком).
Вкратце, это написанный на golang фреймворк с плагинами, реализующими некие серверы для доступа к ресурсам, к которому прилагается управление по gRPC и которое использует etcd для синхронизации и хранения метаданных. Благодаря etcd с его проверенными кластеризационными возможностями можно было сфокусироваться на бизнес-логике, пока непонятно не в ущерб ли скорости? Пока реализован только NBD-сервер (наши коллеги давно используют такой подход, например, в nbdkit), но в процессе объектное хранилище, что понравится разработчикам облачных систем. Приложение является одновременно и библиотекой, как это принято в golang-сообществе, и управляется с помощью kubernetes. Коллеги-аналитики уже обсуждают проект на OpenNET.ru.
Многие наши друзья сразу же попросили прокомментировать анонс разработчика GlusterFS и CloudFS/HekaFS, инженера Red Hat и участника Fedora, Jeff Darcy, что он и сделал. Не все так однозначно, предостерегает Jeff. Он с разочарованием отмечает, что даже не обращая внимание на свойственный молодым проектам оптимизм в заявленных результатах, сильно разнящийся с достигнутыми результатами, нельзя не заметить сильный привкус маркетоидной лексики. Например, проект позиционирует себя, как альтернативу неким неназываемым старым системам, якобы разработанным для небольших кластеров из больших машин, хотя ни одно из популярных альтернативных решений, на самом деле не разрабатывалось в прицеле только на трех-узловой кластер из узлов по 64 процессора. GlusterFS, Ceph, Sheepdog (на который Torus очень похож архитектурно), все они разрабатывались для применения на больших кластерах.
Неудачной тактикой было и сравнение с дорогостоящими проприетарными системами, которые сейчас если и покупают, то где-то в странах третьего мира, в надежде на откаты. Никто, вообще никто, не сравнивает Torus с проприетарными аналогами. А зачем, собственно? И тут интересно было бы, чтобы авторы были посмелее, и ткнули пальцем в проблемы с открытыми альтернативами, которые они-де собрались решить в Torus.
Jeff делает вывод - в системе, или как минимум, в ее анонсе, нет ничего, что позволяло бы сделать вывод о какой-то там особенной применимости Torus для кластеров из контейнеров. Ни эффективных оверлейных систем, ни хитроумной дедупликации, ни multitenancy. То, что есть (NBD-сервер), это очень хорошо, но это не прорывная нанотехнологичная инновация.
Дальше Jeff все-таки обратил внимание, что анонсированные фичи проекта находятся в сильном несоответствии с уже достигнутым. Сообщается о скором добавлении шифрования, коррекции ошибок, и многих других нововведений, среди которых скорое добавление POSIX-интерфейса (якобы оно было, но работало плохо, и его убрали, чтобы спроектировать правильно и скоренько добавить в ближайшем будущем). Вообще-то добавить POSIX в распределенное блочное хранилище, это непросто. Например, в CephFS добавить его было совсем непросто.
Под конец Jeff раскритиковал особенно уж выглядящий глупым "бенчмарк" Torus.
Мы, конечно, только за более интегрированный в современные облачные системы вариант блочного устройства, но то, что можно прочесть в описании Torus, не позволяет сказать, что он какой-то уж особенный.