作为 Ceph 集群管理员,您需要通过运行特定命令来配置和调整集群行为。您将需要运行以下几种类型的命令:
这些命令可帮助您部署或升级 Ceph 集群、同时在数个(或所有)集群节点上运行命令,它们还可在您添加或删除集群节点时为您提供协助。最常用的命令是 salt
、salt-run
和 deepsea
。您需要以 root
身份在 Salt Master 节点上运行 Salt 命令(有关详细信息,请参见第 5.2 节 “DeepSea 简介”)。通过以下提示符来引入这些命令:
root@master #
例如:
root@master #
salt '*.example.net' test.ping
这些是更低级别的命令,可在命令行上配置和微调集群及其网关的所有方面,例如,ceph
、rbd
、radosgw-admin
或 crushtool
。
要运行与 Ceph 相关的命令,您需要拥有 Ceph 密钥的读取访问权限,而密钥的用户权限则定义您在 Ceph 环境内的权限。一种方案是以 root
身份(或通过 sudo
)运行 Ceph 命令,并使用不受限的默认密钥环“ceph.client.admin.key”。
建议您使用更安全的方案,即为每个管理员用户创建限制性更高的单独密钥,并将其存放在用户可读取的目录中,例如:
~/.ceph/ceph.client.USERNAME.keyring
要使用自定义管理员用户和密钥环,每次运行 ceph
命令(使用 -n client.USER_NAME
和 --keyring PATH/TO/KEYRING
选项)时,都需要指定该密钥的用户名和路径。
要避免此情况,请在 CEPH_ARGS
变量(位于各用户的 ~/.bashrc
文件中)中包含这些选项。
尽管您可以在任何集群节点上运行与 Ceph 相关的命令,但我们建议您在管理节点上运行。此文档使用 cephadm
用户来运行命令,因此通过以下提示符来引入命令:
cephadm@adm >
例如:
cephadm@adm >
ceph auth list
如果文档指示您在集群节点上以特定角色来运行命令,应通过该提示符来寻址。例如:
cephadm@mon >
与 Ceph 或 DeepSea 无关的 Linux 命令(例如 mount
、cat
或 openssl
)通过 cephadm@adm >
或者 root #
提示符引入,具体使用哪个提示符取决于相关命令所需的权限。
有关 Ceph 密钥管理的详细信息,请参见第 8.2 节 “密钥管理”。