Ответ
В работе с серверами чаще всего сталкиваюсь с ext4, XFS и ZFS.
Опыт и подводные камни:
-
ext4:
- Плюсы: Стандарт де-факто, надежная, отличная поддержка.
- Минусы: Может сильно фрагментироваться при интенсивной записи мелких файлов (например, логов). Требует периодической проверки
fsckна больших томах, что занимает время. - Проверка:
fsck -f /dev/sdX
-
XFS:
- Плюсы: Высокая производительность с большими файлами, онлайн-дефрагментация (
xfs_fsr), быстрое создание снапшотов. - Минусы: Критично: Нельзя уменьшить размер существующей файловой системы. Планирование LVM/разделов должно быть с запасом.
- Проверка метаданных:
xfs_repair -n /dev/sdX
- Плюсы: Высокая производительность с большими файлами, онлайн-дефрагментация (
-
ZFS:
- Плюсы: Потрясающая надежность (copy-on-write), встроенное сжатие, дедупликация, снапшоты.
- Минусы: Требует много RAM (особенно с включенной дедупликацией). Сложнее в администрировании, не входит в стандартное ядло многих дистрибутивов.
- Мониторинг:
zpool status,zfs list
Общие подводные камни для всех:
- Закончились inodes: Файловая система полна, но
df -hпоказывает свободное место. Решение:df -iдля мониторинга, увеличение числа inodes при создании ФС (опция-Nдляmkfs.ext4). - LVM Thin Provisioning: Можно выделить томов больше, чем есть физического пространства (overcommit). При реальном заполнении пула данные теряются. Необходим мониторинг
lvsиvgs. - NFS в высоконагруженных средах: Проблемы с блокировками файлов (stale file handles), особенно при сетевых сбоях. Важно настраивать таймауты (
timeo,retrans).