# 05 - Linstor & Storage Implementation This document details the configuration enforcement executed by the Linstor roles. ## LVM Global Filter To prevent PVE from detecting double LVM signatures (raw block vs DRBD layer), the playbook injects the following global filter into `/etc/lvm/lvm.conf`. `global_filter =[ "r|^/dev/drbd|", "r|^/dev/mapper/[lL]instor|" ]` ## Storage Provisioning The `community.general.lvg` task targets raw block devices strictly when the target string starts with `/dev/`. **The playbook does not invoke `wipefs`.** If residual partition tables exist on the target block device, the LVM module will purposefully fail to prevent data destruction. ## HA Controller Topology Linstor Controller HA is handled via `drbd-reactor`. 1. A 200M DRBD resource (`linstor_db`) is spawned across all nodes. 2. The default `linstor-controller` systemd service is disabled. 3. A `var-lib-linstor.mount` unit is deployed. 4. The local `/var/lib/linstor` mount point is secured with the immutable flag (`chattr +i`). This guarantees that if the DRBD resource fails to mount, the local filesystem rejects writes, preventing database split-brains. 5. `drbd-reactor` manages the floating VIP and promoter plugin logic.