LINUX.ORG.RU

Опыт использования ext4: какие features вы включаете?

 


1

1

Всем привет.

Решил сменить свой reiserfs на ext4. Почитал маны - оказывается там через tune2fs можно добавлять/убирать какие-то features (опция -O большая), притом некоторые из них, как я понял, желательно делать с самого начала. Из описания, впринципе, понятно что они улучшают, правда непонятно что при этом ухудшают. Отсюда вопрос из практики/опыта:

1. Какие фичи вы включаете когда форматируете раздел ext4?

Интересует прежде всего для фалопомойки (1Tb раздел, надежность превыше скорости), но для других разделов тоже интересно ( / , /home , /var ...).

2. Чего еще мне нужно знать при использовании ext4?

Для Ъ ниже добавка.

Спасибо!

★★★★★

Для Ъ ниже добавка.

ниже чего, простите?!

aol ★★★★★ ()

Для Ъ - освежитель памяти (выдержка из манов):

The following filesystem features can be set or cleared using tune2fs:
dir_index - Use hashed b-trees to speed up lookups in large directories.
filetype - Store file type information in directory entries.
flex_bg - Allow bitmaps and inode tables for a block group to be placed anywhere on the storage media. Tune2fs will not reorganize the location of the inode tables and allocation bitmaps, as mke2fs(8) will do when it creates a freshly formated file system with flex_bg enabled.
has_journal - Use a journal to ensure filesystem consistency even across unclean shutdowns. Setting the filesystem feature is equivalent to using the -j option.
large_file - Filesystem can contain files that are greater than 2GB. (Modern kernels set this feature automatically when a file > 2GB is created.)
resize_inode - Reserve space so the block group descriptor table may grow in the future. Tune2fs only supports clearing this filesystem feature.
sparse_super - Limit the number of backup superblocks to save space on large filesystems.
uninit_bg - Allow the kernel to initialize bitmaps and inode tables and keep a high watermark for the unused inodes in a filesystem, to reduce e2fsck(8) time. This first e2fsck run after enabling this feature will take the full time, but subsequent e2fsck runs will take only a fraction of the original time, depending on how full the file system is.

Kroz ★★★★★ ()
Ответ на: комментарий от aol

ниже чего, простите?!

Копи-пейстил, форматировал... Ты был быстрее :)

Kroz ★★★★★ ()

Для хомяка делаю tune2fs -m 0 /dev/sda_номер_раздела (отключаю резервирование для нужд рута).

И монтирую с noatime,nodiratime.

vadik ★★ ()

Если нет веских причин что-то поменять (у тебя их нет), то оставляй умолчания.

anonymous ()

Решил сменить свой reiserfs на ext4.

Зря.

Cancellor ★★★★☆ ()
Ответ на: комментарий от vadik

О! Опция -m - это интересно. Спасибо.
По фичам, как я понял, ты ничего не менял?

Kroz ★★★★★ ()

mke2fs -O ^resize_inode на разделах, кот-е не буду ресайзить, дабы сэкономить место
tune2fs -c 0 -i 0 дабы отключить автопроверку после прошествия опр. времени
монтирую с data=journal ибо нету ибп.

tides ()

