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

Доступ к нескольким дискам в одном виртуальном разделе?

На моем сервере Debian установлены диски, указанные ниже:

/dev/sda1  276M   29M  233M  11% /boot
/dev/sdb1  917G  793G   79G  92% /home
/dev/sdc1  1.8T  1.7T   79G  96% /home2
/dev/sdd1  1.8T  1.7T   79G  96% /home3

Возможен ли доступ /dev/sdb1 /dev/sdc1 /dev/sdd1 как единый раздел, чтобы:

а). Я могу получить к ним доступ из одной точки монтирования, например /bighome а файлы автоматически сохраняются на дисках прозрачно для моих скриптов?

б). Можно ли этого добиться без потери существующих данных на сервере?

Как уже отмечалось, есть несколько способов сделать это:

  • Объединенная файловая система, хотя они обычно предназначены для довольно конкретных случаев использования (например, предлагают записываемую версию файловой системы только для чтения или обеспечивают локальный быстрый кеш для медленной удаленной файловой системы), поэтому, вероятно, не лучше всего подходят для этой ситуации

  • LVM чередование

  • RAID в различных формах

Из них вам следует выбрать RAID с использованием 5 или специальный трехдисковый RAID10 Linux (который, по сути, является тем, что аппаратные RAID-контроллеры IBM называют RAID1E) - таким образом, если один диск умирает, ваши данные в безопасности, поэтому вы можете подключить другой диск и воссоздайте массив. С другими вариантами, если с одним диском возникнут проблемы, вы потенциально потеряете все данные на всех трех дисках. Выбор между RAID5 и RAID10 зависит от того, для чего используется система. С RAID5 вы получите том 3,6T, но есть проблемы с производительностью записи, которые влияют на некоторые варианты использования (например, тяжелая работа с базами данных), с RAID10 с 3 дисками вы получите то же самое, а иногда и лучше (намного лучше для некоторых сценариев записи). тяжелые рабочие нагрузки), но полезное пространство будет только 2,7 ТБ.

Вы, конечно, можете использовать RAID0, но это будет та же проблема «один умирает, все данные пропали».

Возможна миграция без сброса данных (так как два ваших диска начинают пустовать) но не рекомендуется и по-прежнему требует некоторого простоя (или, по крайней мере, времени, когда данные доступны только для чтения):

  1. Создайте RAID-массив в деградированном состоянии, используя два диска (т.е. ваш двухдисковый массив R5 ведет себя так, как будто диск вышел из строя)
  2. Не позволяйте пользователям писать на существующий том (или просто полностью заблокируйте доступ к нему)
  3. Скопируйте данные в новый массив
  4. Измените детали монтажа, чтобы новая копия стала активной.
    (На этом этапе вы можете повторно включить доступ для записи.)
  5. Удалите старую файловую систему
  6. Добавьте теперь пустое третье устройство в массив RAID в качестве замены «отказавшего» диска, и массив будет построен (это может занять некоторое время на таких больших дисках, особенно если в то же время активно используются данные)
  7. После завершения перестройки массива (вы можете отслеживать прогресс через /proc/mdstat) все сделано, вы используете все три диска и имеете защиту от отказа любого из них в любой момент времени.

Перед тем как сделать это, я сильно рекомендую убедиться, что ваши резервные копии обновлены и протестированы на случай, если что-то пойдет не так. В этом случае, вероятно, быстрее и безопаснее обновлять и проверять резервные копии, нормально строить массив и восстанавливать данные из последней резервной копии.

а) Да, именно так делают чередование Raid или LVM. Однако помните, что если вы создаете raid0 или LVM чередование и один из ваших дисков выйдет из строя, все данные на нем исчезнут. Чтобы преодолеть это, вам нужна избыточность; рейд 6 был бы прекрасным вариантом. Но для сборки raid5 лучше, чтобы все диски были одинакового размера ...

б) Нет, насколько мне известно, нет возможности сохранить существующие данные при создании Raid или LVM. Вам нужно их сделать резервную копию.

Да, можно. Вопреки расхожему мнению, необходимости в переформатировании нет.

Существуют файловые системы, которые делают именно то, что вы хотите. Два из них я могу вспомнить: Unionfs, aufs и overlayfs. Последний используется на каждом DVD-диске Ubuntu live / install.

Они могут работать, потому что они работают на уровне файловой системы, а не на уровне блочных устройств.