# Create 4K gnop(8) devices for the first disk of each of the three vdevs $ sudo gnop create -S 4096 /dev/label/disk1 /dev/label/disk5 /dev/label/disk8 # Create the backup pool using three RAID-Z1 vdevs $ sudo zpool create backup raidz /dev/label/disk1.nop /dev/label/disk2 /dev/label/disk3 /dev/label/disk4 $ sudo zpool add backup raidz /dev/label/disk5.nop /dev/label/disk6 /dev/label/disk7 /dev/label/disk12 $ sudo zpool add backup raidz /dev/label/disk8.nop /dev/label/disk9 /dev/label/disk10 /dev/label/disk11 $ zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT backup 21.8T 1.29M 21.7T 0% 1.00x ONLINE - $ zpool status pool: backup state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM backup ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 label/disk1.nop ONLINE 0 0 0 label/disk2.nop ONLINE 0 0 0 label/disk3.nop ONLINE 0 0 0 label/disk4.nop ONLINE 0 0 0 raidz1-1 ONLINE 0 0 0 label/disk5.nop ONLINE 0 0 0 label/disk6.nop ONLINE 0 0 0 label/disk7.nop ONLINE 0 0 0 label/disk12.nop ONLINE 0 0 0 raidz1-2 ONLINE 0 0 0 label/disk8.nop ONLINE 0 0 0 label/disk9.nop ONLINE 0 0 0 label/disk10.nop ONLINE 0 0 0 label/disk11.nop ONLINE 0 0 0 errors: No known data errors # Check that the vdevs are 4K-aligned (ashift = 12) $ zdb | grep ashift ashift: 12 ashift: 12 ashift: 12 # Export the pool $ sudo zpool export backup # Destroy the gnop(8) devices $ sudo gnop destroy /dev/label/disk1.nop /dev/label/disk5.nop /dev/label/disk8.nop # Import the pool $ sudo zpool import backup $ zpool status pool: backup state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM backup ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 label/disk1 ONLINE 0 0 0 label/disk2 ONLINE 0 0 0 label/disk3 ONLINE 0 0 0 label/disk4 ONLINE 0 0 0 raidz1-1 ONLINE 0 0 0 label/disk5 ONLINE 0 0 0 label/disk6 ONLINE 0 0 0 label/disk7 ONLINE 0 0 0 label/disk12 ONLINE 0 0 0 raidz1-2 ONLINE 0 0 0 label/disk8 ONLINE 0 0 0 label/disk9 ONLINE 0 0 0 label/disk10 ONLINE 0 0 0 label/disk11 ONLINE 0 0 0 errors: No known data errors # Add a hot spare $ sudo zpool add backup spare /dev/label/disk13 $ zpool status pool: backup state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM backup ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 label/disk1 ONLINE 0 0 0 label/disk2 ONLINE 0 0 0 label/disk3 ONLINE 0 0 0 label/disk4 ONLINE 0 0 0 raidz1-1 ONLINE 0 0 0 label/disk5 ONLINE 0 0 0 label/disk6 ONLINE 0 0 0 label/disk7 ONLINE 0 0 0 label/disk12 ONLINE 0 0 0 raidz1-2 ONLINE 0 0 0 label/disk8 ONLINE 0 0 0 label/disk9 ONLINE 0 0 0 label/disk10 ONLINE 0 0 0 label/disk11 ONLINE 0 0 0 spares label/disk13 AVAIL errors: No known data errors # Enable lz4 compression $ sudo zfs set compression=lz4 backup # Create media and scratch filesets $ sudo zfs create backup/media $ sudo zfs create backup/scratch # Check that compression is enabled $ zfs get compression NAME PROPERTY VALUE SOURCE backup compression lz4 local backup/media compression lz4 inherited from backup backup/scratch compression lz4 inherited from backup # Set 500M quota for backup/scratch $ sudo zfs set quota=500M backup/scratch # Check that the quota was set $ zfs get quota backup/scratch NAME PROPERTY VALUE SOURCE backup/scratch quota 500M local