@ Карта сайта News Автора!

Bog BOS: Файловая система XFS (Linux)

Последние изменения:
2017.05.19: sysadmin: Файловая система zfs под Linux для архива

Последнее изменение файла: 2017.10.06
Скопировано с www.bog.pp.ru: 2017.10.17

Bog BOS: Файловая система XFS (Linux)

Журналируемая файловая система xfs позволяет использовать блочные устройства размером более 16ТБ (пакеты xfsprogs и xfsdump), первоначально была разработана для SGI IRIX, поддерживает расширенные атрибуты файлов, выделение места экстентами, эффективное распараллеливание за счёт разбиения области данных на независимые отсеки. Является файловой системой по умолчанию в RHEL 7. Не очень любит мелкие файлы. Предпочтительна при большом количестве потоков доступа. Проблема с 64-битными inode для 32-битных программ.

Архитектурные особенности

Создание (mkfs.xfs)

Ключи утилиты mkfs.xfs:

Параметры монтирования

Опции монтирования:

Файлы в /proc

Статистика и ручки управления:

Кстати, опыт показал, что xfs сбрасывает накопленные буфера с такой интенсивностью, что захлёбывается внешнее хранилише (RAID контроллер), поэтому рекомендуется обеспечить ранее начало сброса: 40000000 в /proc/sys/vm/dirty_bytes, 10000000 в /proc/sys/vm/dirty_background_bytes.

Утилиты

xfs_info (скрипт для xfs_db).

xfs_admin (скрипт для xfs_db) позволяет изменить метку и UUID размонтированной фаловой системы.

xfs_check (скрипт для xfs_db) - проверка файловой системы, требуется размонтирование, требует 16 ГБ памяти (реально использовались 10 ГБ) для файловой системы в 7 TB (67%, 500 файлов); требует и реально использует 42 ГБ памяти для файловой системы в 20TB, быстр.

xfs_logprint - вывод и разбор журнала.

xfs_metadump (скрипт для xfs_db) - вывод метаданных в файл.

Определить уровень фрагментации файлов: "xfs_db -c frag -r блочное-устройство" (размонтирование не требуется, но иногда случается "Segmentation fault"; показывает долю "лишних" экстентов).

Определить уровень фрагментации свободного пространства: "xfs_db -c freesp -r блочное-устройство" (размонтирование не требуется).

Утилита дефрагментирования файла или файловой системы xfs_fsr (в качестве параметра можно указать файл или блочное устройство; по умолчанию - все файлы на всех файловых системах); не требует размонтирования. По очереди копирует все фрагментированные файлы в непрерывный кусок свободной области (если есть), затем меняет ссылку на файл. Отображённые в память (map) файлы не обрабатываются. Команда chattr утилиты xfs_io позволяет пометить файлы, которые не надо дефрагментировать (атрибут f). На каждом проходе обрабатывается 10% самых фрагментированных файлов (или просто самых больших?). Информация о следующем к обработке файле хранится в /var/tmp/.fsrlast_xfs, т.е. может продолжать прерванную работу. Лучше запускать почаще, т.к. дефрагментировать сильно "загаженную" файловую систему утилита неспособна - свободное место фрагментируется в пыль, после чего становится невозможно дефрагментировать большие файлы. Опции:

Утилита восстановления структуры файловой системы xfs_repair (после аварийного отключения компьютера требуется смонировать и размонтировать файловую систему перед вызовом xfs_repair; 1 ГБ ОП и 12 секунд на 7.5 ТБ и 500 файлов, быстра); ключи:

Утилиты xfsdump и xfsrestore могут помочь извлечь данные из файловой системы, которой не помогла xfs_repair (требуется монтирование).

Утилита xfs_growfs позволяет увеличить размер файловой системы без размонтирования (уменьшение размера файловой системы невозможно).

Прочее: xfs_bmap, xfs_freeze, xfs_io, xfs_mdrestore, xfs_mkfile, xfs_ncheck, xfs_quota.

Примеры

Раздел под резервное копирование bacula поверх автономного дискового массива HP StorageWorks MSA P2000 G3 (FC)

Проверка деградации (чтение tarnull) после полутора лет эксплуатации под хранилище томов bacula (большие и очень большие файлы, XFS, LVM над LSI MegaRAID 9266-8i - 2 RAID-6 по 18 дисков, SAS 4TB, rdcache=NoRA, iopolicy=Direct):

Проверка деградации (чтение tarnull) после полутора лет эксплуатации под хранилище томов bacula (большие и очень большие файлы, XFS, LVM над LSI MegaRAID 9266-8i - 2 RAID-6 по 18 дисков, SAS 4TB, rdcache=RA, iopolicy=Cached):

Вывод: при восстановлении малым количеством потоков необходимо включать кеширование и предварительное чтение.

Ссылки

@ Карта сайта News Автора!

Bog BOS: Файловая система XFS (Linux)

Последние изменения:
2017.05.19: sysadmin: Файловая система zfs под Linux для архива

TopList
. Крепеж змейка купить . Купить таблетки Лирика без рецепта в Москве
Copyright © 1996-2017 Sergey E. Bogomolov; www.bog.pp.ru (КГБ знает все, даже то что у Вас на диске ;)