- Project Status: Testing for production
- Conformed CSI version: 1.1.0
- Node OS
- Linux with LVM2
- Dynamic provisioning: Volumes are created dynamically when
PersistentVolumeClaimobjects are created.
- Raw block volume: Volumes are available as block devices inside containers.
- Topology: TopoLVM uses CSI topology feature to schedule Pod to Node where LVM volume exist.
- Extended scheduler: TopoLVM extends the general Pod scheduler to prioritize Nodes having larger storage capacity.
- Volume metrics: Usage stats are exported as Prometheus metrics from
A diagram of components is available in docs/design.md.
This repository contains these programs:
topolvm-controller: CSI controller service.
topolvm-scheduler: A scheduler extender for TopoLVM.
topolvm-node: CSI node service.
lvmd: gRPC service to manage LVM volumes.
lvmd is a standalone program that should be run on Node OS as a systemd service.
Other programs are packaged into a container image.
For production deployments, see deploy directory.
User manual is at docs/user-manual.md.
docs directory contains documents about designs and specifications.