управление zfs + зеркалирование


2

Я заметил, что в руководствах по zfs + избыточность + производительность, как правило, подчеркивается, что зеркалирование является хорошим вариантом, но информация об администрировании zfs, как правило, предоставляет относительно мало информации об управлении зеркальной настройкой по сравнению с базой на raidz.

Я планирую миграцию моего пула zfs с зеркальных дисков под Windows. Моя предпочтительная настройка всегда была чисто зеркальной, и, посмотрев на zfs, я бы хотел сохранить это и использовать чистое зеркалирование для резервирования, а не RAIDZ. В идеале каждый диск остается логически читаемым в отдельности, то есть для 6 дисков данные эффективно хранятся как, (1+2+3 mirror) + (4+5+6 mirror)а не как ((1+2 stripe) x 3 mirror). Я понимаю, что это было бы не очень эффективно и включало бы несколько меньших пулов / наборов данных, но потеряв данные раньше, у меня есть преимущества, которые я ценю перед эффективностью. Это также, вероятно, намного быстрее при чтении и повторном переносе, и гораздо более гибко физически.

Если я хочу запустить такой тип установки, каковы последствия зеркального отображения в vdevs или зеркальном отображении vdevs, и если в будущем хранилище будет расширено добавлением набора из 3 новых дисков, лучше ли добавить их как отдельный пул или отдельный vdev (или 3 отдельных vdevs)?

Ответы:


1

В ZFS у вас всегда есть избыточность любого вида на уровне vdev, вы не можете иметь ее на уровне пула .

Vdev может состоять из одного диска (1 диск), зеркальных дисков (2+ диска), полосы Z1 (2+ диска), полосы Z2 (3+ диска) или полосы Z3 (4+ диска). Затем вы можете создавать свои пулы, где каждый пул поддерживается 1+ vdevs, и вы можете иметь столько пулов, сколько захотите. Каждый пул использует все резервные vdevs без какой-либо избыточности (которая управляется на уровне vdev), и потеря одного vdev (не диска) означает, что весь ваш пул потерян.

Поэтому, если вы разделяете свои пулы, у вас в основном есть несколько массивов RAID1 рядом друг с другом, которые полностью отделены друг от друга - потеря одного пула не влияет на другие, но вы получаете более низкую производительность, потому что все они RAID1 вместо RAID10.

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

Кроме того, возникает вопрос, хотите ли вы иметь 2-сторонние или 3-сторонние зеркала для ваших vdevs - 3-сторонние гораздо безопаснее (к примеру, 4-сторонние почти бесполезны), но более дорогостоящие (требуется больше диски или имеющие меньше места). 3-way также немного быстрее для чтения, но скорость записи не меняется.

Таким образом, это компромисс между стоимостью, производительностью, безопасностью и простотой использования.


Это довольно убедительный ответ - спасибо. Два вопроса 1) Можете ли вы уточнить, что «расширение [таким образом, как это задано в вопросе или каким-то другим образом, не ясно?] Также имеет этот компромисс». 2) Я понял из вашего ответа, что нет способа указать zfs хранить данные как два отдельных пула, но затем представить их логически как один пул для общих файловых ресурсов? Или это можно сделать, включив в один пул символическую ссылку на корень другого пула, чтобы для пользователя они выглядели так, как будто у них общий корень и одна система регистрации?
Стилез

По поводу 1: Это был ответ на ваш последний вопрос с 3 новыми дисками в качестве дополнения к старому пулу или создания отдельного нового пула. Расширение почти такое же, как и при первоначальном создании, если учесть, что сначала у вас есть 3 + 3 диска, а потом вы хотите добавить 3, тогда как у вас сначала 3 + 3 + 3 диска - в обоих случаях ваш макет зависит от ваших потребностей.
user121391

По поводу 2: Это правильно, если вы разделяете пулы, вы также должны использовать отдельные файловые системы и можете делиться ими только отдельно друг от друга. На мой взгляд, это самый большой недостаток использования разделенных пулов, помимо очевидной потери производительности. С другой стороны, разные пулы могут иметь разные свойства, как, autoreplaceнапример,. Полезным отличием является представление о пулах как о вашем оборудовании (контроллеры, кабели, диски) и о файловых системах как о вашем программном обеспечении (данные, каталоги, общие ресурсы, разрешения). Таким образом, правильный макет получается довольно естественно.
user121391
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.