在具有仲裁器(仲裁)卷的 gluster 文件系统上,df 报告仲裁器卷的空闲/已用空间,而不是实际可用空间。
场景由 3 个服务器组成,其中一个用于 quorum briks
对于所有服务器:
[root@arbiter ~]# cat /etc/redhat-release CentOS Linux release
7.2.1511 (Core)
[root@arbiter ~]# glusterfs --version
glusterfs 3.7.15 built on Aug 30 2016 15:25:13
同行
[root@arbiter ~]# gluster peer status
Number of Peers: 2
Hostname: node1
Uuid: ********************
State: Peer in Cluster (Connected)
Hostname: node2
Uuid: ********************
State: Peer in Cluster (Connected)
砖尺寸:
[root@arbiter ~]# df -hT /bricks/brick?
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdc1 xfs 1020M 43M 978M 5% /bricks/brick1
/dev/sdd1 xfs 1020M 34M 986M 4% /bricks/brick2
[root@node1,2 ~]# df -hT /bricks/brick?
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdc1 xfs 8.0G 493M 7.6G 7% /bricks/brick1
/dev/sdd1 xfs 8.0G 38M 8.0G 1% /bricks/brick2
体积
[root@arbiter ~]# gluster volume info
Volume Name: glustervol1
Type: Distributed-Replicate
Volume ID: ********************
Status: Started
Number of Bricks: 2 x (2 + 1) = 6
Transport-type: tcp
Bricks:
Brick1: node1:/bricks/brick1/brick
Brick2: node2:/bricks/brick1/brick
Brick3: arbiter:/bricks/brick1/brick (arbiter)
Brick4: node1:/bricks/brick2/brick
Brick5: node2:/bricks/brick2/brick
Brick6: arbiter:/bricks/brick2/brick (arbiter)
Options Reconfigured:
performance.readdir-ahead: on
该系统本身安装在客户端上
[root@glusterclient ~]# mount -t glusterfs <anynode>:/glustervol1 /mnt/glustervol1
我预计大约有 8G 的可用空间,但 df 报告磁盘大小等于仲裁卷:
[root@glusterclient ~]# df -hT /mnt/glustervol1
Filesystem Type Size Used Avail Use% Mounted on
arbiter:/glustervol1 fuse.glusterfs 2.0G 77M 2.0G 4% /mnt/glustervol1
当谈到磁盘使用情况时,du 看到的空间是文件占用的空间:
[root@glusterclient ~]# du /mnt/glustervol1 -h --max-depth=1
0 /mnt/glustervol1/.trashcan
258M /mnt/glustervol1/test
3.4M /mnt/glustervol1/test1
261M /mnt/glustervol1
但我不知道如何检查实际可用和已占用的卷空间;尝试用谷歌搜索答案,但显然没有其他人有相同的用例(节点+仲裁器)
答案1
Glusterfs 只允许卷的大小与最小的砖块大小相同,即使使用仲裁卷也是如此。仲裁砖块大小需要与其他砖块大小相匹配。
这显然是 LVM 精简配置的工作,因为创建一个巨大的厚配置仲裁块会浪费空间。这也是推荐此配置的另一个原因,但很少被提及。