Для вашей рабочей станции или производственной системы вопрос “какую файловую систему мне следует использовать?” всегда возникает в какой-то момент. Это решение еще более важно при настройке производственных веб-серверов или сервера баз данных. Стандартом по умолчанию является Ext3, а теперь Ext4, хотя доступно множество других опций в зависимости от вашего варианта использования.
Некоторые важные шаги, которые следует рассмотреть перед выбором файловой системы:
- Какую операционную систему и версии вы будете использовать (Ubuntu 20.04, CentOS 7 и т.д.)?
- От какого оборудования вы зависите в плане хранения данных (nvme, ssd, hdd, fusion-io и т.д.)?
- Какую рабочую нагрузку и сервис вы планируете запускать (база данных, веб-сервер, кэширование и т.д.)?
Ознакомьтесь с полным списком файловой системы в Википедии для подробного сравнения функций.
В случае сервера MySQL вы можете попробовать протестировать свой собственный сервер с помощью отличного инструмента SysBench и прочитать эту хорошую статью на веб-сайте Percona.
Вот полный тест, выполненный с помощью SysBench с MySQL Server 4.1 на различных файловых системах, где мы можем видеть высокую производительность XFS
в среде MySQL: MySQL FileSystems Benchmark.
В заключение о файловых системах, не существует “наилучшей файловой системы”, поскольку любой аспект настройки производительности на Linux/Unix-сервере, который вы выберете, будет зависеть от вашей рабочей нагрузки, требований к целостности данных, требуемого размера, характеристик диска, потребностей в ведении журнала и т.д. Важно хорошо понимать узкое место вашего сервера (вы можете использовать iostat и dd), тогда вы сможете определить свои потребности и выбрать файловую систему.
👉 Другим важным моментом будет выбор правильного планировщика. В настоящее время планировщик по умолчанию, как правило, хорош,
cfq
: полностью справедливая организация очередей.