Cephadm creates a new Ceph cluster by “bootstrapping” on a single host, expanding the cluster to encompass any additional hosts, and then deploying the needed services.
Cephadm通过SSH连接manager daemon到主机,从而部署和管理Ceph群集。manager daemon能够添加,删除或更新Ceph containers。Cephadm首先在单节点上引导一个微小的Ceph集群(one monitor and one manager),然后自动将集群扩展到多个节点,并提供所有Ceph守护程序和服务。
Requirements
install Ceph-pacific-15.2.13 using cephadm - DevOps - dbaselife
Compatibility and Stability — Ceph Documentation
There are two ways to install cephadm:
Host_Name | public_ip | admin_ip | cluster | OS | role |
---|---|---|---|---|---|
Ceph-stroage01 | 193.169.100.58 | 10.10.15.225 | 172.150.0.58 | Centos_steam_9 | admin,mon,mgr,osd,httpd for yum server |
Ceph-stroage02 | 193.169.100.59 | 10.10.15.226 | 172.150.0.59 | Centos_steam_9 | mon,mgr,osd |
Ceph-stroage03 | 193.169.100.60 | 10.10.15.227 | 172.150.0.60 | Centos_steam_9 | mon,osd |
网络的配置:
rpm 下载:
Index of /
Ceph-pacific-17.2.5 版:
Index of /rpm-17.2.5/el9/
https://download.ceph.com/tarballs/ceph_17.2.5.orig.tar.gz
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
修改主机名
nmcli g hostname ceph-stroage01
配置主机名解析
cat >> /etc/hosts << EOF
# Ceph public network
193.169.100.58 ceph-stroage01
193.169.100.59 ceph-stroage02
193.169.100.60 ceph-stroage03
# Ceph admin network
10.10.15.225 ceph-node01
10.10.15.226 ceph-node02
10.10.15.227 ceph-node03
# Ceph cluster network
172.150.0.58 ceph-priv01
172.150.0.59 ceph-priv02
172.150.0.60 ceph-priv03
EOF
管理节点创建ssh密钥
# ssh-keygen
分发密钥,认证
# ssh-copy-id ceph-stroage01
step 1.所有节点安装 chrony
dnf install chrony -y
step 2.配置时间服务器
[root@localhost yum.repos.d]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 193.169.100.58 iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
#allow 192.168.0.0/16
allow 193.169.100.0/24
# Serve time even if not synchronized to a time source.
#local stratum 10
local stratum 3
# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
[root@localhost yum.repos.d]#
step 3.配置客户端
[root@localhost ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 193.169.100.58 iburst
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# Allow NTP client access from local network.
#allow 192.168.0.0/16
# Serve time even if not synchronized to a time source.
#local stratum 10
# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys
# Specify directory for log files.
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
[root@localhost ~]#
dnf install yum-utils createrepo httpd wget -y
step 1.备份yum 配置
rm -rf /etc/yum.repo.d/ *.repo
step 2.创建 yum 配置
docker-ce 源
wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Ceph quincy 源:
cat > /etc/yum.repos.d/ceph.repo<
step 3.同步相关rpm包
查看 repo name
[root@ceph-node01 ~]# dnf repolist
repo id repo name
Ceph Ceph packages for
Ceph-noarch Ceph noarch packages
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
ceph-SRPMS Ceph source packages
docker-ce-stable Docker CE Stable - x86_64
[root@ceph-node01 ~]#
同步rpm
# docker-ce
mkdir -p /root/docker-ce/x86_64
reposync --repo docker-ce-stable -p /root/docker-ce/x86_64
mkdir -p /root/ceph/x86_64
reposync --repo Ceph -p /root/ceph/x86_64
mkdir -p /root/ceph/SRPMS/
reposync --repo ceph-SRPMS -p /root/ceph/SRPMS
mkdir -p /root/ceph/noarch/
reposync --repo ceph-noarch -p /root/ceph/noarch/
step 4.生成用于离线安装的仓库元数据
createrepo -v /root/docker-ce/x86_64
createrepo -v /root/ceph-quincy
将目录打包到目标机器用于搭建ceph安装的本地或者私有 yum源。
tar -zcf docker-ce-stable.tar.gz docker-ce-stable
step 5.创建本地私有yum源
在本地网络中安装HTTP服务器,将打包的rpm源文件部署到本地HTTP服务中。
docker save quay.io/ceph/ceph:v17 -o quay.io_ceph_ceph_v17.tar.gz
docker save quay.io/ceph/ceph-grafana:8.3.5 -o quay.io_ceph_ceph-grafana_8.3.5.tar.gz
docker save quay.io/prometheus/prometheus:v2.33.4 -o quay.io_prometheus_prometheus_v2.33.4.tar.gz
docker save quay.io/prometheus/node-exporter:v1.3.1 -o quay.io_prometheus_node-exporter_v1.3.1.tar.gz
docker save quay.io/prometheus/alertmanager:v0.23.0 -o quay.io_prometheus_alertmanager_v0.23.0.tar.gz
cephadm基于容器运行所有ceph组件,所有节点需要安装docker或podman,这里以安装docker为例。
step 1.配置本地yum源
step 2.安装docker-ce
dnf install -y docker-ce
step 3.启动docker服务
systemctl enable --now docker
使用curl获取独立脚本的最新版本
# curl --silent --remote-name --location https://github.com/ceph/ceph/raw/quincy/src/cephadm/cephadm
Make the cephadm script executable:
# chmod +x cephadm
此脚本可以直接从当前目录运行:
# ./cephadm
尽管独立脚本足以启动集群,但在主机上安装cephadm命令是很方便的。要安装提供cephadm命令的软件包,请运行以下命令:
# ./cephadm add-repo --release quincy
# ./cephadm install
通过运行以下命令确认cephadm现在位于PATH中:
# which cephadm
成功的cephadm命令将返回以下内容:
/usr/sbin/cephadm
step 1.安装 cephadm (管理节点)
# dnf search release-ceph
# dnf install --assumeyes centos-release-ceph-quincy
# dnf install --assumeyes cephadm
step 2.使用以下命令确认cephadm已经加入PATH环境变量,可能需要退出命令行界面重新登录:
[root@localhost ~]# which cephadm
/usr/sbin/cephadm
创建新 Ceph 集群的第一步是在 Ceph 集群的第一台主机上运行 cephadm bootstrap 命令。 在 Ceph 集群的第一台主机上运行 cephadm bootstrap 命令的行为会创建 Ceph 集群的第一个“监视器守护进程”,并且该监视器守护进程需要一个 IP 地址。 您必须将 Ceph 集群的第一台主机的 IP 地址传递给 ceph bootstrap 命令,因此您需要知道该主机的 IP 地址。
如果有多个网络和接口,请确保选择一个可供访问 Ceph 集群的任何主机访问的网络和接口。
step 1.导入镜像
docker load -i /root/ceph_for_docker/ceph_v15.tar.gz
docker load -i /root/ceph_for_docker/ceph-grafana_6.7.4.tar.gz
docker load -i /root/ceph_for_docker/prometheus_v2.18.1.tar.gz
docker load -i /root/ceph_for_docker/alertmanager_v0.20.0.tar.gz
docker load -i /root/ceph_for_docker/node-exporter_v0.18.1.tar.gz
step 2.引导集群
您可以运行 “cephadm bootstrap-h” 来查看cephadm的所有可用选项
# mkdir -p /etc/ceph
# cephadm bootstrap --mon-ip 193.169.100.58 --skip-pull
使用docker而不是podman(默认值:False)
此命令将:
默认情况下,Ceph守护进程将其日志输出发送到stdout/stderr,由容器运行时(docker或podman)获取并(在大多数系统上)发送到journal。如果希望Ceph将传统日志文件写入/var/log/Ceph/$fsid,请在引导过程中使用–log-to-file选项。
当(Ceph集群外部)公共网络流量与(Ceph群集内部)集群流量分离时,较大的Ceph集群性能更好。内部集群流量处理OSD后台进程之间的复制、恢复和心跳。您可以通过向bootstrap子命令提供–clusternetwork选项来定义集群网络。此参数必须以CIDR表示法定义子网(例如10.90.900/24或fe80::/64)。
cephadm引导程序将访问新集群所需的文件写入/etc/ceph。这个中心位置使得安装在主机上的Ceph包(例如,可以访问cephadm命令行界面的包)可以找到这些文件。
然而,使用cephadm部署的Daemon容器根本不需要/etc/ceph。使用–output-dir*
您可以将任何初始Ceph配置选项传递给新集群,方法是将它们放在标准的ini样式配置文件中,并使用–config *
# cat < initial-ceph.conf
[global]
osd crush chooseleaf type = 0
EOF
# ./cephadm bootstrap --config initial-ceph.conf ...
指定自定义引导,以添加专用集群网络(如果您确实需要,列表中已对其进行了广泛讨论):
cat < /root/ceph.conf
[global]
public network = 193.169.0.0/24
cluster network = 172.150.0.0/24
EOF
# cephadm bootstrap -c /root/ceph.conf --mon-ip 193.169.100.58
部署过程:
[root@ceph-node01 ceph]# cephadm bootstrap --mon-ip 193.169.100.58 --cluster-network 172.150.0.0/24 --docker
Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
Unit chronyd.service is enabled and running
Repeating the final host check...
podman (/usr/bin/podman) version 4.4.0 is present
systemctl is present
lvcreate is present
Unit chronyd.service is enabled and running
Host looks OK
Cluster fsid: c4729d68-aed9-11ed-9ef4-4a1e3146f08c
Verifying IP 193.169.100.58 port 3300 ...
Verifying IP 193.169.100.58 port 6789 ...
Mon IP `193.169.100.58` is in CIDR network `193.169.100.0/24`
Mon IP `193.169.100.58` is in CIDR network `193.169.100.0/24`
Pulling container image quay.io/ceph/ceph:v17...
Ceph version: ceph version 17.2.5 (98318ae89f1a893a6ded3a640405cdbb33e08757) quincy (stable)
Extracting ceph user uid/gid from container image...
Creating initial keys...
Creating initial monmap...
Creating mon...
Waiting for mon to start...
Waiting for mon...
mon is available
Assimilating anything we can from ceph.conf...
Generating new minimal ceph.conf...
Restarting the monitor...
Setting mon public_network to 193.169.100.0/24
Setting cluster_network to 172.150.0.0/24
Wrote config to /etc/ceph/ceph.conf
Wrote keyring to /etc/ceph/ceph.client.admin.keyring
Creating mgr...
Verifying port 9283 ...
Cannot bind to IP 0.0.0.0 port 9283: [Errno 98] Address already in use
ceph-mgr TCP port(s) 9283 already in use
Waiting for mgr to start...
Waiting for mgr...
mgr not available, waiting (1/15)...
mgr not available, waiting (2/15)...
mgr not available, waiting (3/15)...
mgr is available
Enabling cephadm module...
Waiting for the mgr to restart...
Waiting for mgr epoch 5...
mgr epoch 5 is available
Setting orchestrator backend to cephadm...
Generating ssh key...
Wrote public SSH key to /etc/ceph/ceph.pub
Adding key to root@localhost authorized_keys...
Adding host ceph-node01...
Deploying mon service with default placement...
Deploying mgr service with default placement...
Deploying crash service with default placement...
Deploying prometheus service with default placement...
Deploying grafana service with default placement...
Deploying node-exporter service with default placement...
Deploying alertmanager service with default placement...
Enabling the dashboard module...
Waiting for the mgr to restart...
Waiting for mgr epoch 9...
mgr epoch 9 is available
Generating a dashboard self-signed certificate...
Creating initial admin user...
Fetching dashboard port number...
Ceph Dashboard is now available at:
URL: https://ceph-node01:8443/
User: admin
Password: 987kcgzp0c
Enabling client.admin keyring and conf on hosts with "admin" label
Saving cluster configuration to /var/lib/ceph/c4729d68-aed9-11ed-9ef4-4a1e3146f08c/config directory
Enabling autotune for osd_memory_target
You can access the Ceph CLI as following in case of multi-cluster or non-default config:
sudo /usr/sbin/cephadm shell --fsid c4729d68-aed9-11ed-9ef4-4a1e3146f08c -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Or, if you are only running a single cluster on this host:
sudo /usr/sbin/cephadm shell
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on
For more information see:
https://docs.ceph.com/docs/master/mgr/telemetry/
Bootstrap complete.
[root@ceph-node01 ceph]#
部署后,它们应该连接到群集网络,您应该会看到相应接口上的复制流量。
–ssh-user*
使用 “–skip-pull” 参数来跳过 pull 镜像,实现离线安装
如果要使用私有的仓库,则可以添加三个参数:
如果在需要登录的经过身份验证的注册表上使用容器,则可以添加参数:
--registry-json
example contents of JSON file with login info:
{"url":"REGISTRY_URL", "username":"REGISTRY_USERNAME", "password":"REGISTRY_PASSWORD"}
Cephadm将尝试登录到此注册表,以便它可以提取您的容器,然后将登录信息存储在其配置数据库中。然后,添加到集群的其他主机也可以使用经过身份验证的注册表。
[root@ceph-stroage01 ceph_for_docker]# cephadm bootstrap --mon-ip 193.169.100.58 --skip-pull
Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
Unit chronyd.service is enabled and running
Repeating the final host check...
podman|docker (/usr/bin/docker) is present
systemctl is present
lvcreate is present
Unit chronyd.service is enabled and running
Host looks OK
Cluster fsid: 152735aa-d4f4-11eb-b108-e6f1aaf957fd
Verifying IP 193.169.100.58 port 3300 ...
Verifying IP 193.169.100.58 port 6789 ...
Mon IP 193.169.100.58 is in CIDR network 193.169.100.0/24
Extracting ceph user uid/gid from container image...
Creating initial keys...
Creating initial monmap...
Creating mon...
Waiting for mon to start...
Waiting for mon...
mon is available
Assimilating anything we can from ceph.conf...
Generating new minimal ceph.conf...
Restarting the monitor...
Setting mon public_network...
Creating mgr...
Verifying port 9283 ...
Wrote keyring to /etc/ceph/ceph.client.admin.keyring
Wrote config to /etc/ceph/ceph.conf
Waiting for mgr to start...
Waiting for mgr...
mgr not available, waiting (1/10)...
mgr not available, waiting (2/10)...
mgr is available
Enabling cephadm module...
Waiting for the mgr to restart...
Waiting for Mgr epoch 5...
Mgr epoch 5 is available
Setting orchestrator backend to cephadm...
Generating ssh key...
Wrote public SSH key to to /etc/ceph/ceph.pub
Adding key to root@localhost's authorized_keys...
Adding host ceph-stroage01...
Deploying mon service with default placement...
Deploying mgr service with default placement...
Deploying crash service with default placement...
Enabling mgr prometheus module...
Deploying prometheus service with default placement...
Deploying grafana service with default placement...
Deploying node-exporter service with default placement...
Deploying alertmanager service with default placement...
Enabling the dashboard module...
Waiting for the mgr to restart...
Waiting for Mgr epoch 13...
Mgr epoch 13 is available
Generating a dashboard self-signed certificate...
Creating initial admin user...
Fetching dashboard port number...
Ceph Dashboard is now available at:
URL: https://ceph-stroage01:8443/
User: admin
Password: lb83cil354
You can access the Ceph CLI with:
sudo /usr/sbin/cephadm shell --fsid 152735aa-d4f4-11eb-b108-e6f1aaf957fd -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on
For more information see:
https://docs.ceph.com/docs/master/mgr/telemetry/
Bootstrap complete.
[root@ceph-stroage01 ceph_for_docker]#
URL: https://ceph-stroage01:8443/
User: admin
Password: lb83cil354
输出信息中,包括 Dashboard 的地址,用户名和密码
首次登陆,需要修改密码
step 3.安装完成,发现已经启动了几个容器:
[root@localhost ceph_for_docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8aa0bb78930f ceph/ceph-grafana:6.7.4 "/bin/sh -c 'grafana…" 23 seconds ago Up 21 seconds ceph-d864c568-d4e1-11eb-8bcf-e6f1aaf957fd-grafana.ceph-stroage01
7887d685d59c prom/alertmanager:v0.20.0 "/bin/alertmanager -…" 40 seconds ago Up 38 seconds ceph-d864c568-d4e1-11eb-8bcf-e6f1aaf957fd-alertmanager.ceph-stroage01
7224ff18b199 prom/prometheus:v2.18.1 "/bin/prometheus --c…" 59 seconds ago Up 56 seconds ceph-d864c568-d4e1-11eb-8bcf-e6f1aaf957fd-prometheus.ceph-stroage01
e1cd3ba2221e prom/node-exporter:v0.18.1 "/bin/node_exporter …" About a minute ago Up About a minute ceph-d864c568-d4e1-11eb-8bcf-e6f1aaf957fd-node-exporter.ceph-stroage01
e2421fb4dbd3 ceph/ceph:v15 "/usr/bin/ceph-crash…" About a minute ago Up About a minute ceph-d864c568-d4e1-11eb-8bcf-e6f1aaf957fd-crash.ceph-stroage01
93dba4172741 ceph/ceph:v15 "/usr/bin/ceph-mgr -…" 3 minutes ago Up 3 minutes ceph-d864c568-d4e1-11eb-8bcf-e6f1aaf957fd-mgr.ceph-stroage01.pyaevp
298dfcbce078 ceph/ceph:v15 "/usr/bin/ceph-mon -…" 3 minutes ago Up 3 minutes ceph-d864c568-d4e1-11eb-8bcf-e6f1aaf957fd-mon.ceph-stroage01
[root@localhost ceph_for_docker]#
Copy
step 4.查看当前配置文件变化:
[root@localhost ceph]# ll
total 12
-rw-------. 1 root root 63 Jun 24 18:57 ceph.client.admin.keyring
-rw-r--r--. 1 root root 179 Jun 24 18:57 ceph.conf
-rw-r--r--. 1 root root 595 Jun 24 18:57 ceph.pub
[root@localhost ceph]#
Copy
查看集群配置文件
[root@localhost ceph]# cat ceph.conf
# minimal ceph.conf for d864c568-d4e1-11eb-8bcf-e6f1aaf957fd
[global]
fsid = d864c568-d4e1-11eb-8bcf-e6f1aaf957fd
mon_host = [v2:193.169.100.58:3300/0,v1:193.169.100.58:6789/0]
[root@localhost ceph]#
此时已经运行了以下组件:
Cephadm不需要在主机上安装任何Ceph软件包。但是,我们建议允许轻松访问ceph命令。有几种方法可以做到这一点:
需执行命令 “cephadm shell” 进入容器中使用ceph cil
[root@localhost ceph]# cephadm shell
Inferring fsid db51539c-d566-11eb-a3e9-e6f1aaf957fd
Inferring config /var/lib/ceph/db51539c-d566-11eb-a3e9-e6f1aaf957fd/mon.ceph-stroage01/config
Using recent ceph image ceph/ceph@
Non-zero exit code 125 from /usr/bin/docker run --rm --ipc=host --net=host --entrypoint stat -e CONTAINER_IMAGE=ceph/ceph@ -e NODE_NAME=ceph-stroage01 ceph/ceph@ -c %u %g /var/lib/ceph
stat: stderr docker: invalid reference format.
stat: stderr See 'docker run --help'.
Traceback (most recent call last):
File "/usr/sbin/cephadm", line 6223, in
r = args.func()
File "/usr/sbin/cephadm", line 1363, in _infer_fsid
return func()
File "/usr/sbin/cephadm", line 1394, in _infer_config
return func()
File "/usr/sbin/cephadm", line 1422, in _infer_image
return func()
File "/usr/sbin/cephadm", line 3546, in command_shell
make_log_dir(args.fsid)
File "/usr/sbin/cephadm", line 1520, in make_log_dir
uid, gid = extract_uid_gid()
File "/usr/sbin/cephadm", line 2133, in extract_uid_gid
raise RuntimeError('uid/gid not found')
RuntimeError: uid/gid not found
[root@localhost ceph]#
执行命令报错,查看日志:
2021-06-25 11:59:47,786 DEBUG --------------------------------------------------------------------------------
cephadm ['shell']
2021-06-25 11:59:47,809 DEBUG Could not locate podman: podman not found
2021-06-25 11:59:47,809 DEBUG container_init=False
2021-06-25 11:59:47,809 INFO Inferring fsid db51539c-d566-11eb-a3e9-e6f1aaf957fd
2021-06-25 11:59:47,810 INFO Inferring config /var/lib/ceph/db51539c-d566-11eb-a3e9-e6f1aaf957fd/mon.ceph-stroage01/config
2021-06-25 11:59:47,810 DEBUG Running command: /usr/bin/docker images --filter label=ceph=True --filter dangling=false --format {{.Repository}}@{{.Digest}}
2021-06-25 11:59:47,910 DEBUG /usr/bin/docker: stdout ceph/ceph@
2021-06-25 11:59:47,914 INFO Using recent ceph image ceph/ceph@
2021-06-25 11:59:47,914 DEBUG Running command: /usr/bin/docker run --rm --ipc=host --net=host --entrypoint stat -e CONTAINER_IMAGE=ceph/ceph@ -e NODE_NAME=ceph-stroage01 ceph/ceph@ -c %u %g /var/lib/ceph
2021-06-25 11:59:47,999 DEBUG stat: stderr docker: invalid reference format.
2021-06-25 11:59:47,999 DEBUG stat: stderr See 'docker run --help'.
2021-06-25 11:59:48,001 INFO Non-zero exit code 125 from /usr/bin/docker run --rm --ipc=host --net=host --entrypoint stat -e CONTAINER_IMAGE=ceph/ceph@ -e NODE_NAME=ceph-stroage01 ceph/ceph@ -c %u %g /var/lib/ceph
2021-06-25 11:59:48,002 INFO stat: stderr docker: invalid reference format.
2021-06-25 11:59:48,002 INFO stat: stderr See 'docker run --help'.
Copy
经过分析,确认 “cephadmin shell” 命令会启动一个 ceph容器;因安装在离线环境中,通过docker load的镜像,丢失了 “RepoDigest” 信息,所有无法启动容器。
参考文档:
请输入访问码 - dbaselife
使用docker registry 创建本地仓库,然后推送镜像到仓库,再拉取该镜像来完善 “RepoDigest” 信息。(所有主机)
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
docker tag ceph/ceph:v15 193.169.100.58:5000/ceph/ceph:v15
docker push 193.169.100.58:5000/ceph/ceph:v15
docker pull 193.169.100.58:5000/ceph/ceph:v15
启用CEPH命令
[root@ceph-stroage01 yum.repos.d]# cephadm shell
Inferring fsid db51539c-d566-11eb-a3e9-e6f1aaf957fd
Inferring config /var/lib/ceph/db51539c-d566-11eb-a3e9-e6f1aaf957fd/mon.ceph-stroage01/config
Using recent ceph image 193.169.100.58:5000/ceph@sha256:0368cf225b3a13b7bdeb3d81ecf370a62931ffa5ff87af880d66aebae74f910a
[ceph: root@ceph-stroage01 /]#
[ceph: root@ceph-stroage01 /]# ceph status
cluster:
id: db51539c-d566-11eb-a3e9-e6f1aaf957fd
health: HEALTH_WARN
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum ceph-stroage01 (age 41m)
mgr: ceph-stroage01.cdthyk(active, since 40m)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
[ceph: root@ceph-stroage01 /]#
创建别名可能会有所帮助(省略):
# alias ceph='cephadm shell -- ceph'
要执行ceph命令,还可以运行以下命令
# cephadm shell -- ceph -s
可以安装ceph-common包,里面包含了所有的ceph命令,其中包括ceph,rbd,mount.ceph(用于安装CephFS文件系统)等:
step 1.安装ceph-common包使本地主机支持ceph基本命令
[root@localhost docker]# cephadm add-repo --release ceph
[root@localhost docker]# cephadm install ceph-common
step 2.使用 ceph cli
[root@ceph-stroage01 html]# ceph -s
cluster:
id: 152735aa-d4f4-11eb-b108-e6f1aaf957fd
health: HEALTH_WARN
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum ceph-stroage01 (age 58m)
mgr: ceph-stroage01.zgfhtm(active, since 55m)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
[root@ceph-stroage01 html]#
使用以下ceph命令确认该命令是否可访问:
[root@ceph-stroage01 html]# ceph -v
ceph version 15.2.13 (c44bc49e7a57a87d84dfff2a077a2058aa2172e2) octopus (stable)
[root@ceph-stroage01 html]#
Copy
通过以下ceph命令确认命令可以连接到集群及显示状态:
[root@ceph-stroage01 html]# ceph -s
cluster:
id: 152735aa-d4f4-11eb-b108-e6f1aaf957fd
health: HEALTH_WARN
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum ceph-stroage01 (age 58m)
mgr: ceph-stroage01.zgfhtm(active, since 55m)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
[root@ceph-stroage01 html]# ceph -v
ceph version 15.2.13 (c44bc49e7a57a87d84dfff2a077a2058aa2172e2) octopus (stable)
[root@ceph-stroage01 html]# ceph status
cluster:
id: 152735aa-d4f4-11eb-b108-e6f1aaf957fd
health: HEALTH_WARN
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum ceph-stroage01 (age 59m)
mgr: ceph-stroage01.zgfhtm(active, since 56m)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
[root@ceph-stroage01 html]#
Copy
查看所有组件运行状态
[root@ceph-stroage01 html]# ceph orch ps
NAME HOST STATUS REFRESHED AGE VERSION IMAGE NAME IMAGE ID CONTAINER ID
alertmanager.ceph-stroage01 ceph-stroage01 running (72m) 71s ago 73m 0.20.0 docker.io/prom/alertmanager:v0.20.0 0881eb8f169f 75db978f9d87
crash.ceph-stroage01 ceph-stroage01 running (73m) 71s ago 73m 15.2.13 docker.io/ceph/ceph:v15 2cf504fded39 ebfb81e2cb06
grafana.ceph-stroage01 ceph-stroage01 running (72m) 71s ago 73m 6.7.4 docker.io/ceph/ceph-grafana:6.7.4 ae5c36c3d3cd 3451b55e01ec
mgr.ceph-stroage01.zgfhtm ceph-stroage01 running (77m) 71s ago 77m 15.2.13 docker.io/ceph/ceph:v15 2cf504fded39 f8bd6d46adc8
mon.ceph-stroage01 ceph-stroage01 running (77m) 71s ago 77m 15.2.13 docker.io/ceph/ceph:v15 2cf504fded39 9ab90483082a
node-exporter.ceph-stroage01 ceph-stroage01 running (73m) 71s ago 73m 0.18.1 docker.io/prom/node-exporter:v0.18.1 e5a616e4b9cf ffa579959351
prometheus.ceph-stroage01 ceph-stroage01 running (72m) 71s ago 72m 2.18.1 docker.io/prom/prometheus:v2.18.1 de242295e225 bde09adb8c3a
Copy
查看某个组件运行状态
[root@ceph-stroage01 html]# ceph orch ps --daemon-type mds
No daemons reported
[root@ceph-stroage01 html]#
Copy
默认情况下,ceph.conf文件和client.admin密钥环的副本在/etc/ceph中维护在所有带有_admin标签的主机上,该标签最初仅应用于引导主机。我们通常建议为一个或多个其他主机提供_admin标签,以便在多个主机上轻松访问Ceph CLI(例如,通过cephadm shell)。要将_admin标签添加到其他主机,请执行以下操作:
step 1.运行以下形式的命令以列出与群集关联的主机:
ceph orch host ls [--format yaml] [--host-pattern ] [--label
在这种形式的命令中,参数“主机模式”、“标签”和“主机状态”是可选的,用于过滤。
执行结果如下:
[root@ceph-stroage01 yum.repos.d]# ceph orch host ls
HOST ADDR LABELS STATUS
ceph-stroage01 ceph-stroage01
[root@ceph-stroage01 yum.repos.d]#
Copy
主机必须安装这些要求。 没有所有必要要求的主机将无法添加到集群中。
要将每个新主机添加到集群,请执行两个步骤:
step 1.在新主机的 root 用户的 authorized_keys 文件中安装集群的公共 SSH 密钥:
ssh-copy-id -f -i /etc/ceph/ceph.pub root@**
Copy
执行结果如下:
[root@ceph-stroage01 yum.repos.d]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-stroage02
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/etc/ceph/ceph.pub"
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@ceph-stroage02'"
and check to make sure that only the key(s) you wanted were added.
[root@ceph-stroage01 yum.repos.d]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph-stroage03
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/etc/ceph/ceph.pub"
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@ceph-stroage03'"
and check to make sure that only the key(s) you wanted were added.
[root@ceph-stroage01 yum.repos.d]#
Copy
step 2.添加指定新节点加入Ceph集群中
ceph orch host add ** [**] [* ...*]
Copy
执行结果如下:
[root@ceph-stroage01 yum.repos.d]# ceph orch host add ceph-stroage02 193.169.100.59
Added host 'ceph-stroage02'
[root@ceph-stroage01 yum.repos.d]#
[root@ceph-stroage01 yum.repos.d]# ceph orch host add ceph-stroage03 193.169.100.60
Added host 'ceph-stroage03'
[root@ceph-stroage01 yum.repos.d]#
Copy
验证查看ceph纳管的所有节点
[root@ceph-stroage01 yum.repos.d]# ceph orch host ls
HOST ADDR LABELS STATUS
ceph-stroage01 ceph-stroage01
ceph-stroage02 193.169.100.59
ceph-stroage03 193.169.100.60
[root@ceph-stroage01 yum.repos.d]#
Copy
最好明确提供主机IP地址。如果未提供IP,则将立即通过DNS解析主机名,并使用该IP。
还可以包括一个或多个标签,以立即为新主机添加标签。例如,默认情况下,_admin标签将使cephadm在/etc/ceph中维护ceph.conf文件和client.admin keyring文件的副本:
ceph orch host add host4 10.10.0.104 --labels _admin
Copy
添加完成后ceph会自动扩展monitor和manager到另外节点(此过程时间可能会稍久,耐心等待),另外可用命令(ceph -s)或Ceph的Ceph Dashboard页面查看添加情况
[root@ceph-stroage01 ~]# ceph -s
cluster:
id: db51539c-d566-11eb-a3e9-e6f1aaf957fd
health: HEALTH_WARN
2 failed cephadm daemon(s)
failed to probe daemons or devices
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum ceph-stroage01 (age 3h)
mgr: ceph-stroage01.cdthyk(active, since 2h)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
[root@ceph-stroage01 ~]#
Copy
如果要删除的节点正在运行 OSD,请确保从节点中删除 OSD。
从群集中删除所有守护程序后,可以安全地从群集中移除主机。
要从主机中排出所有守护程序,请运行以下形式的命令
ceph orch host drain **
_no_schedule标签将应用于主机。请参见特殊主机标签。
将计划删除主机上的所有OSD。您可以使用以下命令检查OSD删除操作的进度:
# ceph orch osd rm status
使用以下命令确定主机上是否仍有任何守护程序:
# ceph orch ps
对于除 node-exporter 和 crash 之外的所有 Ceph 服务类型,从放置规范文件(例如 cluster.yml)中删除主机。 例如,如果您要删除名为 host2 的主机,请从所有 place: 部分删除所有出现的 -host2。
Update:
service_type: rgw
placement:
hosts:
- host1
- host2
Copy
To:
service_type: rgw
placement:
hosts:
- host1
Copy
从 cephadm 的环境中删除主机:
ceph orch host rm host2
Copy
如果主机正在运行 node-exporter 和 crash 服务,请通过在主机上运行以下命令来删除它们:
cephadm rm-daemon --fsid CLUSTER_ID --name SERVICE_NAME
Copy
即使主机处于脱机状态且无法恢复,也可以通过运行以下形式的命令将其从群集中删除:
# ceph orch host rm --offline --force
警告
这可能会导致数据丢失。该命令通过为每个osd调用osd-purge actual,从集群中强制清除osd。应手动更新仍然包含此主机的任何服务规范。
Orchestrator 支持为主机分配标签。 标签是自由形式的,本身没有特别的意义,每个主机可以有多个标签。 它们可用于指定守护进程的位置。 请参阅按标签放置
添加带有 –labels 标志的主机时可以添加标签:
ceph orch host add my_hostname --labels=my_label1
ceph orch host add my_hostname --labels=my_label1,my_label2
Copy
要为现有主机添加标签
ceph orch host label add my_hostname my_label
Copy
要删除标签
ceph orch host label rm my_hostname my_label
Copy
特殊主机标签
以下主机标签对 cephadm 具有特殊意义。都以_开头。
使主机进入和退出维护模式(停止主机上的所有 Ceph 守护进程):
ceph orch host maintenance enter [--force]
ceph orch host maintenace exit
Copy
进入维护时的强制标志允许用户绕过警告(但不是警报)
某些服务器和外部机柜可能不会向内核注册设备移除或插入。在这些情况下,您需要执行主机重新扫描。重新扫描通常无中断,可以使用以下CLI命令执行:
# ceph orch host rescan [--with-summary]
带有摘要标志提供了找到和扫描的HBA数量的细目,以及任何失败的HBA:
# ceph orch host rescan rh9-ceph1 --with-summary
Ok. 2 adapters detected: 2 rescanned, 0 skipped, 0 failed (0.32s)
可以使用 ceph orch apply -i 通过提交多文档 YAML 文件一次添加多个主机:
---
service_type: host
hostname: node-00
addr: 192.168.0.10
labels:
- example1
- example2
---
service_type: host
hostname: node-01
addr: 192.168.0.11
labels:
- grafana
---
service_type: host
hostname: node-02
addr: 192.168.0.12
Copy
这可以与服务规范(如下)相结合,创建一个集群规范文件,以在一个命令中部署整个集群。 参见 cephadm bootstrap –apply-spec 也可以在引导期间执行此操作。 在添加之前,必须将集群 SSH 密钥复制到主机。
主机可以包含位置标识符,该标识符将指示cephadm创建位于指定层次结构中的新CRUSH主机。
service_type: host
hostname: node-00
addr: 192.168.0.10
location:
rack: rack1
location属性将仅影响初始CRUSH位置。将忽略位置属性的后续更改。此外,删除主机不会删除任何CRUSH存储桶。
Cephadm可用于管理将sysctl设置集应用于主机集的操作系统调优配置文件。
以以下格式创建YAML规范文件:
profile_name: 23-mon-host-profile
placement:
hosts:
- mon-host-01
- mon-host-02
settings:
fs.file-max: 1000000
vm.swappiness: '13'
Apply the tuning profile with the following command:
# ceph orch tuned-profile apply -i
该概要文件被写入与yaml放置块中指定的主机匹配的每个主机上的/etc/sysctl.d/,sysctl–system在该主机上运行。
Note: 配置文件在/etc/sysctl.d/中写入的确切文件名是
-cephadm-tuned-profile.conf,其中 是您在YAML规范中指定的profile_name设置。因为sysctl设置是按字典顺序应用的(按指定设置的文件名排序),您可能希望在规范中设置profilename,以便在其他conf文件之前或之后应用它。
Note: 这些设置仅在主机级别应用,不特定于任何特定的守护程序或容器。
Note: 当传递–no覆盖选项时,应用调优的概要文件是幂等的。此外,如果传递–no覆盖选项,则不会覆盖同名的现有配置文件。
运行以下命令以查看cephadm当前管理的所有配置文件:
# ceph orch tuned-profile ls
要进行修改并重新应用概要文件,请将–format yaml传递给调优的概要文件ls命令。调优后的概要文件ls–format yaml命令以易于复制和重新应用的格式显示概要文件。
要删除以前应用的配置文件,请运行以下命令:
# ceph orch tuned-profile rm
删除配置文件后,cephadm会清理之前写入/etc/sysctl.d的文件。
可以通过重新应用与要修改的配置文件同名的YAML规范来修改配置文件,但可以使用以下命令调整现有配置文件中的设置。
要在现有配置文件中添加或修改设置,请执行以下操作:
# ceph orch tuned-profile add-setting
要从现有配置文件中删除设置,请执行以下操作:
# ceph orch tuned-profile rm-setting
修改放置需要重新应用同名的轮廓。请记住,概要文件是按其名称跟踪的,因此当应用与现有概要文件同名的概要文件时,它将覆盖旧概要文件,除非传递–no覆盖标志。
Cephadm 使用 SSH 连接到远程主机。 SSH 使用密钥以安全的方式向这些主机进行身份验证。
Cephadm 在监视器中存储一个 SSH 密钥,用于连接到远程主机。 集群启动后,此 SSH 密钥会自动生成,无需额外配置。
可以使用以下命令生成新的 SSH 密钥:
ceph cephadm generate-key
Copy
可以通过以下方式检索 SSH 密钥的公共部分:
ceph cephadm get-pub-key
Copy
可以使用以下命令删除当前存储的 SSH 密钥:
ceph cephadm clear-key
Copy
您可以通过直接导入现有密钥来使用它:
ceph config-key set mgr/cephadm/ssh_identity_key -i
ceph config-key set mgr/cephadm/ssh_identity_pub -i
Copy
然后,您需要重新启动 mgr 守护程序以重新加载配置:
ceph mgr fail
Copy
Cephadm 必须能够以具有足够权限的用户身份登录所有 Ceph 集群节点,无需提示输入密码即可下载容器镜像、启动容器和执行命令。 如果不想使用“root”用户(cephadm 中的默认选项),则必须向 cephadm 提供将用于执行所有 cephadm 操作的用户名。 使用命令:
ceph cephadm set-user
Copy
在运行之前,需要将集群 ssh 密钥添加到此用户的 authorized_keys 文件中,并且非 root 用户必须具有无密码的 sudo 访问权限。
Cephadm 生成一个适当的 ssh_config 文件,用于连接到远程主机
Host *
User root
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Copy
有两种方法可以为您的环境自定义此配置:
1.导入将由监视器存储的自定义配置文件:
ceph cephadm set-ssh-config -i
Copy
要删除自定义 SSH 配置并恢复为默认行为:
ceph cephadm clear-ssh-config
Copy
2.您可以使用以下命令为 SSH 配置文件配置文件位置:
ceph config set mgr mgr/cephadm/ssh_config_file
Copy
我们不推荐这种方法。 路径名必须对任何 mgr 守护进程可见,并且 cephadm 将所有守护进程作为容器运行。 这意味着该文件要么需要放置在自定义容器映像中以进行部署,要么手动分发到 mgr 数据目录(主机上的 /var/lib/ceph/
cephadm 要求通过 ceph orch host add 给出的主机名等于远程主机上 hostname 的输出。
否则 cephadm 无法确保 ceph * 元数据返回的名称与 cephadm 已知的主机匹配。 这可能会导致 CEPHADM_STRAY_HOST 警告。
配置新主机时,有两种有效的方法可以设置主机的主机名:
1.使用裸主机名。 在这种情况下:
2.使用完全限定的域名作为主机名。 在这种情况下:
系统的FQDN(完全限定域名)是解析器(3)为主机名返回的名称,例如ursula.example.com。通常是主机名后跟DNS域名(第一个点之后的部分)。可以使用hostname–FQDN检查FQDN,也可以使用dnsdomainname检查域名。
You cannot change the FQDN with hostname or dnsdomainname.
The recommended method of setting the FQDN is to make the hostname
be an alias for the fully qualified name using /etc/hosts, DNS, or
NIS. For example, if the hostname was "ursula", one might have
a line in /etc/hosts which reads
127.0.1.1 ursula.example.com ursula
这反过来意味着Ceph将在执行Ceph*metadata 时返回裸机名。这反过来意味着cephadm在向集群添加主机时也需要裸机名:ceph-orch-host-add<bare-name>。
ceph config set mon public_network **
For example:
ceph config set mon public_network 10.1.2.0/24
Cephadm 仅在指定子网中具有 IP 地址的主机上部署新的监视器守护程序。
如果要调整 5 个监视器的默认值,请运行以下命令:
ceph orch apply mon **
要在一组特定的主机上部署监视器,请运行以下命令:
ceph orch apply mon **
确保在此列表中包含第一个(引导)主机。
您可以通过使用主机标签来控制监视器在哪些主机上运行。 要将 mon 标签设置为适当的主机,请运行以下命令:
ceph orch host label add ** mon
要查看当前主机和标签,请运行以下命令:
ceph orch host ls
添加主机标签
ceph orch host label add host1 mon
ceph orch host label add host2 mon
ceph orch host label add host3 mon
ceph orch host ls
查看标签
HOST ADDR LABELS STATUS
host1 mon
host2 mon
host3 mon
host4
host5
通过运行以下命令,告诉 cephadm 根据标签部署监视器:
ceph orch apply mon label:mon
您可以为每个监视器明确指定 IP 地址或 CIDR 网络,并控制放置每个监视器的位置。 要禁用自动监视器部署,请运行以下命令:
ceph orch apply mon --unmanaged
要部署每个额外的监视器:
ceph orch daemon add mon * [...]*
例如,要使用 IP 地址 10.1.2.123 在 newhost1 上部署第二个监视器并在网络 10.1.2.0/24 中的 newhost2 上部署第三个监视器,请运行以下命令:
[root@ceph-stroage01 ~]# ceph orch apply mon --unmanaged
Scheduled mon update...
[root@ceph-stroage01 ~]#
[root@ceph-stroage01 ~]# ceph orch daemon add mon ceph-stroage02:193.169.100.59
Deployed mon.ceph-stroage02 on host 'ceph-stroage02'
[root@ceph-stroage01 ~]#
[root@ceph-stroage01 ~]# ceph orch daemon add mon ceph-stroage03:193.169.100.60
Deployed mon.ceph-stroage03 on host 'ceph-stroage03'
[root@ceph-stroage01 ~]#
Copy
ceph-volume 会不时扫描主机中的每个集群,以确定存在哪些设备以及它们是否适合用作 OSD。
ceph orch device ls [--hostname=...] [--wide] [--refresh]
Copy
使用 –wide 选项提供与设备相关的所有详细信息,包括设备可能不适合用作 OSD 的任何原因。
在上面的示例中,您可以看到名为“Health”、“Ident”和“Fault”的字段。 此信息是通过与 libstoragemgmt 集成提供的。 默认情况下,此集成被禁用(因为 libstoragemgmt 可能与您的硬件不 100% 兼容)。 要使 cephadm 包含这些字段,请启用 cephadm 的“增强设备扫描”选项
ceph config set mgr mgr/cephadm/device_enhanced_scan true
Copy
建议您在启用此功能之前,先测试您的硬件与 libstoragemgmt 的兼容性,以避免计划外的服务中断。
测试兼容性的方法有很多种,但最简单的可能是使用cephadm shell直接调用libstoragemgmt——cephadm shell lsmcli ldl。
[root@ceph-stroage01 ~]# cephadm shell lsmcli ldl
Inferring fsid db51539c-d566-11eb-a3e9-e6f1aaf957fd
Inferring config /var/lib/ceph/db51539c-d566-11eb-a3e9-e6f1aaf957fd/mon.ceph-stroage01/config
Using recent ceph image 193.169.100.58:5000/ceph@sha256:0368cf225b3a13b7bdeb3d81ecf370a62931ffa5ff87af880d66aebae74f910a
Path | SCSI VPD 0x83 | Link Type | Serial Number | Health Status
---------------------------------------------------------------------
/dev/sda | | No Support | | Unknown
/dev/sdc | | No Support | | Unknown
/dev/sdb | | No Support | | Unknown
[root@ceph-stroage01 ~]#
Copy
启用 libstoragemgmt 支持后,输出所有群集主机上的存储设备清单可以显示为:
[root@ceph-stroage01 ~]# ceph orch device ls
Hostname Path Type Serial Size Health Ident Fault Available
ceph-stroage01 /dev/sdb hdd drive-scsi2 107G Unknown N/A N/A No
ceph-stroage01 /dev/sdc hdd drive-scsi1 107G Unknown N/A N/A No
ceph-stroage02 /dev/sdb hdd drive-scsi2 107G Unknown N/A N/A No
ceph-stroage02 /dev/sdc hdd drive-scsi1 107G Unknown N/A N/A No
ceph-stroage03 /dev/sdb hdd drive-scsi2 107G Unknown N/A N/A No
ceph-stroage03 /dev/sdc hdd drive-scsi1 107G Unknown N/A N/A No
[root@ceph-stroage01 ~]#
Copy
如果满足以下所有条件,则认为存储设备可用:
Ceph拒绝在不可用的设备上配置OSD。
当前版本的 libstoragemgmt (1.8.8) 仅支持基于 SCSI、SAS 和 SATA 的本地磁盘。 没有对 NVMe 设备 (PCIe) 的官方支持
要向集群添加存储,请告诉 Ceph 使用任何可用和未使用的设备:
ceph orch apply osd --all-available-devices
Copy
运行上述命令后:
要禁用在可用设备上自动创建 OSD,请使用 unmanaged 参数:
ceph orch apply osd --all-available-devices --unmanaged=true
Copy
ceph orch daemon add osd **:**
Copy
执行结果如下:
ceph orch daemon add osd ceph-stroage01:/dev/sdb
Copy
您可以使用高级 OSD 服务规范根据设备的属性对设备进行分类。 这可能有助于更清晰地了解哪些设备可供消费。 属性包括设备类型(SSD 或 HDD)、设备型号名称、大小以及设备所在的主机:
ceph orch apply -i spec.yml
Copy
–dry-run 标志使协调器在不实际创建 OSD 的情况下呈现将发生的情况的预览。
[root@ceph-stroage01 ~]# ceph orch apply osd --all-available-devices --dry-run
WARNING! Dry-Runs are snapshots of a certain point in time and are bound
to the current inventory setup. If any on these conditions changes, the
preview will be invalid. Please make sure to have a minimal
timeframe between planning and applying the specs.
################
OSDSPEC PREVIEWS
################
Preview data is being generated.. Please re-run this command in a bit.
[root@ceph-stroage01 ~]# ceph orch apply osd --all-available-devices --dry-run
WARNING! Dry-Runs are snapshots of a certain point in time and are bound
to the current inventory setup. If any on these conditions changes, the
preview will be invalid. Please make sure to have a minimal
timeframe between planning and applying the specs.
################
OSDSPEC PREVIEWS
################
+---------+------+------+------+----+-----+
|SERVICE |NAME |HOST |DATA |DB |WAL |
+---------+------+------+------+----+-----+
+---------+------+------+------+----+-----+
[root@ceph-stroage01 ~]#
Copy
从集群中移除 OSD 包括两个步骤:
以下命令执行这两个步骤:
ceph orch osd rm [--replace] [--force]
Copy
执行结果如下:
ceph orch osd rm 0
Scheduled OSD(s) for removal
Copy
不能安全销毁的 OSD 将被拒绝。
您可以使用以下命令查询 OSD 运行的状态:
ceph orch osd rm status
OSD_ID HOST STATE PG_COUNT REPLACE FORCE STARTED_AT
2 cephadm-dev done, waiting for purge 0 True False 2020-07-17 13:01:43.147684
3 cephadm-dev draining 17 False True 2020-07-17 13:01:45.162158
4 cephadm-dev started 42 False True 2020-07-17 13:01:45.162158
Copy
当 OSD 上没有剩余 PG 时,它将退役并从集群中删除。
移除一个 OSD 后,如果您擦除被移除的 OSD 使用的设备中的 LVM 物理卷,则会创建一个新的 OSD。
可以使用以下命令停止排队的 OSD 移除:
ceph orch osd rm stop
Copy
执行结果如下:
ceph orch osd rm stop 4
Stopped OSD(s) removal
Copy
这会重置 OSD 的初始状态并将其从移除队列中移除
orch osd rm --replace [--force]
Copy
执行结果如下:
ceph orch osd rm 4 --replace
Scheduled OSD(s) for replacement
Copy
保留 OSD ID
‘destroyed’ 标志用于确定哪些 OSD id 将在下一次 OSD 部署中重用。
如果您使用 OSDSpecs 进行 OSD 部署,您新添加的磁盘将被分配其替换对应项的 OSD id。 这假设新磁盘仍然与 OSDSpecs 匹配。
使用 –dry-run 标志确保 ceph orch apply osd 命令执行您想要的操作。 –dry-run 标志向您显示命令的结果,而无需进行您指定的更改。 当您对命令可以执行您想要的操作感到满意时,请在不带 –dry-run 标志的情况下运行该命令。
擦除 (zap) 设备以便可以重复使用。 zap 在远程主机上调用 ceph-volume zap。
orch device zap
执行结果如下:
ceph orch device zap my_hostname /dev/sdx
Copy
如果未设置 unmanaged 标志,cephadm 会自动部署与 OSDSpec 中的 DriveGroup 匹配的驱动器。 例如,如果您在创建 OSD 时使用 all-available-devices 选项,则当您 zap 设备时,cephadm Orchestrator 会自动在该设备中创建一个新的 OSD。 要禁用此行为,请参阅声明性状态。
OSD 守护进程将根据 osd_memory_target 配置选项(默认为几 GB)调整它们的内存消耗。 如果 Ceph 部署在不与其他服务共享内存的专用节点上,cephadm 可以根据 RAM 总量和部署的 OSD 数量自动调整每个 OSD 的内存消耗。
默认情况下,cephadm在引导时启用osd_memory_target_autotune,mgr/cephadm/autotune_memory_target_ratio设置为主机总内存的 70%。
要使用TripleO部署超融合Ceph,请参阅TripleO文档:场景:部署超融合的Ceph.
在其他情况下,如果Ceph不专门使用集群硬件(超转换),请减少Ceph的内存消耗,如下所示:
# hyperconverged only:
ceph config set mgr mgr/cephadm/autotune_memory_target_ratio 0.2
此选项通过以下方式全局启用:
ceph config set osd osd_memory_target_autotune true
Copy
Cephadm 将从系统总 RAM 的一小部分(mgr/cephadm/autotune_memory_target_ratio,默认为 .7)开始,减去非自动调优守护进程(非 OSD,对于 osd_memory_target_autotune 为 false 的 OSD)消耗的任何内存 ,然后除以剩余的 OSD。
最终目标反映在配置数据库中,其中包含以下选项:
WHO MASK LEVEL OPTION VALUE
osd host:foo basic osd_memory_target 126092301926
osd host:bar basic osd_memory_target 6442450944
Copy
每个守护进程消耗的限制和当前内存都可以从 ceph orch ps 输出的 MEM LIMIT 列中看到:
NAME HOST PORTS STATUS REFRESHED AGE MEM USED MEM LIMIT VERSION IMAGE ID CONTAINER ID
osd.1 dael running (3h) 10s ago 3h 72857k 117.4G 17.0.0-3781-gafaed750 7015fda3cd67 9e183363d39c
osd.2 dael running (81m) 10s ago 81m 63989k 117.4G 17.0.0-3781-gafaed750 7015fda3cd67 1f0cc479b051
osd.3 dael running (62m) 10s ago 62m 64071k 117.4G 17.0.0-3781-gafaed750 7015fda3cd67 ac5537492f27
Copy
要从内存自动调整中排除某个 OSD,请禁用该 OSD 的自动调整选项并设置特定的内存目标。 例如,
ceph config set osd.123 osd_memory_target_autotune false
ceph config set osd.123 osd_memory_target 16G
Copy
如果重新安装主机的操作系统,则需要再次激活现有的 OSD。 对于这个用例,cephadm 提供了一个用于激活主机上所有现有 OSD 的 activate 包装器。
ceph cephadm osd activate ...
Copy
这将扫描所有现有磁盘的 OSD 并部署相应的守护程序。
使用 CephFS 文件系统需要一个或多个 MDS 守护进程。 如果使用较新的 ceph fs volume 接口来创建新文件系统,则会自动创建这些文件系统。
ceph fs volume create --placement=""
Copy
其中 fs_name 是 CephFS 的名称,placement 是放置规范。
step 1.创建两个 Pool,如果不创建的话,会默认创建的
[root@node1 ~]# ceph osd pool create cephfs_data 64 64
pool 'cephfs_data' created
[root@node1 ~]# ceph osd pool create cephfs_metadata 64 64
pool 'cephfs_metadata' created
Copy
step 2.创建一个文件系统卷cephfs
[root@node1 ~]# ceph fs new cephfs cephfs_metadata cephfs_data
new fs with metadata pool 3 and data pool 2
step 3.查看一下当前的文件系统卷有哪些
[root@ceph-stroage01 ~]# ceph fs volume ls
[
{
"name": "cephfs"
}
]
[root@ceph-stroage01 ~]#
或
[root@node1 ~]# ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
step 4.添加 mds (元数据)服务,设置副本数量
[root@ceph-stroage01 ~]# ceph orch apply mds cephfs --placement="3 ceph-stroage01 ceph-stroage02 ceph-stroage03"
Scheduled mds.cephfs update...
[root@ceph-stroage01 ~]#
step 5.查看节点各启动了一个mds容器
[root@ceph-stroage01 ~]# docker ps | grep mds
e990482e87bc ceph/ceph:v15 "/usr/bin/ceph-mds -…" About a minute ago Up About a minute ceph-db51539c-d566-11eb-a3e9-e6f1aaf957fd-mds.cephfs.ceph-stroage01.coufjx
[root@ceph-stroage01 ~]#
step 6.查看集群状态
[root@ceph-stroage01 ~]# ceph -s
cluster:
id: db51539c-d566-11eb-a3e9-e6f1aaf957fd
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph-stroage01,ceph-stroage02,ceph-stroage03 (age 9m)
mgr: ceph-stroage01.cdthyk(active, since 9m), standbys: ceph-stroage03.dtasrq
mds: cephfs:1 {0=cephfs.ceph-stroage01.coufjx=up:active} 2 up:standby
osd: 6 osds: 6 up (since 9m), 6 in (since 2w)
data:
pools: 9 pools, 233 pgs
objects: 95 objects, 87 MiB
usage: 6.7 GiB used, 593 GiB / 600 GiB avail
pgs: 233 active+clean
io:
client: 1.1 KiB/s wr, 0 op/s rd, 3 op/s wr
[root@ceph-stroage01 ~]#
查看一下文件系统状态
[root@ceph-stroage01 ~]# ceph fs status cephfs
cephfs - 0 clients
======
RANK STATE MDS ACTIVITY DNS INOS
0 active cephfs.ceph-stroage01.coufjx Reqs: 0 /s 10 13
POOL TYPE USED AVAIL
cephfs_metadata metadata 1536k 187G
cephfs_data data 0 187G
STANDBY MDS
cephfs.ceph-stroage03.pfzpwl
cephfs.ceph-stroage02.cuokts
MDS version: ceph version 15.2.13 (c44bc49e7a57a87d84dfff2a077a2058aa2172e2) octopus (stable)
[root@ceph-stroage01 ~]#
使用命令 ceph mds stat 查看下 mds 服务状态
[root@ceph-stroage01 ~]# ceph mds stat
cephfs:1 {0=cephfs.ceph-stroage01.coufjx=up:active} 2 up:standby
[root@ceph-stroage01 ~]#
在节点 ceph-mon1 上添加 mds 服务
ceph orch daemon add mds cepfs ceph-mon1
Cephadm将radosgw部署为守护进程的集合,这些守护进程管理单个集群部署或多站点部署中的特定领域和区域。(有关领域和区域的更多信息,请参阅多站点。)
对于cephadm,radosgw守护进程是通过监视器配置数据库而不是通过ceph.conf或命令行配置的。如果该配置尚未到位(通常在client.rgw.
要使用任意服务名称部署一组 radosgw 守护进程,请运行以下命令:
ceph orch apply rgw ** [--realm=**] [--zone=**] --placement="** [** ...]"
Copy
例如,要在任意服务id foo下为单个集群RGW部署部署2个RGW守护进程(默认):
ceph orch apply rgw foo
一个常见的场景是有一组标记的主机作为网关,在连续的端口 8000 和 8001 上运行多个 radosgw 实例:
# 为主机添加标签'rgw'
ceph orch host label add gwhost1 rgw
ceph orch host label add gwhost2 rgw
ceph orch apply rgw foo '--placement=label:rgw count-per-host:2' --port=80
RGW服务可以使用yaml服务规范配置它们绑定到的网络。
example spec file:
service_type: rgw
service_id: foo
placement:
label: rgw
count_per_host: 2
networks:
- 192.169.142.0/24
spec:
rgw_frontend_port: 8080
要在myhost1和myhost2上部署服务于多站点myorg领域和us-east-1区域的RGW,请执行以下操作:
ceph orch apply rgw east --realm=myorg --zone=us-east-1 --placement="2 myhost1 myhost2"
注意,在多站点情况下,cephadm只部署守护进程。它不会创建或更新领域或区域配置。要创建新的领域和区域,您需要执行以下操作:
如果尚未创建领域,请首先创建一个领域:
radosgw-admin realm create --rgw-realm= --default
接下来创建一个新的区域组:
radosgw-admin zonegroup create --rgw-zonegroup= --master --default
接下来创建一个区域:
radosgw-admin zone create --rgw-zonegroup= --rgw-zone= --master --default
为特定领域和区域部署一组radosgw守护程序:
radosgw-admin period update --rgw-realm= --commit
查看服务状态
[root@node1 ~]# docker ps | grep rgw
78f9a9dfc46c ceph/ceph:v15 "/usr/bin/radosgw -n…" 2 hours ago Up 2 hours ceph-55e5485a-b292-11ea-8087-000c2993d00b-rgw.myorg.cn-east-1.node1.yjurkc
[root@node1 ~]# ceph orch ls | grep rgw
rgw.myorg.cn-east-1 3/3 6m ago 2h count:3 node1,node2,node3 docker.io/ceph/ceph:v15 d72755c420bc
为了为RGW服务启用HTTPS,请按照以下方案应用规范文件:
service_type: rgw
service_id: myrgw
spec:
rgw_frontend_ssl_certificate: |
-----BEGIN PRIVATE KEY-----
V2VyIGRhcyBsaWVzdCBpc3QgZG9vZi4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15
IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3Mg
ZXQgYWNjdXNhbSBldCBqdXN0byBkdW8=
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
V2VyIGRhcyBsaWVzdCBpc3QgZG9vZi4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15
IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3Mg
ZXQgYWNjdXNhbSBldCBqdXN0byBkdW8=
-----END CERTIFICATE-----
ssl: true
应用此yaml文档:
# ceph orch apply -i myrgw.yaml
请注意,rgw_frontend_ssl_certificate的值是一个文字字符串,由保留换行符的|字符表示。
class ceph.deployment.service_spec.RGWSpec(service_type='rgw', service_id=None, placement=None, rgw_realm=None, rgw_zone=None, rgw_frontend_port=None, rgw_frontend_ssl_certificate=None, rgw_frontend_type=None, unmanaged=False, ssl=False, preview_only=False, config=None, networks=None, subcluster=None, extra_container_args=None, custom_configs=None)
Settings to configure a (multisite) Ceph RGW
service_type: rgw
service_id: myrealm.myzone
spec:
rgw_realm: myrealm
rgw_zone: myzone
ssl: true
rgw_frontend_port: 1234
rgw_frontend_type: beast
rgw_frontend_ssl_certificate: ...
rgw_frontend_port: Optional[int]
Port of the RGW daemons
rgw_frontend_ssl_certificate: Optional[List[str]]
List of SSL certificates
rgw_frontend_type: Optional[str]
civetweb or beast (default: beast). See HTTP Frontends
rgw_realm: Optional[str]
The RGW realm associated with this service. Needs to be manually created
rgw_zone: Optional[str]
The RGW zone associated with this service. Needs to be manually created
ssl
enable SSL
ingress服务允许您使用最少的一组配置选项为RGW创建高可用性端点。协调器将部署和管理haproxy和keepalive的组合,以在浮动虚拟IP上提供负载平衡。
如果使用SSL,则必须由入口服务而不是RGW本身配置和终止SSL。
有N个主机部署了入口服务。每个主机都有一个haproxy守护程序和一个keepalive守护程序。一次只能在其中一台主机上自动配置虚拟IP。
每个keepalive守护程序每隔几秒钟检查同一主机上的haproxy守护程序是否正在响应。Keepalived还将检查主Keepalived守护进程是否运行正常。如果“主”keepalive守护程序或活动haproxy没有响应,则在备份模式下运行的其余keepalive后台程序之一将被选为主节点,虚拟IP将被移动到该节点。
活动haproxy充当负载平衡器,在所有可用的RGW守护进程之间分发所有RGW请求。
先决条件,没有SSL的现有RGW服务。(如果您需要SSL服务,则应在入口服务而不是RGW服务上配置证书。)
step 1.Use the command:
ceph orch apply -i
step 2.服务规范
它是一个具有以下yaml格式文件:
service_type: ingress
service_id: rgw.something # adjust to match your existing RGW service
placement:
hosts:
- host1
- host2
- host3
spec:
backend_service: rgw.something # adjust to match your existing RGW service
virtual_ip: / # ex: 192.168.20.1/24
frontend_port: # ex: 8080
monitor_port: # ex: 1967, used by haproxy for load balancer status
virtual_interface_networks: [ ... ] # optional: list of CIDR networks
ssl_cert: | # optional: SSL certificate and key
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY---
service_type: ingress
service_id: rgw.something # adjust to match your existing RGW service
placement:
hosts:
- host1
- host2
- host3
spec:
backend_service: rgw.something # adjust to match your existing RGW service
virtual_ips_list:
- / # ex: 192.168.20.1/24
- / # ex: 192.168.20.2/24
- / # ex: 192.168.20.3/24
frontend_port: # ex: 8080
monitor_port: # ex: 1967, used by haproxy for load balancer status
virtual_interface_networks: [ ... ] # optional: list of CIDR networks
ssl_cert: | # optional: SSL certificate and key
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
step 4.为虚拟IP选择以太网接口
您不能简单地提供要在其上配置虚拟IP的网络接口的名称,因为接口名称往往会因主机而异(和/或重新启动)。相反,cephadm将根据已配置的其他现有IP地址选择接口。
通常,虚拟IP将配置在同一子网中具有现有IP的第一个网络接口上。例如,如果虚拟IP为192.168.0.80/24,eth2的静态IP为192.168.0.40/24,则cephadm将使用eth2。
在某些情况下,虚拟IP可能与现有静态IP不属于同一子网。在这种情况下,您可以提供与现有IP匹配的子网列表,cephadm会将虚拟IP放在第一个要匹配的网络接口上。例如,如果虚拟IP为192.168.0.80/24,并且我们希望它与10.10.0.0/16中的机器静态IP位于同一个接口上,则可以使用如下规范:
service_type: ingress
service_id: rgw.something
spec:
virtual_ip: 192.168.0.80/24
virtual_interface_networks:
- 10.10.0.0/16
...
此策略的结果是,当前无法在没有现有IP地址的接口上配置虚拟IP。在这种情况下,我们建议将“虚拟”IP地址配置为正确接口上的不可路由网络,并在网络列表中引用该虚拟网络(见上文)。
最好至少有3个RGW守护进程。我们建议至少3台主机用于入口服务。
Cephadm使用预定义的RADOS池和可选的namespace部署NFS Ganesha 。
仅支持 NFSv4 协议。
Cephadm部署NFS Ganesha守护程序(或一组守护程序)。NFS的配置存储在NFS ganesha池中,并通过ceph-NFS导出管理导出。。。命令和通过仪表板。
要部署NFS Ganesha网关,请执行以下操作:
# ceph orch apply nfs ** [--port **] [--placement ...]
例如,要在默认端口2049上部署服务id为foo的NFS,并默认放置单个守护程序:
ceph orch apply nfs foo
例如,同一个服务ID部署NFSFOO,将使用RADOS池NFS的象头和命名空间NFS-NS,:
ceph osd pool create nfs-ganesha 64 64
ceph orch apply nfs foo nfs-ganesha nfs-ns --placement="3 node1 node2 node3"
ceph osd pool application enable nfs-ganesha cephfs
查看容器和服务
[root@node1 ~]# docker ps | grep nfs
b89fe9bb981d ceph/ceph:v15 "/usr/bin/ganesha.nf…" About a minute ago Up About a minute ceph-55e5485a-b292-11ea-8087-000c2993d00b-nfs.foo.node1
[root@node1 ~]# ceph orch ls | grep nfs
nfs.foo 3/3 2m ago 2m count:3 node1,node2,node3 docker.io/ceph/ceph:v15 d72755c420bc
或者,可以使用YAML规范应用NFS服务。
service_type: nfs
service_id: mynfs
placement:
hosts:
- host1
- host2
spec:
port: 12345
在主机1和主机2上的非默认端口12345(而不是默认端口2049)上运行服务器。
然后可以通过运行以下命令应用该规范:
# ceph orch apply -i nfs.yaml
为现有nfs服务部署入口服务将提供:
可以使用以下规范为现有NFS服务(本例中为NFS.mynfs)部署NFS入口:
service_type: ingress
service_id: nfs.mynfs
placement:
count: 2
spec:
backend_service: nfs.mynfs
frontend_port: 2049
monitor_port: 9000
virtual_ip: 10.0.0.123/24
注意事项
# ceph config-key get mgr/cephadm/ingress.*{svc_id}*/monitor_password
For example: # ceph config-key get mgr/cephadm/ingress.nfs.myfoo/monitor_password
要部署 iSCSI 网关,请创建一个包含 iSCSI 服务规范的 yaml 文件:
service_type: iscsi
service_id: iscsi
placement:
hosts:
- host1
- host2
spec:
pool: mypool # RADOS pool where ceph-iscsi config data is stored.
trusted_ip_list: "IP_ADDRESS_1,IP_ADDRESS_2"
api_port: ... # optional
api_user: ... # optional
api_password: ... # optional
api_secure: true/false # optional
ssl_cert: | # optional
...
ssl_key: | # optional
...
参考示例:
service_type: iscsi
service_id: iscsi
placement:
hosts:
- [...]
spec:
pool: iscsi_pool
trusted_ip_list: "IP_ADDRESS_1,IP_ADDRESS_2,IP_ADDRESS_3,..."
api_user: API_USERNAME
api_password: API_PASSWORD
api_secure: true
ssl_cert: |
-----BEGIN CERTIFICATE-----
MIIDtTCCAp2gAwIBAgIYMC4xNzc1NDQxNjEzMzc2MjMyXzxvQ7EcMA0GCSqGSIb3
DQEBCwUAMG0xCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARVdGFoMRcwFQYDVQQHDA5T
[...]
-----END CERTIFICATE-----
ssl_key: |
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5jdYbjtNTAKW4
/CwQr/7wOiLGzVxChn3mmCIF3DwbL/qvTFTX2d8bDf6LjGwLYloXHscRfxszX/4h
[...]
-----END PRIVATE KEY-----
可以使用以下方法应用规范:
ceph orch apply -i iscsi.yaml
通过配置iscsi启动器,可以从任何主机使用容器化的iscsi服务,iscsi启动器将使用TCP/IP向iscsi目标(网关)发送SCSI命令。
URL: https://ceph-stroage01:8443/
User: admin
Password: lb83cil354
输出信息中,包括 Dashboard 的地址,用户名和密码
step 1.查看grafana监听端口为3000
[root@ceph-stroage01 yum.repos.d]# ss -ntlp | grep grafana
LISTEN 0 128 :::3000 :::* users:(("grafana-server",pid=9290,fd=7))
[root@ceph-stroage01 yum.repos.d]#
step 2.altermanager告警模块监听端口
[root@ceph-stroage01 yum.repos.d]# ss -ntlp | grep alert
LISTEN 0 128 :::9093 :::* users:(("alertmanager",pid=29624,fd=6))
LISTEN 0 128 :::9094 :::* users:(("alertmanager",pid=29624,fd=3))
[root@ceph-stroage01 yum.repos.d]#
step 3.node_exporter监听端口
[root@ceph-stroage01 yum.repos.d]# ss -ntlp | grep node
LISTEN 0 128 :::9100 :::* users:(("node_exporter",pid=8112,fd=3))
[root@ceph-stroage01 yum.repos.d]#
step 4.prometheus监听端口
[root@ceph-stroage01 yum.repos.d]# ss -ntlp | grep prometh
LISTEN 0 128 :::9095 :::* users:(("prometheus",pid=29949,fd=9))
[root@ceph-stroage01 yum.repos.d]#
step 5.访问grafana
访问grafana:https://193.169.100.58:3000
点击左上角选择某个dashboard,默认支持以下模块监控数据展示
包括以下监控信息:
step 6.prometheus配置的targets
访问prometheus: http://193.169.100.58:9095/targets
Service Management — Ceph Documentation
Cephadm Operations — Ceph Documentation
Basic Ceph Client Setup — Ceph Documentation
Troubleshooting — Ceph Documentation
Installation (Manual) — Ceph Documentation