Многотомное хранение данных без чередования

У меня есть сервер сетевого хранения под управлением Debian, содержащий несколько жестких дисков. Все эти диски монтируются в подкаталоги общей папки samba. Все члены сети имеют полный доступ для чтения и записи.

Проблема в этой настройке - отсутствие гибкости. Файлы хранятся непосредственно в одной папке, и после заполнения диска пользователи должны создать новую папку на другом жестком диске.

Какое, возможно, лучшее решение для динамического распределения пространства? Это то, что я дошел до этого:

  • RAID 0: так как каждый сбой одного жесткого диска может привести к огромной потере данных, чередование не вариант
  • RAID 1: я намерен повторно использовать старые жесткие диски разных размеров, так что это тоже не работает
  • RAID 5: то же, что и выше, не будет работать из-за разных размеров жесткого диска
  • LVM: довольно круто, так как он расширяемый, но есть ли возможность предотвратить чередование? Если нет, то сбой одного диска приведет к потере всех файлов, частично сохраненных на этом конкретном диске...
  • btrfs: управление вложенными томами - это хорошо, но может ли одна папка охватывать несколько томов?

По сути, я ищу LVM-подобную систему без чередования или, по крайней мере, возможность переносить все многотомные файлы вручную (cron job и т. Д.) Обратно на один том.

1 ответ

Вы можете получить эффективную замену RAID непосредственно в Linux LVM, без mdadm или аппаратного RAID-контроллера. Это позволяет вам использовать диски разных размеров.

Вы не можете избежать чередования, но у вас будут избыточные чередования, поэтому сбой одного диска не потеряет никаких данных.

Просто инициализируйте все диски как физические тома LVM, назначьте их одной группе томов и используйте правильные флаги при настройке логических томов.

-m, --mirrors Mirrors Создает зеркальный логический том с зеркальными копиями. Например, указание -m1 приведет к зеркалу с двумя сторонами; линейный том плюс одна копия.

Так, например, командная строка lvcreate -m1 -L 10G -n <name> <volume_group> создаст зеркальный логический том или эквивалент массива RAID1.

-i, --stripes Stripes Дает количество полос. Это равно количеству физических томов для рассеивания логического тома. При создании логического тома RAID 4/5/6 дополнительные устройства, необходимые для проверки на четность, учитываются внутренне. Указание -i3 будет использовать 3 устройства для чередующихся логических томов, 4 устройства для RAID 4/5 и 5 устройств для RAID 6.

Если у вас есть три диска, 2 будет максимальное количество полос (третий для четности) и lvcreate --type raid5 -i2 -L 20G -n <name> <volume_group> настроил бы эквивалент трех дискового массива RAID5.

Когда ваша файловая система заполняется, и вы можете добавить один дополнительный диск и расширить LVM и файловую систему, не создавая вручную новые каталоги и не перемещая данные.

Другие вопросы по тегам