Ceph Deploy 配置¶
从版本 1.4 开始,ceph-deploy 使用一个配置文件,该文件可以是以下之一
cephdeploy.conf(在当前目录中)$HOME/.cephdeploy.conf(隐藏在用户主目录中)
此配置文件允许设置 ceph-deploy 的某些行为,这些行为很难在命令行上设置,或者设置起来很麻烦。
文件本身遵循 INI 样式的配置,这意味着它由部分(在方括号中)组成,这些部分可能包含任意数量的键/值对。
如果在当前工作目录或用户主目录中找不到配置文件,ceph-deploy 将继续在主目录中创建一个。
这是一个默认配置文件的样子
#
# ceph-deploy configuration file
#
[ceph-deploy-global]
# Overrides for some of ceph-deploy's global flags, like verbosity or cluster
# name
[ceph-deploy-install]
# Overrides for some of ceph-deploy's install flags, like version of ceph to
# install
#
# Repositories section
#
# yum repos:
# [myrepo]
# baseurl = https://user:pass@example.org/rhel6
# gpgurl = https://example.org/keys/release.asc
# default = True
# extra-repos = cephrepo # will install the cephrepo file too
#
# [cephrepo]
# name=ceph repo noarch packages
# baseurl=https://ceph.net.cn/rpm-emperor/el6/noarch
# enabled=1
# gpgcheck=1
# type=rpm-md
# gpgkey=https://download.ceph.com/keys/release.asc
# apt repos:
# [myrepo]
# baseurl = https://user:pass@example.org/
# gpgurl = https://example.org/keys/release.asc
# default = True
# extra-repos = cephrepo # will install the cephrepo file too
#
# [cephrepo]
# baseurl=https://ceph.net.cn/rpm-emperor/el6/noarch
# gpgkey=https://download.ceph.com/keys/release.asc
部分¶
要使用 ceph-deploy 配置,请务必注意,所有与 ceph-deploy 标志和状态相关的部分都带有前缀 ceph-deploy-,后跟子命令或 global(如果它属于全局标志)。
任何没有前缀 ceph-deploy- 的其他部分都被视为一个存储库。
存储库可能非常复杂,而且大多数时候(特别是对于 yum 存储库)它们也可能非常冗长。
设置默认标志或值¶
因为配置加载允许指定与 CLI 中相同的标志,所以可以设置默认值。例如,假设用户总是希望以以下方式安装 Ceph(不创建/修改远程存储库文件)
ceph-deploy install --no-adjust-repos {nodes}
这可以通过在配置文件中的正确部分设置来成为默认行为,它应该看起来像这样
[ceph-deploy-install]
adjust_repos = False
adjust_repos 的默认值是 True,但是因为我们将其更改为 False,所以 CLI 现在将更改此行为,而无需传递任何标志。
存储库部分¶
键将取决于将使用它的包管理器类型。yum 的某些键是必需的(如 baseurl),而其他一些键(如 gpgcheck)是可选的。
对于 yum 和 apt,这些都是存储库部分中所有必需的键
- baseurl
- gpgkey
如果缺少必需的键,ceph-deploy 将中止安装过程,并显示错误,指出缺少的部分和键。
在 yum 中,存储库名称取自该部分,因此如果该部分是 [foo],则存储库的名称将为 foo repo,写入 /etc/yum.repos.d/ 的文件名将为 foo.repo。
对于 apt,情况相同,只是目录位置更改为:/etc/apt/sources.list.d/,文件变为 foo.list。
yum 的可选值¶
name:存储库的描述性名称。如果未提供,则使用 {repo section} repo
enabled:默认为 1
gpgcheck:默认为 1
type:默认为 rpm-md
gpgcheck:默认为 1
默认存储库¶
对于需要默认存储库的安装,可以在该部分中添加一个键以指示它是默认存储库
[myrepo]
default = true
当检测到默认存储库时,它会在日志输出中提及,并且 ceph 最终将从该存储库安装。
额外存储库¶
如果需要安装除主存储库之外的其他存储库,则应添加一个键来表示此需求,其值为逗号分隔的其他存储库部分的名称(就像示例配置文件所演示的那样)
[myrepo]
baseurl = https://user:pass@example.org/rhel6
gpgurl = https://example.org/keys/release.asc
default = True
extra-repos = cephrepo # will install the cephrepo file too
[cephrepo]
name=ceph repo noarch packages
baseurl=http://ceph.com/rpm-emperor/el6/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
在这种情况下,名为 myrepo 的存储库定义了 extra-repos 键,只有一个额外的存储库:cephrepo。
这个额外存储库必须作为配置文件中的一个部分存在。在添加了主存储库之后,所有定义的额外存储库都将紧随其后。Ceph 的安装只会在主存储库中进行。