
Я хочу заменить одну файловую систему ZFS (том в пуле) на другую файловую систему ZFS (другой том в том же пуле). Перезагрузка — это нормально, но я бы хотел избежать однопользовательского режима.
Когда я пытаюсь установить mountpoint=none
на старой файловой системе, ZFS пытается размонтировать ее, что не удается из-за используемых файлов. Соответственно, я не могу установить mountpoint=/data
на новой файловой системе, поскольку там что-то монтируется. mountpoint
Свойства также не записываются в файловые системы.
Если я перезагружу, старая файловая система все еще будет смонтирована, службы начнут использовать файлы на ней, и я больше не смогу ее размонтировать. Есть ли способ записать свойства mountpoint
в файловые системы, не меняя ничего из того, что смонтировано, а затем перезагрузиться, чтобы новая файловая система использовалась, когда система снова загрузится?
решение1
В новых версиях OpenZFS есть флаг zfs set -u
.
zfs set -u mountpoint=/data-old zpool/data1
zfs set -u mountpoint=/data zpool/data2
Теперь свойства изменены, но в текущих точках монтирования ничего не изменилось; они /data
по-прежнему указывают на zpool/data1
, но после перезагрузки будут zpool/data2
.