Лучшая настройка файловой системы для сценария "частичная потеря данных: хорошо"
Я ищу лучший способ настроить файловые системы / разделы для сервера хранения, специализируясь на том, чтобы частичная потеря данных не была проблемой.
Допустим, у меня есть диски 4x3 ТБ, и я хочу расположить их таким образом, чтобы: а) я получил максимальное пространство, доступное для раздела хранения, и б) системный раздел (-ы) был зеркальным и мог принять сбой одного диска. (частичная потеря данных не такая уж большая проблема в этом сценарии, допустим, мы храним воспроизводимые данные, но воссоздание их занимает очень много времени)
Мой текущий подход заключается в следующем:
- RAID1-> EXT4 на двух разделах ~100 ГБ на разных дисках для системных файлов.
- LVM-> DMCRYPT->EXT4 с остальными разделами и дисками. (хранилище должно быть зашифровано)
Интересно то, смогу ли я смонтировать устройство dmcrypt после того, как, скажем, диск № 3 (в то время как диск № 1 и диск № 2 - это разделы RAID) вышел из строя (в худшем случае все данные будут потеряны) и заменить? Как насчет файловой системы ext4, смогу ли я ее починить? Я уверен, что потерял бы все данные, которые хранятся на этом конкретном диске, но как насчет остальных?
Может быть, мне не хватает какой-то файловой системы / программы, которая может хорошо справляться с такими ситуациями, но в большинстве случаев речь идет о восстановлении данных, что не очень помогает в этом случае. Я открыт для любого другого подхода, который подойдет.
РЕДАКТИРОВАТЬ: Конечно, я мог бы сделать DMCRYPT->EXT4 на всех разделах хранения, но я хочу одну точку монтирования для него и, конечно, не хлопот, чтобы открыть все dmcrypts при перезагрузке (с вышеописанной настройкой я должен сделать это только один раз).
2 ответа
Если вас не волнует частичная потеря данных и вы не хотите избыточности - я бы посоветовал вам создать отдельную файловую систему на каждом физическом диске и разделить ее "программным" способом. Я предполагаю, что вы используете это для хэшированных данных или чего-то еще - в этом случае часто можно разбить данные на каталоги - например - на основе суммы файлов md5 - и частично разбить данные на разные диски. Отключение - это не проблема - вы можете иметь общий ключ для расшифровки блочных устройств, размещенных в незашифрованном хранилище.
Если вы хотите избыточность - просто используйте raid5 или что-то подобное. Или - более "программное" хранилище - gluster или ceph.
Стандартные файловые системы не готовы к ситуации, когда часть пространства, где они находятся, исчезнет.
За исключением основного системного раздела объемом 100 ГБ, RAID вообще не задействован. Все остальное будет зависеть от того, как организован ваш LVM и его компоненты - информация, которую вы не предоставили.