Файловый сервер - Конфигурация хранилища: RAID против LVM против ZFS что-то еще ...?


35

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

Я установил коробку с Ubuntu Server и 4 х 500 ГБ дисков. В настоящее время они настроены с Samba как четыре общие папки, которые рабочие станции Mac / Windows могут видеть хорошо, но я хочу лучшее решение. Для этого есть две основные причины:

  1. 500 ГБ не достаточно большой (некоторые проекты больше)
  2. Управлять текущей настройкой неудобно, поскольку на отдельных жестких дисках имеется разное количество свободного места и дублированные данные (для резервного копирования). Это сбивает с толку сейчас, и это будет только хуже, когда есть несколько серверов. («проект на сервере2 в share4» и т. д.)

Итак, мне нужен способ объединения жестких дисков таким образом, чтобы избежать полной потери данных при сбое одного диска, чтобы пользователи видели только один общий ресурс на каждом сервере. Я сделал Linux5 с программным обеспечением RAID5, и у меня был плохой опыт, но я попробую еще раз. LVM выглядит нормально, но кажется, что никто не использует его. ZFS кажется интересным, но он относительно «новый».

Каков наиболее эффективный и наименее рискованный способ объединения жестких дисков, который удобен для моих пользователей?


Изменить: Цель здесь в основном заключается в создании серверов, которые содержат произвольное количество жестких дисков, но ограничивают сложность с точки зрения конечного пользователя. (то есть они видят одну «папку» на сервер). Резервное копирование данных здесь не проблема, но то, как каждое решение реагирует на сбой оборудования, является серьезной проблемой. Вот почему я объединяю RAID, LVM, ZFS и кто знает что.

Мой предыдущий опыт работы с RAID5 также был на сервере Ubuntu Server, и были непростые и маловероятные обстоятельства, которые привели к полной потере данных. Я мог бы избежать этого снова, но у меня было ощущение, что я добавляю ненужную дополнительную точку отказа в систему.

Я не использовал RAID10, но мы работаем на обычном оборудовании, и большинство дисководов данных на коробку в основном установлено на 6. У нас много 500 ГБ дисков, а 1,5 ТБ довольно мало. (Тем не менее, вариант как минимум для одного сервера)

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

Но до тех пор, пока мне придется изучать что-то совершенно новое, я могу также пройти весь путь до ZFS. Однако, в отличие от LVM, мне также придется изменить свою операционную систему (?), Чтобы увеличить расстояние между тем, где я нахожусь и где я хочу быть. Я использовал версию соляриса в универе и все равно не стал бы возражать против этого.

С другой стороны, в области ИТ, я думаю, я мог бы также изучить FreeNAS и / или Openfiler, но это не решает проблему «как объединить диски».


4
ZFS на самом деле считается только стабильной производственной готовой опцией в Solaris / OpenSolaris (хотя некоторые люди могут поспорить даже с готовностью там).
Кристофер Кашелл

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

Ответы:


28

LVM на самом деле довольно активно используется. По сути, LVM находится над уровнем аппаратного обеспечения (драйвера). Он не добавляет избыточности или повышенной надежности (для обеспечения надежности он опирается на базовую систему хранения). Вместо этого он обеспечивает большую гибкость и дополнительные функции. LVM никогда не должен видеть, как диск исчезает или выходит из строя, потому что сбой диска должен обрабатываться RAID (будь то программный или аппаратный). Если вы потеряете диск и не сможете продолжить работу (перестроить RAID и т. Д.), То вам следует создать резервные копии. Попытки восстановить данные из неполного массива никогда не понадобятся (если это так, вам необходимо пересмотреть весь проект).

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

Лично я использую LVM для каждого раздела (кроме / boot) в каждой сборке, и я делал это в течение последних 4 лет. Работа с блоками, не относящимися к LVM, является огромной болью, когда вы хотите добавить или изменить расположение дисков. Если вы используете Linux, вы определенно хотите использовать LVM. [Примечание: этот материал в LVM был обновлен, чтобы лучше объяснить, что это такое и как оно вписывается в уравнение хранения.]

Что касается RAID, я не делаю серверы без рейда. С такими низкими ценами на диски, я бы выбрал RAID1 или RAID10. Быстрее, проще и надежнее.

