# ZFS ###### tags: `NTUToolmenLab` ## Intro [raid](https://zh.wikipedia.org/zh-tw/RAID) [raid z](https://en.wikipedia.org/wiki/ZFS#ZFS'_approach:_RAID-Z_and_mirroring) 中文介紹 https://www.freebsd.org/doc/zh_TW/books/handbook/zfs.html ## setup ubuntu https://tutorials.ubuntu.com/tutorial/setup-zfs-storage-pool#0 ``` sudo apt install zfsutils-linux ``` debian https://unix.stackexchange.com/questions/383566/install-zfs-on-debian-9-stretch ``` sudo sed -i 's/main/main contrib non-free/g' /etc/apt/sources.list sudo apt update sudo apt -y install zfs-dkms ``` ## create ``` fdisk -l zpool create example /dev/sde zpool add example /dev/sdf zpool destroy example ``` ZFS can also use part of disk, you can use fdisk cut it first. ``` zpool add example /dev/sda3 ``` ## set volume ``` zfs create backup/tmp zfs set quota=2G backup/tmp zfs create -o quota=2G backup/tmp1 zfs get quota ``` ## create raidz1 ``` zpool create example raidz1 /dev/sdc /dev/sdd ``` Doesn't support adding disk to raids pool yet https://www.reddit.com/r/freenas/comments/a1dt4s/adding_disk_to_raidz_pool/ Note: raid level meaning http://www.zfsbuild.com/2010/05/26/zfs-raid-levels/ ## mount ``` zfs set mountpoint=/backup example zfs mount example zfs umount /example ``` ## snapshot ``` zfs snapshot example@123 zfs list -t snapshot zfs rollback examle@123 ``` ## some command ``` zpool list zfs list zpool status zfs status df -h ``` ## Build system on zfs https://github.com/zfsonlinux/zfs/wiki/Ubuntu-18.04-Root-on-ZFS https://github.com/zfsonlinux/pkg-zfs/wiki/HOWTO-install-Ubuntu-18.04-to-a-Whole-Disk-Native-ZFS-Root-Filesystem-using-Ubiquity-GUI-installer ## Zfs use lot of memory ``` options zfs zfs_arc_max=4294967296 > /etc/modprobe.d/zfs.conf sudo update-initramfs -u sudo reboot ````