A hands-on, self-hosted lab and course for building real Linux, networking, and data center operations skills — the practical foundation behind data center technician, NOC, systems administration, and infrastructure roles.
Spin up a disposable Debian virtual machine with spare disks and a full operations toolset, then work through a structured course: storage and RAID, LVM, systemd and services, networking, troubleshooting, monitoring, security, and automation, finishing with a capstone incident-response shift.
Everything runs on free, open-source tooling (KVM/libvirt) and on hardware you may already own. It is designed so you can break things safely and rebuild them, which is how operations skills actually stick.
Data center and infrastructure work is hands-on. Reading about RAID rebuilds, failed services, or a host that cannot reach the network does not build the reflexes that the job (and the interview) demands. This lab gives you a safe, reproducible place to get those reps and to document them like a professional.
- A reproducible lab VM (Debian, via KVM/libvirt) with three blank spare disks for storage labs and a full ops toolset preinstalled.
- A structured course in
labs/— thirteen modules from Linux fundamentals to a capstone incident shift, plus a hardware-inspection module. - A homelab hardware guide in
hardware/— cheap, useful gear for building out a real home lab. - Provisioning scripts in
provisioning/so the whole environment is one command to build and one command to connect.
On a Linux host with virtualization support (Intel VT-x / AMD-V):
# 1. Install the KVM stack (Debian/Ubuntu)
sudo apt update && sudo apt install -y \
qemu-kvm libvirt-daemon-system libvirt-clients virtinst libguestfs-tools sshpass
# 2. Build the lab VM (Debian + spare disks + ops toolset)
./provisioning/build-lab-vm.sh
# 3. Connect to it
./provisioning/lab-connect.sh
# 4. Start the course
# open labs/00-getting-started.md and work forwardFirst build notes: the first run downloads the Debian 12 template via
virt-builder (~300 MB, cached under ~/.cache/virt-builder, or /root/.cache/virt-builder
since the build runs under sudo — later builds reuse the cache). Total
footprint is a ~40 GB sparse OS disk plus three 2 GB sparse spare disks, so
actual used space starts well under that. Tested on an Ubuntu 24.04 host
with libvirt/virt-builder from distro packages (see hardware/README.md §1
for the reference host).
Default login inside the VM is user labuser / password changeme with passwordless sudo. Change it on first login (passwd).
| # | Module | Skills |
|---|---|---|
| 00 | Getting Started | Environment, conventions, safety, snapshots |
| 01 | Linux Fundamentals | Filesystem, users, permissions, processes, packages |
| 02 | Storage: Disks, Partitions, Filesystems | parted, gdisk, mkfs, mount, fstab |
| 03 | RAID with mdadm | Build, degrade, rebuild, monitor arrays |
| 04 | LVM | PV/VG/LV, resize, snapshots |
| 05 | systemd and Services | Units, journald, service troubleshooting |
| 06 | Networking Fundamentals | IP, routing, DNS, DHCP, firewall, ss, tcpdump |
| 07 | Troubleshooting and Break-Fix | A repeatable methodology and drills |
| 08 | Monitoring and Observability | Resource analysis, logs, health checks |
| 09 | Security Basics | SSH hardening, users, sudo, updates |
| 10 | Automation and Scripting | Bash, cron, idempotent provisioning |
| 11 | Capstone: Run the Floor | A timed, multi-system incident shift |
| 12 | Hardware & Health Inspection | dmidecode, smartctl, kernel error triage, OOB management |
- OS: Debian 12 (a clean, widely deployed server distribution; the same family used as the base of many production Linux fleets).
- Disks: a 40 GB OS disk (
/dev/vda) plus three blank spare disks (/dev/vdb,/dev/vdc,/dev/vdd) for storage, RAID, and LVM labs. - Toolset: mdadm, lvm2, parted, gdisk, smartmontools, xfsprogs, net-tools, iproute2, dnsutils, tcpdump, nmap, sysstat, ncdu, nginx, rsync, jq, vim, tmux, htop, git, and more.
- Access: SSH and serial console.
- Reset anytime: snapshot before a risky lab and roll back instantly (see Lab 00).
linux-datacenter-lab/
├── README.md
├── LICENSE
├── labs/ # the course, one module per file
├── provisioning/ # build + connect scripts
└── hardware/ # homelab hardware guide
Anyone preparing for data center technician, NOC, junior sysadmin, or infrastructure roles — or any engineer who wants Linux and networking skills that hold up under real conditions. No prior homelab required; a single Linux host is enough to start.
Issues and pull requests are welcome: new labs, fixes, clearer explanations, and additional hardware notes. Before opening a PR, run ./scripts/check.sh locally — it mirrors CI (script syntax, shellcheck, and internal markdown links).
MIT — use it, fork it, teach with it.