Хотя, если честно, если вы не привязаны к Ubuntu (что я обычно рекомендую), или если коробка выполняет другие задачи, вы можете заглянуть в OpenFiler . Он превращает вашу коробку в устройство хранения данных с веб-интерфейсом и будет обрабатывать все RAID / LVM / и т. Д. Для вас, а также позволит вам экспортировать хранилище в виде SMB, NFS, iSCSI и т. Д. Незначительные небольшие настройки.


2
Я второе предложение OpenFiler. Кажется, что никогда не поспевать за количеством необходимого дискового пространства, и отделение Сервера от Данных может сделать работу с конечным пользователем и управление намного проще и лучше. Есть причина, почему Netapp был настолько успешным. Я бы предложил следовать этой модели.
pcapademic

1
Я кратко изучил freeNAS ... есть ли причина выбрать OpenFiler?
личная встреча

Когда я впервые начал играть с ними пару лет назад, OpenFiler выглядел более стабильным, более функциональным, имел лучшую поддержку драйверов и находился в стадии более активной разработки. Я решил попробовать, и это сработало очень хорошо для меня. С тех пор я честно не смотрел на FreeNAS. Возможно, FreeNAS догнал OpenFiler, но я не знаю.
Кристофер Кашелл

Я использовал FreeNAS для целей SMB и iSCSI, и это было великолепно, я никогда не пропускал ни одного удара. С другой стороны, я не оценивал OpenFiler, поэтому понятия не имею, как он сравнивается
Марк Хендерсон

13

ZFS действительно надежна и, несомненно, значительно упростит управление вашим хранилищем. В качестве бонуса: smb интегрирован с ZFS в OpenSolaris и отлично справляется с Raid. Подождите несколько дней, загрузите уже выпущенную версию 2009.6 и запустите ее на тестовом компьютере. Я уверен, что вы будете любить ZFS.

А что касается вашего комментария, ZFS является новым: уже не очень новым!


«Новое» значило в основном для меня, и просто я не слышал об этом и не играл с ним годами и т. Д. Но так, мне нужно запустить OpenSolaris, чтобы использовать ZFS?
личная встреча

Я слышал, что есть некоторая поддержка для других юниксов, для ZFS.
Брэд Гилберт

1
Если вам нужен ZFS, он вам нужен на OpenSolaris. Реализации в linux осуществляются через пользовательское пространство и, как результат, подвержены снижению производительности и противоречивым политикам кэширования.
Jldugger

3
Поддержке ZFS в других операционных системах не хватает функциональности. И действительно, OpenSolaris - действительно хорошая операционная система, но, пожалуйста, используйте настоящую OpenSolaris. zfs set sharemb = on backup / share1 действительно хорошая интеграция.
Вайнанд,

9

Центральный вопрос: «Насколько важны эти данные?»

Если ответ «я могу легко воссоздать его», вам нужен RAID5, возможно, с LVM поверх него для простоты управления.

Если ответ «я могу воссоздать его, но это займет некоторое время, и люди будут жаловаться», вам нужен RAID 6 или более вероятно RAID 1/10.

Если ответ «Никто не делает никакой работы, пока я воссоздаю ее и проверяю, что она бит-идеальна», вы хотите ZFS / Raid-Z

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


1
«Если ответ« Никто не делает никакой работы, пока я воссоздаю ее и проверяю, что она бит-идеальна », вы хотите ZFS / Raid-Z» Это утверждение показывает, что вы ничего не знаете о ZFS или RAID в целом. Каждая система, которая включает в себя попытки избыточности блоков, страдает от снижения производительности во время восстановления.
Джарли

Я был уверен в важности данных, а не в относительных характеристиках производительности. Разрушение во время восстановления также важно, но не то, к чему я обращался.
user2108

Как RAID-Z или RAIDZ2 обеспечивают лучшую избыточность, чем RAID6? Оба обрабатывают не более двух неисправных дисков в массиве. Также RAID10 обрабатывает второй сбойный диск не так хорошо, как RAID6, потому что вам нужен правильный диск для сбоя, а не любой из оставшихся. Производительность намного лучше с RAID10, чем с RAID6. Дополнительное примечание: Linux 2.6.30 выпущен и позволяет вам переходить с RAID1 -> RAID5 <-> RAID6 == удивительно!
Serverhorror

