Кілька місяців тому ми говорили тут у своєму блозі про Райзер5, який - це файлова система підтримував Едвард Шишкін і який виділяється включенням інновацій у паралельне масштабування, що здійснюється не на рівні блоку, а через файлову систему.
Reiser5 - це істотно перероблена версія файлової системи ReiserFS, в якій реалізована підтримка паралельних масштабованих логічних томів, що дозволяє ефективно розподіляти дані по логічному тому.
Тепер, в останніх новинах, Едуард Шишкін анонсував нові функції, які розробляються в рамках проекту Reiser5.
З останніх інновацій, Було помічено, що користувач може додати невеликий високопродуктивний блоковий пристрій (наприклад, NVRAM), який називається проксі-диском, на відносно великий логічний том, що складається з малобюджетних дисків. Це створить враження, що весь том складається з тих самих високопродуктивних пристроїв, що і "проксі-диск".
Реалізований метод базувався на простому спостереженні що на практиці запис на диск не виконується постійно і криво Навантаження вводу / виводу Має форму дзьоба. У проміжку між такими «спайками» завжди є можливість скинути дані з проксі-диска, перезаписавши всі дані (або лише їх частину) на «повільну» основну пам’ять у фоновому режимі. Тому проксі-блок завжди готовий отримати новий фрагмент даних.
Спочатку ця техніка (відомий як розривні буфери) виникла в галузі високопродуктивних обчислень (HPC). Але виявилось, що це вимагає і звичайних додатків, особливо тих, які пред'являють високі вимоги до цілісності даних (зазвичай це інший тип баз даних). Ці зміни вносяться атомарно будь-яким додатком у будь-якому файлі, а саме:
- Спочатку створюється новий файл, що містить змінені дані;
- Потім цей новий файл записується на диск за допомогою fsync (2);
- Після цього новий файл перейменовується у старий, що автоматично звільняє блоки, зайняті старими даними.
Усі ці кроки в тій чи іншій мірі спричиняють значне зниження продуктивності будь-якої файлової системи. Ситуація покращується, якщо новий файл спочатку записується на спеціальний високопродуктивний пристрій, що саме відбувається у файловій системі Burst Buffers.
У Reiser5 планується надсилати не тільки нові логічні блокиs з файлу на проксі-диск, але й загалом усі брудні сторінки. Крім того, не тільки сторінки з даними, але і з метаданими, які записуються в кроки (2) та (3).
Проксі-диски підтримуються в контексті регулярної роботи з логічними томами Reiser5, оголошений на початку року. Тобто, сукупна система «проксі-диск - основне сховище» є звичайним логічним томом, з тією лише різницею, що проксі-диск має перевагу над іншими компонентами тома в політиці адресації диска.
Додавання проксі-диска до логічного тому не супроводжується жодним перебалансуванням даних, і його видалення відбувається так само, як видалення звичайного диска. Усі операції з проксі-диском є атомними.
Після додавання проксі-диска загальна ємність логічного тому збільшується на ємність цього диска.
Проксі-диск слід періодично очищати, тобто скидати з нього дані в основне сховище. Після досягнення стабільності бета-версії Reiser5 планується зробити автоматичне очищення (воно буде виконуватися спеціальною серцевинною ниткою). На цьому етапі відповідальність за прибирання покладається на користувача.
Якщо на проксі-диску немає вільного місця, усі дані автоматично записуються в основну пам’ять. У той же час загальна продуктивність FS за замовчуванням знижується (завдяки постійному виклику процедури підтвердження всіх доступних операцій).
Фуенте: https://marc.info
Я не знав, що ReiserFS все ще був активним після перерви, спричиненої тим, що було зроблено Гансом ,,
Про це мовчали, але розвиток триває.