Прежде чем ответить на ваш вопрос, откажитесь от ответственности: очевидно, что проще всего использовать дублирующееся оборудование. Стоит отметить, что даже если ваши устройства одного и того же производителя и имеют одинаковое количество оборотов в минуту, пропускная способность между ними будет разной для данного размера ввода-вывода (поскольку диски емкостью 2 ТБ, вероятно, имеют более высокую плотность байтов на кольцо), а число количество операций ввода-вывода в секунду будет одинаковым между ними, даже если в случае случайного чтения накопители на 2 ТБ будут удваиваться в два раза чаще В принципе, в любом случае вы будете иметь асимметричную производительность: диски объемом 2 ТБ работают в ~ 2 раза лучше при больших вводах-выводах, а диски емкостью 1 ТБ - в ~ 2 раза лучше при коротких случайных ввода-выводах.
Я собираюсь ответить, предполагая, что вы не хотите продавать свои диски емкостью 1 ТБ, чтобы купить еще один диск емкостью 2 ТБ. По твоему вопросу я не могу точно сказать - какой у тебя желаемый уровень репликации? Несмотря ни на что, есть два правила, которым вы должны следовать:
- Вам лучше позволить ZFS сконфигурировать полные диски в
zpool
, потому что семантика отказов при сбое одного диска намного проще, чем если два раздела могут выйти из строя вместе (когда на диске оба они выходят из строя).
- Проще добавить новые диски в пул позже, если ваш узел верхнего уровня в пуле - это полосатый
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
, который можно установить в файловых системах в пуле. Это может быть заманчиво для вашего варианта использования, но обратите внимание, что это не помогает при всех проблемах потери данных - сбой на уровне устройства все равно приведет к невозможности использования всего пула. (Основным вариантом использования для этого являются повреждения на диске.)