Системы хранения IBM, а также mdraid Linux поддерживают уровень RAID 1E, чтобы иметь возможность использовать нечетное количество дисков для 50-процентной избыточности:
Могу ли я добиться того же эффекта, создав zpool с нечетным количеством однодисковых vdev при установке copies=2
? Как это работает с точки зрения менеджмента - смог бы я zpool replace
заменить диск? Как пул будет вести себя при отказе диска в такой настройке?
Насколько я знаю, нет.
'zpool copy' создает избыточные биты, как вы знаете, и, насколько я помню, предполагается, что он должен попытаться отодвинуть эти избыточные биты как можно дальше географически, но я не верю, что это жесткое и быстрое требование, как для зеркальные биты в зеркале vdev; нехватка места, другие движущиеся части, я могу поверить, приведут к сценарию, когда копия №2 все еще находится на том же диске. Если это произойдет хотя бы один раз, то потеря диска из такой конфигурации будет проблемой с точки зрения сохранения данных.
И это не то, что административные команды пула должны обрабатывать так же, как они обрабатывают зеркальные vdev. Кроме того, рабочий процесс ZFS не предназначен для обработки так же, как зеркальные или четные vdevs - если вы потеряли диск из пула, в котором было несколько дисков как vdev верхнего уровня, даже если у вас есть копии = 2 или выше установленный прямо с первого дня, я ожидаю, что ZFS сильно пожалуется и, возможно, начнет возвращать ошибки при доступе к данным.
Я не ожидал, что copy = 2 (или более) будут действовать как RAID 1E. Однако, если вы создали несколько разделов на своих дисках и настроили их в соответствующих зеркальных vdev, вы, вероятно, могли бы воспроизвести идею RAID 1E с ZFS. Если у вас было 3 диска, каждый с 2 разделами, и вы настроили зеркальные vdevs так, чтобы каждая пара разделов не принадлежала к одному диску, то полученный пул может пережить потерю одного диска. Однако характеристики производительности такого пула, насколько мне известно, никогда не изучались (я предполагаю, что они будут плохими).
ZFS не поддерживает RAID 1E, поскольку RAID-Z не имеет отверстия для записи RAID 5. RAID-Z предлагает лучшее использование пространства, отсутствие разницы в производительности и такую же отказоустойчивость.
Настройка copies=2
не заставляет эти копии располагаться на разных физических дисках. Таким образом, он не предлагает защиты от сбоев физического диска. Установка числа больше 1 (по умолчанию) создает копии, называемые блоками ditto. Они полезны для восстановления после URE или повреждения данных при потере питания (так как будет другая копия данных, надеюсь, с действительной контрольной суммой). ZFS предлагает встроенное обнаружение повреждения данных, а не защиту; это защита от определенных видов коррупции.