Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
freebsd:zfs [2018/07/30 16:59] 127.0.0.1 Externe Bearbeitung |
freebsd:zfs [2018/10/02 09:43] (aktuell) |
||
---|---|---|---|
Zeile 1259: | Zeile 1259: | ||
====== Rebuild directory structure ====== | ====== Rebuild directory structure ====== | ||
- | You maybe used a script to install FreeBSD and it has not created subdirectories for some directories we like, e.g.: | + | You maybe used a script (MFSBSD, zfsinstall) to install FreeBSD and it has not created subdirectories for some directories we like, e.g.: |
<code> | <code> | ||
tank 1.25T 514G 144K none | tank 1.25T 514G 144K none | ||
Zeile 1268: | Zeile 1268: | ||
</code> | </code> | ||
We would like to create a new structure, copy the data there but we want a downtime of the system as short as possible. The system should also be prepared for beadm. So lets start. | We would like to create a new structure, copy the data there but we want a downtime of the system as short as possible. The system should also be prepared for beadm. So lets start. | ||
+ | |||
+ | For this we need a new pool and then copy the data using ZFS features. | ||
+ | |||
+ | Get partitions of old pool: | ||
+ | <code console> | ||
+ | gpart show ada0 | ||
+ | |||
+ | => 40 33554352 ada0 GPT (16G) | ||
+ | 40 472 1 freebsd-boot (236K) | ||
+ | 512 33553880 2 freebsd-zfs (16G) | ||
+ | </code> | ||
+ | |||
+ | So lets start to create the new pool: | ||
+ | <code console> | ||
+ | gpart create -s gpt ada1 | ||
+ | gpart add -a 4k -s 128M -t efi ada1 | ||
+ | gpart add -a 4k -s 256K -t freebsd-boot -l boot1 ada1 | ||
+ | gpart add -a 4k -t freebsd-zfs -l disc1 ada1 | ||
+ | </code> | ||
+ | |||
+ | Then we create the new pool but we do not mount it: | ||
+ | <code console> | ||
+ | zpool create newzroot gpt/disc1 | ||
+ | zpool export newzroot | ||
+ | zpool import -N newzroot | ||
+ | </code> | ||
At first we have to create the directory structure: | At first we have to create the directory structure: | ||
<code console> | <code console> | ||
- | zfs create -uo mountpoint=none tank/ROOT | + | zfs create -uo mountpoint=none newzroot/ROOT |
- | zfs create -uo mountpoint=/ tank/ROOT/default | + | zfs create -uo mountpoint=/ newzroot/ROOT/default |
- | zfs create -uo mountpoint=/tmp -o compression=lz4 -o exec=on -o setuid=off tank/tmp | + | zfs create -uo mountpoint=/tmp -o compression=lz4 -o exec=on -o setuid=off newzroot/tmp |
chmod 1777 /mnt/tmp | chmod 1777 /mnt/tmp | ||
- | zfs create -uo mountpoint=/usr tank/usr | + | zfs create -uo mountpoint=/usr newzroot/usr |
- | zfs create -uo compression=lz4 -o setuid=off tank/usr/home | + | zfs create -uo compression=lz4 -o setuid=off newzroot/usr/home |
- | zfs create -uo compression=lz4 tank/usr/local | + | zfs create -uo compression=lz4 newzroot/usr/local |
- | zfs create -uo compression=lz4 -o setuid=off tank/usr/ports | + | zfs create -uo compression=lz4 -o setuid=off newzroot/usr/ports |
- | zfs create -u -o exec=off -o setuid=off tank/usr/ports/distfiles | + | zfs create -u -o exec=off -o setuid=off newzroot/usr/ports/distfiles |
- | zfs create -u -o exec=off -o setuid=off tank/usr/ports/packages | + | zfs create -u -o exec=off -o setuid=off newzroot/usr/ports/packages |
- | zfs create -uo compression=lz4 -o exec=off -o setuid=off tank/usr/src | + | zfs create -uo compression=lz4 -o exec=off -o setuid=off newzroot/usr/src |
- | zfs create -u tank/usr/obj | + | zfs create -u newzroot/usr/obj |
- | zfs create -uo mountpoint=/var tank/var | + | zfs create -uo mountpoint=/var newzroot/var |
- | zfs create -uo compression=lz4 -o exec=off -o setuid=off tank/var/crash | + | zfs create -uo compression=lz4 -o exec=off -o setuid=off newzroot/var/crash |
- | zfs create -u -o exec=off -o setuid=off tank/var/db | + | zfs create -u -o exec=off -o setuid=off newzroot/var/db |
- | zfs create -uo compression=lz4 -o exec=on -o setuid=off tank/var/db/pkg | + | zfs create -uo compression=lz4 -o exec=on -o setuid=off newzroot/var/db/pkg |
- | zfs create -u -o exec=off -o setuid=off tank/var/empty | + | zfs create -u -o exec=off -o setuid=off newzroot/var/empty |
- | zfs create -uo compression=lz4 -o exec=off -o setuid=off tank/var/log | + | zfs create -uo compression=lz4 -o exec=off -o setuid=off newzroot/var/log |
- | zfs create -uo compression=lz4 -o exec=off -o setuid=off tank/var/mail | + | zfs create -uo compression=lz4 -o exec=off -o setuid=off newzroot/var/mail |
- | zfs create -u -o exec=off -o setuid=off tank/var/run | + | zfs create -u -o exec=off -o setuid=off newzroot/var/run |
- | zfs create -uo compression=lz4 -o exec=on -o setuid=off tank/var/tmp | + | zfs create -uo compression=lz4 -o exec=on -o setuid=off newzroot/var/tmp |
</code> | </code> |