Пул хранения файлового сервера Linux

8

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

Я думаю, я мог бы сделать это через какой-то (программный) рейд, но многие мои файлы на самом деле не нужно проверять. Моя цель состоит в том, чтобы у меня была установка, где у меня было ~ 500 ГБ рейдов и несколько ТБ неизрасходованного пространства.

В настоящее время у меня небольшой сервер W2008, и я хотел бы перейти на linux, и это было бы очень полезно.

Illotus
источник

Ответы:

19

В Linux вы можете использовать LVM, чтобы собрать несколько жестких дисков (PV) в одну группу томов (VG) и разделить ее на логические тома (LV), которыми вы хотите поделиться через samba.

Смотрите эту ссылку для получения дополнительной информации.

Схема LVM

ℝaphink
источник
1
Большой выбор картинок для иллюстрации концепции.
Andol
7

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

Стоит отметить, что использование LVM для нескольких дисков немного безопаснее, чем для RAID0 - если один диск отключается, вы можете потерять файловые системы более чем на один диск из-за логических томов, пересекающих границы дисков. Поэтому, хотя «многие мои файлы не нуждаются в проверке», убедитесь, что у вас есть хороший план резервного копирования для тех файлов, которые не так легко заменить.

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

Конечно, с RAID0 вы почти наверняка потеряете все, если диск умирает, но если у вас есть план резервного копирования, достаточный для JBOD (то, что вы делаете только с LVM, это эквивалентно тому, что некоторые ссылки на RAID называют «линейным режимом»). ") у вас есть тот, который достаточен для данных на RAID0 (и любой, кто скажет, что нет, недостаточно параноидален в отношении данных, которые они имеют на нескольких дисках, использующих LVM!).

Вы можете смешивать и сочетать уровни RAID на одних и тех же дисках. На одной из подконтрольных мне машин, которая работает в качестве хоста виртуальной машины для разработки и тестирования, диски в ее массиве имеют некоторые части, например RAID0 (для самих виртуальных машин), а некоторые - RAID1 (для резервного копирования виртуальных машин). Каждый из дисков разделен на разделы ~ 100Gb, и каждый набор или разделы могут быть массивом RAID. Первые два на каждом диске в настоящее время являются RAID0 (связаны как один логический том с помощью LVM), последние три RAID1 (снова связаны как один LV) и те, которые оставлены в середине, могут быть свободными, когда требуется больше места. Если вы делаете это, вы, конечно, должны быть осторожны с конфликтами ввода / вывода (это не В моем случае проблема заключается в том, что два RAID-массива редко видят заметную активность одновременно, потому что набор RAID1 всегда доступен только при создании новой резервной копии или восстановлении старой) и избыточные движения головы, когда оба массива активно используются (как они находятся на противоположных концах дисков), но вы должны знать о тех, кто просто использует LVM без какого-либо RAID в любом случае. Такое расположение означало, что мне не нужно было точно угадывать, во время установки, какой баланс того, сколько высокоскоростного (R0) пространства и пространства высокой безопасности (R1) потребуется машинеX месяцев в потоке без компромиссов и просто для одного массива RAID10.

Дэвид Спиллетт
источник
«если один диск выйдет из строя, вы можете потерять файловые системы более чем на один диск из-за логических томов, пересекающих границы диска». Спасибо за этот самородок, кажется, мне придется немного пересмотреть мой план.
Illotus
Обратите внимание, что это та же проблема, что и с системой RAID0: если один диск выйдет из строя, вы потеряете данные. Как указано в ответе Дэвида, вы можете комбинировать RAID и LVM. Объединение системы RAID0 с LVM является избыточным и бесполезным, но объединение RAID1, 10, 4, 5 или 6 с LVM гарантирует, что ваши данные не будут потеряны, если вы потеряете один или несколько жестких дисков. Это также обойдется вам дороже в оборудовании, так как вам нужно больше дискового пространства, чем реально используемое пространство данных. Тип RAID зависит в основном от того, как вы его используете. Если у вас нет аппаратного RAID, вы можете использовать LVM поверх mdadm.
ℝaphink
3
Комбинирование RAID0 с LVM не бесполезно - в зависимости от вашей нагрузки ввода-вывода (скажем, много одновременных файловых операций в сети Gbit) вы можете увидеть значительное повышение производительности от чередования, выполняемого RAID0. Даже по 100-битной ссылке вы можете увидеть разницу для нескольких одновременных и / или очень непоследовательных обращений. Для менее тяжелой нагрузки ввода / вывода разница может быть незначительной.
Дэвид Спиллетт
Комбинирование RAID-0 с LVM не бесполезно. LVM по умолчанию выделяет пространство последовательно с начала. Это может повлиять на производительность, если одна часть набора LVM привлечет все внимание ввода-вывода, сосредоточив эту деятельность на одном диске. RAID-0 явно распределяет данные по всем дискам в массиве RAID-0. Это может ускорить чтение и запись активности. Разница в том, что если один диск в наборе LVM выходит из строя, вы, вероятно, потеряете хотя бы некоторые данные. Если один диск в наборе RAID-0 выходит из строя, вы потеряете ВСЕ данные. Идея RAID-5, предложенная Raphink, дает вам хотя бы иллюзию некоторой защиты от сбоя диска
Дэвид Макинтош,
Спасибо за эти разъяснения Дэвид и Дэвид, это очень интересно рассмотреть. Считаете ли вы, что LVM поверх RAID0 того стоит, даже если вы используете программную систему RAID, такую ​​как mdadm, или только с аппаратной системой RAID?
ℝaphink
2

Я также рекомендовал бы взглянуть на ZFS, которая также содержит встроенный пул накопителей и зеркалирование RAID.

Есть некоторые проблемы с лицензированием, из-за чего его немного неудобно реализовать, но я запускаю его на своей домашней системе с дисками по 3 ТБ без проблем.

Дэйв Драгер
источник
2
Я большой поклонник ZFS, но я бы не рекомендовал запускать его под Linux в качестве файловой системы FUSE в производственной среде. Для Linux лучше дождаться зрелости BTRFS. BTRFS имеет лучший дизайн, чем ZFS, но я думаю, что все еще не менее года, возможно, пара, с момента подготовки производства.
3dinfluence