В 2016 году сетевые файловые системы Linux очень сильно развились, появилось новые распределенные сетевые хранилища, которые могут использоваться для увеличения надежности хранения данных. Они могут размещаться на нескольких физических устройствах, а организация файлов настраивается с помощью различных политик и не зависит от оборудования.
Многие пользователи уже знакомы с такими решениями, как Ceph, которое используется для развертывания OpenStack. Аналитики прогнозируют, что к 2019 году 70 распределенных систем хранения данных будут выполнены в качестве сетевых программных массивов. Такие программные продукты называются Software-Defined Storage или SDS. Сейчас к разработке таких файловых систем для хранения данных подключаются такие известные компании, как Dell, Fujitsu, Hitachi Data Systems, Huawei и Vodafone.
2017 год станет еще более важным в развитии открытых сетевых систем хранения данных. Уже во втором квартале 2017 планируется выпустить открытое решение OpenSDS, в котором будет улучшена безопасность, а также будет использовать технологии Cinder и Manila из OpenStack. В то же время уже сейчас существует множество сетевых файловых систем linux для хранения данных, начиная от Apache Cassandra и заканчивая Ceph.
Фонд свободного программного обеспечения недавно выпустил отчет про тенденции развития облачных хранилищ с открытым исходным кодом. Из него можно сделать вывод, что сетевые хранилища SDS набирают все большую популярность. В этой статье мы рассмотрим основные сетевые хранилища Linux и файловые системы, популярные на данный момент.
Содержание статьи:
Лучшие сетевые файловые системы
1. Apache Cassandra
Apache Cassandra - это не совсем файловая система, а масштабируемая и высоко доступная база данных для критически важных приложений. Она способна разворачиваться в нескольких центрах обработки данных или на нескольких серверах для увеличения надежности хранения данных, уменьшения нагрузки и увеличения отказоустойчивости.
2. Ceph
Ceph - это расширяемая, масштабируемая сетевая файловая система и платформа для хранения данных от Red Hat. Она может использоваться на частных или государственных предприятиях, которые внедряют свои облака. Обычно применяется вместе с OpenStack. Файловая система может легко масштабироваться до размера в несколько пентабайт путем добавления новых устройств. Узлы поддерживают репликацию для увеличения надежности хранения данных.
Если один из узлов выйдет из строя, то все данные будут восстановлены и эта потеря не скажется на всей системе.
3. CouchDB
CouchDB - это проект Apache Software Foundation. Он представляет из себя кластерную документно ориентированную систему управления базами данных. Для работы с базой данных используется HTTP Restful API. Она поддерживает репликацию между несколькими узлами. Каждый набор данных - это отдельный файл в формате JSON.
4. Плагины Docker Volume
Расширения Docker Volume позволяют интегрировать Docker с внешними системами хранения данных и сохранять необходимые данные на нескольких сетевых устройствах. Здесь поддерживается множество сетевых хранилищ, среди которых Azure Files, NetApp, Vmware, VSphere и многие другие. Можно загрузить отдельные расширения на GitHub.
5. GlusterFS
GlusterFS - это масштабируемая сетевая файловая система и платформа для управления данными от компании Red Hat. Она относится к категории распределенные файловые системы и может быть развернута на нескольких узлах сети, создавая частные, общедоступные или гибридные облака. Ее можно использовать для потоковой передачи файлов, медиа, видео, работы контейнеров, анализа данных и многого другого. Файловая система может иметь очень большую пропускную способность, в зависимости от количества используемых узлов. Здесь вы можете реализовать даже сетевой raid массив.
6. MongoDB
MongoDB - это документно ориентированная база данных, специально разработана для высокой производительности, упрощения разработки и масштабирования до больших объемов. Здесь, также как и в CouchDB, данные хранятся в формате JSON, также поддерживается репликация между несколькими узлами.
7. Nexenta
Nexenta - это масштабируемое, унифицированное программное сетевое хранилище linux, которое имеет возможности управления размещением данных. Платформа способна интегрироваться с VMWare, Docker и OpenStack.
8. Redis
Redis - это программное обеспечение, реализующее структуру для хранения данных в оперативной памяти. Может использоваться в качестве базы данных, кэша или буфера сообщений. Поддерживается несколько структур данных и имеет внутреннюю реализацию Lua и различных операций над данными.
9. Riak CS
Riak CS - это программное облачное хранилище для хранения объектов в распределенной базе данных Riak KV. Она позволяет масштабировать облако между необходимым количеством машин и может использоваться для создания государственных или частных облачных архитектур для поддержания работы тяжелых приложений и услуг.
10. Swift
Swift - это система хранения объектов для OpenStack специально спроектированная для хранения и быстрого получения неструктурированных объектов. Он оптимизирован для масштабирования и многопоточной работы с большим количеством данных.
Выводы
В этой статье мы рассмотрели сетевые файловые системы Linux и в целом сетевые хранилища для данных, которые с каждым годом набирают все большую и большую популярность из-за своей простоты и огромных функциональных возможностей.
Источник: www.linux.com
Работаю на хостинге, юзаем ceph под виртуалки, реально потрясная вешь
Интересуют Cerph и GlusterFS. Я правильно понял, что обе эти вещи абсолютно бесплатные? Они работают только на Redhat? Или их можно на Centos или Debian?
А почему сетевые хранилища Linux? В оригинале Software-Defined Storage что подразумевает "Программно определяемые хранилища". А то со стороны может показаться что тут про NAS написано. А за перевод спасибо.
Nexenta вообще-то не на linux , а на OpenSolaris
Статья ни о чем! Ни сравнения, ни описания плюсов и минусов... Автор, о чем писали?
Автор писал о том, на что стоит обратить внимание.
MongoDB хранит в данные в BSON