Як NFS читання кешу працює на Debian?


12

Я планую використовувати NFS для обслуговування багатьох невеликих файлів. Вони будуть читатися дуже часто, тому кешування на стороні клієнта має вирішальне значення. Чи справляється з цим NFS? Чи є спосіб певним чином збільшити кешування на стороні клієнта?

... чи варто шукати інше рішення? Синхронізація за допомогою rsync або unison періодично не є можливою, оскільки файли час від часу змінюються на стороні клієнта.

Відповіді:


6

По-перше, NFS не забезпечує кохерентність кешу, тому якщо вам це потрібно, потрібно шукати в іншому місці.

NFS визначає більш слабку модель, що називається консистенцією близької до відкритості. Це означає, що коли файл закритий, будь-які брудні дані передаються на сервер. І навпаки, коли файл відкривається, виконується перевірка атрибутів, тобто якщо клієнт кеширує сторінки з цього файлу, він перевіряє, чи ці сторінки все ще є дійсними.

Хоча це не в самій специфікації, у більшості клієнтів NFS є щось, що називається тайм-аутом кешу атрибутів, тобто, скільки років можуть бути атрибути каталогу або відкритого файлу, перш ніж клієнт звернеться до сервера для їх повторної перевірки. У Linux див. Параметри кріплення actimeo = etc. Більш високі значення дозволяють більш агресивно кешувати, але збільшують ризик використання застарілих даних, якщо якийсь інший клієнт тим часом оновив файл.


Дякую за вашу відповідь Отже, тільки щоб я правильно це зрозумів, клієнтська сторона "кеш атрибутів" містить лише кеш для файлу / dir-атрибутів, тобто. кеш не містить вмісту файлів?
Ztyx

Так, клієнт кешує вміст файлу в кеш-пам'яті сторінки, як і для локальної файлової системи. Атрибути використовуються для визначення того, коли і коли вміст кешованого файлу буде недійсним.
січень

Ага. Дуже дякую, що відповіли на це. Гарного дня.
Ztyx

Коли ви говорите "сторінка", це, мабуть, означає, що частини файлу можуть бути кешовані, а частини файлу можуть бути? Це не кеш файлів, чи не так? Це підрозділи файлу, які можна кешувати.
CMCDragonkai

@CMCDragonkai: Ядро відслідковує вміст файлу, що кеширується, на деталі сторінки (зазвичай 4 КБ), так що так, воно може кешувати частину файлу. Я не впевнений, як саме працює інвалідація кешу для NFS, я здогадуюсь, що після закінчення тайм-ауту кешу атрибута, коли він зв’яжеться з сервером для повторної перевірки, і якщо оновлення не вдасться, воно скидає всі кешовані сторінки, що належать до цього файлу.
січень
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.