5.5. Creating Distributed Volumes
This type of volume spreads files across the bricks in the volume.
Figure 5.2. Illustration of a Distributed Volume
Distributed volumes can suffer significant data loss during a disk or server failure because directory contents are spread randomly across the bricks in the volume.
Use distributed volumes where scalable storage and redundancy is either not important, or is provided by other hardware or software layers.
Create a Distributed Volume
gluster volume createcommand to create different types of volumes, and
gluster volume infocommand to verify successful volume creation.
- A trusted storage pool has been created, as described in Section 4.1, “Adding Servers to the Trusted Storage Pool”.
- Understand how to start and stop volumes, as described in Section 5.11, “Starting Volumes”.
- Run the
gluster volume createcommand to create the distributed volume.The syntax is
gluster volume create NEW-VOLNAME [transport tcp | rdma | tcp,rdma] NEW-BRICK...The default value for transport is
tcp. Other options can be passed such as
auth.reject. See Section 11.1, “Configuring Volume Options” for a full list of parameters.Red Hat recommends disabling the
performance.client-io-threadsoption on distributed volumes, as this option tends to worsen performance. Run the following command to disable
# gluster volume set VOLNAME performance.client-io-threads off
Example 5.1. Distributed Volume with Two Storage Servers
# gluster volume create test-volume server1:/rhgs/brick1 server2:/rhgs/brick1 Creation of test-volume has been successful Please start the volume to access data.
Example 5.2. Distributed Volume over InfiniBand with Four Servers
# gluster volume create test-volume transport rdma server1:/rhgs/brick1 server2:/rhgs/brick1 server3:/rhgs/brick1 server4:/rhgs/brick1 Creation of test-volume has been successful Please start the volume to access data.
# gluster volume start VOLNAMEto start the volume.
# gluster volume start test-volume Starting test-volume has been successful
gluster volume infocommand to optionally display the volume information.The following output is the result of Example 5.1, “Distributed Volume with Two Storage Servers”.
# gluster volume info Volume Name: test-volume Type: Distribute Status: Created Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: server1:/rhgs/brick Brick2: server2:/rhgs/brick