This commit is contained in:
+10
-10
@@ -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! I’ve got some extra space, so I’m moving some large jails there, where they can live happily ever after.
|
The beauty of ZFS! I’ve got some extra space, so I’m 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
|
||||||
|
|||||||
Reference in New Issue
Block a user