syxoi
@syxoi

Каким образом работает страйп на ZFS?

Решил сравнить, как работает рейд средствами ZFS и md+(any fs), в виртуалке Vmware создал машину с несколькими дисками разного размера, и начал мониторить их активность.
ZFS: Во время записи файла (dd if=/dev/zero of=file bs=60M), данные записывались (о чем нам подсказывает iotop) сразу на три диска, причем все время обращения были полностью к трем дискам, а по идее, должно быть так: кончается место на первом, пишем на другой и так далее, но как-то ZFS умудряется писать на несколько. Почему? Вообще непонятно.
md: Все работает как и задумано: во время записи сначала пишем на три диска, на первом кончается и записываем на 2 и 3, на 2 заканчивается и дописываются данные в 3 диск.
  • Вопрос задан
  • 1062 просмотра
Пригласить эксперта
Ответы на вопрос 1
@al_ace
Работаю в ACE Lab
Если вы создаете ZFS пул из 3 дисков, то сама zfs знает что у нее есть 3 диска. Она знает сколько свободно и сколько занято на каждом из них. Данные в ZFS хранятся блоками, размер блока подбирается для каждого файла, но обычно не больше 256 килобайт. Если файл большой и блоков много, то zfs старается распределить блоки поровну среди участников. Более того, в ZFS некоторые метаданные дублируются - пишется до 3х копий, которые она также старается разбросать среди участников.

А на счет md. Расскажите какой рейд вы сделали, что он так работает? Логично было бы сравнивать страйп со страйпом, но "нормальному" страйпу нужны диски одинакового размера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы