Skip to content

Instantly share code, notes, and snippets.

@ilude
Last active June 18, 2019 17:36
Show Gist options
  • Select an option

  • Save ilude/d9cf9ab3d2956b95627f70c6f6f5d55e to your computer and use it in GitHub Desktop.

Select an option

Save ilude/d9cf9ab3d2956b95627f70c6f6f5d55e to your computer and use it in GitHub Desktop.
ZFS Notes
sudo zfs create -V 64G -b $(getconf PAGESIZE) -o compression=zle \
-o logbias=throughput -o sync=always \
-o primarycache=metadata -o secondarycache=none \
-o com.sun:auto-snapshot=false pool/swap
sudo mkswap -f /dev/zvol/pool/swap
sudo bash -c "echo /dev/zvol/pool/swap none swap defaults 0 0 >> /etc/fstab"
sudo swapon -av
# create zvol device (don't use the whole space on the poool, leave space for zfs to do its work)
sudo zfs create -V 500G vol0/docker
# create xfs filesystem on the zvol
sudo mkfs.xfs -f /dev/zvol/vol0/docker
fdisk /dev/sdi
n # create new partiion
t 31 # set LVM partion type
# this needs work
(
echo o # Create a new empty DOS partition table
echo n # Add a new partition
echo p # Primary partition
echo 1 # Partition number
echo # First sector (Accept default: 1)
echo # Last sector (Accept default: varies)
echo w # Write changes
) | sudo fdisk
sudo pvcreate -ff /dev/sdi1
sudo pvcreate -ff /dev/sdj1
sudo pvcreate -ff /dev/sdk1
# create volume group
sudo vgcreate volgrp0 /dev/sdi1 /dev/sdj1 /dev/sdk1
# create logical volume
sudo lvcreate --type striped -i 3 -l 100%FREE -n docker volgrp0
# make ext4 filesystem
sudo mkfs.ext4 /dev/volgrp0/docker
sudo mount /dev/volgrp0/docker /var/lib/docker
df # get /dev/mapper/volgrp0-docker path
echo "/dev/mapper/volgrp0-docker /var/lib/docker ext4 defaults 0 0" >> /etc/fstab
sudo update-initramfs -u
DATE=$(date +%Y-%m-%d:%H:%M)
sudo zfs snapshot pool@$DATE
sudo zfs snapshot pool/apps@$DATE
sudo zfs snapshot pool/plex@$DATE
sudo zfs send pool@$DATE | sudo zfs recv -F removable
sudo zfs send pool/apps@$DATE | sudo zfs recv -F removable/apps
sudo zfs send pool/plex@$DATE | sudo zfs recv -F removable/plex
# install
sudo apt install zfsutils-linux -y
# scrub all pools
sudo zpool list -H -o name | xargs -n1 sudo zpool scrub
# remove all snapshots
sudo zfs list -H -o name -t snapshot | xargs -n1 sudo zfs destroy
# list physical disk devices on ubuntu
lsblk
# create a striped zpool
sudo zpool create -f vol0 /dev/sdj /dev/sdk /dev/sdl
# destroy a zpool
sudo zpool create vol0
# list zpools with mountpoints
zfs list
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment