Руководство по продвинутым файловым системам

Инсталляция инструментария


Теперь, когда вы работаете на ядре, поддерживающем XFS, можно создать и инсталлировать различные XFS tools. Одна из хороших новостей относительно XFS - она поставляется с полным набором инструментов поддержки и утилит. Войдите в каталог linux-2.4-xfs/cmd и запустите (с правами root) следующий сценарий оболочки:

# for x in attr acl xfsprogs dmapi xfsdump do cd $x autoconf /configure --prefix=/usr make make install cd .. done

Не забудьте о переводе строки после done. Наш специальный скрипт начнет работу, и все инструменты XFS будут инсталлированы. После финиша добавим несколько developer-related файлов, которые не инсталлированы предыдущей командой make installl:

# for x in attr dmapi xfsprogs do cd $x make install-dev cd .. done

H4>Создание и монтирование файловой системы.

После отработки скриптов все нужные для XFS программы будут инсталлированы и готовы к использованию. Можно создать тестовую XFS и попытаться достигнуть оптимальной производительности.

Если XFS создается поверх ReiserFS, потребуется небольшая уловка. По приглашению bash введите следующую команду для "обнуления" начального участка блочного устройства, на котором хранилась ReiserFS, а теперь вы собираетесь инициализировать новую файловую систему XFS:

# dd if=/dev/zero of=/dev/hdc9

Такой шаг необходим для eybxnj;tybzt хранящихся ReiserFS метаданных. Иначе, команда mount может "запутаться" и случайно смонтировать новую файловую систему XFS как дефектную ReiserFS! Достаточно позволить dd отработать 10 секунд и прервать комбинацией CTRL-C. При этом все "критические" части ранее существовавшей ReiserFS будут заполнены нулями, а код авто-детектирования типа файловой системы "путаться" больше не будет.

Пришло время создать новую файловую систему. Для этого можно воспользоваться командой mkfs.xfs следующим образом:

# mkfs.xfs /dev/hdc9

Такая команда сделает все необходимое, но имеется пара опций, позволяющих mkfs.xfs сконфигурировать новую XFS под максимальную производительность.


Первая из таких опций -l size=32m, что сообщит mkfs. xfs сконфигурировать файловую систему так, чтобы журнал метаданных имел размер 32 Mb. Это повысит производительность, сделав маловероятным переполнение журнала при высоких нагрузках.

Вторая опция позволяет поднять производительность новой файловой системы, сообщив mkfs.xfs минимизировать число allocation groups. Обычно, mkfs.xfs выбирает число allocation groups автоматически. Но опыт показывает, выбирается число несколько большее, чем требуется для оптимальной производительности однопроцессорных Linuxмашин и серверов. Если вы повторно перечитаете мою предыдущую статью>, allocation groups позволяют XFS выполнять операции над метаданными параллельно. Это очень удобно для high-end серверов, но слишком много allocation groups добавляют работы. Вместо того чтобы разрешить mkfs.xfs автоматически выбрать число allocation groups для вашей файловой системы, сделайте это "вручную", используя -d agcount=x. Выберите x минимальным, например, 4, 6 или 8. Расчет достаточно прост, необходимо иметь, по крайней мере, одну allocation group на каждые 4 GB в целевом блочном устройстве. Две описанные опции позволят создать "оптимизированную" XFS filesystem следующей командой:

# mkfs.xfs -d agcount=4 -l size=32m /dev/hdc9

Теперь, после создания файловой системы, ее можно монтировать. При этом можно воспользоваться некоторыми опциями монтирования, повышающими производительность, чтобы "выжать" максимум из новой файловой системы:

# mount /dev/hdc9 /mnt -o noatime,nodiratime,osyncisdsync

Первые две опции монтирования выключают модификацию atime, что практически никогда и не требуется, но способствует деградации производительности. Опция osyncisdsync добивается такого sync/async поведения XFS, чтобы максимально соответствовать таковому в ext3. Благодаря таким mkfs.xfs и mount ваша новая XFS будет иметь скорость немного выше, чем при умолчании.


Содержание раздела