Доступна файлова система Reiser5

Доступна для тестування файлова система Reiser5 із підтримкою логічних томів на локальній машині. Основне нововведення - це паралельне масштабування (scaling out), яке здійснюється не на блочному рівні, а засобами файлової системи.

Як перевагу даного підходу заявлено відсутність недоліків, властивих зв'язкам FS+RAID/LVM та непаралельним ФС (ZFS, Btrfs), таких як проблема вільного місця, просідання продуктивності при заповненні тома понад 70%, застарілі алгоритми компонування логічних томів (RAID/LVM), що не дозволяють ефективно розподіляти дані по логічному тому. У паралельній ФС перед додаванням пристрою в логічний том його необхідно відформатувати за допомогою стандартної утиліти mkfs.

У Reiser5 використовується O(1)-аллокатор вільних блоків. Максимальна вартість будь-якої операції з пошуку вільного блоку залежить від розміру логічного тома. Можна легко і ефективно скомпонувати логічний том із блокових пристроїв, різних за розміром і пропускною здатністю. Розподіл даних з таких пристроїв відбувається за допомогою нових алгоритмів (т.зв. «фібер-страйпінг»), запропонованих російським математиком та програмістом Едуардом Шишкіним.

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

Додавання пристрою в тому і видалення пристрою з тому супроводжується перебалансуванням, що зберігає "справедливість" розподілу. При цьому порція мігрованих даних також дорівнює відносній ємності пристрою, що додається (видаляється). Швидкість міграції нефрагментованих даних наближається до швидкості запису на диск. Можливе паралельне обслуговування всіх блокових пристроїв, що входять до логічного тому, із застосуванням індивідуального підходу до кожного з них (дефрагментація для НЖМД, видання Discard-запитів для SSD тощо). Моніторинг вільного місця на логічному томі провадиться за допомогою стандартної утиліти df(1). Крім цього, користувачеві надається можливість відстежувати вільне місце на кожному пристрої-компоненті логічного тому.

Усі операції з логічними томами (додавання, видалення пристроїв тощо) атомарні та реалізовані за допомогою штатних засобів роботи з транзакціями у Reiser4. Правильне «розгортання» тому після перерваної такої операції регламентовано інструкціями. На даний момент у Reiser5 поки немає засобів управління off-line (відмонтованими) томами, тому користувачам пропонується поки що самостійно зберігати та оновлювати конфігурації їх логічних томів. Таку конфігурацію легко приготувати для примонтованого тому за допомогою роботи з логічними томами, що входить до складу пакету reiser4progs.

Із планованого:

  • Розподіл метаданих з кількох підтом;
  • Перевірка/відновлення логічних томів утилітою fsck (шляхом модернізації її старої версії);
  • Користувальницьке управління розподілом та прозорою міграцією даних, що має велике значення для HPC-додатків (Burst Buffers);
  • Контрольні суми даних та метаданих;
  • 3D-знімки (snapshots) логічних томів з можливістю відкату не тільки регулярних файлових операцій, а й операцій над томами (таких як додавання та видалення пристроїв);
  • Глобальні (networking) томи, що агрегують пристрої на різних машинах.

Джерело: opennet.ru

Додати коментар або відгук