再マウントせずにZFSマウントポイントプロパティを変更する

再マウントせずにZFSマウントポイントプロパティを変更する

ある ZFS ファイルシステム (プール内のボリューム) を別の ZFS ファイルシステム (同じプール内の別のボリューム) に置き換えたいです。再起動は問題ありませんが、シングル ユーザー モードは避けたいと思います。

古いファイルシステムを設定しようとすると、ZFS はそれをアンマウントしようとしますが、ファイルが使用中であるため失敗します。その結果、そこに何かがマウントされているため、新しいファイルシステムをmountpoint=none設定できません。プロパティもファイルシステムに書き込まれません。mountpoint=/datamountpoint

再起動すると、古いファイルシステムがマウントされたままになり、サービスがそこにあるファイルを使用し始め、マウント解除できなくなります。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

関連情報