home | airgap | charisma | verve | trail | commitment | discernment | lore
For more info see 'companion'.
Device | Drive | Model | Commissioned | Sequential | Random | WRL | Temp °C | Data Sheet |
---|---|---|---|---|---|---|---|---|
nvme0n1 | WD Black 500GB NVMe SSD | WDS500G2X0C-00L350 | 2019-03-11 | 1,469 MB/s | 84 MB/s | 300 TBW | 0°C to 70°C | download |
sd[abcd] | WD Ultrastar 4TB * | HGST HUS726T4TALA6L4 | 2019-03-11 | 140 MB/s | 2 MB/s | 550TB/yr | 5°C to 60°C | download |
sd[efgh] | WD Blue SA510 1TB M.2 SATA SSD | WDS100T3B0B | TBA | 369 MB/s | 41 MB/s | 400 TBW | 0°C to 70°C | download |
When creating these don't mirror disks on the same disk controller.
Mount | Capacity | File-system |
---|---|---|
/boot | 2GB | ext4 |
/ | 100GB | btrfs |
Pool | RAID | Capacity | Compression | Dedup |
---|---|---|---|---|
best | RAID0 | 400GB | lz4 | on |
fast | RAID10 | 2TB | lz4 | on |
data | RAIDZ | 12TB | zstd | on |
These are the datasets we create on our zpools.
Dataset | Mount | Compression | Dedup |
---|---|---|---|
fast | /fast | lz4 | on |
fast/home | /home | lz4 | on |
fast/home/jj5 | /home/jj5 | lz4 | on |
fast/mysql | /var/lib/mysql | lz4 | off |
fast/vbox | /fast/vbox | lz4 | on |
fast/session | /var/log/session | zstd | off |
data | /data | zstd | on |
data/archive | /data/archive | zstd | on |
data/backup | /data/backup | zstd | on |
data/blob | /data/blob | zstd | on |
data/host | /data/host | zstd | on |
data/image | /data/image | zstd | on |
data/share | /data/share | zstd | on |
data/temp | /temp | zstd | on |
data/temp/extract | /temp/extract | zstd | on |
data/temp/rubbish | /temp/rubbish | zstd | on |
#!/bin/bash set -euo pipefail; BEST_DISK=/dev/disk/by-id/nvme-WDS500G2X0C-00L350_184634801586 DATA_DISK_1=/dev/disk/by-id/scsi-SATA_HGST_HUS726T4TAL_V6GGTPKS DATA_DISK_2=/dev/disk/by-id/scsi-SATA_HGST_HUS726T4TAL_V1JBN0GH DATA_DISK_3=/dev/disk/by-id/scsi-SATA_HGST_HUS726T4TAL_V6H42DES DATA_DISK_4=/dev/disk/by-id/scsi-SATA_HGST_HUS726T4TAL_V6GGRKVS DATA_CACHE="${BEST_DISK}-part5" apt install zfsutils-linux zpool create \ -o autotrim=on \ -O acltype=posixacl -O compression=lz4 \ -O dnodesize=auto -O normalization=formD -O atime=off -O dedup=on \ -O xattr=sa \ best "${BEST_DISK}-part6" zpool create -f \ -O acltype=posixacl -O compression=zstd \ -O dnodesize=auto -O normalization=formD -O atime=off -O dedup=on \ -O xattr=sa \ data raidz ${DATA_DISK_1} ${DATA_DISK_2} ${DATA_DISK_3} ${DATA_DISK_4} zpool add data cache ${DATA_CACHE} zfs create best/fast zfs set mountpoint=/fast best/fast zfs create best/home zfs create best/home/jj5 zfs create best/mysql zfs set dedup=off best/mysql zfs set mountpoint=/var/lib/mysql best/mysql zfs create best/session zfs set dedup=off best/session zfs set compression=zstd best/session zfs set mountpoint=/var/log/session best/session chmod 1777 /var/log/session zfs create data/archive zfs create data/backup zfs create data/blob zfs create data/host zfs create data/image zfs create data/restore zfs create data/share zfs create data/temp zfs set mountpoint=/temp data/temp zfs create data/temp/extract zfs create data/temp/rubbish # 2023-01-21 jj5 - can move this from 'best' to 'fast' when we have those drives... mv /home /home.bak zfs set mountpoint=/home best/home shopt -s dotglob; chown jj5:jj5 /home/jj5 mv /home.bak/jj5/* /home/jj5/ rmdir /home.bak/jj5 rmdir /home.bakTODO: 'fast' setup
#!/bin/bash set -euo pipefail; BEST_DISK=/dev/disk/by-id/nvme-WDS500G2X0C-00L350_184634801586 # 2023-01-21 jj5 - NOTE: we don't have these drives yet... FAST_DISK_1=/dev/disk/by-id/TBA FAST_DISK_2=/dev/disk/by-id/TBA FAST_DISK_3=/dev/disk/by-id/TBA FAST_DISK_4=/dev/disk/by-id/TBA FAST_CACHE="${BEST_DISK}-part4" zpool create \ -o autotrim=on \ -O acltype=posixacl -O compression=lz4 \ -O dnodesize=auto -O normalization=formD -O atime=off -O dedup=on \ -O xattr=sa \ fast mirror ${FAST_DISK_1} ${FAST_DISK_3} mirror ${FAST_DISK_2} ${FAST_DISK_4} zpool add fast cache ${FAST_CACHE} zfs set mountpoint=/best/fast best/fast zfs create fast/home zfs create fast/home/jj5 zfs set mountpoint=/home.bak best/home zfs set mountpoint=/home fast/home mv /home.bak/jj5 /home/ zfs create fast/vbox zfs create fast/mysql zfs set dedup=off fast/mysql service mysql stop shopt -s dotglob; zfs set mountpoint=/best/mysql best/mysql zfs set mountpoint=/var/lib/mysql fast/mysql mv /best/mysql/* /var/lib/mysql/ service mysql start zfs set mountpoint=/best/session best/session zfs create fast/session zfs set dedup=off fast/session zfs set compression=zstd fast/session zfs set mountpoint=/var/log/session fast/session chmod 1777 /var/log/session mv /best/session/* /var/log/session/ # 2023-01-21 jj5 - TODO: destroy unneeded 'best' file systems... #zfs destroy best/mysql #zfs destroy best/session