2.1 KiB
2.1 KiB
01 - Prerequisites & Node Preparation
Node Requirements
Before running any playbook, each target node must meet the following conditions:
- OS: Proxmox VE 9.x freshly installed (Debian Trixie base).
- Network: Static management IP assigned and reachable from the control node.
- SSH: Your public key deployed to
rooton each node. The DevContainer forwards your local SSH agent automatically — runssh-copy-id root@<ip>from inside the container if not already done. - Storage: If using raw block devices for Linstor (e.g.
/dev/sda), the device must either be clean or you must setwipe_linstor_disks: trueingroup_vars. The playbook will not silently overwrite a disk with existing data unless explicitly told to.
Network Planning (Cluster Deployments)
For a 3-node Linstor cluster, plan two separate networks:
| Network | Purpose | Variable |
|---|---|---|
| Management | Ansible SSH, Proxmox GUI | ansible_host |
| Private (p2p) | Corosync heartbeat, DRBD replication | priv_ip |
The private network is a full-mesh point-to-point topology: each node has two dedicated NICs, one direct link to each of the other two nodes, bridged together into an interface named p2p. If a dedicated private network is not available, priv_ip can be omitted and ansible_host is used as fallback for both Corosync and DRBD traffic.
Execution Environment
A local Ansible installation is not required. The repository ships with a VS Code DevContainer that pins all required Ansible versions and collections.
- Open the repository in Visual Studio Code.
- Ensure Docker or Podman and the Dev Containers extension are installed.
- Select Reopen in Container — VS Code automatically forwards your local SSH agent into the container.
- Open a terminal inside the container. All commands in this documentation assume you are working from the
ansible/directory:
cd ansible/
Verify connectivity before proceeding:
ansible all -i inventories/<customer>/hosts.ini -m ping