当前位置: 首页 > 工具软件 > ​GlusterFS > 使用案例 >

GlusterFS常见术语、卷类型和指令

宋伟泽
2023-12-01

最近在学习分布式存储,用到了开源工具GlusterFS,就写点东西吧。

新手上路,多多指教-


常见术语

Xlator=translator:glusterfs 模块的代名词

Brick :存储目录是Glusterfs的基本存储单元,由可信存储池中服务器上对外

输出的目录表示。存储目录的格式由服务器和目录的绝对路径构成,具体如下:

SERVER:EXPORT.例如:myhostname:/exports/myexportdir/

Volume :卷是存储目录的逻辑组合。大部分gluster 管理操作是在卷上进行的。

Metadata:元数据关于数据的数据,用于描述文件、目录等的相关信息。

FUSE=Filesystem inUserspace: 是一个内核模块,允许用户创建自己的文件系

统无需修改内核代码。

Glusterd : Glusterfs 后台进程,运行在所有Glusterfs 节点上。

DistributeVolume: 分布式卷

ReplicateVolume: 副本卷

StripeVolume: 条带卷

DistributeReplicate Volume: 分布式副本卷

DHT=Distribute HashTable

AFR=Automatic FileReplication

SAN = Storage AreaNetwork: 存储区域网络是一种高速网络或子网络,提供在计算机与存储之间的数据传输。

NAS = Network-attachedstorage:网络附属存储是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。

RPC =Remote ProcedureCall: 远程过程调用

XDR =eXtern DataRepresentation: RPC 传递数据的格式

CLI=Command LineInterface 控制台

argp=Argument Parser

UUID=University UnqiueIdentifier

SVC =service

CLNT =client

MGMT=management

cbks = Call Backs

ctx = context

lk = lock

attr = attribute

txn = transaction

rb = replace brick

worm = write once , readmany

Glusterfs .glusterfs目录

.glusterfs目录大小基本是等于当前brick中的所有文件大小,原因是里面主要存放的是brick中文件的硬链接。

常见卷类型

1. Distributed Glusterfs Volume

   分布式卷,只做分布式,无冗余、副本等容灾措施,一旦操作失败,数据将会丢失

​2. Replicated Glusterfs Volume

    副本卷,做副本,即使某个块brick中文件丢失,还可以通过其他副本找回

    复制卷相当于 RAID1,在向 GlusterFS 中存储文件时,GlusterFS 将其拷贝到所有节点,并且是同步的,这会极大降低磁盘性能,并     呈线性降低,但是复制卷随着节点数量增加,起数据冗余能力也在增加,因为每个节点上都有一份数据的完全拷贝,创建复制卷命     令如下

3. Distributed Replicated Glusterfs Volume

    分布式副本卷,结合上者的特点,提供分布式冗余存储策略。

​4. Striped Glusterfs Volume

    条带卷,将大文件拆分到多个bricks中(每个brick都存储文件的部分),调高访问效率,无冗余机制、

