User Tools

Site Tools


quickreference:zfs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
quickreference:zfs [2022/10/19 23:30] rodolicoquickreference:zfs [2024/02/03 23:04] (current) rodolico
Line 56: Line 56:
 # turn swap back on (could also use swapon /dev/zvol/storage/swap, but I'm lazy) # turn swap back on (could also use swapon /dev/zvol/storage/swap, but I'm lazy)
 swapon -aL swapon -aL
 +</code>
 +
 +===== Using a file for swap space =====
 +
 +Instead of using a swap partition or zvol, we can simply use a file. In this case, we can add swap space by deleting/recreating the swap file (after turning swap off), but a simpler way if you need more swap space is to simply add a second swap file.
 +
 +Following code creates an 8G swap file. Note that after reading https://www.cyberciti.biz/faq/create-a-freebsd-swap-file/, I modified my old way of doing this.
 +
 +<code bash>
 +# create an 8G swap file
 +dd if=/dev/zero of=/swap bs=1G count=8
 +# set permissions
 +chmod 0600 /swap
 +# look for an unused md device (ie, not listed)
 +mdconfig -lv 
 +cp /etc/fstab /etc/fstab.save
 +# edit /etc/fstab and add the following line, using the correct md##
 +joe /etc/fstab
 +md42 none swap sw,file=/swap 0 0
 +# save your file
 +# turn on swap
 +swapon -aq
 +# look at swap information
 +swapinfo -k
 </code> </code>
  
 ===== iSCSI considerations ===== ===== iSCSI considerations =====
 +
 +On FreeBSD, the iSCSI config is /etc/ctl.conf, and the service is ctld <code bash>service ctld reload # reread iscsi exports on FreeBSD</code>
  
 iSCSI generally uses volumes which are then exported by the target. I have found that it is useful, from a management perspective, to place them under a dataset strictly for them, since I back up iSCSI volumes on a different timeline than I do other stuff. iSCSI generally uses volumes which are then exported by the target. I have found that it is useful, from a management perspective, to place them under a dataset strictly for them, since I back up iSCSI volumes on a different timeline than I do other stuff.
Line 68: Line 94:
 <code bash> <code bash>
 zfs create storage/iscsi zfs create storage/iscsi
-zfs -V 10G storage/iscsi/server1.disk0 +zfs create -V 10G storage/iscsi/server1.disk0 
-zfs -V 10G storage/iscsi/server1.disk1+zfs create -V 10G storage/iscsi/server1.disk1
 </code> </code>
  
Line 85: Line 111:
     - detach from iSCSI initiator (not sure if this is required)     - detach from iSCSI initiator (not sure if this is required)
   - On iSCSI target   - On iSCSI target
-    - edit config +    - Rename the volume <code bash> zfs rename storage/volumename storage/iscsi/volumename</code> 
-    - <code zfs rename storage/volumename storage/iscsi/volumename +    - Edit the config to point to new location (**/etc/ctl.conf** on FreeBSD) 
-    - reload iscsi service+    - reload iscsi service <code bash>service ctld reload # on FreeBSD</code>
   - On initiator   - On initiator
     - rescan target     - rescan target
     - allow access to volume     - allow access to volume
  
-I have **NOT** done this yet. This is based on some research I have done, and a little testing, so use at your own risk.+
  
 ===== Getting and setting properties ===== ===== Getting and setting properties =====
Line 118: Line 144:
  
 You can find the name of the cache file (if configured) with <code bash>zpool get cachefile poolname</code> You can find the name of the cache file (if configured) with <code bash>zpool get cachefile poolname</code>
 +
 +Dedup requires 320 bytes per block of memory, so you can take the output of the above command, multiply by 320, and see the amount of RAM which will be required to run dedup. NOTE: This can grow as more unique blocks are allocated.
  
  
Line 137: Line 165:
 </code> </code>
 ===== Useful commands ===== ===== Useful commands =====
-List all snapshots in a particular tree. gives USED (space used by snapshot) and REFER (data referred to in original set) 
-<code bash> 
-zfs list -r -t snapshot /storage/varlog 
-</code> 
  
-Remove an existing snapshot (use above command to find the correct name) +  * Create a snapshot of **path/to/base** named **snapshotname**<code bash>zfs snapshot path/to/base@snapshotname</code> 
-<code bash> +  * List all snapshots in a particular tree. gives USED (space used by snapshot) and REFER (data referred to in original set)<code bash>zfs list -r -t snapshot /storage/varlog</code> 
-zfs destroy -r tank/storage/varlog/@20181026_054020 +  * Remove an existing snapshot (use above command to find the correct name)<code bash>zfs destroy -r tank/storage/varlog/@20181026_054020</code> 
-</code> +  Get a nice list of stats on every dataset in a tree (does the whole tree). Gives AVAIL, ie amount of space available, USED, USEDSNAP (space used by snapshots), USEDDS (space used by the dataset exclusive of snapshots, ie actual data), USEDREFRESERV (whatever that is) and USEDCHILD (used by children of the dataset).<code bash>zfs list -o space -r storage/varlog</code>
- +
- +
-Get a nice list of stats on every dataset in a tree (does the whole tree). Gives AVAIL, ie amount of space available, USED, USEDSNAP (space used by snapshots), USEDDS (space used by the dataset exclusive of snapshots, ie actual data), USEDREFRESERV (whatever that is) and USEDCHILD (used by children of the dataset). +
-<code bash> +
-zfs list -o space -r storage/varlog +
-</code>+
  
  
Line 161: Line 179:
    * https://www.cyberciti.biz/faq/freebsd-hard-disk-information/    * https://www.cyberciti.biz/faq/freebsd-hard-disk-information/
    * https://www.thegeekdiary.com/how-to-find-the-space-consumed-by-zfs-snapshots/    * https://www.thegeekdiary.com/how-to-find-the-space-consumed-by-zfs-snapshots/
 +   * https://docs.oracle.com/cd/E23824_01/html/E24456/filesystem-6.html
 +   * https://wordpress.morningside.edu/meyersh/2009/11/30/zfs-deduplication/
 +   * https://linuxhint.com/zfs-deduplication/
 +   * https://www.cyberciti.biz/faq/create-a-freebsd-swap-file/
  
  
quickreference/zfs.1666240202.txt.gz · Last modified: 2022/10/19 23:30 by rodolico