diff options
Diffstat (limited to 'doc/admin-guide/en-US/markdown/admin_setting_volumes.md')
| -rw-r--r-- | doc/admin-guide/en-US/markdown/admin_setting_volumes.md | 419 | 
1 files changed, 419 insertions, 0 deletions
diff --git a/doc/admin-guide/en-US/markdown/admin_setting_volumes.md b/doc/admin-guide/en-US/markdown/admin_setting_volumes.md new file mode 100644 index 00000000000..4038523c841 --- /dev/null +++ b/doc/admin-guide/en-US/markdown/admin_setting_volumes.md @@ -0,0 +1,419 @@ +Setting up GlusterFS Server Volumes +=================================== + +A 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 gluster +management operations are performed on the volume. + +To create a new volume in your storage environment, specify the bricks +that comprise the volume. After you have created a new 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 throughout +        the bricks in the volume. You can use distributed volumes where +        the requirement is to scale storage and the redundancy is either +        not important or is provided by other hardware/software layers. +        For more information, see ? . + +    -   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 ?. + +    -   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 ?. + +    -   Distributed Striped - Distributed striped volumes stripe data +        across two or more nodes in the cluster. You should use +        distributed striped volumes where the requirement is to scale +        storage and in high concurrency environments accessing very +        large files is critical. For more information, see ?. + +    -   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 +        ?. + +    -   Distributed Striped Replicated – Distributed striped replicated +        volumes distributes striped data across replicated bricks in the +        cluster. 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. +        In this release, configuration of this volume type is supported +        only for Map Reduce workloads. For more information, see ?. + +    -   Striped Replicated – Striped replicated volumes stripes data +        across replicated bricks in the cluster. 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 ?. + +**To create a new volume** + +-   Create a new volume : + +    `# gluster volume create [stripe  | replica ] [transport tcp | rdma | tcp, rdma] ` + +    For example, to create a volume called test-volume consisting of +    server3:/exp3 and server4:/exp4: + +        # gluster volume create test-volume server3:/exp3 server4:/exp4 +        Creation of test-volume has been successful +        Please start the volume to access data. + +Creating Distributed Volumes +============================ + +In a distributed volumes files are spread randomly across the bricks in +the volume. Use distributed volumes where you need to scale storage and +redundancy is either not important or is provided by other +hardware/software layers. + +> **Note** +> +> Disk/server failure in distributed volumes can result in a serious +> loss of data because directory contents are spread randomly across the +> bricks in the volume. + +![][] + +**To create a distributed volume** + +1.  Create a trusted storage pool as described earlier in ?. + +2.  Create the distributed volume: + +    `# gluster volume create  [transport tcp | rdma | tcp,rdma] ` + +    For example, to create a distributed volume with four storage +    servers using tcp: + +        # gluster volume create test-volume server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    (Optional) You can display the volume information: + +        # gluster volume info +        Volume Name: test-volume +        Type: Distribute +        Status: Created +        Number of Bricks: 4 +        Transport-type: tcp +        Bricks: +        Brick1: server1:/exp1 +        Brick2: server2:/exp2 +        Brick3: server3:/exp3 +        Brick4: server4:/exp4 + +    For example, to create a distributed volume with four storage +    servers over InfiniBand: + +        # gluster volume create test-volume transport rdma server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    If the transport type is not specified, *tcp* is used as the +    default. You can also set additional options if required, such as +    auth.allow or auth.reject. For more information, see ? + +    > **Note** +    > +    > Make sure you start your volumes before you try to mount them or +    > else client operations after the mount will hang, see ? for +    > details. + +Creating Replicated Volumes +=========================== + +Replicated volumes create copies of files across multiple bricks in the +volume. You can use replicated volumes in environments where +high-availability and high-reliability are critical. + +> **Note** +> +> The number of bricks should be equal to of the replica count for a +> replicated volume. To protect against server and disk failures, it is +> recommended that the bricks of the volume are from different servers. + +![][1] + +**To create a replicated volume** + +1.  Create a trusted storage pool as described earlier in ?. + +2.  Create the replicated volume: + +    `# gluster volume create  [replica ] [transport tcp | rdma tcp,rdma] ` + +    For example, to create a replicated volume with two storage servers: + +        # gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    If the transport type is not specified, *tcp* is used as the +    default. You can also set additional options if required, such as +    auth.allow or auth.reject. For more information, see ? + +    > **Note** +    > +    > Make sure you start your volumes before you try to mount them or +    > else client operations after the mount will hang, see ? for +    > details. + +Creating Striped Volumes +======================== + +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. + +> **Note** +> +> The number of bricks should be a equal to the stripe count for a +> striped volume. + +![][2] + +**To create a striped volume** + +1.  Create a trusted storage pool as described earlier in ?. + +2.  Create the striped volume: + +    `# gluster volume create  [stripe ] [transport tcp | rdma | tcp,rdma] ` + +    For example, to create a striped volume across two storage servers: + +        # gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    If the transport type is not specified, *tcp* is used as the +    default. You can also set additional options if required, such as +    auth.allow or auth.reject. For more information, see ? + +    > **Note** +    > +    > Make sure you start your volumes before you try to mount them or +    > else client operations after the mount will hang, see ? for +    > details. + +Creating Distributed Striped Volumes +==================================== + +Distributed striped volumes stripes files across two or more nodes in +the cluster. For best results, you should use distributed striped +volumes where the requirement is to scale storage and in high +concurrency environments accessing very large files is critical. + +> **Note** +> +> The number of bricks should be a multiple of the stripe count for a +> distributed striped volume. + +![][3] + +**To create a distributed striped volume** + +1.  Create a trusted storage pool as described earlier in ?. + +2.  Create the distributed striped volume: + +    `# gluster volume create  [stripe ] [transport tcp | rdma | tcp,rdma] ` + +    For example, to create a distributed striped volume across eight +    storage servers: + +        # gluster volume create test-volume stripe 4 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    If the transport type is not specified, *tcp* is used as the +    default. You can also set additional options if required, such as +    auth.allow or auth.reject. For more information, see ? + +    > **Note** +    > +    > Make sure you start your volumes before you try to mount them or +    > else client operations after the mount will hang, see ? for +    > details. + +Creating 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. + +> **Note** +> +> The number of bricks should be a multiple of the replica count for a +> distributed replicated volume. Also, the order in which bricks are +> specified has a great effect on data protection. Each replica\_count +> consecutive bricks in the list you give will form a replica set, with +> all replica sets combined into a volume-wide distribute set. To make +> sure that replica-set members are not placed on the same node, list +> the first brick on every server, then the second brick on every server +> in the same order, and so on. + +![][4] + +**To create a distributed replicated volume** + +1.  Create a trusted storage pool as described earlier in ?. + +2.  Create the distributed replicated volume: + +    `# gluster volume create  [replica ] [transport tcp | rdma | tcp,rdma] ` + +    For example, four node distributed (replicated) volume with a +    two-way mirror: + +        # gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    For example, to create a six node distributed (replicated) volume +    with a two-way mirror: + +        # gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    If the transport type is not specified, *tcp* is used as the +    default. You can also set additional options if required, such as +    auth.allow or auth.reject. For more information, see ? + +    > **Note** +    > +    > Make sure you start your volumes before you try to mount them or +    > else client operations after the mount will hang, see ? for +    > details. + +Creating Distributed Striped Replicated Volumes +=============================================== + +Distributed striped replicated volumes distributes striped data across +replicated bricks in the cluster. 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. +In this release, configuration of this volume type is supported only for +Map Reduce workloads. + +> **Note** +> +> The number of bricks should be a multiples of number of stripe count +> and replica count for a distributed striped replicated volume. + +**To create a distributed striped replicated volume** + +1.  Create a trusted storage pool as described earlier in ?. + +2.  Create a distributed striped replicated volume using the following +    command: + +    `# gluster volume create  [stripe ] [replica ] [transport tcp | rdma | tcp,rdma] ` + +    For example, to create a distributed replicated striped volume +    across eight storage servers: + +        # gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 server7:/exp7 server8:/exp8 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    If the transport type is not specified, *tcp* is used as the +    default. You can also set additional options if required, such as +    auth.allow or auth.reject. For more information, see ? + +    > **Note** +    > +    > Make sure you start your volumes before you try to mount them or +    > else client operations after the mount will hang, see ? for +    > details. + +Creating Striped Replicated Volumes +=================================== + +Striped replicated volumes stripes data across replicated bricks in the +cluster. 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. + +> **Note** +> +> The number of bricks should be a multiple of the replicate count and +> stripe count for a striped replicated volume. + +![][5] + +**To create a striped replicated volume** + +1.  Create a trusted storage pool consisting of the storage servers that +    will comprise the volume. + +    For more information, see ?. + +2.  Create a striped replicated volume : + +    `# gluster volume create  [stripe ] [replica ] [transport tcp | rdma | tcp,rdma] ` + +    For example, to create a striped replicated volume across four +    storage servers: + +        # gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    To create a striped replicated volume across six storage servers: + +        # gluster volume create test-volume stripe 3 replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6 +        Creation of test-volume has been successful +        Please start the volume to access data. + +    If the transport type is not specified, *tcp* is used as the +    default. You can also set additional options if required, such as +    auth.allow or auth.reject. For more information, see ? + +    > **Note** +    > +    > Make sure you start your volumes before you try to mount them or +    > else client operations after the mount will hang, see ? for +    > details. + +Starting Volumes +================ + +You must start your volumes before you try to mount them. + +**To start a volume** + +-   Start a volume: + +    `# gluster volume start ` + +    For example, to start test-volume: + +        # gluster volume start test-volume +        Starting test-volume has been successful + +  []: images/Distributed_Volume.png +  [1]: images/Replicated_Volume.png +  [2]: images/Striped_Volume.png +  [3]: images/Distributed_Striped_Volume.png +  [4]: images/Distributed_Replicated_Volume.png +  [5]: images/Striped_Replicated_Volume.png  | 
