Chapter 8. Setting up Red Hat Storage Volumes

A Red Hat Storage volume is a logical collection of bricks where each brick is an export directory on a server in the trusted storage pool. Most of the Red Hat Storage Server management operations are performed on the volume.

Warning

Red Hat does not support writing data directly into the bricks, you must write and read data only through Native Client, NFS, or SMB mounts.
To create a new Red Hat Storage volume in your storage environment, specify the bricks that comprise the Red Hat Storage volume. After you have created a new Red Hat Storage volume, you must start it before attempting to mount it.
  • Volumes of the following types can be created in your storage environment:
    • Distributed - Distributed volumes distributes files across bricks in the volume. You can use distributed volumes where the requirement is to scale storage and redundancy is either not important or is provided by other hardware/software layers. For more information, see Section 8.3, “Creating Distributed Volumes” .
    • Replicated – Replicated volumes replicates files across bricks in the volume. You can use replicated volumes in environments where high-availability and high-reliability are critical. For more information, see Section 8.4, “Creating Replicated Volumes ”.
    • Distributed Replicated - Distributed replicated volumes distributes files across replicated bricks in the volume. You can use distributed replicated volumes in environments where the requirement is to scale storage and high-reliability is critical. Distributed replicated volumes also offer improved read performance in most environments. For more information, see Section 8.5, “Creating Distributed Replicated Volumes ”.

      Important

      Striped, Striped-Replicated, Distributed-Striped, and Distributed-Striped-Replicated volume types are under technology preview. Technology Preview features are not fully supported under Red Hat subscription level agreements (SLAs), may not be functionally complete, and are not intended for production use. However, these features provide early access to upcoming product innovations, enabling customers to test functionality and provide feedback during the development process.
    • Striped – Striped volumes stripes data across bricks in the volume. For best results, you should use striped volumes only in high concurrency environments accessing very large files. For more information, see Section 8.6, “Creating Striped Volumes”.
    • Striped Replicated – Striped replicated volumes stripes data across replicated bricks in the trusted storage pool. For best results, you should use striped replicated volumes in highly concurrent environments where there is parallel access of very large files and performance is critical. In this release, configuration of this volume type is supported only for Map Reduce workloads. For more information, see Section 8.7, “Creating Striped Replicated Volumes ”.
    • Distributed Striped - Distributed striped volumes stripe data across two or more nodes in the trusted storage pool. You should use distributed striped volumes where the requirement is to scale storage and in high concurrency environments where accessing very large files is critical. For more information, see Section 8.8, “Creating Distributed Striped Volumes ”.
    • Distributed Striped Replicated – Distributed striped replicated volumes distributes striped data across replicated bricks in the trusted storage pool. For best results, you should use distributed striped replicated volumes in highly concurrent environments where parallel access of very large files and performance is critical. Configuration of this volume type is supported only for Map Reduce workloads. For more information, see Section 8.9, “Creating Distributed Striped Replicated Volumes ”.

Note

Red Hat Storage supports IP over Infiniband (IPoIB). You must install Infiniband packages on all Red Hat Storage servers and clients. Run the following command to install Infiniband packages:
# yum groupinstall "Infiniband Support"
Red Hat Storage support for RDMA over Infiniband is a technology preview feature.

8.1. Formatting and Mounting Bricks

Red Hat supports only formatting a Logical Volume by using the XFS file system on the bricks with few modifications to improve performance. Ensure to format bricks using XFS on Logical Volume Manager before adding it to a Red Hat Storage volume. Red Hat Storage uses extended attributes on files, so you must increase the inode size to 512 bytes from the default 256 bytes by running the following command:
# mkfs.xfs -i size=512 DEVICE
You can now mount the bricks on the Red Hat Storage servers.
To mount bricks:
  1. Obtain the UUID (universally unique identifier) of the device using the following command:
    # blkid DEVICE
  2. Create a directory to link the brick using the following command:
    # mkdir /mountpoint
  3. Add an entry to /etc/fstab using the obtained UUID from the blkid command:
    UUID=uuid    /mountpoint      xfs     defaults   1  2
  4. Mount the brick using the following command:
    # mount /mountpoint
  5. Run df -h command to verify that the brick is successfully mounted:
    # df -h
    /dev/vg_bricks/lv_exp1   16G  1.2G   15G   7% /exp1

Important

While creating a logical volume, Red Hat recommends that you must allocate 15% - 20% of free space to take advantage of Red Hat Storage volume Snapshotting feature, which will be available in a future release of Red Hat Storage.
If your brick is created by formatting a raw disk partition with XFS file system, Red Hat does not support this configuration.
If you reuse a brick of a deleted volume while creating a new volume, the volume creation fails as the brick contains volume ID of its previously associated volume. You must ensure to delete the extended attributes set on the brick directory before reusing the brick by executing the following commands:
# setfattr -x trusted.glusterfs.volume-id brick
# setfattr -x trusted.gfid brick