5. Distributed Striped Glusterfs Volume

    分布式条带卷,提供分布式文件存储,并将文件平均分配到各个bricks。(块数=stripe*n(1,2,3...)

常见指令

1.      启动/关闭/查看glusterd服务

# /etc/init.d/glusterd start

# /etc/init.d/glusterd stop

# /etc/init.d/glusterd status

 

2.      开机自动启动glusterd服务

# chkconfig glusterd on # Red Hat

# update-rc.d glusterd defaults # Debian

# echo "glusterd" >>/etc/rc.local# Others

 

3.      查看配置信息

# cat /etc/rc.local

 

4.      为存储池添加/移除服务器节点

在其中一个节点上操作即可:

# gluster peer probe <SERVER>

# gluster peer detach <SERVER>

注意,移除节点时,需要提前将该节点上的Brick移除。

查看所有节点的基本状态(显示的时候不包括本节点):

# gluster peer status

 

5.      挂载分区

# mount -t ext4 /dev/sdd1 /mnt/brick1

 

6.      创建/启动/停止/删除卷

# gluster volume create<NEW-VOLNAME>[stripe <COUNT> | replica <COUNT>] [transport[tcp | rdma | tcp,rdma]] <NEW-BRICK1> <NEW-BRICK2><NEW-BRICK3> <NEW-BRICK4>...

# gluster volume start <VOLNAME>

# gluster volume stop <VOLNAME>

# gluster volume delete <VOLNAME>

注意,删除卷的前提是先停止卷。

 

7.      客户端以glusterfs方式挂载

# mount -t glusterfs<SERVER>:/<VOLNAME><MOUNTDIR>

对于OpenStack,计算和控制节点都要挂载/var/lib/nova/instances,控制节点还要挂载/var/lib/glance/images。

 

8.      查看卷信息

列出集群中的所有卷:

# gluster volume list

查看集群中的卷信息:

# gluster volume info [all]

查看集群中的卷状态:

# gluster volume status [all]

# gluster volume status <VOLNAME>[detail| clients | mem | inode | fd]

查看本节点的文件系统信息:

# df -h [<MOUNT-PATH>]

查看本节点的磁盘信息:

# fdisk -l

 

9.       配置卷

# gluster volume set <VOLNAME><OPTION> <PARAMETER>

 

10.   扩展卷

# gluster volume add-brick <VOLNAME><NEW-BRICK>

注意,如果是复制卷或者条带卷,则每次添加的Brick数必须是replica或者stripe的整数倍。

 

11.   收缩卷

先将数据迁移到其它可用的Brick,迁移结束后才将该Brick移除:

# gluster volume remove-brick <VOLNAME><BRICK> start

在执行了start之后,可以使用status命令查看移除进度:

# gluster volume remove-brick<VOLNAME> <BRICK> status

不进行数据迁移,直接删除该Brick:

# gluster volume remove-brick<VOLNAME> <BRICK> commit

注意,如果是复制卷或者条带卷,则每次移除的Brick数必须是replica或者stripe的整数倍。

 

12.   迁移卷

使用start命令开始进行迁移:

# gluster volume replace-brick<VOLNAME> <BRICK> <NEW-BRICK> start

在数据迁移过程中,可以使用pause命令暂停迁移:

# gluster volume replace-brick<VOLNAME> <BRICK> <NEW-BRICK> pause

在数据迁移过程中,可以使用abort命令终止迁移:

# gluster volume replace-brick<VOLNAME> <BRICK> <NEW-BRICK> abort

在数据迁移过程中,可以使用status命令查看迁移进度:

# gluster volume replace-brick<VOLNAME> <BRICK> <NEW-BRICK> status

在数据迁移结束后,执行commit命令来进行Brick替换:

# gluster volume replace-brick<VOLNAME> <BRICK> <NEW-BRICK> commit

 

13.   重新均衡卷

不迁移数据:

# gluster volume rebalance <VOLNAME>lay-outstart

# gluster volume rebalance <VOLNAME>start

# gluster volume rebalance <VOLNAME>startforce

# gluster volume rebalance <VOLNAME>status

# gluster volume rebalance <VOLNAME>stop

 

14.   系统扩展维护

开启/关闭系统配额:

# gluster volume quota <VOLNAME>enable | disable

设置目录配额:

# gluster volume quota <VOLNAME>limit-usage <DIR> <VALUE>

查看配额:

# gluster volume quota <VOLNAME> list[<DIR>]

地域复制(geo-replication):

# gluster volume geo-replication<MASTER> <SLAVE> start | status | stop

IO信息查看:

# gluster volume profile <VOLNAME>start | info | stop

Top监控:

Top命令允许你查看Brick的性能,例如:read,write, file open calls, file read calls, file write calls,directory opencalls, and directory real calls。所有的查看都可以设置 top数,默认100。

查看打开的 fd:

# gluster volume top <VOLNAME>open[brick <BRICK>] [list-cnt <COUNT>]

其中,open可以替换为read,write, opendir, readdir等。

查看每个 Brick 的读性能:

# gluster volume top <VOLNAME>read-perf [bs <BLOCK-SIZE> count <COUNT>] [brick <BRICK>][list-cnt <COUNT>]

其中,read-perf可以替换为write-perf等。

 引用:

http://blog.csdn.net/i_chips/article/details/12656527

http://blog.csdn.net/ismr_m/article/details/53391740

 类似资料: