Назад | Перейти на главную страницу

Лучшая стратегия для настройки LVM поверх RAID для обеспечения гибкости в будущем?

Хорошо, я надеюсь, что этот вопрос достаточно уникален, чтобы его нельзя было рассматривать как еще один «В чем разница между LVM и RAID?» вопросы. Поехали...

Я настраиваю Linux-сервер, на котором есть отсек для дисков, который позволяет мне в горячем режиме подключать около 6 дисков. Характеристики, которые мне нужны:

Если я только хотел иметь возможность увеличить пространство, заменяя диски на диски меньшего размера, я мог бы просто использовать LVM с lvreduce (при условии, конечно, что я использую сжимаемую FS, такую ​​как Reiser или ext [2-4], а также что текущая FS может быть уменьшенным на величину привода, которую я хочу вытащить). Но это не дает мне лишнего.

Первое решение, которое я могу придумать, чтобы получить как избыточность и возможность замены дисков заключается в использовании дисков в качестве зеркальных пар. Одна пара будет md0, следующая пара будет md1 и т. Д. Затем я бы добавил их в одну группу томов. Когда я хотел добавить пространство, я уменьшал одно из устройств md * из группы томов, вытаскивал два диска, добавлял два больших, создавал новое зеркало md и добавлял их в группу томов, расширял ФС, и я закончил.

Но это снижает мою эффективность использования пространства до 50%, потому что каждый физический диск получает собственное зеркало. У меня всего 3 ТБ ... и это заставит меня раньше заменить диски на более крупные.

Конечно, вместо зеркальных пар я мог бы подключить их как наборы RAID5 с 3 дисками. Каждые 3 диска давали мне 2 ТБ. Итак, я получил бы 4 ТБ, но теперь я столкнулся с проблемой, когда, чтобы вытащить устройство md из группы томов, оно занимает намного больше места (вытаскивание одного заняло бы 2 ТБ вместо 1 ТБ). Это означает, что мне понадобится гораздо больше свободного места в FS, иначе я не смогу поменять диски таким образом.

Итак, вот где я застрял. Единственный известный мне способ получить избыточность с помощью разнородных дисков и замены дисков в режиме онлайн требует от меня принятия компромиссного решения между более высокой эффективностью использования пространства и более высокими требованиями к свободному пространству, чтобы вытащить диск (или набор дисков). ).

Есть какой-то хитрый трюк, который мне не хватает?

Я думаю, что то, что вы предлагаете (LVM с несколькими PV RAID-1), правильно, за исключением одной детали: вам не обязательно извлекать набор RAID из вашего VG, чтобы заменить его:

  1. Поменяйте местами один диск в одном из наборов RAID (mdadm сбой, удаление, физическая замена, повторное добавление)
  2. Восстановить
  3. Поменять второй
  4. Восстановить
  5. mdadm --grow
  6. pvresize

Конечно, это предполагает, что у вас есть хорошие резервные копии, и что ваш единственный диск не умирает, пока вы делаете восстановление.

Одним из решений было бы полагаться на ZFS в качестве файловой системы. Однако это характерно для Solaris, нескольких вариантов BSD, поэтому в Linux нет необходимости. Одним из возможных решений может быть использование Debian в варианте Debian / kFreeBSD, что означает ядро ​​BSD с пользовательской средой GNU.

ZFS идеально подходит для очень динамического выделения памяти из пула ZFS. С 6 дисками вы можете использовать один RAID-2Z, что означает, что из 6 дисков два могут выйти из строя. Однако цена, которую придется заплатить, заключается в том, что вы можете использовать только дисковое пространство, соответствующее 4 дискам. Существуют и другие возможности, так как в ZFS неважно, из какой конфигурации дисков создается пул.

Взгляни на