// Module included in the following assemblies:
//
// * microshift_storage/microshift-storage-plugin-overview.adoc

:_content-type: CONCEPT
[id="microshift-lvmd-config-example-basic_{context}"]
= Basic LVMS configuration example

{product-title} supports passing through your LVM configuration and allows you to specify custom volume groups, thin volume provisioning parameters, and reserved unallocated volume group space. You can edit the LVMS configuration file you created at any time. You must restart {product-title} to deploy configuration changes after editing the file.

The following `lvmd.yaml` example file shows a basic LVMS configuration:

.LVMS configuration example

[source,yaml]
----
socket-name: <1>
device-classes: <2>
  - name: "default" <3>
    volume-group: "VGNAMEHERE" <4>
    spare-gb: 0 <5>
    default: <6>
----
<1> String. The UNIX domain socket endpoint of gRPC. Defaults to  '/run/lvmd/lvmd.socket'.
<2> A list of maps for the settings for each `device-class`.
<3> String. The name of the `device-class`.
<4> String. The group where the `device-class` creates the logical volumes.
<5> Unsigned 64-bit integer. Storage capacity in GiB to be left unallocated in the volume group. Defaults to `0`.
<6> Boolean. Indicates that the `device-class` is used by default. Defaults to `false`. At least one value must be entered in the YAML file values when this is set to `true`.
//Q: still true that value defaults to false?

[IMPORTANT]
====
A race condition prevents LVMS from accurately tracking the allocated space and preserving the `spare-gb` for a device class when multiple PVCs are created simultaneously. Use separate volume groups and device classes to protect the storage of highly dynamic workloads from each other.
====
