Skip to main content

Reserving PVC space for file system overhead

When you create a DataVolume custom resource (CR) for a virtual machine (VM) by setting the spec.storage.volumeMode attribute to Filesystem, OpenShift Virtualization automatically accounts for file system overhead.

If you specify the storage type by using the spec.pvc attribute in the DataVolume CR, OpenShift Virtualization does not add any file system overhead and the requested size is passed directly to Kubernetes.

The default file system overhead value is 6%. For example, if you request a 10 GiB disk and the spec.storage.volumeMode attribute is set to FileSystem, Kubernetes provisions a PVC of approximately 10.6 GiB so that the VM has the full 10 GiB of space available.

Example file system overhead for data volumes

Requested virtual disk sizeCalculated overhead (6%)Total PVC space provisioned
10 GiB0.6 GiB10.6 GiB
100 GiB6 GiB106 GiB
note

You can change the default file system overhead value by editing the HyperConverged CR.

Overriding the default file system overhead value​

Change the amount of persistent volume claim (PVC) space that the OpenShift Virtualization reserves for file system overhead by editing the spec.filesystemOverhead attribute of the HCO object.

Prerequisites

  • Install the OpenShift CLI (oc).

Procedure

  1. Open the HCO object for editing by running the following command:

    $ oc edit hyperconvergeds.v1beta1.hco.kubevirt.io kubevirt-hyperconverged -n openshift-cnv
  2. Edit the spec.filesystemOverhead fields, populating them with your chosen values:

    # ...
    spec:
    filesystemOverhead:
    global: "<new_global_value>"
    storageClass:
    <storage_class_name>: "<new_value_for_this_storage_class>"
    • spec.filesystemOverhead.global specifies the default file system overhead percentage used for any storage classes that do not already have a set value. For example, global: "0.07" reserves 7% of the PVC for file system overhead.
    • spec.filesystemOverhead.storageClass specifies the file system overhead percentage for the specified storage class. For example, mystorageclass: "0.04" changes the default overhead value for PVCs in the mystorageclass storage class to 4%.
  3. Save and exit the editor to update the HCO object.

Verification

  • View the CDIConfig status and verify your changes by running one of the following commands: To generally verify changes to CDIConfig:

    $ oc get cdiconfig -o yaml

    To view your specific changes to CDIConfig:

    $ oc get cdiconfig -o jsonpath='{.items..status.filesystemOverhead}'