PostgreSQL 和 GlusterFS 性能测试出错

DRe*_*eis 6 postgresql glusterfs

我正在使用 pgbench 进行性能测试,以评估将 Glusterfs 与 Postgresql 一起使用的影响。我创建了一个带有 3 个砖块/服务器的 gluster 复制卷:

Volume Name: gv0
Type: Replicate
Volume ID: a7e617ec-c564-4a01-aec9-807e87fcccb3
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: 10.112.76.37:/export/sdb1/brick
Brick2: 10.112.76.38:/export/sdb1/brick
Brick3: 10.112.76.39:/export/sdb1/brick
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
Run Code Online (Sandbox Code Playgroud)

之后,我将 postgres 配置为使用卷 gv0。在低压力下一切正常。但是,当负载增加时,会出现以下错误:

client 14 aborted in state 9: ERROR:  unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT:  This has been seen to occur with buggy kernels; consider updating your system.
client 7 aborted in state 9: ERROR:  unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT:  This has been seen to occur with buggy kernels; consider updating your system.
client 5 aborted in state 9: ERROR:  unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT:  This has been seen to occur with buggy kernels; consider updating your system.
client 6 aborted in state 9: ERROR:  unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT:  This has been seen to occur with buggy kernels; consider updating your system.
client 8 aborted in state 9: ERROR:  unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT:  This has been seen to occur with buggy kernels; consider updating your system.
client 0 aborted in state 9: ERROR:  unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT:  This has been seen to occur with buggy kernels; consider updating your system.
client 11 aborted in state 9: ERROR:  unexpected data beyond EOF in block 0 of relation base/16384/16503
HINT:  This has been seen to occur with buggy kernels; consider updating your system.
Run Code Online (Sandbox Code Playgroud)

知道是什么原因造成的吗?

小智 1

Gluster 不支持“结构化数据”,如GlusterFS 安装指南中所述:

\n\n
\n

Gluster 不支持所谓的 \xe2\x80\x9c 结构化数据\xe2\x80\x9d,即实时 SQL 数据库。当然,使用 Gluster 来备份和恢复数据库会很好 - 当使用至少 16KB 的文件大小(最佳位置约为 128KB 左右)时,Gluster 传统上会更好。

\n
\n\n

我的猜测是,当负载较小时,Gluster 可以跟上复制的速度,但当负载增加到某个点以上时,Gluster 就会陷入困境,可能会导致裂脑错误。

\n\n

您可以使用命令查看裂脑中的文件gluster volume heal <volume_name> info split-brain,或者gluster volume heal <volume_name> info查看所有需要修复的文件。

\n