update note post
Build & Deploy / build-and-deploy (push) Has been cancelled

This commit is contained in:
svemagie
2026-04-01 16:01:45 +02:00
parent f018ed07c7
commit 7f2f770752
+10 -10
View File
@@ -4,32 +4,32 @@ category: bsd/zfs
aiTextLevel: "0" aiTextLevel: "0"
syndication: syndication:
- https://blog.giersig.eu/notes/bed63/ - https://blog.giersig.eu/notes/bed63/
updated: 2026-04-01T14:00:43.164Z updated: 2026-04-01T14:01:45.287Z
mpUrl: https://blog.giersig.eu/notes/bed63/ mpUrl: https://blog.giersig.eu/notes/bed63/
permalink: /notes/bed63/ permalink: /notes/bed63/
--- ---
The beauty of ZFS! Ive got some extra space, so Im moving some large jails there, where they can live happily ever after. The beauty of ZFS! Ive got some extra space, so Im moving some large jails there, where they can live happily ever after.
Step 1 Stop both jails. Step 1 - Stop both jails.
Step 2 Create parent datasets on new pool "store": Step 2 - Create parent datasets on new pool "store":
``` ```
zfs create -o mountpoint=none store/bastille zfs create -o mountpoint=none store/bastille
zfs create -o mountpoint=none store/bastille/jails zfs create -o mountpoint=none store/bastille/jails
``` ```
Step 3 Snapshot both jail datasets: Step 3 - Snapshot both jail datasets:
``` ```
zfs snapshot -r zroot/bastille/jails/audio@migrate zfs snapshot -r zroot/bastille/jails/audio@migrate
zfs snapshot -r zroot/bastille/jails/cloud@migrate zfs snapshot -r zroot/bastille/jails/cloud@migrate
``` ```
Step 4 Transfer to "store": Step 4 - Transfer to "store":
``` ```
zfs send -R zroot/bastille/jails/audio@migrate | zfs recv -o mountpoint=none store/bastille/jails/audio zfs send -R zroot/bastille/jails/audio@migrate | zfs recv -o mountpoint=none store/bastille/jails/audio
zfs send -R zroot/bastille/jails/cloud@migrate | zfs recv -o mountpoint=none store/bastille/jails/cloud zfs send -R zroot/bastille/jails/cloud@migrate | zfs recv -o mountpoint=none store/bastille/jails/cloud
``` ```
Step 5 Unmount old datasets and disable auto-mount: Step 5 - Unmount old datasets and disable auto-mount:
``` ```
zfs unmount -f zroot/bastille/jails/audio zfs unmount -f zroot/bastille/jails/audio
zfs unmount -f zroot/bastille/jails/cloud zfs unmount -f zroot/bastille/jails/cloud
@@ -38,25 +38,25 @@ zfs set canmount=noauto zroot/bastille/jails/audio/root
zfs set canmount=noauto zroot/bastille/jails/cloud zfs set canmount=noauto zroot/bastille/jails/cloud
zfs set canmount=noauto zroot/bastille/jails/cloud/root zfs set canmount=noauto zroot/bastille/jails/cloud/root
``` ```
Step 6 Set mountpoints on new datasets (children inherit): Step 6 - Set mountpoints on new datasets (children inherit):
``` ```
zfs set mountpoint=/usr/local/bastille/jails/audio store/bastille/jails/audio zfs set mountpoint=/usr/local/bastille/jails/audio store/bastille/jails/audio
zfs set mountpoint=/usr/local/bastille/jails/cloud store/bastille/jails/cloud zfs set mountpoint=/usr/local/bastille/jails/cloud store/bastille/jails/cloud
``` ```
Step 7 Mount new datasets: Step 7 - Mount new datasets:
``` ```
zfs mount store/bastille/jails/audio zfs mount store/bastille/jails/audio
zfs mount store/bastille/jails/audio/root zfs mount store/bastille/jails/audio/root
zfs mount store/bastille/jails/cloud zfs mount store/bastille/jails/cloud
zfs mount store/bastille/jails/cloud/root zfs mount store/bastille/jails/cloud/root
``` ```
Step 8 Quick sanity check: Step 8 - Quick sanity check:
``` ```
ls /usr/local/bastille/jails/audio/root/srv/funkwhale/ ls /usr/local/bastille/jails/audio/root/srv/funkwhale/
ls /usr/local/bastille/jails/cloud/root/usr/local/www/cloud/ ls /usr/local/bastille/jails/cloud/root/usr/local/www/cloud/
``` ```
Step 9 - destroy the old dataset Step 9 - destroy the old datasets:
``` ```
zfs destroy -r zroot/bastille/jails/audio zfs destroy -r zroot/bastille/jails/audio
zfs destroy -r zroot/bastille/jails/cloud zfs destroy -r zroot/bastille/jails/cloud