分布式glusterfs文件式存储管理之六:Dispersed 纠删卷


dispersed分散卷:是基于ErasureCodes(纠错码)的一种新类型的Volume(3.6版本正式发布该特性),类似于RAID5/6----分散卷基于纠删码。通过配置Redundancy(冗余)级别提高可靠性,在保证较高的可靠性同时,可以提升物理存储空间的利用率。redundancy 必须大于0,并且bricks的总数必须大于2 *redundancy 。 这意味着dispersed卷必须至少包含3个bricks。类似raid5/raid6,防止单点故障(HA),提升IO性能(LB)。

创建语法:

# gluster volume create test-volume [disperse []] [disperse-data ] [redundancy ] [transport tcp | rdma | tcp,rdma]

例子:冗余级别为 1,(2 + 1) 的三节点分散卷:

# gluster volume create test-volume disperse 3 redundancy 1 server1:/exp1 server2:/exp2 server3:/exp3

 

    

示例:

语法: # gluster volume create test-volume disperse 4 server{1..4}:/bricks/test-volume # gluster volume create test-volume disperse 6 server{1..6}:/bricks/test-volume   服务器: # mkdir -p /mnt/vdb/vg2                             // 所有服务器都执行 # gluster volume create vg2 disperse 4 redundancy 1 gfs01:/mnt/vdb/vg2/ gfs02:/mnt/vdb/vg2/ gfs03:/mnt/vdb/vg2/ gfs04:/mnt/vdb/vg2/ gfs05:/mnt/vdb/vg2/ gfs06:/mnt/vdb/vg2/ gfs07:/mnt/vdb/vg2/ gfs08:/mnt/vdb/vg2/ force  # gluster volume start vg2  # gluster volume info vg2
Volume Name: vg2
Type: Distributed-Disperse
Volume ID: 0daa5c51-5487-486c-ad28-7689b392a21a
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x (3 + 1) = 8
Transport-type: tcp
Bricks:
Brick1: gfs01:/mnt/vdb/vg2
Brick2: gfs02:/mnt/vdb/vg2
Brick3: gfs03:/mnt/vdb/vg2
Brick4: gfs04:/mnt/vdb/vg2
Brick5: gfs05:/mnt/vdb/vg2
Brick6: gfs06:/mnt/vdb/vg2
Brick7: gfs07:/mnt/vdb/vg2
Brick8: gfs08:/mnt/vdb/vg2
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on
 客户端: [root@client ~]# mkdir -p /mnt/vg2 [root@client ~]# mount -t glusterfs gfs02:/vg2 /mnt/vg2 注: # gluster volume create 集群名 disperse 总数 redundancy 冗余数 gfs01:/data/ gfs02:/data/ gfs03:/data/ gfs04:/data/ force redundancy不填默认为1。最小要2台数据,1台冗余。所以总数要>=3 # df -Th
文件系统                类型            容量   已用  可用  已用% 挂载点
gfs01:/vg2            fuse.glusterfs  120G  1.4G  119G    2% /mnt/vg2

案例二:

服务器端操作:

[root@gfs01 ~]# mkdir /mnt/vdb/vg3/
[root@gfs01 ~]# gluster volume create vg3 redundancy 1 transport tcp gfs01:/mnt/vdb/vg3/ gfs02:/mnt/vdb/vg3/ gfs03:/mnt/vdb/vg3/ gfs04:/mnt/vdb/vg3/ gfs05:/mnt/vdb/vg3/ gfs06:/mnt/vdb/vg3/ gfs07:/mnt/vdb/vg3/ gfs08:/mnt/vdb/vg3/ force
[root@gfs01 ~]# gluster volume start vg3
[root@gfs01 ~]# gluster volume info vg3

Volume Name: vg3
Type: Disperse
Volume ID: ac056966-5b31-4c2c-a846-376f3faef332
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x (7 + 1) = 8
Transport-type: tcp
Bricks:
Brick1: gfs01:/mnt/vdb/vg3
Brick2: gfs02:/mnt/vdb/vg3
Brick3: gfs03:/mnt/vdb/vg3
Brick4: gfs04:/mnt/vdb/vg3
Brick5: gfs05:/mnt/vdb/vg3
Brick6: gfs06:/mnt/vdb/vg3
Brick7: gfs07:/mnt/vdb/vg3
Brick8: gfs08:/mnt/vdb/vg3
Options Reconfigured:
storage.fips-mode-rchecksum: on
transport.address-family: inet
nfs.disable: on

# gluster volume start vg3

# gluster volume info vg3

客户端:
[root@client ~]# mkdir -p /mnt/vg3
[root@client ~]# mount -t glusterfs gfs01:/vg3 /mnt/vg3
[root@client ~]# df -Th

文件系统             类型        容量    已用   可用   已用%   挂载点
gfs01:/vg3     fuse.glusterfs  140G    1.7G  139G   2%     /mnt/vg3