Запустить ZFS RAIDZ zpool с двумя дисками, а затем добавить третий?

16200
Community

Допустим, у меня есть два жестких диска по 2 ТБ, и я хочу запустить свой первый ZFS zpool. Можно ли создать RAIDZ только с этими двумя дисками, предоставив мне 2 ТБ доступного хранилища (если я правильно понимаю), а затем добавить еще один 2 ТБ жесткого диска, в результате чего общий объем используемого хранилища составит 4 ТБ. Я прав или для начала нужно три HDD?

Причина, по которой я спрашиваю, у меня уже есть один накопитель на 2 ТБ, который я использую, который полон файлов. Я хочу перейти на zpool, но я бы предпочел купить только еще два диска по 2 ТБ, если смогу. Насколько я понимаю, RAIDZ ведет себя аналогично RAID5 (с некоторыми существенными отличиями, я знаю, но с точки зрения емкости). Однако для RAID5 требуется более 3 дисков. Мне было интересно, если RAIDZ имеет такое же требование.

Если мне нужно, я могу купить три диска и просто начать там, позже добавив четвертый, но если бы я мог начать с двух и перейти на три, это сэкономило бы мне 80 долларов.

12

5 ответов на вопрос

13
Holger G

Метод, который используют некоторые люди, но он не рекомендуется:

  1. Создайте пул с двумя дисками и разреженным файлом (нужного виртуального размера, соответствующего другим дискам), а затем немедленно отключите разреженный файл. Это создаст ухудшенный пул RAID-Z1 с емкостью двух дисков и без избыточности.
  2. Скопируйте данные в поврежденный пул.
  3. Замените отключенный sparse-файл третьим диском и резервным диском.

Количество «устройств», с которыми создается vdev, является постоянным после создания. Следовательно, у вас должно быть три «диска» на момент создания. Этот метод дает возможность создать ухудшенный пул RAID-Z1, а затем восстановить отсутствующую избыточность.

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

Спасибо за этот ответ. Мы не всегда ищем рекомендуемое решение. Иногда мы ищем ЛЮБОЕ решение. Ссылка на то, как сделать то, что вы объясняете, была бы хорошей javahaxxor 5 лет назад 0
К сожалению, я не могу создать разреженный файл объемом 1 ТБ на диске емкостью 250 ГБ, поэтому при создании массива RAIDZ с двумя дисками емкостью 1 ТБ + один файл разреженного размера (10 ГБ) массив становится размером 3x10 ГБ. После удаления разреженного файла я не смог увеличить массив, потому что я не мог скопировать данные с третьего диска в небольшой массив размером 3x10 ГБ, и массив не может быть увеличен в поврежденном состоянии. Словить 22. javahaxxor 5 лет назад 0
6
sblair

К сожалению, на данный момент это невозможно :

Невозможно добавить диск в качестве столбца для RAID-Z, RAID-Z2 или RAID-Z3 vdev. Эта функция зависит от функции перезаписи указателя блока, которая должна быть добавлена ​​в ближайшее время. Однако можно создать новый RAID-Z vdev и добавить его в zpool.

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

Вот мы три года спустя, а на странице Википедии * все еще * написано "скоро будет добавлено" ... :( Icydog 9 лет назад 4
@ Icydog очень скоро сейчас ;-) jlliagre 8 лет назад 2
3
jlliagre

RAID-Z1 можно использовать только с двумя дисками, но это не дает никаких преимуществ по сравнению с зеркалированием - если только два ваших диска не имеют разный размер сектора, поэтому их нельзя зеркально отразить (например, новый диск 4K сектора и старый 512 диска). байт диск).

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

3
Tjunkie

Don't have enough "reputation" to comment, so putting this in as a separate answer

RE: Holger G suggestion

while I agree that this is NOT safe... I found this thread looking for a way to go from RAIDZ1 to RAIDZ2 at a later date when extra drive can be acquired.

So Holgers suggestion works great for me - create a RAIDZ2 with one dev as sparse file, offline the file device and have effectively RAIDZ1 for a while and then add a real device at some point to double the redundancy

Also works for the situation where the one drive holds the data that is to be copied to the new raid, as the OP has.

