2017-10-20 84 views
1

我正在使用pgbench进行性能测试,以评估使用Glusterfs和Postgresql的影响。我已经创建了3砖/服务器gluster复制卷:性能测试错误PostgreSQL和GlusterFS

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 

之后,我已配置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. 

有什么理由说明这是什么原因造成的?

+0

您是否禁用了'full_page_writes'? –

回答

0

Gluster不支持“结构化数据”,如GlusterFS Install Guide说:

Gluster不支持所谓的“结构化数据”,意为住,SQL数据库。当然,使用Gluster来备份和恢复数据库会很好 - 当使用至少16KB的文件大小(大约128KB左右的甜蜜点)时,Gluster传统上会更好。

我的猜测是Gluster可以在负载很小的时候跟上复制的速度,但当负载增加到某个点以上时就会出现问题,可能会导致裂脑错误。

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