似乎无法找到有关 Gluster 最新版本 (3.2.x) 的配置文件的任何信息。我想使用配置文件而不是 CLI,因为我想使用 chef 自动进行配置。
这可能吗?当我在 Google 上搜索时,我找到的只有这个,这没什么用: http://community.gluster.org/q/does-glusterfs-support-configuration-files/
如何做到这一点?
答案1
顺便说一句,我现在正在做同样的事情,并且想出了一些可行的解决方案。
假设:使用 EL6 平台。
3.2.x 版 Gluster 软件包可从 EPEL repo 获得。除了 Gluster.org 之外。与 EPEL 软件包的工作方式相比,它们存在很大差异。Gluster.org 软件包完全由命令行驱动。EPEL 软件包具有服务器和客户端软件包,并遵循配置文件。请注意,您必须通过修改 /etc/sysconfig 下的相关 glusterfs 配置文件来要求它加载配置文件。
显然,有一本食谱姆舒勒,从而建立跨 2 个存储服务器的 AFR(自动文件复制)。我还没有测试过它,因为它完全是 ubuntu 专用的,但在这里应该可以工作。
我正在测试使用客户端复制的 AFR并且能够仅通过配置文件使其工作。
我对于使用 EPEL 的软件包持怀疑态度,因为我读到 Gluster 正在从基于配置文件的配置转向完全基于命令行的配置。(我可能错了,需要确认)。
答案2
任何软件包的任何 API/CLI/任何东西都可以在进行更改时确保生成的配置的一致性/有效性,在软件更新之间迁移配置等。当您直接从外部自动化工具生成配置文件时,所有这些都会被丢弃,因此这通常是最后的手段,GlusterFS 也不例外。我不得不为 HekaFS 这样做,但即使作为一个能够影响 GlusterFS 更改(可能会破坏 HekaFS 生成的配置)的人,我仍然认为这是一种不幸的必要条件。
配置文件格式本身非常简单。我花了一个小时左右的时间编写了一个 Python 解析器/生成器。生成一个正确的配置文件集在满足依赖关系或转换器之间的分层约束或设置所有必要选项方面有点困难。我们还支持实时配置更改,而无需重新启动守护进程,并且在当前管理基础架构之外生成相关的 RPC 消息以通知它们配置更改几乎是不可能的(更不用说不安全了),因此基于重写配置文件的基于 chef 的方法显然不如现有的方法。
如果需要做一些事情来实现 Chef 集成和CLI 更容易,请务必通过 Bugzilla、电子邮件、IRC 等方式告知我。我很乐意提供帮助,但不会采用以前尝试过且总是导致严重破坏的方法。