Я хочу построить сервер, используя 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 начать заканчивать перед начиная.