XFS (Русский)

From ArchWiki
Jump to navigation Jump to search
Состояние перевода: На этой странице представлен перевод статьи XFS. Дата последней синхронизации: 24 июля 2017. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

XFS - это высокопроизводительная файловая система с журналированием, созданная Silicon Graphics, Inc. XFS особенно хорошо справляется с параллельным вводом-выводом благодаря своей структуре на основе группы размещения. Это обеспечивает исключительную масштабируемость потоков ввода-вывода, пропускной способности файловой системы, размера файлов и файловой системы при работе с несколькими устройствами хранения.

Установка

Инструменты для управления разделами XFS находятся в пакете xfsprogs из official repositories, который включен в базовую установку по умолчанию.

Повреждение данных

Если по какой-либо причине вы испытываете повреждение данных, вам нужно будет восстановить файловую систему вручную.

Восстановление файловой системы XFS

Сначала размонтируйте файловую систему XFS.

# umount /dev/sda3

После размонтирования запустите инструмент xfs_repair(8).

# xfs_repair -v /dev/sda3

Онлайн проверка метаданных (scrub)

Warning: Эта программа является ЭКСПЕРИМЕНТАЛЬНОЙ, что означает, что ее поведение и интерфейс могут измениться в любое время, см. xfs_scrub(8).

xfs_scrub asks the kernel to scrub all metadata objects in the filesystem. Metadata records are scanned for obviously bad values and then cross-referenced against other metadata. The goal is to establish a reasonable confidence about the consistency of the overall filesystem by examining the consistency of individual metadata records against the other metadata in the filesystem. Damaged metadata can be rebuilt from other metadata if there exists redundant data structures which are intact.

Enable xfs_scrub_all.timer периодическая проверка онлайн-метаданных для всей файловой системы. One may want to edit xfs_scrub_all.timer, since it runs every Sunday at 3:10am.

Интеграция

xfsprogs 3.2.0 has introduced a new on-disk format (v5) that includes a metadata checksum scheme called Self-Describing Metadata. Основанный на CRC32, он обеспечивает, например, дополнительную защиту от повреждения метаданных во время непредвиденных потерь мощности. Контрольная сумма включена по умолчанию при использовании xfsprogs 3.2.3 или новее. Если вам нужно монтировать xfs для чтения и записи для более старого ядра, его можно легко отключить с помощью переключателя -m crc=0 при вызове mkfs.xfs(8).

# mkfs.xfs -m crc=0 /dev/target_partition

The XFS v5 on-disk format is considered stable for production workloads starting Linux Kernel 3.15.

Примечание: В отличие от Btrfs и ZFS, контрольная сумма CRC32 применяется только к метаданным, а не к фактическим данным.

Производительность

Для оптимальной скорости просто создайте файловую систему XFS:

# mkfs.xfs /dev/target_partition

Yep, so simple - since all of the "boost knobs" are already "on" by default.

Warning: Отключение барьеров, отключение atime и другие улучшения производительности значительно повышают вероятность повреждения и сбоя данных.

В соответствии с XFS wiki, рассмотрите возможность изменения CFQ по умолчанию I/O scheduler (for example to Deadline, Noop или BFQ) чтобы пользоваться всеми преимуществами XFS, особенно для SSDs.

Размер и ширина полосы

Если эта файловая система будет работать на чередующемся RAID-массиве, вы можете значительно повысить скорость, указав размер чередования в команде mkfs.xfs(8).

See How to calculate the correct sunit,swidth values for optimal performance

Отключение барьера

Вы можете повысить производительность, отключив использование барьера для файловой системы, добавив параметр монтирования nobarrier в файл /etc/fstab.

Время доступа

В некоторых файловых системах вы можете повысить производительность, добавив параметр монтирования noatime в файл /etc/fstab. Для файловых систем XFS стандартным поведением atime является relatime, которое почти не имеет накладных расходов по сравнению с noatime, но при этом сохраняет нормальные значения atime. Все файловые системы Linux теперь используют это как значение по умолчанию (начиная с версии 2.6.30), но XFS использует релятивное поведение с 2006 года, поэтому никому не нужно когда-либо использовать noatime для XFS по соображениям производительности.

Кроме того, noatime подразумевает nodiratime, поэтому нет необходимости указывать nodiratime, когда также указывается noatime.

Дефрагментация

Хотя основанная на экстентах природа XFS и используемая им стратегия отложенного размещения значительно повышает устойчивость файловой системы к проблемам фрагментации, XFS предоставляет утилиту дефрагментации файловой системы (xfs_fsr, сокращение от реорганизатора файловой системы XFS), которая может дефрагментировать файлы на смонтированной и активной файловой системе XFS. Может быть полезно периодически просматривать фрагментацию XFS.

xfs_fsr(8) улучшает организацию смонтированной файловой системы. Алгоритм реорганизации работает с одним файлом за раз, сжимая или иным образом улучшая компоновку экстентов файла (смежные блоки данных файла).

Проверить уровень фрагментации

Чтобы увидеть, насколько фрагментирована ваша файловая система:

# xfs_db -c frag -r /dev/sda3

Выполнение дефрагментации

Чтобы начать дефрагментацию, используйте команду xfs_fsr(8):

# xfs_fsr /dev/sda3

Свободный btree инод

Начиная с Linux 3.16, XFS добавила btree, который отслеживает свободные иноды. Это эквивалентно существующему btree для распределения инодов, за исключением того, что свободный btree inode отслеживает фрагменты inode, по крайней мере, с одним свободным inode. Цель состоит в том, чтобы улучшить поиск свободных кластеров inode для распределения inode. Это повышает производительность на устаревших файловых системах, то есть на месяцы или годы, когда вы добавили и удалили миллионы файлов в / из файловой системы. Использование этой функции не влияет на общий уровень надежности файловой системы или возможности восстановления.

This feature relies on the new v5 on-disk format that has been considered stable for production workloads starting Linux Kernel 3.15. It does not change existing on-disk structures, but adds a new one that must remain consistent with the inode allocation btree; for this reason older kernels will only be able to mount read-only filesystems with the free inode btree feature.

Функция включена по умолчанию при использовании xfsprogs 3.2.3 или новее. Если вам требуется доступная для записи файловая система для более старого ядра, ее можно отключить с помощью переключателя finobt=0 при форматировании раздела XFS. Вам нужно crc=0 вместе.

# mkfs.xfs -m crc=0,finobt=0 /dev/target_partition

or shortly (finobt depends crc)

# mkfs.xfs -m crc=0 /dev/target_partition

Решение пробелм

Квота корневой файловой системы

Параметры монтирования XFS (uquota, gquota, prjquota и т.д.) Не выполняются во время повторного монтирования файловой системы. Чтобы включить квоту для корневой файловой системы, параметр монтирования должен быть передан initramfs как kernel parameter rootflags=. Впоследствии его не следует указывать среди параметров монтирования в /etc/fstab для корневой (/) файловой системы.

Примечание: Существуют некоторые различия в квоте XFS по сравнению со стандартным Linux Disk quota, эту статью http://inai.de/linux/adm_quota стоит прочитать.

Смотрите также