5

Для подключения большого количества дисков в одном корпусе лучше всего подходит аппаратный RAID-контроллер. Он обеспечит множество разъемов SATA для ваших дисков, резервирование через RAID-5 или предпочтительно RAID-6, а также может обеспечить более высокую производительность.

Производительность программного RAID часто выше, чем аппаратного RAID в тестах, однако обслуживание файлов и программный RAID требуют значительных ресурсов процессора и конкурируют за ваши процессоры во время работы. Мой опыт показывает, что, если вы не используете двухъядерные системы, правильно настроенный аппаратный RAID не справится с программным RAID.

Хорошие аппаратные контроллеры с хорошей поддержкой Linux:

  • арека
  • 3Ware
  • новая серия Adaptec (старые - неопрятные)
  • LSI MegaRAID

2
Я собираюсь вникнуть в карты 3ware, они злы, особенно 9650se и 9690se, использовали оба типа карт с 16 дисками на 9650se, никаких проблем и хорошего стабильного продукта.

4

RAID не похож на LVM. Вы можете использовать RAID для создания отказоустойчивых разделов, но LVM используется для упрощения разбиения диска и редактирования файловой системы. Вы можете использовать RAID поверх LVM или ZFS (ZFS может работать как с RAID, так и с LVM). На мой взгляд, ZFS работает лучше, чем LVM, но:

  • только в Solaris 10/11 / OpenSOlaris, его нельзя использовать из linux
  • ZFS - это управление дисками и файловая система, LVM позволяет использовать любую файловую систему, которая вам нужна

В Ubuntu я предпочитаю использовать RAID5 MD с LVM.


1
ZFS доступна как на FreeBSD 7.x, так и на Nexenta.
Джарли

4

Посмотрите, что предлагают Nexenta и OpenSolaris, и я думаю, вы будете очень довольны тем, что вы можете получить бесплатно. Ходят слухи, что в следующих выпусках OpenFiler будет также использоваться порт FreeBSD ZFS (хотя с точки зрения функциональности они сильно отстают).

При этом я стараюсь избегать использования RAID5, RAID6 или RAID50 в программном обеспечении и предпочитаю использовать аппаратные контроллеры для разгрузки всей работы XOR. RAID1 и RAID10 в программном обеспечении Linux работают довольно хорошо, и оттуда я поставил LVM поверх них, чтобы обеспечить большую гибкость в том, что делается с блоками, которые у меня есть после установки резервирования. RAID + LVM + XFS - моя любимая конфигурация Linux, но я бы взял ZFS поверх нее в любое время.


Традиционно аппаратный RAID не работает так же хорошо, как программный RAID - как правило, он имеет преимущество только при наличии нескольких операций записи, которые выделенный контроллер может дублировать (т. Е. Не нужно передавать по шине PCI), а именно RAID 1. Существуют и другие проблемы. с аппаратным RAID, например, качество прошивки и неспособность (легко) обновляться. Наконец, это добавляет еще одну точку отказа. По этим причинам я стараюсь избегать аппаратного RAID. При этом, по тем же причинам, я не играл с новыми опциями аппаратного RAID! :)
Брайан М. Хант

2

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


2

Я запустил файловый сервер для очень похожей компании / ситуации. В основном это графический отдел из 3 человек с 30 ТБ хранилища и небольшим бюджетом небольшой компании. Наши типичные проекты работали от 0,5 ТБ до 6 ТБ. И файловый сервер обслуживал значительную ферму рендеринга, которая действительно могла бы ее использовать.

В моей установке я запускал сервер 3U под управлением Linux с подключенными к нему внешними аппаратными массивами RAID6. Я управлял физическими и логическими томами с помощью LVM и запускал файловую систему XFS. Я хотел бы создать логический том для каждого проекта, а затем расширять его по мере роста проекта. Когда проект был завершен, я мог заархивировать работу на ленту и сдуть логический том. Это вернуло бы это пространство обратно в группу томов, где оно было бы перераспределено в следующий проект (ы).

Это был очень чистый способ использования нашего хранилища, но у этого подхода есть два недостатка. В конечном итоге вам приходится микроуправлять размерами логических томов, пытаясь сбалансировать объем пространства, выделенного для логического тома, чтобы у вас было достаточно места для выполнения вашей работы, но не перерасходовать его и в итоге тратить пространство. Наша ферма рендеринга была способна генерировать много ТБ данных в день, и если вы не обращали на это пристального внимания, вам не хватило бы места в спешке. В конце концов я настроил некоторые сценарии, которые отслеживали тенденции в доступном пространстве на логических томах и автоматически их увеличивали. Даже при наличии примерно 80 логических томов было много неиспользуемого пространства, связанного во всех логических томах. Я уже намекал на 2-й проблемы .... LVM не делает На самом деле тонкое выделение ресурсов выполняется, а XFS позволяет только расширять файловую систему. Таким образом, перераспределение пространства для логического тома может привести к большому количеству неиспользуемого пространства.

Все это было настроено около 5 лет назад, и если бы я настраивал его сегодня, я бы использовал OpenSolaris и ZFS. Основная причина заключается в том, что подход к хранилищу ZFS в пуле означает меньшее управление томами. Вы по-прежнему можете разделить каждый проект на собственную файловую систему, но без необходимости управлять размерами отдельных томов. У ZFS есть и другие очень приятные функции, которые делают его лучшим выбором, но есть и другие вопросы о сбое сервера.

На мой взгляд, ZFS просто лучшее бесплатное решение на сегодняшний день.


2

Некоторые вещи, которые следует учитывать, если вы остаетесь с Linux:

  • Подумайте и о файловой системе. Ваш пример 4x 500 Гбайт о самой большой емкости, которую я бы с чистой совестью рекомендовал для ext3. Я не рекомендую создавать гораздо большие файловые системы ext3, потому что, например, время fsck может быть огромным. Создайте несколько меньших вместо одной большой файловой системы.
  • Как вы упомянули, видеоданные: ext3 обрабатывает большие файлы неэффективно, потому что для хранения данных больших файлов придется создавать косвенные, двойные или тройные косвенные блоки метаданных, и вы заплатите цену. В настоящее время ext4 поддерживает экстенты и справляется с этим намного лучше. Но тогда он довольно новый, и, например, Red Hat Enterprise Linux 5 пока не поддерживает его. (Некоторые корпоративные дистрибутивы будут поддерживать альтернативы, такие как XFS).
  • Если в каком-либо блоке данных есть повреждение данных, вам будет трудно даже заметить это в файловых системах Linux. ZFS, с другой стороны, проверяет контрольные суммы всех метаданных и данных, а также проверяет контрольную сумму каждый раз, когда данные считываются с диска. (Есть также очистка фона)
  • Время восстановления RAID в Linux пропорционально размеру диска, поскольку уровень RAID не знает содержимого файловой системы (уровня). ZFS игровая RAID-Z перестраивать время зависит от количества фактических данных на этом диске , так как только используемые блоки будут скопированы / перестроен на сменном диске.
  • Хотите сделать снимок вашей файловой системы? Снимки LVM даже не сравниваются с мгновенными снимками ZFS. Последний также может быть легко доступен конечным пользователям, например, для простого восстановления.
  • Используйте RAID6 (RAID-Z2), а не только RAID5 (RAID-Z) с большими дисками (> 500 ГБ), так как есть вероятность, что другой диск выйдет из строя во время восстановления.

Отличные очки я не рассматривал в отношении ext3. Ext4 все еще немного нововведен, но XFS должен поддерживаться сервером Ubuntu, который я использую, вы рекомендуете его для этого?
личная встреча

1

Используйте утилиту «mdadm» для создания массива RAID-5 из ваших дисков.

Это обеспечивает необходимую избыточность, поэтому, если диск выходит из строя, вы можете заменить его без потери данных, а также использовать 3 из 4 дисков.

Я также рекомендую вам создать том LVM поверх RAID, чтобы вы могли разделить пространство по мере необходимости.


1

Возможно, вы захотите взглянуть на AFS. Это даст вам некоторую меру как доступности (вы можете получить доступ к этим файлам как в сети, так и за ее пределами) и избыточности (файлы могут быть реплицированы). Для рабочего процесса, в котором вы открываете файл, работаете с ним некоторое время, а затем сохраняете его, это будет лучше (с точки зрения сети), чем NFS, по крайней мере, более старая NFS.


