Кластерні файлові системи

Коли йдеться про персональні комп'ютери, найпоширенішою практикою є використання пристрою для зберігання даних, підключеного до однієї виділеної машини з локальною файловою системою, яка оперує даними під керуванням своєї ОС, як пояснюється в статті про основи файлової системи. Однак цей підхід не завжди ефективний у разі інфраструктури корпоративного рівня. Складна система може включати численні диски, які можуть розташовуватись на різних серверах. У той же час, цим серверам може знадобитися працювати разом над виконанням одного складного завдання або мати одночасний доступ до тих самих даних. Одним із способів забезпечити це є використання кластерної файлової системи. Завдяки їй вони сприймаються як одна одиниця для зберігання даних, доступна для одночасного використання, незалежно від цифрових носіїв чи комп'ютерів, на яких вони розміщені. Ця стаття допоможе вам отримати базове розуміння цієї технології та дізнатися про основні типи кластерних ФС.


Що таке кластерна файлова система?

Звичайна файлова система не призначена для монтування на кількох серверах одночасно. Це навіть може призвести до серйозних проблем та пошкодити її логічну структуру. Наприклад, не знаючи про дії один одного, два сервери можуть спробувати виділити один і той самий блок на сховищі для різних файлів, покладаючись на інформацію про вільні блоки зі своєї пам'яті. Або певні блоки можуть бути вже змінені одним сервером, тоді як інші ігноруватимуть цей факт і використовуватимуть замість оновленого застарілий вміст. Цю проблему можна вирішити за допомогою кластерної файлової системи.

Кластерна файлова система може бути застосована до кількох серверів одночасно, при цьому вони отримують доступ до неї на рівні блоків і керуються нею як єдине ціле. Вона об'єднує ємності доступних сховищ та розподіляє їх між серверами. При цьому усуваються розбіжності, оскільки кожен сервер синхронізується з фактичним станом файлової системи так, ніби всі вони працюють на одній машині.

Така файлова система працює на блокових пристроях (жорстких дисках, твердотільних накопичувачах, масивах зберігання даних тощо), які можна під'єднати до сервера напряму або підключити через мережеві протоколи, як-от iSCSI, Fibre Channel, ATA over Ethernet тощо, та імпортувати до кластера. Найбільш типове її застосування – у мережі зберігання даних (SAN).

Що стосується функціональності, кластерна файлова система подібна до будь-якої традиційної, тієї ж NTFS у Microsoft Windows чи ext4 у Linux. Вона так само служить механізмом для організації даних у сховищі та отримання їх у разі потреби. Відмінність полягає в тому, що ця система розташовується на двох або більше серверах, об'єднаних у кластер певної конфігурації. І всі елементи цього кластера можуть читати та записувати дані у спільний ресурс для зберігання, як на свої локальні диски. При цьому усі зміни, внесені однією машиною, одразу стають видимими для решти, так що цілісність даних зберігається. А сама файлова система координує операції введення/виведення та навіть може блокувати їх, щоб уникнути так званих колізій. Для цього основні метадані файлової системи можуть бути або розподілені між усіма серверами в кластері, або збережені на централізованому сервері метаданих.

Кластерні файлові системи пропонують багато переваг для багатосерверних середовищ. Вони полегшують їх адміністрування, дозволяючи керувати всім кластером віддалено або з будь-якого сервера у його складі. Більшість із них включають менеджер томів, що дозволяє легко виділяти необхідний обсяг ємності для зберігання даних. Крім того, вони спрощують розширення системи через додавання нового сервера. Деякі з них можуть пропонувати розширені функції безпеки, як-от реплікація та знімки файлової системи (так звані snapshots). Проте, недоліком цієї моделі зберігання даних є те, що вона часто передбачає використання дорогого обладнання, включаючи дорогі дискові масиви, комутатори, кабелі, адаптери хост-шини тощо, на додаток до того, що її може бути досить важко обслуговувати через складну архітектуру.

Поширені типи кластерних файлових систем

Так само, як і традиційні файлові системи, кластерні створюються різними постачальниками та для різних сценаріїв використання. Таким чином, вони можуть значно відрізнятися між собою за дизайном і можливостями. Найбільш відомі типи кластерних ФС:

  • GFS2 (з анг. Global File System 2, Глобальна файлова система 2) – основна кластерна файлова система для Linux, що була розроблена RHEL. Вона замінила оригінальну версію GFS, яка входила до пакету ядра з 2009 року.

  • VMFS (з англ. Virtual Machine File System, Файлова система віртуальної машини) – популярна кластерна файлова система, оптимізована для зберігання файлів віртуальної машини. Вона була розроблена компанією VMware Inc. для свого власного сервера VMware ESX Server і використовується в продуктах віртуалізації компанії. Наразі існує шість версій VMFS, які відповідають різним випускам ESX/ESXi Server.

  • OCFS2 (з англ. Oracle Cluster File System, Кластерна файлова система Oracle) – кластерна файлова система загального призначення, створена Oracle та інтегрована в ядро Linux з 2006 року.

  • SNFS (з англ. StorNext File System, Файлова система StorNext) – кластерна файлова система, що була створена корпорацією Quantum та яка дозволяє комп'ютерам під Windows, Linux і Apple читати один і той самий том та вносити до нього записи. Її початкова назва була CentraVision File System (CVFS, Файлова система CentraVision).

  • Xsan – кластерна файлова система для macOS від Apple, що була розроблена на базі вищезгаданої файлової системи StorNext.

  • CXFS (з англ. Clustered XFS, Кластерна XFS) – кластерна файлова система, розроблена Silicon Graphics (SGI) спеціально для операційної системи IRIX і застосована на серверах на базі IRIX та Linux.

  • VxCFS (з англ. Veritas Cluster File System, Кластерна файлова система від Veritas) – кластерна файлова система, розроблена компанією Veritas Technologies і поширювана разом із її продуктами VERITAS Storage Foundation. Її можна використовувати на серверах на базі IBM AIX, Linux, HP-UX і Solaris.

  • GPFS (з англ. General Parallel File System, Паралельна файлова система загального призначення) – кластерна файлова система, що була випущена IBM у 1998 році для своєї власної операційної системи AIX. Пізніше вона стала доступна для Linux і Windows Server.

Якщо ви хочете поглибити свої знання про локальні типи ФС, які використовуються в різних середовищах, прочитайте наступні статті:

Останнє оновлення: 26 квітня 2023

Якщо вам сподобалася ця стаття, поділіться нею у соцмережах: