======================================= FreeBSD manually mirror swap partition ======================================= by o1 FreeBSD cowboy 13.2-RELEASE FreeBSD 13.2-RELEASE releng/13.2-n254617-525ecfdad597 GENERIC amd64 mirror the swap partions on a zfs root pool mirror-0 UPON installation of FreeBSD onto a ZFS mirror you are presented with an option to mirror the swap or not. If you choose "NO" which is the default then the swap partition will not be mirrored. A downside to having the swap partition NOT mirrored is if a disk in the mirror fails there is the possibility that the system will crash if the drive that fails is the one with the active swap partition. You might also use this if you installed onto a single disk and later on want to add a second drive and create a mirror and also mirror the swap. ======================================= root@cowboy:~ # zpool status zroot pool: zroot state: ONLINE scan: scrub repaired 0B in 00:06:53 with 0 errors on Thu Jun 1 00:06:53 2023 config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada0p3 ONLINE 0 0 0 ada1p3 ONLINE 0 0 0 errors: No known data errors root@cowboy:~ # kldstat Id Refs Address Size Name 1 62 0xffffffff80200000 1f30470 kernel 2 1 0xffffffff82131000 5b93a8 zfs.ko 3 1 0xffffffff826eb000 a158 cryptodev.ko 4 1 0xffffffff826f7000 3bf0 mfip.ko 5 3 0xffffffff826fb000 8cc90 vboxdrv.ko 6 2 0xffffffff82b21000 4240 vboxnetflt.ko 7 2 0xffffffff82b26000 aac8 netgraph.ko 8 1 0xffffffff82b31000 31c8 ng_ether.ko 9 1 0xffffffff82b35000 55e0 vboxnetadp.ko 10 1 0xffffffff82b3b000 3250 ichsmb.ko 11 1 0xffffffff82b3f000 2180 smbus.ko 12 1 0xffffffff82b42000 8d38 ioat.ko 13 1 0xffffffff82b4b000 2340 uhid.ko 14 1 0xffffffff82b4e000 3380 usbhid.ko 15 1 0xffffffff82b52000 31f8 hidbus.ko 16 1 0xffffffff82b56000 3320 wmt.ko 17 1 0xffffffff82b5a000 4350 ums.ko 18 1 0xffffffff82b5f000 2a08 mac_ntpd.ko root@cowboy:~ # cat /etc/fstab # Device Mountpoint FStype Options Dump Pass# /dev/ada0p2 none swap sw 0 0 root@cowboy:~ # swapinfo -h Device Size Used Avail Capacity /dev/ada0p2 2.0G 108M 1.9G 5% ======================================= /boot/loader.conf --------------------------------------- geom_mirror_load="YES" --------------------------------------- root@cowboy:~ # swapoff -a root@cowboy:~ # kldload geom_mirror root@cowboy:~ # kldstat Id Refs Address Size Name 1 62 0xffffffff80200000 1f30470 kernel 2 1 0xffffffff82131000 5b93a8 zfs.ko 3 1 0xffffffff826eb000 a158 cryptodev.ko 4 1 0xffffffff826f7000 3bf0 mfip.ko 5 3 0xffffffff826fb000 8cc90 vboxdrv.ko 6 2 0xffffffff82b21000 4240 vboxnetflt.ko 7 2 0xffffffff82b26000 aac8 netgraph.ko 8 1 0xffffffff82b31000 31c8 ng_ether.ko 9 1 0xffffffff82b35000 55e0 vboxnetadp.ko 10 1 0xffffffff82b3b000 3250 ichsmb.ko 11 1 0xffffffff82b3f000 2180 smbus.ko 12 1 0xffffffff82b42000 8d38 ioat.ko 13 1 0xffffffff82b4b000 2340 uhid.ko 14 1 0xffffffff82b4e000 3380 usbhid.ko 15 1 0xffffffff82b52000 31f8 hidbus.ko 16 1 0xffffffff82b56000 3320 wmt.ko 17 1 0xffffffff82b5a000 4350 ums.ko 18 1 0xffffffff82b5f000 2a08 mac_ntpd.ko 19 1 0xffffffff82d33000 fef0 geom_mirror.ko root@cowboy:~ # gmirror label -v -b prefer -F swap /dev/ada0p2 /dev/ada1p2 Metadata value stored on /dev/ada0p2. Metadata value stored on /dev/ada1p2. Done. root@cowboy:~ # gmirror status Name Status Components mirror/swap COMPLETE ada0p2 (ACTIVE) ada1p2 (ACTIVE) root@cowboy:~ # gmirror list Geom name: swap State: COMPLETE Components: 2 Balance: prefer Slice: 4096 Flags: NOFAILSYNC GenID: 0 SyncID: 1 ID: 3675372972 Type: AUTOMATIC Providers: 1. Name: mirror/swap Mediasize: 2147483136 (2.0G) Sectorsize: 512 Mode: r1w1e0 Consumers: 1. Name: ada0p2 Mediasize: 2147483648 (2.0G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 1048576 Mode: r1w1e1 State: ACTIVE Priority: 1 Flags: NONE GenID: 0 SyncID: 1 ID: 10085939 2. Name: ada1p2 Mediasize: 2147483648 (2.0G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 1048576 Mode: r1w1e1 State: ACTIVE Priority: 0 Flags: NONE GenID: 0 SyncID: 1 ID: 2915935476 root@cowboy:~ # swapon /dev/mirror/swap ======================================= /etc/fstab --------------------------------------- /dev/mirror/swap none swap sw 0 0 ======================================= done =======================================