ZFS и будущее расширение

8

Я хочу собрать сервер, используя freebsd 9 и zfs. У меня есть какое-то старое оборудование (четырехъядерное ядро ​​Intel с оперативной памятью 8 ГБ), и я готов купить два или три диска объемом 1 ТБ. У меня также есть RAID-сервер dlink с двумя дисками емкостью 1 ТБ, который я, вероятно, перестану использовать, поэтому эти два жестких диска будут доступны для использования на сервере zfs после перемещения данных на них (в настоящее время около 300 МБ) в рейде 1) на новый сервер.

Так что в начале я получаю 2 или 3 диска с возможностью перехода на 4 или 5 дисков, как только я успешно настрою сервер zfs и скопирую данные.

Мой вопрос заключается в том, как наилучшим образом настроить пул zfs таким образом, чтобы у меня была максимальная избыточность и место для хранения с возможностью перехода на 2 или 3 или более дисков в будущем, когда они станут доступны. Так что мне не важна скорость, я предполагаю, что моя сеть Ethernet (даже со скоростью 1 Гбит / с) будет определяющим фактором скорости системы в любом случае ...?

Моя текущая мысль состоит в том, чтобы купить 2 новых диска, настроить его в режиме чередования. После того, как я скопировал все данные из моего dlink nas, я бы удалил один из этих дисков, добавил его в пул, сделав его зеркалом одного из новых дисков. После того, как массив будет перестроен, я бы переместил другой диск в пул, чтобы он отражал второй новый диск ... после того, как все это будет сделано, у меня должен быть грубый эквивалент RAID 10, «чередующиеся зеркала».

Это возможно, или есть лучший способ настроить это?

Опять же, мой приоритет - максимальное резервирование, обслуживание (замена старых дисков на новые / более крупные диски и увеличение общего объема пула), доступное пространство для хранения и скорость; в этой последовательности.

user85116
источник

Ответы:

6

Чтобы иметь возможность увеличить пространство хранения за счет замены только нескольких дисков, вы должны использовать зеркальные vdevs, чередующиеся вместе (что на самом деле равняется RAID10).

В вашем случае с 4 дисками это означало бы работу на что-то вроде этого:

    zpool
      mirror
        disk1
        disk2
      mirror
        disk3
        disk4

Это обеспечит вам 2 ТБ памяти (при условии, что все диски имеют размер 1 ТБ) и хорошую избыточность (0% сбоя массива после 1 сбоя диска, только 33% сбоя массива при 2 одновременных сбоях диска).

Теперь, чтобы попасть туда, я бы купил эти 2 новых диска по 1 ТБ и положил их в пул:

zpool create zpool mirror disk1 disk2

Затем переместите ваши вещи из DLINK во вновь созданный пул.

Как только это будет сделано, вы можете очистить диски DLINK и добавить их в пул, чтобы увеличить объем хранения:

zpool add zpool mirror disk3 disk4

Если позже вы захотите еще больше увеличить объем хранилища, вы можете сделать это, добавив больше vdevs (желательно также зеркал) ИЛИ заменив только 2 из 4 дисков. Замена происходит следующим образом:

zpool offline zpool disk3
# remove physical disk3 at this point
# insert new, bigger disk in place of disk3
zpool online zpool disk3
# wait for resilver
# after resilver, do the same with disk4
# your vdev is now bigger, increasing the size of the pool

Теперь давайте посмотрим на другой вариант. Если вы сделали 1 raidz vdev примерно так:

zpool
  raidz
    disk1
    disk2
    disk3
    disk4

У вас будет 3 ТБ хранилища, но чтобы увеличить его, просто заменив диски (а не добавив), вам придется заменить ВСЕ 4 диска (один за другим), чтобы увеличить размер пула! Кроме того, эта конфигурация имеет 100% сбой массива при сбое двух дисков одновременно.

Конфигурация raidz также будет медленнее, чем конфигурация чередующихся зеркал. Поскольку raidz требует больших вычислительных ресурсов, в то время как полосы + зеркала фактически улучшают производительность чтения и записи. При использовании «обычных» жестких дисков (не SSD) полосатые зеркала, скорее всего, заполнят ваше гигабитное соединение для последовательного чтения и записи, поскольку ZFS может объединять пропускную способность дисков (помните, что 1 Гбит / с составляет всего ~ 125 мегабайт / с, стандартное «нормальное») жесткий диск даст вам около 90 мегабайт / с). Я не думаю, что вышеупомянутая конфигурация raidz сможет сделать это на потребительском оборудовании.

В заключение, оценка для чередующихся зеркал / RAID 10 с вашим количеством дисков:

+ max redundancy
+ maintenance
- available storage space
+ speed

Оценка для raidz:

- max redundancy
- maintenance
+ available storage space
- speed

Я бы сказал, выигрывают полосатые зеркала :)

Последний совет: обязательно прочитайте больше о том, как и почему, прежде чем начать! Возможно, даже смоделировать всю процедуру на виртуальной машине. Я думаю особенно о шаге, где вы добавляете второе зеркало vdev! Если вы сделаете это неправильно, вы можете получить другую конфигурацию, на которую надеялись, и ZFS в этих случаях очень неуместен, так как не позволяет вам удалять vdevs из пула или диски из raidz vdevs !! (однако удаление дисков из зеркала vdevs разрешено)

Кроме того, будьте ориентированы на будущее, маркируйте и выравнивайте свои диски, чтобы у вас не возникало проблем с дисками Advanced Format! Для получения дополнительной информации о тонкостях дисков ZFS и 4K, я предлагаю вам прочитать эту ветку на форуме FreeBSD .

hopla
источник
3

Каждая группа дисков, которую вы добавляете одновременно, имеет свою собственную политику резервирования, независимо от добавления или создания нового пула. 2 диска = зеркало, 3 вы можете использовать RAIDZ (или проявить творческий подход, не рекомендуется). Производительность, скорее всего, будет ниже, чем у 1Gb Ethernet с такими накопителями. Кроме того, замена жестких дисков на более поздние - это немного хлопотно, хотя вполне возможно.

Я настоятельно рекомендую прочитать Руководство администратора ZFS от начала до конца , прежде чем начинать.

Крис С
источник