Оптимізація роботи файлової системи Linux ext3

Я знайшов три основні методи підвищення швидкодії файлової системи ext3 без додаткових матеріальних витрат на ОЗП під дисковий кеш.
Опишу їх:
1) увімкнення режиму журналювання (writeback);
2) Увімкнення індексування директорій (directory indexing);
3) Вимкнення логування часу останнього доступу до інод файлів та каталогів.

Отже, почнемо.

1) увімкнення режиму журналювання (writeback).

Існує три типи журналювання в ext3:
— Journal Mode – самий повільний, але самий швидкий тип журналювання. При ньому журналюються дані та метадані, тобто робиться подвійний запис на диск;
— Ordered Mode – середня швидкість, висока безпека. Журналюються метадані та блоки в логічні групи, що називаються транзакціями;
— Writeback Mode – самий швидкий, відносно безпечний. Журналюються лише метадані. Його недоліком є можливість втрати невеликї частини даних при фізичному збої сервера (живлення, вихід з ладу якоїсь деталі абощо), проте швидкість роботи компенсує це.

По замовчуванню більшість дистрибутивів використовує Ordered mode журналювання.

УВАГА!Операції потрібно проводити лише на розмонтованих розділах, інакше можливі пошкодження даних.

Вмикається writeback mode журналювання наступним чином:
— відмонтовуємо розділ (якщо розділ системнй, завантажуємося з диска, і відмонтовуємо);
— змінюємо режим журналювання розділу;

tune2fs -O has_journal -o journal_data_writeback DEVICE

— ребутимося в нормальний режим, або примаунчуємо розділ(и) назад.

2) Увімкнення індексування директорій (directory indexing).

Індексування директорій дозволяє збільшити швидкість читання/запису з/в директорії, через їх попереднє індектування. Цей параметр не погіршує безпеку системи.

Вмикаємо directory indexing наструпним чином:
— відмонтовуємо розділ (якщо розділ системнй, завантажуємося з диска, і відмонтовуємо);
— змінюємо індексування директорій;

tune2fs -O dir_index DEVICE

— вмикаємо індексацію для вже існуючих каталогів

fsck.ext3 -D DEVICE

— ребутимося в нормальний режим, або примаунчуємо розділ(и) назад.

3) Вимкнення логування часу останнього доступу до інод файлів та каталогів.

Кожного разу при зверненні системи до файлу/каталогу, система пише таймштамп – час останнього доступу, що зменшує швидкодію файлововї системи. Особливо це видно при пакетному читанні – великої кількості невеликих файлів.
Вимикається шляхом ремаунту дисків з параметрами noatime, nodiratime – відповідно відключення часу останнього доступу до файлів та каталогів.
— відкриваємо /etc/fstab від root і редагуємо четверте поле (поле опцій), додаємо через кому без пробілів noatime,nodiratime

LABEL=/             /         ext3        defaults,noatime,nodiratime    0 0

— ребутимося, або перемаунчуємо диски.

Опубликовано в filesystem

Рубрики