Ceph Dashboard 是一个扩展模块,它在 Ceph Manager 中增加了基于 Web 的内置监视和管理应用(有关 Ceph Manager 的更多详细信息,请参见第 1.2.3 节 “Ceph 节点和守护进程”)。现在,您不必了解复杂的 Ceph 相关命令,便可轻松管理和监视您的 Ceph 集群。您可以使用 Ceph Dashboard 的直观 Web 界面,也可以使用其内置 REST API。
在部署过程中的 DeepSea 阶段 3,系统会自动启用和配置 Ceph Dashboard(请参见第 5.3 节 “集群部署”)。在具有多个 Ceph Manager 实例的 Ceph 集群中,只有当前活跃的 Ceph Manager 守护进程上运行的仪表盘会处理传入请求。系统会将访问任何其他当前待机 Ceph Manager 实例上的仪表盘 TCP 端口的请求进行 HTTP 重定向 (303),转到当前活跃 Ceph Manager 的仪表盘 URL。如此,无论您将浏览器指向任何 Ceph Manager 实例,都可以访问该仪表盘。在利用防火墙保障访问安全或规划 HA 设置时,请考虑此种行为。
要登录仪表盘 Web 应用,请将浏览器指向其 URL,包括端口号。您可以通过运行以下命令找到其网址
cephadm@adm >
ceph mgr services | grep dashboard
"dashboard": "https://ses-dash-node.example.com:8443/",
您需要有用户帐户才能登录仪表盘 Web 应用。DeepSea 会为您创建一个拥有管理员权限的默认用户“admin”。如果您决定使用默认的“admin”用户登录,请通过运行以下命令获取相应密码
root@master #
salt-call grains.get dashboard_creds
如果您不想使用默认“admin”帐户访问 Ceph Dashboard,请创建拥有管理员权限的自定义用户帐户。有关更多详细信息,请参见 第 22.10 节 “在命令行上管理用户和角色”。
仪表盘用户界面在图形上分为以下几块:实用程序菜单、主菜单和主内容窗格。
内容窗格占据仪表盘屏幕的主要部分。仪表盘首页上显示了很多有用的控件,为您提供集群当前状态、容量及性能的概要信息。
在 Ceph Dashboard 中,您经常会用到列表 — 例如,存储池列表、OSD 节点列表或 RBD 设备列表。所有列表默认每 5 秒会自动刷新一次。下列常用控件可帮助您管理或调整这些列表:
点击 可手动触发列表的刷新。
点击 可显示或隐藏表格的相应列。
点击 并选择要在一页上显示多少行。
在 中点击并键入要搜索的字符串以过滤行。
如果列表跨多页显示,可使用 来更改当前显示的页。
每个仪表盘控件显示与运行中 Ceph 集群特定方面相关的特定状态信息。有些控件是活跃链接,点击它们会将您重定向到其所代表主题的相关详细页面。
有些图形控件会在您将鼠标移到其上时显示更多详细信息。
有关在命令行上通过 Ceph 命令执行仪表盘用户管理的说明,请参见第 22.10 节 “在命令行上管理用户和角色”。
本节说明如何使用仪表盘 Web 用户界面来管理用户帐户。
点击用户表中对应的行,然后选择
可编辑用户的详细信息。点击 进行确认。点击用户表中对应的行,然后选择
可删除用户帐户。激活 复选框,然后点击 进行确认。点击表标题左上方的
可添加新的自定义角色。输入其名称、描述并设置针对各主题的必需权限。
如果您创建了自定义用户角色,并打算以后使用 ceph.purge
运行程序删除 Ceph 集群,则需要先清除自定义角色。有关详细信息,请参见第 2.16 节 “删除整个 Ceph 集群”。
通过激活主题名称前的复选框,您可以激活针对该主题的所有权限。通过激活
复选框,您可以激活针对所有主题的所有权限。点击
进行确认。点击自定义角色表中对应的行,然后选择表标题左上方的
,即可编辑自定义角色的描述和权限。点击 进行确认。点击角色表中对应的行,然后选择
可删除角色。激活 复选框,然后点击 进行确认。菜单项可让您查看有关 Ceph 集群主机、OSD、MON、CRUSH 索引和日志文件内容的详细信息。
点击
› 可查看集群节点列表。点击
列中的节点名称可查看该节点的性能详细信息。列中会列出每个相关节点上正在运行的所有守护进程。点击守护进程名称可查看其详细配置。
点击
› 可查看具有正在运行的 Ceph Monitor 的集群节点列表。该列表包含每个 Monitor 的排位号、外部 IP 地址和活动会话的数量。列表分为两个表:一个表显示属于仲裁成员的 Ceph Monitor,另一个表显示不属于仲裁成员的 Ceph Monitor。
点击
列中的节点名称可查看相关的 Ceph Monitor 配置。表显示有关运行中 Ceph Monitor 的一般统计数据。
点击
› 可查看具有正在运行的 OSD 守护进程/磁盘的节点列表。该列表包含每个节点的名称、状态、归置组数量、大小、使用率、不同时间的读/写图表和每秒读/写操作比率。点击表标题中的
,会弹出一个窗口,其中会列出适用于整个集群的标志。您可以激活或停用单个标志,然后点击 进行确认。点击表标题中的
,会打开一个弹出窗口,其中会列出适用于整个集群的 OSD 恢复优先级。您可以激活首选的优先级配置,并对下面的各个值进行微调。点击 进行确认。点击
列中的节点名称,可查看含有 OSD 设置和性能详细信息的扩展表。您可以在数个选项卡之间切换,查看 、 、 列表以及读/写操作次数的图形 。点击 OSD 节点名称后,表中该节点对应的行的颜色会发生细微变化,这表示您现在可以在该节点上执行任务了。点击表标题左上方的向下箭头,然后选择要执行的任务,例如
。为任务输入所需的值(可选),然后确认在节点上运行该任务。点击
› 可查看 Ceph 集群配置选项的完整列表。该列表包含选项的名称、其简短描述,以及选项的当前值和默认值。点击特定选项行可高亮显示和查看该选项的详细信息,例如其值类型、允许的最大和最小值、是否可在运行时更新等等。
高亮显示特定选项后,您可以通过点击表标题左上方的
按钮来编辑它的值。点击 确认更改。点击根、节点或单个 OSD 可查看更多详细信息,例如 CRUSH 权重、索引树的深度、OSD 的设备类型等等。
点击
› 可查看可用 Ceph Manager 扩展模块的列表。每行包含扩展模块名称以及该扩展模块当前启用与否的信息。高亮显示特定扩展模块后,您可以在下面的
表中查看其详细设置。点击表标题左上方的 按钮可进行编辑。点击 确认更改。要列出所有可用的存储池,请点击主菜单中的
(存储池)。该列表显示每个存储池的名称、类型、相关应用、归置组状态、副本个数、纠删码配置、使用率以及读/写统计数据。
要查看有关存储池的更多详细信息,请激活表中对应的行。
要添加新存储池,请点击存储池表左上方的
。您可以在存储池表单中输入存储池的名称、类型、归置组数量及其他信息,例如存储池的应用、压缩模式和算法。存储池表单会自行预先计算最适合此特定存储池的归置组数量。计算以集群中的 OSD 数量和选定存储池类型及其特定设置为依据。如果手动设置了归置组数量,计算出的数量会替换设置的数量。点击 进行确认。要删除某个存储池,请点击表中对应的行,然后点击存储池表左上方的
。要编辑某个存储池的选项,请点击表中对应的行,然后选择存储池表左上方的
。您可以更改存储池的名称、增加归置组的数量、更改存储池的应用列表和压缩设置。点击
进行确认。要列出所有可用的 RADOS 块设备 (RBD),请点击主菜单中的
› 。该列表显示有关设备的简要信息,例如设备的名称、相关存储池名称、设备大小、设备上对象的数量和大小。
要添加新设备,请点击表标题左上方的
,然后在 屏幕上执行以下操作:输入新设备的名称。有关命名限制,请参见第 2.10 节 “命名限制”。
选择要在其中创建新 RBD 设备且指定了“rbd”应用的存储池。
指定新设备的大小。
为设备指定其他选项。要微调设备参数,请点击
,然后输入对象大小、条带单元或条带个数的值。要输入服务质量 (QoS) 限制,请点击 ,然后输入限制。点击
进行确认。要删除某个设备,请点击表中对应的行,然后选择表标题左上方的
点击 确认删除。删除 RBD 的操作无法撤消。如果您选择将设备
,那么稍后还可以将其恢复,只需在主表的 选项卡上选择该设备,然后点击表标题左上方的 。要创建 RADOS 块设备快照,请点击表中设备对应的行,然后在主表下的
选项卡中,点击表标题左上方的 。输入快照的名称,然后点击 进行确认。选择快照后,您可以在设备上执行其他操作,例如重命名、保护、克隆、复制或删除。
可根据当前快照恢复设备的状态。要列出所有可用网关和映射的映像,请点击主菜单中的
› 。 选项卡即会打开,列出当前配置的 iSCSI 网关和映射的 RBD 映像。表列出每个网关的状态、iSCSI 目标数量及会话数量。 表列出每个映射的映像的名称、相关存储池名称、后备存储类型及其他统计数据详细信息。
选项卡列出当前配置的 iSCSI 目标。
要查看有关某个目标的更多详细信息,请点击表中对应的行。一个树状结构纲要即会打开,列出磁盘、端口、授权人和组。点击某一项可将其展开并查看详细内容,右侧的表中也可能会显示其相关配置。
要添加新的 iSCSI 目标,请点击
表左上方的 ,并输入所需信息。输入新网关的目标地址。
点击
并从列表中选择一个或多个 iSCSI 门户。点击
并为网关选择一个或多个 RBD 映像。如果您需要使用身份验证才能访问网关,请选中
(身份验证)复选框并输入身份凭证。选中 和 之后,您可看到更多高级身份验证选项。点击
进行确认。要编辑某个现有 iSCSI 目标,请点击
表中对应的行,然后点击表左上方的 。然后,您便可以修改 iSCSI 目标、添加或删除端口,以及添加或删除相关 RBD 映像。您还可以调整网关的身份验证信息。
要删除某个 iSCSI 目标,请点击表中对应的行,然后选择网关表左上方的
。激活 ,然后点击 进行确认。QoS 选项可在不同级别配置。
全局
基于每个存储池
基于每个映像
全局配置位于列表顶部,将用于所有新创建的 RBD 映像,以及不会覆盖存储池或 RBD 映像层级相应值的映像。全局指定的选项值可能会被基于每个存储池或映像设置的值覆盖。对存储池指定的选项将适用于该存储池的所有 RBD 映像,除非被对映像设置的配置选项所覆盖。对映像指定的选项将覆盖对存储池指定的选项以及全局指定的选项。
因此可以如此操作:全局定义默认值,对默认值进行调整以适合特定存储池的所有 RBD 映像,然后覆盖单个 RBD 映像的存储池配置。
要全局配置 RBD 选项,请在主菜单中选择
› 。要列出所有可用的全局配置选项,请点击
› 。然后在搜索字段中过滤“rbd_qos”,以过滤表的结果。QoS 的所有可用配置选项即会列出。要更改某个值,请点击表中对应的行,然后选择表左上方的 。 对话框包含 6 个不同的字段供您指定值。在 文本框中,RBD 配置选项值是必填的。请注意,此对话框与其他对话框不同,不允许您使用方便的单位指定值。您只能使用字节或 IOPS 单位设置这些值,具体取决于您要编辑的选项。要创建新存储池并对其配置 RBD 配置选项,请点击
› 。选择 作为存储池类型。然后,您需要为存储池添加 应用标记,这样才能配置 RBD QoS 选项。对于纠删码存储池是无法配置 RBD QoS 配置选项的。要为纠删码存储池配置 RBD QoS 选项,您需要编辑 RBD 映像的副本元数据池。该配置随后将应用于该映像的纠删码数据池。
要对某个现有存储池配置 RBD QoS 选项,请点击
,然后点击表中该存储池对应的行,并选择表左上方的 。对话框中应该就会显示
部分,下面是 部分。如果 纠删码池,或该存储池未配置为供 RBD 映像使用。在下一个案例中,将为存储池指定 应用标记,相应的配置部分将会显示。
和 部分均未显示,则可能是因为您正在编辑无法用于设置 RBD 配置选项的点击
展开配置选项。所有可用选项的列表即会显示。文本框中已显示配置选项的单位。对于任何每秒字节数 (BPS) 选项,您可以选择使用“1M”或“5G”之类的缩写。系统会自动将其转换为对应的“1 MB/s”和“5 GB/s”。点击每个文本框右侧的重设置按钮,将删除对该存储池设置的所有值。此操作不会删除全局配置或对 RBD 映像配置的选项的配置值。
要创建 RBD 映像并对该映像设置 RBD QoS 选项,请选择
› ,然后点击 。点击 可展开高级配置部分。点击 可打开所有可用配置选项。要编辑现有映像的 RBD QoS 选项,请选择
› ,然后点击表中该存储池对应的行,最后点击 。编辑对话框随即显示。点击 可展开高级配置部分。点击 可打开所有可用配置选项。如果克隆或复制了 RBD 映像,对该特定映像设置的值默认也将被复制。如果您想在复制或克隆期间更改这些值,可通过在复制/克隆对话框中指定更新的配置值来进行更改,此过程与创建或编辑 RBD 映像时的方式相同。执行此操作只能设置(或重设置)所复制或克隆的 RBD 映像的值,无法更改来源 RBD 映像配置,也无法更改全局配置。
如果您选择在复制/克隆时重设置选项值,系统将不会对该映像设置该选项的值。这意味着系统将使用为父存储池指定的该选项的任何值(如果为父存储池配置了相应值)。如果没有为父存储池配置相应值,则将使用全局默认值。
您可以使用 Ceph Dashboard 在两个或更多集群之间配置 RBD 映像复制。
主集群是用于创建包含映像的原始存储池的集群。次集群是用于从主集群复制存储池/映像的集群。
在复制上下文中,主与次这两个术语有可能是相对的,因为相较于集群来说,它们与单个存储池更为相关。例如,在双向复制中,可将一个存储池从主集群镜像到次集群,与此同时,也可以将另一个存储池从次集群镜像到主集群。
rbd-mirror
守护进程 #
rbd-mirror
守护进程负责执行实际的集群数据复制。要安装、配置以及运行该守护进程,请执行以下步骤:
需要在次集群管理节点以外的其他某个节点上运行 rbd-mirror
守护进程。系统默认不会安装该守护进程,因此需手动安装:
root@minion >
zypper install rbd-mirror
在主集群上,为 rbd-mirror
守护进程创建唯一的 Ceph 用户 ID。在此示例中,我们使用“uid1”作为用户 ID:
cephadm@adm >
ceph auth get-or-create client.rbd-mirror.uid1 \
mon 'profile rbd-mirror' osd 'profile rbd'
[client.rbd-mirror.uid1]
key = AQBbDJddZKLBIxAAdsmSCCjXoKwzGkGmCpUQ9g==
在您先前安装了 rbd-mirror 安装包的次集群节点上,创建该 Ceph 用户,并将输出保存到密钥环:
root@minion >
ceph auth get-or-create client.rbd-mirror.uid1 \
mon 'profile rbd-mirror' osd 'profile rbd' \
> /etc/ceph/ceph.client.rbd-mirror.uid1.keyring
在同一节点上,启用并运行 rbd-mirror
服务:
root@minion >
systemctl enable ceph-rbd-mirror@rbd-mirror.uid1root@minion >
systemctl start ceph-rbd-mirror@rbd-mirror.uid1root@minion >
systemctl status ceph-rbd-mirror@rbd-mirror.uid1 ● ceph-rbd-mirror@rbd-mirror.uid1.service - Ceph rbd mirror daemon Loaded: loaded (/usr/lib/systemd/system/ceph-rbd-mirror@.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2019-10-04 07:48:53 EDT; 2 days ago Main PID: 212434 (rbd-mirror) Tasks: 47 CGroup: /system.slice/system-ceph\x2drbd\x2dmirror.slice/ceph-rbd-mirror@rbd-mirror.uid1.service └─212434 /usr/bin/rbd-mirror -f --cluster ceph --id rbd-mirror.test --setuser ceph --setgroup ceph Oct 04 07:48:53 doc-ses6min4 systemd[1]: Started Ceph rbd mirror daemon.
在次集群的 Ceph Dashboard 上,导航到 › 。 表的左侧会显示处于活跃状态的运行中 rbd-mirror
守护进程及其健康状况。
rbd-mirror
守护进程 #
rbd-mirror
守护进程需要拥有主集群的访问权限,才能镜像 RBD 映像。因此,您需要在主集群上创建同伴 Ceph 用户帐户,并告知次集群其密钥环信息:
在主集群上,创建将用于数据复制的新“client.rbd-mirror-peer”用户:
cephadm@adm >
ceph auth get-or-create client.rbd-mirror-peer \
mon 'profile rbd' osd 'profile rbd'
[client.rbd-mirror-peer]
key = AQBbDJddZKLBIxAAdsmSCCjXoKwzGkGmCpUQ9g==
在主和次两个集群上,创建名称相同的存储池并为其指定“rbd”应用。有关创建新存储池的更多详细信息,请参见第 22.4.1 节 “添加新存储池”。
在主和次两个集群的仪表盘上,导航到 › 。在 表右侧点击要复制的存储池的名称,然后点击 ,并选择复制模式。在此示例中,我们将使用存储池复制模式,也就是说将复制给定存储池中的所有映像。点击 进行确认。
更新复制模式后,右侧相应的列中会显示错误或警告标志。这是因为尚未为存储池指定用于复制的同伴用户。对于主集群,请省略此标志,因为我们只需为次集群指定同伴用户。
在次集群的仪表盘上,导航到 › 。点击要镜像的存储池名称并选择 ,以便将“client.rbd-mirror-peer”用户密钥环注册到该存储池中。提供主集群的详细信息:
用于识别主集群的任意唯一字符串,如“primary”。该集群名称不得与实际环境中次集群的名称相同。
您创建作为镜像同伴的 Ceph 用户 ID。此示例中为“rbd-mirror-peer”。
主集群的 Ceph Monitor 节点的 IP 地址/主机名称逗号分隔列表。
与同伴用户 ID 相关的密钥。您可以通过在主集群上运行以下示例命令来获得该密钥:
cephadm@adm >
ceph auth print_key client.rbd-mirror-peer
点击
进行确认。
如果 rbd-mirror
守护进程正在运行,在 Ceph Dashboard 上配置 RBD 映像复制后,就需要确认复制实际上是否有效:
在主集群的 Ceph Dashboard 上创建 RBD 映像,将您已创建用于复制目的的存储池设为其父存储池。为映像启用互斥锁
和日志
特性。有关如何创建 RBD 映像的详细信息,请参见第 22.5.3 节 “创建 RBD”。
创建要复制的映像后,打开次集群的 Ceph Dashboard,并导航到 › 。右侧的 表将在 所示数量的映像中反映该变化,并会同步 所示数量的映像。
在主集群上,将数据写入 RBD 映像。在次集群的 Ceph Dashboard 上,导航到 › ,监视相应映像大小的增长是否与主集群上写入的数据一致。
要列出所有可用的 NFS 导出项,请点击主菜单中的
。该列表会显示每个导出项的目录、守护进程主机名、存储后端类型以及访问类型。
要查看某个 NFS 导出项的更多详细信息,请点击表中对应的行。
要添加新的 NFS 导出项,请点击导出项表格左上方的
并输入所需的信息。选择一个或多个将运行导出项的 NFS Ganesha 守护进程。
选择存储后端 —
或 。选择用户 ID 及其他后端相关选项。
输入 NFS 导出项的目录路径。如果该目录在服务器上不存在,系统将创建该目录。
指定其他 NFS 相关选项,例如支持的 NFS 协议版本、伪、访问类型、匿名访问或传输协议。
如果您需要设置限制,仅允许特定的客户端访问,请点击
并添加它们的 IP 地址以及访问类型和匿名访问选项。点击
进行确认。要删除某个导出项,请点击表中对应的行,然后选择导出项表左上方的
。要查看配置的对象网关列表,请点击
› 。该列表包含网关的 ID、运行网关守护进程的集群节点的主机名以及网关的版本号。点击表中某个网关对应的行可查看该网关的详细信息。
选项卡显示有关读/写操作及缓存统计数据的详细信息。点击
› 可查看现有对象网关用户的列表。点击表中某个用户对应的行可查看该用户帐户的详细信息,例如状态信息或用户配额及存储桶配额详细信息。
要添加新网关用户,请点击表标题左上方的
。填写其身份凭证、有关 S3 密钥及用户/存储桶配额的详细信息,然后点击 进行确认。要删除某个网关用户,请点击表中用户对应的行,然后选择表标题左上方的
。激活 复选框,然后点击 进行确认。要更改网关用户详细信息,请点击表中用户对应的行,然后选择表标题左上方的
。修改基本或附加用户信息,例如其用户权限、密钥、子用户和配额信息。点击
进行确认。选项卡包含只读的网关用户列表以及这些用户的访问密钥和秘密密钥。要查看这些密钥,请点击列表中的用户名,然后选择表标题左上方的 。在 对话框中,点击眼睛图标可显示密钥,点击剪贴板图标可将相关密钥复制到剪贴板。
对象网关 (OGW) 存储桶实现了 OpenStack Swift 容器的功能。对象网关存储桶可充当存储数据对象的容器。
点击
› 可查看 OGW 存储桶列表。要添加新 OGW 存储桶,请点击表标题左上方的
。输入存储桶的名称,并选择其所有者。点击 进行确认。要查看某个 OGW 存储桶的详细信息,请点击表中对应的行。
您可以在
表下方查看存储桶配额设置的详细信息。要删除某个 OGW 存储桶,请点击表中对应的行,然后选择表标题左上方的
。激活 复选框,然后点击 进行确认。本节为更喜欢在命令行上手动配置仪表盘设置的用户提供了较深入的信息。
所有连至仪表盘的 HTTP 连接默认都使用 SSL/TLS 来保障安全。安全连接需要 SSL 证书。您可以使用自我签名证书,也可以生成证书并让知名证书颁发机构 (CA) 对其签名。
您可能会出于某种原因需要禁用 SSL 支持。例如,如果仪表盘是在不支持 SSL 的代理之后运行。
禁用 SSL 要慎重,因为禁用 SSL 后,用户名和密码将以未加密的形式发送到仪表盘。
要禁用 SSL,请运行以下命令:
cephadm@adm >
ceph config set mgr mgr/dashboard/ssl false
更改 SSL 证书和密钥后,您需要手动重启动 Ceph Manager 进程。您可以通过运行以下命令
cephadm@adm >
ceph mgr failACTIVE-MANAGER-NAME
或禁用后再重新启用仪表盘扩展模块的方式来执行此操作,如此还会触发 Manager 的自我重新生成:
cephadm@adm >
ceph mgr module disable dashboardcephadm@adm >
ceph mgr module enable dashboard
为了安全通讯而创建自我签名证书的过程非常简单。采用这种方式可迅速让仪表盘运行起来。
大多数 Web 浏览器都将对自我签名证书发起控诉,并需要在建立与仪表盘的安全连接前进行明确确认。
要生成并安装自我签名证书,请使用以下内置命令:
cephadm@adm >
ceph dashboard create-self-signed-cert
为了正确保障连至仪表盘的连接安全,以及消除 Web 浏览器对自我签名证书的控诉,我们建议使用 CA 签名的证书。
您可以使用如下命令生成证书密钥对:
root #
openssl req -new -nodes -x509 \
-subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 \
-keyout dashboard.key -out dashboard.crt -extensions v3_ca
以上命令会输出 dashboard.key
和 dashboard.crt
文件。获得 CA 签名的 dashboard.crt
文件后,请运行以下命令为所有 Ceph Manager 实例启用该证书:
cephadm@adm >
ceph config-key set mgr/dashboard/crt -i dashboard.crtcephadm@adm >
ceph config-key set mgr/dashboard/key -i dashboard.key
如果您需要为每个 Ceph Manager 实例使用不同的证书,请按如下所示修改命令,在其中指定实例的名称。将 NAME 替换为 Ceph Manager 实例的名称(通常是相关的主机名):
cephadm@adm >
ceph config-key set mgr/dashboard/NAME/crt -i dashboard.crtcephadm@adm >
ceph config-key set mgr/dashboard/NAME/key -i dashboard.key
Ceph Dashboard Web 应用与特定 TCP/IP 地址和 TCP 端口绑定。默认情况下,托管仪表盘的当前活跃 Ceph Manager 会与 TCP 端口 8443 绑定(如果禁用 SSL,则与 8080 端口绑定)。
仪表盘 Web 应用默认与“::”绑定,该符号表示所有可用的 IPv4 和 IPv6 地址。您可以使用以下命令更改 Web 应用的 IP 地址和端口号,以使它们适用于所有 Ceph Manager 实例:
cephadm@adm >
ceph config set mgr mgr/dashboard/server_addr IP_ADDRESScephadm@adm >
ceph config set mgr mgr/dashboard/server_port PORT_NUMBER
因为每个 ceph-mgr
守护进程都托管着各自的仪表盘实例,您可能需要分别配置每个 Ceph Manager 实例。使用以下命令(将 NAME 替换为 ceph-mgr
实例的 ID)更改特定 Manager 实例的 IP 地址和端口号:
cephadm@adm >
ceph config set mgr mgr/dashboard/NAME/server_addr IP_ADDRESScephadm@adm >
ceph config set mgr mgr/dashboard/NAME/server_port PORT_NUMBER
ceph mgr services
命令会显示当前配置的所有端点。查找“dashboard”键可获取用于访问仪表盘的 URL。
如果您不想使用默认管理员帐户,可创建其他用户帐户并将其与至少一个角色相关联。我们提供了一组预定义的系统角色供您使用。有关详细信息,请参见 第 22.10 节 “在命令行上管理用户和角色”。
要创建具有管理员权限的用户,请使用以下命令:
cephadm@adm >
ceph dashboard ac-user-create USER_NAME PASSWORD administrator
要使用仪表盘的对象网关管理功能,您需要提供启用了“system”标志的用户的登录凭证:
如果您没有带“system”标志的用户,请创建一个:
cephadm@adm >
radosgw-admin user create --uid=USER_ID --display-name=DISPLAY_NAME --system
记下命令输出中的“access_key”和“secret_key”密钥。
您还可以使用 radosgw-admin
命令来获取现有用户的身份凭证:
cephadm@adm >
radosgw-admin user info --uid=USER_ID
向仪表盘提供收到的身份凭证:
cephadm@adm >
ceph dashboard set-rgw-api-access-key ACCESS_KEYcephadm@adm >
ceph dashboard set-rgw-api-secret-key SECRET_KEY
请注意以下几点事项:
对象网关的主机名和端口号是自动确定的。
如果使用多个区域,对象网关会自动确定主区域组和主区域内的主机。此方式足以满足大部分设置的需求,但在某些情况下,您可能需要手动设置主机名和端口:
cephadm@adm >
ceph dashboard set-rgw-api-host HOSTcephadm@adm >
ceph dashboard set-rgw-api-port PORT
下面是您可能需要进行的额外设置:
cephadm@adm >
ceph dashboard set-rgw-api-scheme SCHEME # http or httpscephadm@adm >
ceph dashboard set-rgw-api-admin-resource ADMIN_RESOURCEcephadm@adm >
ceph dashboard set-rgw-api-user-id USER_ID
如果您在对象网关设置中使用的是自我签名证书(第 22.9.1 节 “TLS/SSL 支持”),请在仪表盘中禁用证书验证,以免发生因证书是由未知 CA 签名或与主机名不符而导致连接被拒。
cephadm@adm >
ceph dashboard set-rgw-api-ssl-verify False
如果对象网关处理请求所花的时间过长,导致仪表盘超时,则可调整超时值(默认为 45 秒):
cephadm@adm >
ceph dashboard set-rest-requests-timeout SECONDS
单点登录 (SSO) 是一种允许用户以单个 ID 和密码同时登录多个应用的访问控制方法。
Ceph Dashboard 支持通过 SAML 2.0 协议对用户进行外部身份验证。由于授权仍由仪表盘执行,因此您需要先创建用户帐户并将其与所需角色相关联。不过,身份验证过程可由现有身份提供者 (IdP) 执行。
要配置单点登录,请使用以下命令:
cephadm@adm >
ceph dashboard sso setup saml2 CEPH_DASHBOARD_BASE_URL \
IDP_METADATA IDP_USERNAME_ATTRIBUTE \
IDP_ENTITY_ID SP_X_509_CERT \
SP_PRIVATE_KEY
参数:
可用于访问 Ceph Dashboard 的基本 URL(例如“https://cephdashboard.local”)。
IdP 元数据 XML 的 URL、文件路径或内容(例如“https://myidp/metadata”)。
可选。将用于从身份验证响应中获取用户名的属性。默认为“uid”。
可选。当 IdP 元数据上存在多个实体 ID 时,请使用该参数。
可选。Ceph Dashboard(服务提供程序)进行签名和加密时将使用的证书的文件路径或内容。
SAML 请求的发出者值将采用以下格式:
CEPH_DASHBOARD_BASE_URL/auth/saml2/metadata
要显示当前 SAML 2.0 配置,请运行以下命令:
cephadm@adm >
ceph dashboard sso show saml2
要禁用单点登录,请运行以下命令:
cephadm@adm >
ceph dashboard sso disable
要检查是否启用了 SSO,请运行以下命令:
cephadm@adm >
ceph dashboard sso status
要启用 SSO,请运行以下命令:
cephadm@adm >
ceph dashboard sso enable saml2
本节说明如何管理 Ceph Dashboard 使用的用户帐户。该工具可帮助您创建或修改用户帐户,以及设置正确的用户角色和权限。
Ceph Dashboard 支持管理多个用户帐户。每个用户帐户包含用户名、密码(使用 bcrypt
以加密形式存储)、可选名称和可选电子邮件地址。
用户帐户存储在 Ceph Manager 的配置数据库中,并在所有 Ceph Manager 实例之间全局共享。
使用以下命令可管理用户帐户:
cephadm@adm >
ceph dashboard ac-user-show [USERNAME]
cephadm@adm >
ceph dashboard ac-user-create USERNAME [PASSWORD] [ROLENAME] [NAME] [EMAIL]
cephadm@adm >
ceph dashboard ac-user-delete USERNAME
cephadm@adm >
ceph dashboard ac-user-set-password USERNAME PASSWORD
cephadm@adm >
ceph dashboard ac-user-set-info USERNAME NAME EMAIL
本节说明您可为用户角色指定的安全作用范围、如何管理用户角色,以及如何为用户帐户指定角色。
用户帐户与一组角色相关联,这些角色定义了该用户可以访问仪表盘的哪些部分。仪表盘的各个部分均会划分在某个安全作用范围内。安全作用范围已预先定义且固定不变。当前可用的安全作用范围如下:
包含与
菜单项相关的所有特性。包含与 Ceph 配置选项管理相关的所有特性。
包含与存储池管理相关的所有特性。
包含与 Ceph OSD 管理相关的所有特性。
包含与 Ceph Monitor 管理相关的所有特性。
包含与 RADOS 块设备映像管理相关的所有特性。
包含与 RADOS 块设备镜像管理相关的所有特性。
包含与 iSCSI 管理相关的所有特性。
包含与对象网关管理相关的所有特性。
包含与 CephFS 管理相关的所有特性。
包含与 Ceph Manager 管理相关的所有特性。
包含与 Ceph 日志管理相关的所有特性。
包含与 Grafana 代理相关的所有特性。
允许更改仪表盘设置。
角色指定了一个安全作用范围与一组权限之间的一组映射。权限分为四种类型:“read”、“create”、“update”和“delete”。
下面的示例指定了一个角色,具有该角色的用户拥有与存储池管理相关的特性的“read”和“create”权限,以及与 RBD 映像管理相关的特性的全部权限:
{ 'role': 'my_new_role', 'description': 'My new role', 'scopes_permissions': { 'pool': ['read', 'create'], 'rbd-image': ['read', 'create', 'update', 'delete'] } }
仪表盘提供了一组预定义角色,我们称之为系统角色。全新安装 Ceph Dashboard 后即可使用这些角色:
提供针对所有安全作用范围的全部权限。
提供针对仪表盘设置以外的其他所有安全作用范围的 read 权限。
提供针对“rbd-image”、“rbd-mirroring”和“iscsi”作用范围的全部权限。
提供针对“rgw”作用范围的全部权限。
提供针对“hosts”、“osd”、“monitor”、“manager”和“config-opt”作用范围的全部权限。
提供针对“pool”作用范围的全部权限。
提供针对“cephfs”作用范围的全部权限。
您可以使用以下命令创建新用户角色:
cephadm@adm >
ceph dashboard ac-role-create ROLENAME [DESCRIPTION]
cephadm@adm >
ceph dashboard ac-role-delete ROLENAME
cephadm@adm >
ceph dashboard ac-role-add-scope-perms ROLENAME SCOPENAME PERMISSION [PERMISSION...]
cephadm@adm >
ceph dashboard ac-role-del-perms ROLENAME SCOPENAME
使用以下命令可为用户指定角色:
cephadm@adm >
ceph dashboard ac-user-set-roles USERNAME ROLENAME [ROLENAME ...]
cephadm@adm >
ceph dashboard ac-user-add-roles USERNAME ROLENAME [ROLENAME ...]
cephadm@adm >
ceph dashboard ac-user-del-roles USERNAME ROLENAME [ROLENAME ...]
如果您创建了自定义用户角色,并打算以后使用 ceph.purge
运行程序删除 Ceph 集群,则需要先清除自定义角色。有关详细信息,请参见第 2.16 节 “删除整个 Ceph 集群”。
本节说明创建具有以下权限的用户帐户的过程:可管理 RBD 映像、查看和创建 Ceph 存储池,并拥有针对任何其他安全作用范围的只读访问权限。
创建名为“tux”的新用户:
cephadm@adm >
ceph dashboard ac-user-create tux PASSWORD
创建角色并指定作用范围权限:
cephadm@adm >
ceph dashboard ac-role-create rbd/pool-managercephadm@adm >
ceph dashboard ac-role-add-scope-perms rbd/pool-manager \ rbd-image read create update deletecephadm@adm >
ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create
将角色与“tux”用户相关联:
cephadm@adm >
ceph dashboard ac-user-set-roles tux rbd/pool-manager read-only
如果您要通过反向代理配置访问仪表盘,则可能需要使用 URL 前缀来访问。要让仪表盘使用包含您前缀的超链接,您可以设置 url_prefix
设置:
cephadm@adm >
ceph config set mgr mgr/dashboard/url_prefix URL_PREFIX
然后,您便可通过网址 http://HOST_NAME:PORT_NUMBER/URL_PREFIX/
来访问仪表盘。
Ceph Dashboard 的 REST API 可在 Ceph 审计日志中记录 PUT、POST 和 DELETE 请求。记录功能默认处于禁用状态,但您可使用以下命令将其启用:
cephadm@adm >
ceph dashboard set-audit-api-enabled true
如果记录功能处于启用状态,将会记录每个请求的以下参数:
请求的来源,例如“https://[::1]:44410”。
REST API 路径,例如“/api/auth”。
“PUT”、“POST”或“DELETE”。
用户的名称(或“None”)。
示例日志项如下所示:
2019-02-06 10:33:01.302514 mgr.x [INF] [DASHBOARD] \ from='https://[::ffff:127.0.0.1]:37022' path='/api/rgw/user/exu' method='PUT' \ user='admin' params='{"max_buckets": "1000", "display_name": "Example User", "uid": "exu", "suspended": "0", "email": "user@example.com"}'
请求有效负载(自变量及其值的列表)的记录功能默认处于启用状态。您可以按照如下方式禁用该功能:
cephadm@adm >
ceph dashboard set-audit-api-log-payload false