Home Wiki > SDB:Оптимизация Ext3
Sign up | Login

SDB:Оптимизация Ext3

tagline: Материал из openSUSE

Эта статья расскажет как ускорить ext3 изменением параметров монтирования по умолчанию для файловой системы ext3 в openSUSE.

Стандартные настройки Ext3

Ext3 это журналируемая файловая система, которая была[1] стандартной во многих дистрибутивах Linux. Её стандартные установки, режим "Journal Ordered" и "atime" могут заставить ее работать медленнее чем XFS или ReiserFS (v3).


Включение режима Writeback

Существует три разных варианта журналирования файловой системы ext3:

  1. Journal Mode (самый медленный, наиболее безопасный)
  2. Ordered Mode (средняя скорость, очень безопасный, опция по умолчанию в openSUSE)
  3. Writeback Mode (наиболее быстрый, относительно безопасный)


openSUSE по умолчанию использует режим Ordered mode, т. к. он обеспечивает наилучший коэффициент скорости и безопасности. Однако, наиболее быстрый режим это режим Writeback mode т. к. он осуществляет наименьшее журналирование. В некоторых случаях это может привести к потери данных (например, при сбоях с электропитанием), но большинство людей предпочитает этот режим из-за быстрой скорости работы. Режим Journaled mode это самый медленный режим, потому что он журналирует все дважды, но в случае если необходимо одновременно писать и читать из диска, то режим journaled mode может значительно увеличить производительность.

Большинство тех людей, которые хотят увеличить производительность ext3 должны использовать режим Writeback mode, но если они уверены в том что они много пишут\читают из диска, то режим Journaled mode подойдет им больше.


Внимание: Если вы попытаетесь выполнить оптимизацию одного из разделов в то время, когда файловая система смонтирована, то этот раздел может быть серьезно поврежден. Поэтому выполняйте следующие действия на размонтированной файловой системе после загрузки из под LiveCD, LiveDVD, или другого раздела Linux. openSUSE LiveCD или Knoppix LiveCD хорошо подходит для этой цели.


Для того чтобы изменить режим журналирования раздела ext3:

1. Загрузите О.С. , откройте файл /etc/fstab в вашем любимом редакторе (рекомендуется kate или gedit). Вам не понадобятся права супер-пользователя.
2. Запишите разделы которые вы хотите оптимизировать, включая разделы содержащие файловые системы / и /home . Примеры включают /dev/hda2 и /dev/hda3, или /dev/sda2 и /dev/sda3.
3. Загрузитесь с помощью LiveCD или LiveDVD.
4. Запустите терминал, konsole или gnome-terminal.
5. Выполните команду, чтобы изменить режим журналирования, заменяя /dev/hda1 настоящей ссылкой на раздел, который вы записали в шаге 2:

  • Режим Writeback mode: tune2fs -O has_journal -o journal_data_writeback /dev/hda1
  • Режим Journaled mode: tune2fs -O has_journal -o journal_data /dev/hda1

6. Повторите шаг 5 для каждого раздела, который необходимо оптимизировать.
7. Как только закончите, можете перезагрузится в openSUSE Linux.





Включение индексирования директорий (Enabling Directory Indexing)

Индексирование директорий увеличивает скорость чтения и записи в и из директорий вашего жесткого диска. Поскольку они предварительно индексированы (pre-indexed), скорость чтения должна заметно возрасти. Включение директивной индексации безопасно, и рекомендовано.

Внимание: Если вы попытаетесь выполнить оптимизацию одного из разделов в то время, когда файловая система смонтирована, то этот раздел может быть серьезно поврежден. Поэтому выполняйте следующие действия на размонтированной файловой системе после загрузки из под LiveCD, LiveDVD, или другого раздела Linux. openSUSE LiveCD или Knoppix LiveCD хорошо подходит для этой цели.

Чтобы включить индексирование директорий в разделе ext3:

1. Загрузите О.С. , откройте файл /etc/fstab в вашем любимом редакторе (рекомендуется kate или gedit). Вам не понадобятся права супер-пользователя.
2. Запишите разделы которые вы хотите оптимизировать, включая разделы содержащие файловые системы / и /home . Примеры включают /dev/hda2 и /dev/hda3, или /dev/sda2 и /dev/sda3.
3. Загрузитесь с помощью LiveCD или LiveDVD.
4. Запустите терминал, konsole или gnome-terminal.
5. Выполните команду, чтобы изменить режим журналирования, заменяя /dev/hda1 настоящей ссылкой на раздел, который вы записали в шаге 2:

  • tune2fs -O dir_index /dev/hda1

6. Выполните команду, чтобы включить индексацию директорий для существующих каталогов, /dev/hda1 с настоящей ссылкой на раздел, который вы записали в шаге 2:

  • e2fsck -D /dev/hda1

Выполнение команды e2fsck может занять немного времени, это зависит от размера вашего раздела и количества директорий в нем.

7. Выполните шаги 5 и 6 для каждого раздела, который вы хотите оптимизировать.
8. Как только закончите, можете перезагрузится в openSUSE Linux.





Выключение atime

Каждый раз, когда осуществляется доступ к файлу, чтение или запись, опция atime записывает маленькое изменение к файлу, в котором указывается когда последний раз осуществлялся доступ к файлу. Однако, в ext3, эта опция может замедлить процесс чтения или записи на диск. Выключение atime отменяет обновление информации об последнем доступе к файлу, обновляя информацию только когда файл модифицируется (осуществляется запись). Это увеличивает скорость работы, однако может навредить программам tmpreaper и Mutt, которые используют информацию atime чтобы выполнять некоторые действия.

Если вы обнаружите что выключение этой опции вызвало ошибки, просто включите опцию atime повторно, удалив добавленные строчки в файле fstab. Выключение этой опции не требует размонтирования файловой системы.


Для того чтобы выключить опцию atime на разделе с ext3:

1. Загрузив О.С, запустите терминал.
2. Переключитесь в режим супер-пользователя используя команду su -.
3. Откройте файл /etc/fstab в любом редакторе (рекомендуется nano, kate или gedit). Можно открыть файл выполнив одну из следующих команд: nano /etc/fstab, kate /etc/fstab, или gedit /etc/fstab.
4. Запишите разделы которые вы хотите оптимизировать, включая разделы содержащие файловые системы / и /home . Примеры включают /dev/hda2 и /dev/hda3, или /dev/sda2 и /dev/sda3.
5. В четвертой секции (перед двома номерами в конце строки) вы увидите секцию опций fstab.
6. Введите ",noatime,nodiratime" после существующих опций для каждого раздела который вы хотите оптимизировать.
7. Сохраните файл fstab.
8. Перезагрузитесь.



Ссылки

Информация, которая находится в данной статье была взята из следующих источников:

Пост Codergeek42 на форумах Gentoo

Пост John Markh на форумах SUSEForums.net

Daniel Robbin's paper hosted at IBM.com

Документация FAQ.org по atime и noatime

Пост "Replacing atime with relatime" на KernelTrap.org


Примечания

  1. начиная с openSUSE 11.2 стандартная файловая система в openSUSE ext4 вместо использовавшейся ранее ext3, смотри: Product highlights 11.2