Администратор сервера Linux может выбирать из множества файловых систем. Кроме того, не всегда легко определить подходящий макет и оптимальную файловую систему для ваших нужд.
Можете ли вы предложить некоторые рекомендации по выбору «оптимальной» файловой системы для сервера Linux? Я знаю, что это общий вопрос. Давайте будем более конкретными. Я скажу так.
1- У меня есть кеширующий веб-прокси-сервер. Прокси-сервер обычно должен хранить много мелких объектов, а также есть несколько средних и крупных объектов. Я думаю, что случай с веб-сервером будет аналогичным.
2- У меня есть почтовый сервер. Ему нужно сохранять сообщения пользователей.
3- У меня есть сервер базы данных.
Все эти три сервера требуют очень большого количества операций ввода-вывода (чтение и запись).
Для других типов серверов, думаю, это не так критично. Например, брандмауэр на базе Linux не требует HD-доступа, такого как прокси или веб-сервер. Большая часть его обработки выполняется в памяти.
Я думаю, что лучший ответ предложит соответствующую файловую систему для каждого сервера (желательно с обоснованием). Давайте сосредоточимся на производительности как на факторе, на котором будут основываться наши предложения.
большая часть моей повседневной работы связана с определением и управлением хранилищем на несколько ТБ в установках, где мне не нужно много управления, и никто из руководителей более высокого уровня не знает ни слова о файловых системах. по этим причинам мне нужны надежные, эффективные и простые системы. я сделал лоты моделирования аварийных ситуаций, копируемых десятками миллионов файлов на (смоделированное) нестабильное оборудование. ext3 работает превосходно. XFS не очень, но намного выше требований. JFS и ReiserFS с треском провалились.
Вы не ошибетесь с Ext3 практически для любой средней нагрузки. Кроме того, я никогда не терял с ним данные. Его журнал восстановления надежен.
Обновление: Ext4 в порядке, если у вас есть надежная защита от идиотов.
Я потерял данные из-за "отложенной записи" по умолчанию для записи EXT4 на локальном домашнем + офисном сервере, который был перезагружен из-за зацепления кабеля. Просто мой опыт работы с ext4. Идиома: обжегся на молоке - дует на воду.
Я добился большого успеха с XFS, как с маленькими, так и с большими файлами, много или меньше. Различные тесты обычно указывают на то, что он является комбинированным победителем по скорости чтения / записи. EXT4 также довольно быстр, и, возможно, для него легче найти документацию. Просто убедитесь, что у вас новое ядро.
Один из хороших примеров, где сияет XFS, - это базы данных MySQL. Я попытался импортировать файл .sql объемом 8 ГБ в MySQL, который использовал EXT3 для хранения. После заполнения буферов почти истекло время ожидания (установка размера буфера на 16 МБ или больше не помогла), и система показала чрезмерное время ожидания ввода-вывода. Перешел на XFS, и все проблемы просто исчезли - все работает на полной скорости. Похоже, что XFS практически не получает штраф за фрагментацию (что довольно часто является проблемой для больших баз данных).
Если производительность была вашим единственным вопросом, то XFS, несомненно, хороший вариант. Просто убедитесь, что у вас есть ИБП, хорошие резервные копии и готовый план действий на случай чрезвычайных ситуаций, когда вы используете файловую систему, которая выполняет ленивые обновления / ведение журнала (что есть практически во всех современных файловых системах на планете).
Какой дистрибутив вы используете? С RHEL 5 ext3 - единственный поддерживаемый вариант (ну, с AP вы получаете GFS, а в некоторых случаях, очевидно, вы также получаете поддержку XFS), для более новых дистрибутивов ext4 или XFS - IMHO лучшие варианты.
Как правило, ext4 и XFS довольно близки. Если вы хотите провести различие
XFS работает медленнее при рабочих нагрузках с интенсивным использованием метаданных.
XFS поддерживает файловые системы> 16 ТБ.
XFS имеет квоты проекта в дополнение к квотам пользователей и групп.