GlusterFS
| GlusterFS | |
|---|---|
| Тип | Распределённая файловая система |
| Разработчики | Gluster[вд] и Red Hat |
| Написана на | Си[2] |
| Операционные системы | Linux, Mac OS X, FreeBSD, OpenSolaris |
| Дата выпуска | 2005 |
| Последняя версия | |
| Репозиторий | github.com/gluster/glust… |
| Лицензия |
GPLv3 (до версии 3.1) AGPL (с версии 3.1) |
| Сайт | gluster.org (англ.) |
GlusterFS — распределённая, параллельная, линейно масштабируемая файловая система с возможностью защиты от сбоев. С помощью InfiniBand RDMA или TCP/IP GlusterFS может объединить системы хранения, находящиеся на разных серверах, в одну параллельную сетевую файловую систему. GlusterFS работает в пользовательском пространстве при помощи технологии FUSE, поэтому не требует поддержки со стороны ядра операционной системы и работает поверх существующих файловых систем (ext3, ext4, XFS, reiserfs и т. п.). В отличие от других распределённых файловых систем, таких как Lustre и Ceph, для работы GlusterFS не требуется отдельный сервер для хранения метаданных.
Архитектура
GlusterFS разделена на серверную и клиентскую части. На каждом сервере работает демон glusterfsd который делает доступным для клиентов локальную систему хранения в качестве тома. Клиентский процесс glusterfs соединяется с одним или несколькими серверами посредством TCP/IP или InfiniBand и объединяет все доступные серверные тома в один, используя расширяемые трансляторы (функциональные модули системы). Получившийся том монтируется на клиентском хосте при помощи механизма Filesystem in Userspace (FUSE).
Бо́льшая часть функциональности GlusterFS реализована в виде трансляторов (модулей). Использование необходимых трансляторов и их настройка позволяет гибко конфигурировать режим работы системы. Трансляторы реализуют следующие возможности:
- синхронная репликация между серверами (нельзя расширить уже существующий том, добавив сервер для репликации);
- чередование порций данных между серверами (striping);
- распределение файлов между серверами;
- балансировка нагрузки;
- восстановление после отказа узла (в ручном режиме с помощью опроса файлов (ls -lR или find на смонтированом томе));
- упреждающее чтение (read-ahead) и запаздывающая запись (write-behind) для увеличения быстродействия;
- квоты.
Сервер GlusterFS реализован довольно просто: он предоставляет в пользование клиенту свою систему хранения, оставляя за клиентом право решать каким образом организовать хранение. Все клиенты одного кластера должны быть настроены одинаково, во избежание проблем с согласованностью данных. Такая архитектура позволяет масштабировать GlusterFS до систем, общий объём которых может измеряться петабайтами данных, используя аппаратное обеспечение средней производительности. Также, архитектура GlusterFS позволяет избежать узких мест, которые свойственны распределённым системам с более тесной модульной интеграцией.
Для работы GlusterFS не требуется отдельный сервер метаданных, что улучшает масштабируемость и надёжность системы. Метаданные хранятся вместе с данными (в расширенных атрибутах файлов).
Клиенты
Доступ к Gluster-ресурсу можно получать как с использованием FUSE, так и через NFS-протокол версии не ниже третьей. В последнем случае (доступ по NFS) демон Gluster подгружает соответствующий транслятор, который выступает в роли NFS-сервера и не может работать совместно с другими NFS-серверами. Несмотря на то, что разработчики Gluster декларируют совместимость с CIFS, в действительности такая совместимость средствами самого Gluster не обеспечивается, поэтому для экспорта Windows-клиентам необходимо создать разделяемый ресурс средствами Samba.
Примечания
- ↑ Release 11.1 — 2023.
- ↑ The glusterfs Open Source Project on Open Hub: Languages Page — 2006.
Ссылки
- Сайт GlusterFS (англ.)
- GlusterFS Вики (англ.)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.