GlusterFSрозподілена файлова система, що дозволяє організувати роботу розподіленого на кілька вузлів сховища, розгорнутого поверх штатних файлових систем POSIX, таких як Ext4, XFS і Btrfs, з використанням механізму FUSE (файлова система у просторі користувача). GlusterFS надає засоби автоматичного відновлення після збоїв і забезпечує практично необмежену масштабованість, завдяки відсутності прив'язки до централізованого серверу мета-даних (використовуються розподілені хеш-таблиці).

Цю файлову систему застосовують у хмарних обчисленнях, службах потокового медіа та у мережах постачання даних. GlusterFS спочатку був розроблений Gluster Inc., і потім Red Hat, після поглинання Gluster у 2011. У червні 2012 система увійшла в Red Hat Storage Server.[1]

Архітектура ред.

GlusterFS розділена на серверну і клієнтську частини. На кожному сервері працює демон glusterfsd, який робить доступним для клієнтів локальне сховище як том. Клієнтський процес glusterfs з'єднується з одним або кількома серверами за допомогою TCP/IP або InfiniBand і об'єднує всі доступні серверні томи в один, використовуючи розширювані транслятори (функціональні модулі системи). Отриманий том монтується на клієнтському хості за допомогою механізму Filesystem in Userspace.

Велика частина функціональності 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.

Виноски ред.

  1. Timothy Prickett Morgan (27 червня 2012). Red Hat Storage Server NAS takes on Lustre, NetApp. The Register. Архів оригіналу за 30 травня 2013. Процитовано 30 травня 2013.

Посилання ред.