zdb
показывает вам path
, который ZFS использует внутренне для адресации устройства, - это путь в файловой системе /dev
, который обеспечивает доступ к файлу блочного устройства.(Кстати, zdb
в основном подразумевается как инструмент отладки, и не гарантируется обратная совместимость для всего, что он печатает.) Для адресации используется срез диска суффикс s0
, которыйпочему это появляется в тех списках.Я считаю, что дисковые фрагменты в основном такие же, как разделы.Срез 0 обычно представляет собой весь диск, когда вы используете ZFS, так как при добавлении всего устройства в zpool
ZFS автоматически отформатирует устройство для вас, и ему нужен только один срез.Тем не менее, также возможно добавить только один раздел диска к вашему zpool
(или, что еще глупее, несколько разделов на одном диске как отдельный vdevs
), поэтому ZFS должна отслеживать, какие разделы на самом делев управлении.
iostat
показывает только имя устройства без пути /dev
или номера среза.Это потому, что iostat
не знает о срезах и просто смотрит на фактическое устройство, когда собирает свои данные.
Я не знаю, что случилось с smartctl
.Я ожидаю, что он будет работать на уровне устройства, например iostat
, но, возможно, он получает данные, передаваемые ему через ZFS, которая использует номер среза.Это кажется мне ошибкой, так как в идеале вы должны сообщать об ошибках в наименьшем домене ошибок, частью которого они являются, в данном случае это диск.(Хотя, по крайней мере, это легко обойти.)