Add notes on zfs and moving /var/log for advanced and storage focused users
This commit is contained in:
parent
aee0076840
commit
4bb18645e5
|
@ -0,0 +1,26 @@
|
||||||
|
# Move ```/var/log```
|
||||||
|
|
||||||
|
You can disable logging to ram by setting `ENABLED=false´ in `/etc/default/armbian-ramlog´.
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
|
||||||
|
systemctl stop rsyslog.service
|
||||||
|
systemctl stop syslog.socket
|
||||||
|
lsof /var/log # (make sure it's empty)
|
||||||
|
systemctl stop log2ram
|
||||||
|
systemctl disable log2ram
|
||||||
|
systemctl stop armbian-ramlog.service
|
||||||
|
systemctl disable armbian-ramlog.service
|
||||||
|
systemctl stop armbian-zram-config.service
|
||||||
|
systemctl disable armbian-zram-config.service
|
||||||
|
nano -w /etc/default/armbian-ramlog
|
||||||
|
# Disable
|
||||||
|
nano -w /etc/default/armbian-zram-config
|
||||||
|
# Disable if *not* using swap in ram
|
||||||
|
|
||||||
|
mv /var/log /var/oldlog
|
||||||
|
mkdir /var/log
|
||||||
|
rsync -aPr /var/oldlog/ /var/log/
|
||||||
|
systemctl reboot
|
||||||
|
|
||||||
|
```
|
|
@ -0,0 +1,107 @@
|
||||||
|
# ZFS
|
||||||
|
|
||||||
|
How to setup zfs on 64 bit arm boards.
|
||||||
|
|
||||||
|
*Note: this is wholly untested and likely to be broken on 32 bit arm boards*
|
||||||
|
|
||||||
|
## Initial Install / Setup
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
|
||||||
|
apt-add-repository universe
|
||||||
|
apt install zfs-dkms spl-dkms zfsutils-linux
|
||||||
|
cat > /etc/modprobe.d/zfs.conf <<EOF
|
||||||
|
# Minimize RAM pain
|
||||||
|
#options zfs zfs_arc_max=268435456 zfs_arc_meta_limit=201326592
|
||||||
|
options zfs zfs_arc_max=134217728 zfs_arc_meta_limit=67108864
|
||||||
|
#options zfs zfs_arc_max=100663296 zfs_arc_meta_limit=50331648
|
||||||
|
EOF
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Disk Setup and Pool Creation
|
||||||
|
|
||||||
|
Partition the disk and setup the zfs pool with basic settings
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
|
||||||
|
parted /dev/disk/by-id/ata-Samsung_Portable_SSD_T5_S3UKNP0K601164R
|
||||||
|
mklabel gpt
|
||||||
|
mkpart
|
||||||
|
zpool create -o ashift=12 \
|
||||||
|
-O copies=2 \
|
||||||
|
-O atime=off -O compression=lz4 \
|
||||||
|
-O normalization=formD \
|
||||||
|
tank \
|
||||||
|
/dev/disk/by-id/usb-JMicron_Tech_0000000055A1-0\:0-part1
|
||||||
|
|
||||||
|
zpool status
|
||||||
|
|
||||||
|
cat /sys/module/zfs/parameters/zfs_arc_max
|
||||||
|
cat /sys/module/zfs/parameters/zfs_arc_meta_limit
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## zfs Backed Swap
|
||||||
|
|
||||||
|
Move swap from zram to zfs volumes on disk
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
|
||||||
|
zfs create tank/swap
|
||||||
|
zfs create -V 1G -b $(getconf PAGESIZE) -o compression=zle \
|
||||||
|
-o logbias=throughput -o sync=always \
|
||||||
|
-o primarycache=metadata -o secondarycache=none \
|
||||||
|
-o com.sun:auto-snapshot=false tank/swap/swap.1
|
||||||
|
zfs create -V 1G -b $(getconf PAGESIZE) -o compression=zle \
|
||||||
|
-o logbias=throughput -o sync=always \
|
||||||
|
-o primarycache=metadata -o secondarycache=none \
|
||||||
|
-o com.sun:auto-snapshot=false tank/swap/swap.2
|
||||||
|
|
||||||
|
mkswap -f /dev/zvol/tank/swap/swap.1
|
||||||
|
mkswap -f /dev/zvol/tank/swap/swap.2
|
||||||
|
echo /dev/zvol/tank/swap/swap.1 none swap defaults 0 0 >> /etc/fstab
|
||||||
|
echo /dev/zvol/tank/swap/swap.2 none swap defaults 0 0 >> /etc/fstab
|
||||||
|
swapon -af
|
||||||
|
|
||||||
|
nano -w /etc/fstab # Add above swap and remove exiting ones
|
||||||
|
|
||||||
|
nano -w /etc/default/armbian-zram-config
|
||||||
|
# Disabe if NOT using /var/log in RAM
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Regular scrubs and integrity checks
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
|
||||||
|
crontab -e
|
||||||
|
22 0 14 * * /sbin/zpool scrub tank
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Bulk storage and Samba filesystem shares
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
|
||||||
|
# Samba toolchain
|
||||||
|
apt install samba tdb-tools
|
||||||
|
|
||||||
|
# Samba user setup
|
||||||
|
useradd -g users -s /usr/sbin/nologin [username]
|
||||||
|
passwd [username]
|
||||||
|
smbpasswd -a [username]
|
||||||
|
|
||||||
|
nano -w /etc/samba/smb.conf
|
||||||
|
workgroup = non-default
|
||||||
|
comment out all share definitions
|
||||||
|
|
||||||
|
systemctl restart smbd
|
||||||
|
|
||||||
|
# Bulk storage for all the things
|
||||||
|
zfs create -o sharesmb=on tank/downloads
|
||||||
|
zfs create -o sharesmb=on tank/scratch
|
||||||
|
|
||||||
|
cat /var/lib/samba/usershares/*
|
||||||
|
|
||||||
|
```
|
Reference in New Issue