RAIDZ2 глупы - единственная ситуация, когда конфигурация может быть полезной, - это «коррелированный» отказ двух дисков. Вместо того чтобы использовать два диска для защиты от этого, защитите себя от таких сбоев, используя диски одинаковой емкости от * разных производителей * и / или разных моделей. Mikhail T. 8 лет назад 0
@MikhailT. - Хотя использование разных производителей - хороший совет, ужасный совет - сказать, что RaidZ2 - глупость; восстановление может убить другой диск. antiduh 6 лет назад 0
Скорее всего, _rebuild уничтожит другой диск_ - только если все диски идентичны уже вышедшему из строя и, следовательно, могут быть повреждены _correlated_. И в этом случае наличие двух дисков вам тоже не поможет - они могут _все_ выйти из строя сразу. Если ожидаемые отказы дисков являются _independent_, то жертвуя несколькими дисками ради избыточности [не дает ощутимых улучшений] (http://aldan.algebra.com/~mi/ml/) в надежности. Mikhail T. 6 лет назад 0
0
Claudio

Просто чтобы немного осветить:

  • Если один диск может выйти из строя, не зная заранее, когда он выйдет из строя ... почему два не могут выйти из строя одновременно? или три или четыре или пять и т. д.?

Но подумайте об этой другой ситуации:

  1. Один диск вышел из строя
  2. Вы ставите новый и позволяете ему «перестраивать», чтобы быть в безопасности
  3. Пока такое «восстановление» уже сделано (возможно, несколько часов), другой диск выходит из строя

Вы потеряли все !!! Это основная причина терпеть одновременный сбой двух дисков.

Но если вы действительно параноик (как и я), вы будете использовать только Stripping, а не другой уровень RAID.

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

Моя параноидальная схема:

  • ZFS с чередованием (2x, 3x, 4x ... или 10x дисков), просто чтобы соответствовать максимальной пропускной способности шины (sata III, usb 3.1 gen 2 и т. Д.)
  • И другие аналогичные пять ZFS (без питания, поэтому не могут быть повреждены)

Как использовать все такие ZFS:

  • Имейте только два из них одновременно (только для синхронизации изменений) ... как мастер с пятью рабами

Параноидальная точка зрения:

  • Если один из ZFS выходит из строя ... например, если его ударила буря, сожгли, украли и т. Д., У меня осталось еще пять копий в разных местах (банк, бункер, интернет-облако, дом друзей, дом отдыха и т. Д.)

Чтобы синхронизировать некоторые из них ... я должен взять с собой одну ZFS и выполнить синхронизацию в другом физическом месте / стране / и т. Д. ... поэтому я использую одного из рабов Thoose.

Подумайте, когда я говорю о жестких дисках на одном ZFS, на другом ZFS может быть 3,1 Gen2 64 ГБ USB-флешки! Не нужно быть одинакового размера, типа и т. Д.

Действительно параноидальная точка зрения.

Для паств не так уж параноик, и если они могут поддержать потерять все ... есть уровни RaidZ ... я предпочитаю "зеркалировать" сам.

Еще одно преимущество выполнения «ручной синхронизации» - это ваши собственные ошибки:

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

Итак ... еще раз ... если вам требуется резервное копирование, почему бы не ускорить ZFS до максимума путем только чередования? ... вам все равно нужно будет делать резервное копирование в конце концов.

Ну, ответ может быть:

  • Системный раздел для онлайн-системы a24h

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

Если у вас есть два компьютера, у вас есть то, что вам нужно, 7x24h всего за несколько секунд (время загрузки) простоя.

Для домашних пользователей, которые хотят, чтобы их фотографии были в безопасности ... используйте более двух ZFS и, по крайней мере, один или два из них никогда не подключались одновременно с остальными. Paranoid? Не за что.

Просто я усердно учусь, как все может пойти не так!

Просто чтобы уточнить ... что случилось ...

  1. Я нормально использовал ПК
  2. Данные становились неудачными
  3. Я вынул HDD и поместил те, которые были в порядке
  4. Данные о них также были повреждены менее чем за десять секунд
  5. Я потерял все свои данные (не полностью, так как я был немного параноиком и у меня была резервная копия на DVD-носителе)

Проблема была на самом деле в контроллере (встроенном в материнскую плату), а не в дисках ... он изменял данные об операциях чтения / записи.

С тех пор ... мои данные больше не находятся на внутренних дисках sata ... только на внешних корпусах USB 3.1 Gen 2, которые я могу подключать и отключать (каждый диск в своем собственном корпусе) ... и когда происходит сбой ... Я проверяю все перед подключением к этому ПК что-нибудь с реальными данными ... ОЗУ, процессор, USB-порт и т. д. ... с фиктивным корпусом USB для проверки шаблонов ... если это нормально ... тогда я проверяю отказавший диск ... если он работает в другом корпусе или нет, на другом ПК или нет, и т.д ... чтобы действительно знать, кто является причиной сбоя ... действительно параноик, я знаю!

Но учиться на собственном опыте:

  • Никогда не верьте, что сбой диска вызван тем, что диск сам ... тестирует его ... это может быть контроллер, кабели, блок питания и т. Д.
  • Или, что еще хуже, это может быть ОЗУ

Говоря об оперативной памяти, у меня был не такой старый ПК (64-битный процессор на базе BIOS), который, если (подумайте о трех одинаковых модулях оперативной памяти, назовите их A, B и C):

  • я положил A на ПК работает отлично (независимо от того, какой из четырех слотов)
  • я положил B ​​на ПК работает отлично (независимо от того, какой из четырех слотов)
  • Я поставил C на ПК, он отлично работает (но только на одном из четырех слотов, на другом дереве это вызывает много сбоев, BSOD и т. д.)
  • я ставлю A & B, это вызывает много сбоев, BSOD и т. д.
  • Я установил A & C на ПК, он отлично работает (независимо от того, какой из четырех слотов)
  • я поставил B & C на ПК, он отлично работает (независимо от того, какой из четырех слотов)
  • я ставлю A & B & C на ПК, это вызывает много сбоев, BSOD и т. д.

Если я тестирую такие модули на другом ПК, все они работают отлично, без проблем, без дефектов и т. Д.

Все может пойти очень плохо ... и если вы не протестируете все комбинации, вы не можете знать, что не получается ... да действительно параноик, чтобы проверить все комбинации трех модулей оперативной памяти на четырех слотах ... но то, что я обнаружил, позволило мне слепой ... отказавший один модуль прекрасно работает, если есть еще один, но нет, если есть еще два ... да, я тоже протестировал еще три и провалился!

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

Иногда сбой ZFS может быть вызван ОЗУ ... тогда, независимо от того, сколько у вас уровней RaidZ ... вы можете потерять все.

О, почти забыли ... использовать ECC-память, иначе ZFS нельзя доверять! И не используйте никакие жесткие диски с внутренним кешем, RAID-массивом для интернета и т. Д., Если он не предназначен для выполнения записи в порядке отправки (или для выполнения всех из них при отключении питания).

Я использую только жесткие диски с достаточной внутренней энергией для записи всего своего кеша на планшеты после внезапного отключения питания!

Все эти моменты / слабости позвольте мне сделать одно заключение:

  • Лучше всего ускорить процесс и создавать свои собственные резервные копии
  • Иметь около 100% копий в автономном режиме и без питания
  • Имейте что-нибудь готовое, чтобы получить власть и заменить неисправную часть

Вот почему у меня> 2 ПК с> 10 жесткими дисками USB (5 копий ZFS * 3 жестких диска в каждом в разобранном виде) ... я получил лучшее из ... безопасного и скоростного! Но я получаю худшую часть ... нужно периодически синхронизировать их все ... но безопасность данных - самая важная часть! также я не хочу много ждать таких синхронизаций (иначе, чередование приходит в работу).

И если полоса 3 * HDD выходит из строя ... я могу проверить, какой из них вышел из строя из этих трех, в течение нескольких часов / дней / недель ... пока у меня есть другая ZFS-копия On-Line и работает ... после того, как убедитесь, что другой два в порядке, я покупаю новый (может быть, через 30-45 дней) и воссоздаю такие 3 * жесткие диски ZFS и помещаю на них данные, чтобы снова получить эту пятую копию.

Совсем не дешево! Но, конечно, не в качестве цены на центральный дата-центр ... и без счета за электроэнергию (большинство жестких дисков без питания, только 3 или 6 одновременно).

Надеюсь, кто-то найдет эту идею полезной (я использую ее ежедневно).