2026-04-24 12:59:06 +00:00
2026-04-24 12:59:06 +00:00
2026-04-24 12:58:14 +00:00
2026-04-23 08:18:02 +00:00
2026-04-24 12:58:14 +00:00

Proxmox 9 & Linstor HCI Provisioning Pipeline

Declarative Infrastructure as Code pipeline for bootstrapping bare-metal servers into production-ready Proxmox VE 9 (Debian Trixie) nodes — either as a 3-node HA cluster with a hyperconverged Linstor/DRBD storage stack, or as independent standalone nodes provisioned in parallel.

No local Ansible installation required. The repository ships with a VS Code DevContainer that pins all dependencies.

Index

  1. Prerequisites & Node Preparation
  2. Configuring the Inventory
  3. Running the Playbooks
  4. Architecture & Phase Breakdown
  5. Linstor & Storage Deep Dive
  6. Troubleshooting & FAQ

Repository Layout

ansible/
├── deploy.yml                  # Main playbook — full cluster provisioning
├── network.yml                 # Optional — configure p2p private bridge
├── ansible.cfg                 # Tuned defaults (pipelining, forks, remote_user)
├── inventories/
│   ├── _template/              # Copy this for each new customer/project
│   │   ├── hosts.ini
│   │   └── group_vars/all.yml
│   └── <customer>/             # One inventory per cluster
├── roles/
│   ├── p2p_network/            # Configures full-mesh p2p bridge
│   ├── linstor_repo/           # Adds LINBIT APT repository
│   ├── linstor_install/        # Installs DRBD, Linstor packages
│   ├── linstor_cluster/        # Registers nodes, configures /etc/hosts
│   ├── linstor_ha/             # HA controller via drbd-reactor
│   ├── linstor_storage/        # LVM thin pools, storage pool registration
│   └── proxmox_storage/        # Registers Linstor as Proxmox storage backend
└── docs/

Quick Start

# 1. Open repo in VS Code DevContainer
# 2. Copy and configure an inventory
cp -r ansible/inventories/_template ansible/inventories/<customer>

# 3. (Optional) Configure p2p private network bridge
ansible-playbook ansible/network.yml -i ansible/inventories/<customer>/hosts.ini

# 4. Deploy
ansible-playbook ansible/deploy.yml -i ansible/inventories/<customer>/hosts.ini
Description
No description provided
Readme 76 KiB
Languages
Jinja 100%