ZFS setup notes

Posted on Sun 05 March 2017 in posts

install archiso

# sudo pacman -S archiso
# sudo -i or su root

create dir to hold arch live
# mkdir -p ~/archlive
# cp -r /usr/share/archiso/configs/releng/* ~/archlive

edit pacman.conf to add achzfs vim ~/archlive/pacman.conf

[archzfs]
SigLevel = Optional TrustAll
Server = http://archzfs.com/$repo/x86_64

add archzfs-linux to ~/archlive/packages.x86_64

echo 'archzfs-linux' >> ~/archlive/packages.x86_64

build the image

cp -r archlive /tmp
cd /tmp/archlive/
mkdir out
./build.sh -v

use lsblk to find the usb device

dd bs=4M if=/tmp/archlive/out/archlinux-2017.03.05-dual.iso of=/dev/sdc
status=progress && sync

create an EFI partition on the usb using fdisk - create gpt partition table - create partition 512MB - set partition type as EFI (code 0 in fdisk)

create solaris root partition on other drives - create gpt partition table - create partition - change partition type to solaris root (47)

create zpool

zpool create -f -o ashift=12 vault mirror \
ata-st300d . . . . \
ata-st300d . . . . \
ata-st300d . . . . \
cache \
wwn-0x500 . . .\
wwn-0x500 . . . 

zpool status to check the status

systemctl enable zfs.target
systemctl enable zfs-import-cache.service

turn on compression
`zfs set compression=on vault`
`zfs set relatime=on vault`

create datasets ``` zfs create -o mountpoint=none vault/ROOT zfs create -o mountpoint=legacy vault/ROOT/default zfs create -o mountpoint=/home vault/home

create /tmp , /var and /usr dataset systemctl mask tmp.mount

unmount zfs zfs umount -a

zpool export vault
zpool import -d /dev/disk/by-id -R /mnt vault zfs umount /mnt/tmp zfs umount /mnt/home mount -t zfs vault/ROOT/default /mnt

mkdir /mnt/{boot,home,tmp,usr,var}

mount boot partition mount /dev/disk/by-partuuid/97aoydoiniiaei-ay-ai-y-i-a /mnt/boot

mount non-managed zfs mountpoints mount -t zfs vault/var /mnt/var mount -t zfs vault/usr /mnt/usr

mount ZFS managed mountpoints zfs mount vault/home zfs mount vault/tmp

set up mirrors

install the system pacstrap -i /mnt base base-devel

mkdir /mnt/etc/zfs cp /etc/zfs/zpool.cache /mnt/etc/zfs/zpool.cache

generate fstab and make sure /boot is mounted

edit mkinitcpio.conf and add hooks add archzfs to pacman.conf sign key

install zfs-linux pacman -S zfs-linux

go through normal install process


set up partition for boot drive update dotfiles for vimplut: