Skip to content

Infrastructure & Virtualization Reference

Reference notes for virtualization, shared storage, multi-user compute scheduling, and shared-home identity patterns. Documentation only — nothing in this folder is installed by chezmoi. This is the "once you outgrow your laptop" knowledge base.

What this folder is (and isn't)

Scope In this folder? Installed by chezmoi?
Bare-metal hypervisor OS (Proxmox / ESXi / XCP-ng) Yes (reference) No — these are host OSes, not apps
Desktop VM managers (OrbStack, UTM, VirtualBox, Fusion) Yes (reference) OrbStack only, via dot_ansible/roles/docker/tasks/main.yml
Cluster shared storage (CephFS, BeeGFS, Lustre, NFS) Yes (reference) No — multi-node cluster concern
Multi-user compute scheduling (SLURM, K8s, Nomad) Yes (reference) No — cluster-ops concern
Identity + shared home (FreeIPA, LDAP, SSSD) Yes (reference) No — org-specific
Per-user dev-laptop tools (editors, CLIs, dotfiles) No — see docs/tools/ Yes — main purpose of this repo

If you're looking for "how do I run a VM on my MacBook?" — the answer is OrbStack (already installed), see virtualization.md. If you're asking "how do we spin up a team-wide compute cluster?" — this folder sketches the landscape, but the actual build is a separate ops project.

Decision tree

flowchart TD
    startNode["I need compute or storage somewhere"] --> q1{Scale}
    q1 -->|One VM on my laptop| laptop["virtualization.md#desktop-vm-managers"]
    q1 -->|A few servers / home lab| hypervisor["virtualization.md#type-1-bare-metal-hypervisors"]
    q1 -->|Multi-user cluster| cluster{What problem?}
    cluster -->|Shared files across nodes| storage["shared-storage.md"]
    cluster -->|Scheduling jobs to nodes| sched["compute-scheduling.md"]
    cluster -->|Single login + same UID everywhere| identity["shared-home-identity.md"]

Contents

Doc What it covers
rhel-ecosystem.md RHEL / CentOS family tree, EOL timeline, migration paths from CentOS 7 (→ AlmaLinux / Rocky / RHEL), AlmaLinux vs Rocky comparison.
debian-ecosystem.md Debian / Ubuntu / Raspberry Pi OS family tree, release cadences, Ubuntu LTS vs interim, Raspberry Pi OS flavours, Debian vs RHEL comparison.
virtualization.md Desktop VM managers (OrbStack, UTM, VirtualBox, Fusion, Lima, libvirt), type-1 hypervisors (Proxmox VE, ESXi, XCP-ng, Harvester, Nutanix), K8s-native VMs (KubeVirt). Includes the explicit OrbStack-vs-Proxmox comparison.
shared-storage.md CephFS, BeeGFS, Lustre, GlusterFS, MooseFS / SeaweedFS / JuiceFS, NFSv4, Samba. Decision matrix by workload + client mount recipes.
compute-scheduling.md SLURM, Kubernetes + Kueue/Volcano, Nomad, HTCondor, OpenPBS, YARN, Mesos, Ray/Dask, OpenStack Nova, Proxmox HA. Covers multi-user CPU/GPU/VM allocation.
shared-home-identity.md FreeIPA, 389ds, OpenLDAP, Samba AD, SSSD, autofs home mounts, UID/GID conventions. The "everyone's $HOME lives on the NAS" pattern.

How these pieces compose

A typical multi-user Linux compute cluster stacks roughly like this:

flowchart TB
    subgraph compute["Compute layer"]
        scheduler["Scheduler (SLURM / K8s / Nomad)"]
        nodes["Worker nodes"]
        scheduler --> nodes
    end
    subgraph storage["Storage layer"]
        cephbeegfs["Shared FS (CephFS / BeeGFS / NFS)"]
    end
    subgraph identity["Identity layer"]
        ipa["FreeIPA / LDAP + Kerberos"]
        sssd["SSSD on every node"]
    end
    subgraph virt["Virtualization layer (optional)"]
        hyp["Proxmox / ESXi / KVM"]
        vms["VMs hosting worker nodes"]
        hyp --> vms
    end
    vms -.-> nodes
    nodes -->|mount /home, /scratch| cephbeegfs
    nodes -->|auth| sssd
    sssd -->|LDAP/KRB| ipa

Pick layers independently based on your scale:

  • Single-user laptop: only the "Compute layer" (your laptop directly, maybe with OrbStack for throwaway VMs)
  • Small team (5-20): add NFS + FreeIPA. Scheduler optional.
  • HPC / ML research lab (50+): add Proxmox or bare-metal + BeeGFS/Lustre + SLURM + FreeIPA
  • Modern cloud-native: replace SLURM with Kubernetes, replace NFS with CephFS + CSI, keep FreeIPA for SSH/sudo identity