Skip to content

Latest commit

 

History

History
108 lines (81 loc) · 2.43 KB

README.md

File metadata and controls

108 lines (81 loc) · 2.43 KB

HomeLab Cluster

1. Install Ubuntu Server

2. Setup ZFS

  1. lsblk to find all disks
  2. zpool create <name> raidz sd<>... cache /dev/sd<> log /dev/sd<>

Create Dataset

zfs create tank/appdata
zfs set mountpoint=/appdata tank/appdata

3. Setup GPU

#install common drivers
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt-get install ubuntu-drivers-common
sudo ubuntu-drivers autoinstall

4. Setup Interfaces

  • ubuntu 18+ uses netplan to configure network interface. Using netplan is straight forward. create a yaml describing your network interfaces and then run netplan apply
  • gimli configuration: /etc/netplan/50-cloud-init.yaml

netplan apply

Setup Unattended Updates

sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# Enter yes

Speed up Start up

For ubuntu the system waits for every interface defined to start up which can slow things down For every interface that isn't needed add the optional flag example:

network:
  ethernets:
    enp1s0f0:
      dhcp4: true
    enp1s0f1:
      dhcp4: true
      optional: true

Also good to lower timeout on shutdown

Setup space for ceph

zfs create tank/zblock0 -V 10tb

Configure nfs default mount settings

  1. Set up nfs with ceph follow instructions here: https://docs.ceph.com/en/latest/cephfs/fs-nfs-exports/#create-cephfs-export

  2. All nodes need to be configured to use nfs 4.1 create file: /etc/nfsmount.conf inside add:

[ NFSMount_Global_Options ]
Defaultvers=4.1
  1. NFS has to be configured to convert ids to numbers this can be done by creating a file with contents of: vi nfs.config
NFSV4 {
    Allow_Numeric_Owners = true;
    Only_Numeric_Owners = true;
}

and then applying that file with:

https://docs.ceph.com/en/octopus/cephfs/fs-nfs-exports/#set-customized-nfs-ganesha-configuration

ceph nfs cluster config set nfs-cluster -i nfs.config

Create Export

ceph nfs export create cephfs cephfs nfs-cluster /cephfs

Debugging Configuration

nfs puts config in rados in it's own pull here are some common commands

rados -p nfs-ganesha ls --all rados -p nfs-ganesha get -n nfs-cluster <objectname> <filetooutputto> --all

Update Placement

ceph nfs cluster update <clusterid> <placementnumber>

so ceph nfs cluster update nfs-cluster "3 gimli,helium,lithium"

rke setup