У меня есть сервер Linux со многими дисками по 2 ТБ, все в настоящее время имеют LVM, что дает около 10 ТБ пространства. Я использую все это пространство в разделе ext4, и в настоящее время у меня есть около 8,8 ТБ данных.
Проблема в том, что я часто получаю ошибки на своих дисках, и даже если я заменяю (то есть копирую старый диск на новый с помощью dd, а затем помещаю новый на сервер), как только появляются ошибки, Я часто получаю около 100 МБ поврежденных данных на нем. Это заставляет e2fsck сходить с ума каждый раз, и часто требуется неделя, чтобы снова вернуть файловую систему ext4 в нормальное состояние.
Итак, вопрос: что бы вы порекомендовали мне использовать в качестве файловой системы на моем LVM? Или что бы вы порекомендовали мне сделать вместо этого (мне не нужен LVM)?
Профиль моей файловой системы:
- множество папок разных общих размеров (некоторые по 2 ТБ, некоторые по 100 МБ)
- почти 200 000 файлов разных размеров (3/4 из них около 10 МБ, 1/4 от 100 МБ до 4 ГБ; в настоящее время я не могу получить больше статистики о файлах, так как мой раздел ext4 полностью разрушен за несколько дней)
- много читает, но мало пишет
- и мне нужна отказоустойчивость (я перестал использовать mdadm RAID, потому что ему не нравится иметь ОДНУ ошибку на всем диске, и у меня иногда возникают сбойные диски, которые я заменяю, как только могу, но это означает, что я могу получить поврежденные данные на моя файловая система)
Основная проблема - выход из строя дисков; Я могу потерять некоторые файлы, но я не могу позволить себе потерять все одновременно.
Если я продолжу использовать ext4, я услышал, что лучше всего попытаться сделать файловые системы меньшего размера и каким-то образом «объединить» их, но я не знаю как.
Я слышал, что btrfs был бы хорош, но я не могу найти какой-либо подсказки относительно того, как он управляет потерей части диска (или целого диска), когда данные НЕ реплицируются ( mkfs.btrfs -d single
?).
Любые советы по этому вопросу будут приветствоваться, заранее спасибо!
источник
Ответы:
Это не проблема файловой системы, это физические ограничения дисков. Вот некоторые данные:
Диски SATA обычно указываются с невосстановимой частотой ошибок чтения (URE) 10 ^ 14. Это означает, что 1 байт на 12 ТБ будет безвозвратно потерян, даже если диски работают нормально.
Это означает, что без RAID вы потеряете данные, даже если ни один из дисков не выйдет из строя - RAID - единственный вариант.
Если вы выберете RAID5 (общая емкость n-1, где n = количество дисков), этого все равно будет недостаточно. Благодаря RAID 105 ТБ, состоящему из 6 x 2 ТБ жестких дисков, у вас будет 20% вероятности отказа одного диска в год, а при отказе одного диска, благодаря URE у вас будет 50% шансов на успешное восстановление RAID5 и восстановление 100% ваших данных. ,
В основном из-за большой емкости дисков и относительно высокого URE вам нужен RAID6 для обеспечения безопасности даже в случае отказа одного диска.
Читать это: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162
источник
Сделайте себе одолжение и используйте RAID для своих дисков, это может быть даже программный RAID с mdadm. Также подумайте о том, почему вы «часто получаете ошибки на своих дисках» - это ненормально, за исключением случаев, когда вы используете дешевые диски SATA настольного класса вместо дисков класса RAID.
После этого файловая система уже не так важна - ext4, xfs - отличный выбор.
источник
Мне повезло с ZFS, вы можете проверить, доступен ли он на любом дистрибутиве, который вы используете. Честное предупреждение, это, вероятно, будет означать перестройку всей системы, но она дает действительно хорошую производительность и отказоустойчивость.
источник
Поскольку вы заинтересованы в использовании LVM и хотите работать с несколькими дисками, простой ответ будет состоять в том, чтобы просто использовать функцию зеркалирования, которая является частью LVM. Просто добавьте все физические тома в свой LVM. Когда вы создаете логический том, пропустите
--mirrors
опцию. Это дублирует ваши данные.Другим вариантом может быть установка нескольких пар RAID1. Затем добавьте все тома RAID1 в качестве PV в VG. Тогда, когда вы захотите расширить свое хранилище, просто купите пару дисков.
источник
Вы действительно должны использовать RAID 5, 6, 10, 50 или 60. Вот несколько ресурсов для начала:
Справочная информация о RAID
инструкции и настройки
Проверьте мои восхитительные ссылки на дополнительные ссылки RAID: http://delicious.com/slmingol/raid
источник
Если вы действительно беспокоитесь о повреждении данных, я бы порекомендовал файловую систему с контрольной суммой, такую как zfs и btrfs, хотя учтите, что btrfs по-прежнему считается находящимся в разработке и не готовым к работе.
Нет гарантии, что данные, прочитанные (даже успешно прочитанные) с диска, будут правильными. Блоки имеют контрольные суммы, но это простые контрольные суммы, которые не всегда отлавливают ошибки. Более новые файловые системы, такие как ZFS, прикрепляют к файлам более способные контрольные суммы и могут (и, как сообщается, делают) перехватывать и исправлять ошибки данных, не замеченные жестким диском или контроллером RAID.
источник
Как @ C2H5OH говорит , то неисправимый имеет решающее значение - это означает , что диск уже пытался и не перечитать сектор.
По моему опыту, когда диск начинает выдавать неустранимые ошибки чтения (URE), некоторые данные теряются навсегда, и ваша единственная надежда - немедленно создать резервную копию всех данных, используя GNU ddrescue , который может повторить попытки сбойных секторов, а также пропустить невосстановимые.
Предполагая, что у вас есть резервные копии, они вполне могли потерпеть неудачу из-за URE и, конечно, будут иметь некоторые поврежденные файлы, так что вам придется собрать воедино полный набор данных из различных резервных копий одной и той же файловой системы.
Другие ответы, рекомендующие ZFS, заслуживают прочтения, поскольку их непрерывная очистка данных и функции RAID помогут обеспечить безопасность ваших данных в будущем - хотя они по-прежнему не заменяют резервные копии, которые также защищают от ошибок пользователей и администраторов.
Я бы использовал LVM, только если вам не нужны моментальные снимки - он не так хорошо интегрируется с RAID, не включает в себя очистку данных / контрольные суммы данных, и вам по-прежнему нужны резервные копии, поэтому что-то вроде ZFS, вероятно, является лучшим вариантом. Посмотрите этот ответ о проблемах и рисках LVM больше.
источник