Замена диска в ZFS gpt (один диск в пуле)

Памятка себе, урок урюкам, которые кряхтят в mdadm.

Итак, ada1(disk0) старый диск на 500Гб, ada0 – новый на 1Тб.

Создаю на новом диске gpt раздел. Создаю загрузочную область (для размещения загрузчика, внезапно). Своп на 4Гб (swap1). Остальное место отдаю для утех на ZFS (disk1).

Здесь видно по обёму (в Гб) кто есть кто.

Теперь я делаю классическое присоединение диска disk1 в  массив zroot, указывая, конечно же оба диска. Умница ZFS напоминает мне, что нужно записать загрузчик на присоединённый диск.

Начался ресилвер данных. Занимаюсь другими делами.

Записываю загрузчик в mbr. Сделать это можно во время ресилвера, т.к. загрузчик устанавливается в область, ну никак не связанную с ZFS (-i 1).

Теперь все подготовительные работы сделаны. Жду ресилвера, изредка поглядывая в zpool status -v. Когда скруб скажет, что ресилвер завершён, изымаю из пула zroot старый диск (disk0).

Такие дела. Осталось отключить старый диск физически.

Хинт: если бы я не делал детач старого диска – получил бы (опять же внезапно) массив стандарта RAID 1 (mirroring). Выглядило бы это так:

Так уж устроен ZFS: не отрывая от ботвы можно из сингл диска делать миррор и наоборот.