Ce contenu n'est pas disponible dans la langue sélectionnée.

8.2. Reducing Storage Capacity


Heketi also supports the reduction of storage capacity. You can reduce storage by deleting devices, nodes, and clusters. These requests can only be performed by using the Heketi CLI or the API. For information on using command line API, see Heketi API https://github.com/heketi/heketi/wiki/API.

Note

  • The IDs can be retrieved by executing the heketi-cli topology info command.
    # heketi-cli topology info
    Copy to Clipboard Toggle word wrap
  • The heketidbstorage volume cannot be deleted as it contains the heketi database.

8.2.1. Deleting Volumes

You can delete the volume using the following Heketi CLI command:
# heketi-cli volume delete <volume_id>
Copy to Clipboard Toggle word wrap
For example:
heketi-cli volume delete 12b2590191f571be9e896c7a483953c3
Volume 12b2590191f571be9e896c7a483953c3 deleted
Copy to Clipboard Toggle word wrap

8.2.2. Deleting Devices

Deleting the device deletes devices from heketi's topology. Devices that have bricks cannot be deleted. You must ensure they are free of bricks by disabling and removing devices.
You can delete the device using the following Heketi CLI command:
# heketi-cli device delete <device_id>
Copy to Clipboard Toggle word wrap
For example:
heketi-cli device delete 56912a57287d07fad0651ba0003cf9aa
Device 56912a57287d07fad0651ba0003cf9aa deleted
Copy to Clipboard Toggle word wrap
The only way to reuse a deleted device is by adding the device to heketi's topology again.

8.2.2.1. Disabling Devices

Disabling devices stops further allocation of bricks onto the device. You can disable devices using the following Heketi CLI command:
 # heketi-cli device disable <device_id>
Copy to Clipboard Toggle word wrap
For example:
# heketi-cli device disable f53b13b9de1b5125691ee77db8bb47f4
Device f53b13b9de1b5125691ee77db8bb47f4 is now offline
Copy to Clipboard Toggle word wrap
After disabling the device, you must enable it. Enabling the device allows allocation of bricks onto the device using the following command:
# heketi-cli device enable <device_id>
Copy to Clipboard Toggle word wrap
For example:
# heketi-cli device enable f53b13b9de1b5125691ee77db8bb47f4
Device f53b13b9de1b5125691ee77db8bb47f4 is now online
Copy to Clipboard Toggle word wrap

8.2.2.2. Removing Devices

Removing devices moves existing bricks from the device to other devices. This helps in ensuring the device is free of bricks.

Warning

Remove device operation triggers a self-heal operation in the background. The time taken to complete the self-heal operation is proportional to the data on the removed device. Before you perform the remove device operation, you must ensure that the self-heal operations are complete on all the volumes.
Run the following command to access shell on gluster pod:
# oc rsh <gluster_pod_name>
Copy to Clipboard Toggle word wrap
Run the following command to obtain the volume names:
# gluster volume list
Copy to Clipboard Toggle word wrap
Run the following command on each volume to check the self-heal status:
# gluster volume heal <volname> info
Copy to Clipboard Toggle word wrap
You can remove devices using the following Heketi CLI command:
 # heketi-cli device remove <device_id>
Copy to Clipboard Toggle word wrap
For example:
heketi-cli device remove e9ef1d9043ed3898227143add599e1f9
Device e9ef1d9043ed3898227143add599e1f9 is now removed
Copy to Clipboard Toggle word wrap

8.2.2.3. Replacing Devices

Heketi does not allow one-to-one replacement of a device with another. However, in case of a failed device, follow the example below for the sequence of operations that are required to replace a failed device.
  1. Locate the device that has failed using the following command:
    # heketi-cli topology info
    Copy to Clipboard Toggle word wrap
    …
    …
    ...
        Nodes:
    Node Id: 8faade64a9c8669de204b66bc083b10d
    ...
    ...
    …
                    Id:a811261864ee190941b17c72809a5001   Name:/dev/vdc            State:online    Size (GiB):499     Used (GiB):281     Free (GiB):218     
                            Bricks:
                                    Id:34c14120bef5621f287951bcdfa774fc   Size (GiB):280     Path: /var/lib/heketi/mounts/vg_a811261864ee190941b17c72809a5001/brick_34c14120bef5621f287951bcdfa774fc/brick
    …
    …
    ...
    Copy to Clipboard Toggle word wrap
    The example below illustrates the sequence of operations that are required to replace a failed device. The example uses device ID a811261864ee190941b17c72809a5001 which belongs to node with id 8faade64a9c8669de204b66bc083b10das.
  2. Add a new device preferably to the same node as the device being replaced.
    # heketi-cli device add --name /dev/vdd --node 8faade64a9c8669de204b66bc083b10d
    Device added successfully
    Copy to Clipboard Toggle word wrap
  3. Disable the failed device.
    # heketi-cli device disable a811261864ee190941b17c72809a5001
    Device a811261864ee190941b17c72809a5001 is now offline
    Copy to Clipboard Toggle word wrap
  4. Remove the failed device.
    # heketi-cli device remove a811261864ee190941b17c72809a5001
     Device a811261864ee190941b17c72809a5001 is now removed
    Copy to Clipboard Toggle word wrap
    At this stage, the bricks are migrated from the failed device. Heketi chooses a suitable device based on the brick allocation algorithm. As a result, there is a possibility that all the bricks might not be migrated to the new added device.
  5. Delete the failed device.
    # heketi-cli device delete a811261864ee190941b17c72809a5001
    Device a811261864ee190941b17c72809a5001 deleted
    Copy to Clipboard Toggle word wrap
  6. Before repeating the above sequence of steps on another device, you must wait for the self-heal operation to complete. You can verify that the self-heal operation completed when the Number of entries value returns a 0 value.
    # oc rsh <any_gluster_pod_name>
    for each in $(gluster volume list) ; do gluster vol heal $each info | grep "Number of entries:" ; done
    Number of entries: 0
    Number of entries: 0
    Number of entries: 0
    Copy to Clipboard Toggle word wrap

8.2.3. Deleting Nodes

You can delete the node using the following Heketi CLI command:
 # heketi-cli node delete <node_id>
Copy to Clipboard Toggle word wrap
For example:
heketi-cli node delete 5f0af88b968ed1f01bf959fe4fe804dc
Node 5f0af88b968ed1f01bf959fe4fe804dc deleted
Copy to Clipboard Toggle word wrap

8.2.4. Deleting Clusters

You can delete the cluster using the following Heketi CLI command:
# heketi-cli cluster delete <cluster_id>
Copy to Clipboard Toggle word wrap
For example:
heketi-cli cluster delete 0e949d91c608d13fd3fc4e96f798a5b1
Cluster 0e949d91c608d13fd3fc4e96f798a5b1 deleted
Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat