我使用 glusterfs 5.3 在 Cloudstack/KVM 环境中存储虚拟机映像,大多数虚拟机都是数据库服务器(Sql Server 和 MariaDB)。但我在虚拟机上遇到了性能问题,特别是在数据库服务器上。即使在小型数据库中,我也遇到了很多超时问题。此外,我觉得与本地存储或 NFS 上的虚拟机相比,虚拟机的 GUI 和启动时间也相当慢。
我搜索了很多调整方法,但找不到任何可行的解决方案,所以请指导我是否缺少任何配置参数,或者我应该选择 ceph RBD 或 CLVM 或任何其他解决方案来应对这种工作负载?
这是砖块信息
选项重新配置:
cluster.choose-local:关闭
user.cifs:关闭
features.shard:打开
cluster.shd-wait-qlength:10000
cluster.shd-max-threads:8
cluster.locking-scheme:粒度
cluster.data-self-heal-algorithm:完整
cluster.server-quorum-type:服务器
cluster.quorum-type:自动
cluster.eager-lock:启用
network.remote-dio:启用
performance.low-prio-threads:32
performance.io-cache:关闭
performance.read-ahead:关闭
performance.quick-read:关闭
storage.owner-gid:107
storage.owner-uid:107
cluster.lookup-optimize:打开
client.event-threads:4
transport.address-family:inet
nfs.disable:打开
performance.client-io-threads:打开
服务器通过专用的 10G 接口连接到 gluster 节点。
答案1
这不是您想要的答案。
您是否考虑过本地存储+数据库的定期备份?
我采用了通过 NFS 存储和 ZVOL 运行数据库的方式,但是它们的速度非常慢,并且通过网络传输的额外复杂性总是会导致你不想要的问题。
随后,我将这些数据库服务器改用本地 RAID 固态硬盘,从此它们运行如冠军般顺畅,性能大幅提升,并且完全没有存储相关问题。虽然这听起来很乐观,但如果本地磁盘出现故障(它们最终都会出现故障),则需要从备份中恢复 - 因此请务必进行备份,观察是否经常发生备份,并检查它们是否可以恢复。
您的数据库大小可能也会影响到这一点。
答案2
使用带有 CloudStack 的 Ceph/RBD,社区中的很多用户将它与 KVM + CloudStack 一起使用。