如何创建和删除Glusterfs卷

时间:2020-02-23 14:38:24  来源:igfitidea点击:

卷是砖块的逻辑集合。
大多数闪闪发光的存储管理操作发生在卷上。
对于那些新的Glusterfs,一块砖是一个基本的存储单元。
砖块由可信存储池中的服务器上的导出目录表示。

在本教程中,我们将看到如何在Glusterfs中创建各种卷类型以及在不需要时如何删除它们。
我们可以使用Gluster命令行工具或者HEKETI创建和管理推出框架卷。
查看我们以前的教程:

如何使用HEKETI在CentOS 8/CentOS 7上设置Glusterfs存储

检查Glusterfs可信存储池以确保已连接服务器。

# gluster pool list
UUID					                Hostname                           State
6c41bcc9-a419-4dab-bc0b-d93e21d4d9e3	gluster2.example.com               Connected 
4c90da9b-1c2a-419b-b02a-cfc0a013f0c0	gluster3.example.com               Connected 
c989c715-0fe6-4575-a6d9-920117ecd5a5	localhost                          Connected

我们还可以从一个节点看到对等体:

# gluster peer status
Number of Peers: 2
Hostname: gluster2.example.com
Uuid: 6c41bcc9-a419-4dab-bc0b-d93e21d4d9e3
State: Peer in Cluster (Connected)
Other names: gluster2.example.com
Hostname: gluster3.example.com
Uuid: 4c90da9b-1c2a-419b-b02a-cfc0a013f0c0
State: Peer in Cluster (Connected)
Other names: gluster3.example.com

使用HEKETI创建推出框架卷

我更喜欢使用HEKETI管理推出推绘卷,因为它将自动创建砖块以及与复制因子匹配的服务器,而不是手动执行此操作。

使用HEKETI创建Gluster卷时,命令语法是:

heketi-cli volume create [options]

一些可用的选项是:

--name string: Optional: Name of volume. Only set if really necessary
--size int: Size of volume in GiB
--replica int: Replica value for durability type 'replicate'. (default 3)
--redundancy int: Optional: Redundancy value for durability type 'disperse'. (default 2)
--durability string: Optional: Durability type.  Values are:
		none: No durability.  Distributed volume only.
		replicate: (Default) Distributed-Replica volume.
		disperse: Distributed-Erasure Coded volume. (default "replicate")
--clusters string:  Comma separated list of cluster ids where this volume must be allocated. If omitted, Heketi will allocate the volume on any of the configured clusters which have the available space

有关所有选项,请使用:

$heketi-cli volume create --help

考虑下面的一个例子,它在任何群集中创建一个2GB的卷。

# heketi-cli volume create --size=2 --replica=2 
Name: vol_21e37ed5fa796e764503fcd7f5ac1d65
Size: 2
Volume Id: 21e37ed5fa796e764503fcd7f5ac1d65
Cluster Id: c200453199923b01cc5409c22e1fa472
Mount: 10.10.1.87:vol_21e37ed5fa796e764503fcd7f5ac1d65
Mount Options: backup-volfile-servers=10.10.1.88,10.10.1.86
Block: false
Free Size: 0
Reserved Size: 0
Block Hosting Restriction: (none)
Block Volumes: []
Durability Type: replicate
Distributed+Replica: 2

通过列出Glusterfs上的卷来确认创建。

# gluster volume list
vol_02ff70d8dd163b23a377789220222028
vol_12f7a68bbe7a1dd24646aa49552fff09
vol_21e37ed5fa796e764503fcd7f5ac1d65
vol_5744235f15a02f7fee4da00935180b28
vol_6dd86a7a39eba6421b4a6508d718578a
vol_bfeab3aacd1cb9cb21142b5d90b8fdd8

HEKETI-CLI命令可以看出同样的信息:

# heketi-cli volume list
Id:02ff70d8dd163b23a377789220222028    Cluster:c200453199923b01cc5409c22e1fa472    Name:vol_02ff70d8dd163b23a377789220222028
Id:12f7a68bbe7a1dd24646aa49552fff09    Cluster:c200453199923b01cc5409c22e1fa472    Name:vol_12f7a68bbe7a1dd24646aa49552fff09
Id:21e37ed5fa796e764503fcd7f5ac1d65    Cluster:c200453199923b01cc5409c22e1fa472    Name:vol_21e37ed5fa796e764503fcd7f5ac1d65
Id:5744235f15a02f7fee4da00935180b28    Cluster:c200453199923b01cc5409c22e1fa472    Name:vol_5744235f15a02f7fee4da00935180b28
Id:6dd86a7a39eba6421b4a6508d718578a    Cluster:c200453199923b01cc5409c22e1fa472    Name:vol_6dd86a7a39eba6421b4a6508d718578a
Id:bfeab3aacd1cb9cb21142b5d90b8fdd8    Cluster:c200453199923b01cc5409c22e1fa472    Name:vol_bfeab3aacd1cb9cb21142b5d90b8fdd8

要查看卷砖,请使用Gluster卷信息命令。

# gluster volume info vol_21e37ed5fa796e764503fcd7f5ac1d65
Volume Name: vol_21e37ed5fa796e764503fcd7f5ac1d65
Type: Replicate
Volume ID: 66129da3-e6c1-4b8a-9a59-05d8c390d99d
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 10.10.1.88:/var/lib/heketi/mounts/vg_fc107456200a59cb281297221910acb9/brick_5cc64586a9afd6a5c3e6ae192ef36e50/brick
Brick2: 10.10.1.86:/var/lib/heketi/mounts/vg_c1d0e019f9b7e489c3492c1287fd9833/brick_dab79b7c59011cac54a2d7cb1e753bdf/brick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off

如果我们使用Glusterfs客户端乘坐Glusterfs卷,则命令语法是:

mount -t glusterfs server:brick_path /mountpoint

删除Gluster卷

我们可以使用HEKEKI-CLI或者Gluster命令删除创建的卷。

语法:

heketi-cli volume delete <volumeid>

例子:

# heketi-cli volume list | grep vol_21e37ed5fa796e764503fcd7f5ac1d65
Id:21e37ed5fa796e764503fcd7f5ac1d65    Cluster:c200453199923b01cc5409c22e1fa472    Name:vol_21e37ed5fa796e764503fcd7f5ac1d65
# heketi-cli volume delete 21e37ed5fa796e764503fcd7f5ac1d65
Volume 21e37ed5fa796e764503fcd7f5ac1d65 deleted

如果使用Gluster命令,请首先停止卷然后删除

# gluster volume stop vol_c8d8e520e64c5c583b8807576a61128c
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: vol_c8d8e520e64c5c583b8807576a61128c: success
# gluster volume delete vol_c8d8e520e64c5c583b8807576a61128c
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: vol_c8d8e520e64c5c583b8807576a61128c: success