Многотомное хранение данных без чередования
У меня есть сервер сетевого хранения под управлением 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 и файловую систему, не создавая вручную новые каталоги и не перемещая данные.