3

У меня есть 4 диска: 2x2TB и 2x1TB. Все тот же RPM 7200 и производитель. ОС Ubuntu 16.04. Я хочу создать пул RAID 10, но я слышал, что смешивание дисков не подходит для ZFS - поправьте меня, если я ошибаюсь ... Итак, какой из этих трех вариантов лучше ("м" означает зеркало):

  1. Зеркала целые диски: (2 ТБ м 2 ТБ) + (1 ТБ м 1 ТБ).
  2. Разделите диски по 2 ТБ на разделы по 1 ТБ: (1 ТБ м 1 ТБ) + (1 ТБ м 1 ТБ) + (1 ТБ м 1 ТБ).
  3. Два отдельных пула: (2 ТБ м 2 ТБ) и (1 ТБ м 1 ТБ).

Лично мне не очень нравится третий вариант, но, может быть, он самый стабильный? Я новичок в ZFS, поэтому, пожалуйста, предложите.

Я сделал изображение, чтобы проиллюстрировать второй вариант:

изображение варианта 2

1 ответ1

1

Прежде чем ответить на ваш вопрос, откажитесь от ответственности: очевидно, что проще всего использовать дублирующееся оборудование. Стоит отметить, что даже если ваши устройства одного и того же производителя и имеют одинаковое количество оборотов в минуту, пропускная способность между ними будет разной для данного размера ввода-вывода (поскольку диски емкостью 2 ТБ, вероятно, имеют более высокую плотность байтов на кольцо), а число количество операций ввода-вывода в секунду будет одинаковым между ними, даже если в случае случайного чтения накопители на 2 ТБ будут удваиваться в два раза чаще В принципе, в любом случае вы будете иметь асимметричную производительность: диски объемом 2 ТБ работают в ~ 2 раза лучше при больших вводах-выводах, а диски емкостью 1 ТБ - в ~ 2 раза лучше при коротких случайных ввода-выводах.

Я собираюсь ответить, предполагая, что вы не хотите продавать свои диски емкостью 1 ТБ, чтобы купить еще один диск емкостью 2 ТБ. По твоему вопросу я не могу точно сказать - какой у тебя желаемый уровень репликации? Несмотря ни на что, есть два правила, которым вы должны следовать:

  1. Вам лучше позволить ZFS сконфигурировать полные диски в zpool , потому что семантика отказов при сбое одного диска намного проще, чем если два раздела могут выйти из строя вместе (когда на диске оба они выходят из строя).
  2. Проще добавить новые диски в пул позже, если ваш узел верхнего уровня в пуле - это полосатый vdev . Таким образом, вы всегда можете добавлять группы дублирующихся новых устройств одновременно, и не имеет значения, соответствуют ли их размеры размерам существующих устройств в пуле.

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

striped
    mirror
        2TB
        2TB
    mirror
        1TB
        1TB

Если вы хотите зеркало с 3 дисками, вы можете сделать зеркало, как это, но добавить устройства к нему позже сложнее (добавить их как другое зеркало? добавить их как еще одну полосу под область 1TB?):

mirror
    2TB
    2TB
    striped
        1TB
        1TB

Если вы хотите использовать RAID-Z, я бы порекомендовал просто не использовать устройства разных размеров, или вы можете купить еще несколько устройств по 2 ТБ и 1 ТБ и распределить их по нескольким группам RAID-Z.

Альтернативный метод репликации данных в ZFS - это параметр copies=N , который можно установить в файловых системах в пуле. Это может быть заманчиво для вашего варианта использования, но обратите внимание, что это не помогает при всех проблемах потери данных - сбой на уровне устройства все равно приведет к невозможности использования всего пула. (Основным вариантом использования для этого являются повреждения на диске.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .