Назад | Перейти на главную страницу

zfs и возможность расширения в будущем

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

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

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

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

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

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

Чтобы иметь возможность увеличить пространство для хранения, заменив только несколько дисков, вы должны использовать зеркальные vdev, разделенные вместе (что на самом деле составляет 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

Если позже вы захотите еще больше увеличить объем хранилища, вы можете сделать это, добавив больше виртуальных машин (желательно также зеркал) ИЛИ заменив только 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% отказ массива при одновременном отказе 2 дисков.

Конфигурация 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.

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

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