Нашел по ссылке код для вызова kernel panic. Не удержался ;(

Kor03d ★★ ()
Ответ на: комментарий от Kroz

По фичам, как я понял, ты ничего не менял?

Что значит «фича»?
При форматировании - нет, никаких доп. опций не указывал. После - убрал резервирование на всех разделах кроме корня (хомяк, разделы с данными и пр. не системная муть). Опции монтирования я уже указал в предыдущем сообщении. Больше ничего.

vadik ★★ ()
Ответ на: комментарий от vadik

Что значит «фича»?

Фича - это то что задается большой буквой -O для tune2fs. Это не опция монтирования. Список фич - в моем втором сообщении (третьем в это треде).

Kroz ★★★★★ ()

Ну и это, если рассматривать не только features, то почитай про опции монтирования data и barrier. Значения определяются сочетанием требований к скорости, ценностью данных и наличием резервного питания.

anonymous ()
Ответ на: комментарий от Kor03d

Нашел по ссылке код для вызова kernel panic. Не удержался ;(

Это вообще-то поведение при ошибках на ФС. Например, можно сделать, чтобы происходила паника при обнаружении ошибки на корневой ФС => ребут => fsck.

gentoo_root ★★★★★ ()
Ответ на: комментарий от tides

mke2fs -O ^resize_inode на разделах, кот-е не буду ресайзить, дабы сэкономить место

То есть block group descriptor не будет рости если не ресайзить раздел?

Kroz ★★★★★ ()
Ответ на: комментарий от Kor03d

Нашел по ссылке код для вызова kernel panic. Не удержался ;(

Это не баг - это фича. Реально ;)

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Фича - это то что задается большой буквой -O для tune2fs

Теперь понял. Просто не сразу сообразил, о чем речь. В принципе, о своих настройках я уже написал. Могу добавить, что остальное менять вообще не вижу смысла, поскольку ни с производительностью фс, ни с местом на винте проблем нет. Журнал по-умолчанию итак включен. Насчет изменения размера в будущем - не уверен.
Короче дефолт во все поля. Ну и данные жалко, все-таки эксперименты с фс могут и боком вылезти.

vadik ★★ ()
Ответ на: комментарий от tides

Да.

Ok, приму во внимание. Но было бы неплохо, если бы ты да какую-то ссылочку откуда ты это взял.

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Структура ext* статическая, если при создании раздела у тебе получилось недостаточно инодов, то выход — только пересоздание фс. Так и тут — в рантайме ничего расти не может. Конкретно, откуда взял это уже не помню, но инфа по структуре ext должна помочь.

tides ()
Ответ на: комментарий от tides

недостаточно инодов

Столкнулся с этим только один раз: когда вытаскивал debugfs'ом файлы с раздела на другой. И то потому, что у второго я сам указал малое число инодов при создании (медиа-хранилище).

По теме — менял только число инодов, когда жалко места было.

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от tides

если при создании раздела у тебе получилось недостаточно инодов

[root@lio ~]# df -i /home/ 
Filesystem                   Inodes IUsed    IFree IUse% Mounted on
/dev/mapper/vg_lio-lv_home 39321600 63883 39257717    1% /home

[root@lio ~]# lvresize  -L +1G /dev/mapper/vg_lio-lv_home -r 
  Extending logical volume lv_home to 601.00 GiB
  Logical volume lv_home successfully resized
resize2fs 1.41.14 (22-Dec-2010)
Filesystem at /dev/mapper/vg_lio-lv_home is mounted on /home; on-line resizing required
old desc_blocks = 38, new_desc_blocks = 38
Performing an on-line resize of /dev/mapper/vg_lio-lv_home to 157548544 (4k) blocks.
The filesystem on /dev/mapper/vg_lio-lv_home is now 157548544 blocks long.

[root@lio ~]# df -i /home/ 
Filesystem                   Inodes IUsed    IFree IUse% Mounted on
/dev/mapper/vg_lio-lv_home 39387136 63883 39323253    1% /home

вроде больше стало, не?

ukr_unix_user ★★★★ ()
Ответ на: комментарий от ukr_unix_user

А теперь отключи resize_inode с tune2fs, и попробуй повторить.

tides ()
Ответ на: комментарий от tides

нет, списибо.

пусть будет по умолчанию

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
ukr_unix_user ★★★★ ()
Ответ на: комментарий от ukr_unix_user

вроде больше стало, не?

old desc_blocks = 38, new_desc_blocks = 38

Надо где-то на 16 GiB увеличить, тогда будет больше desc_blocks и станет больше инодов.

i-rinat ★★★★★ ()

Только журнал отключаю и noatime на SSD и всего. Остальное - умолчально.

vadmitru ()

Всем спасибо за ответы.

Сделал так:

$ mkfs.ext4 -m 0 -O dir_index,extent,has_journal,large_file,sparse_super -L backup /dev/sdc1
$ tune2fs -c 0 -e remount-ro -i 0 -o user_xattr,acl,journal_data /dev/sdc1

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

dir_index,extent,has_journal,large_file,sparse_super

Включено по-дефолту для ext4 (см /etc/mke2fs.conf).

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.