1

Как говорится в другом ответе, LVM широко используется и может объединять несколько дисков в одну «группу томов», которая выглядит как одно огромное блочное устройство. Однако стоит помнить, что это увеличивает вероятность сбоя - для сбоя всей файловой системы требуется только один диск в группе томов, а если у вас четыре диска, соединенных вместе, это в четыре раза больше вероятности. Лучше всего использовать LVM поверх RAID1 или аналогичного, чтобы смягчить это. Программный RAID для Linux вполне подходит для этого, хотя аппаратный RAID может быть более удобным.


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

1

Извините, это будет комментарий, но у меня нет представителя ...

Как RAID-Z или RAIDZ2 обеспечивают лучшую избыточность, чем RAID6?

ZFS везде имеет контрольную сумму

О первоначальном вопросе. Какими бы ни были данные, я бы использовал 2 активных паритета на 10 дисков. Я бы использовал карту RAID хорошего качества, 3ware отличные. Лично я использую аппаратный RAID с резервной батареей. LVM просто для того, чтобы вы могли легко перенести данные в конце срока службы оборудования. XFS как файловая система.


0

Почему вы не используете диск или карту SSD для загрузки системного сервера и 500 ГБ в качестве единственного хранилища. Используйте один диск емкостью 500 ГБ и, когда он заполнится, замените его вручную. Вы можете сделать резервную копию позже на другом компьютере со спокойной. Потому что во время вращения (вращения) жесткого диска он может быть поврежден. В любом случае, если вы подключите все диски одновременно, все они вращаются и могут повредить, если вы используете его или нет. Вероятность сбоя возрастает при включении большего количества дисков. Используйте один раз за один раз и обменивайте его, когда он полон, или в период времени, ожидающий сбой (используйте слишком возможность SMART, чтобы избавиться от этого). Используйте переносной диск или какой-нибудь внешний адаптер диска SCSI / SATA, чтобы вам не приходилось разбирать компьютерный сервер каждый раз, когда вы меняете диск. Это самая безопасная и надежная форма. Использование RAID обходится дороже, и вы просто тратите впустую некоторые диски (потому что вы позволяете включить его, рискуя стать поврежденным, только если он включен - глупо или нет?). Если вам нужно больше данных, то используйте конфигурацию RAID для этого, я думаю, это хороший выбор, но никогда не доверяйте конфигурации компьютера. Резервное копирование всегда должно выполняться вручную с человеком (администратором сети или сервера). Это одна из работ администратора. Вы можете использовать ленты, DVD, BlueRay или другие диски для резервного копирования. Но вам всегда понадобится надежный носитель, а работающий диск - не тот. Выключенный диск, хорошо сохраненный (в свежем и свободном от влаги месте), является надежным средством хранения. Если вам нужно больше данных, то используйте конфигурацию RAID для этого, я думаю, это хороший выбор, но никогда не доверяйте конфигурации компьютера. Резервное копирование всегда должно выполняться вручную с человеком (администратором сети или сервера). Это одна из работ администратора. Вы можете использовать ленты, DVD, BlueRay или другие диски для резервного копирования. Но вам всегда понадобится надежный носитель, а работающий диск - не тот. Выключенный диск, хорошо сохраненный (в свежем и свободном от влаги месте), является надежным средством хранения. Если вам нужно больше данных, то используйте конфигурацию RAID для этого, я думаю, это хороший выбор, но никогда не доверяйте конфигурации компьютера. Резервное копирование всегда должно выполняться вручную с человеком (администратором сети или сервера). Это одна из работ администратора. Вы можете использовать ленты, DVD, BlueRay или другие диски для резервного копирования. Но вам всегда понадобится надежный носитель, а работающий диск - не тот. Выключенный диск, хорошо сохраненный (в свежем и свободном от влаги месте), является надежным средством хранения. Но вам всегда понадобится надежный носитель, а работающий диск - не тот. Выключенный диск, хорошо сохраненный (в свежем и свободном от влаги месте), является надежным средством хранения. Но вам всегда понадобится надежный носитель, а работающий диск - не тот. Выключенный диск, хорошо сохраненный (в свежем и свободном от влаги месте), является надежным средством хранения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.