ceph 19.2.0 安装
因为安装步骤太长,所以创建OSD在另一篇文档
服务器说明
OS版本: almalinux9.2
192.168.0.51/192.168.8.51 Mon (安装cephadm的初始化节点)
192.168.0.52 Mon
192.168.0.53 Mon
192.168.0.54 OSD
192.168.0.55 OSD
192.168.0.56 OSD
所有服务器必须安装chronyd并启动
dnf -y install chronyd
systemctl status chronyd.service
所有服务器必须安装python3/podman/lvm2,并关闭防火墙/SELINUX
dnf install python3 podman lvm2 -y
systemctl stop firewalld.service
systemctl disable firewalld.service
加速container
mv /etc/containers/registries.conf /etc/containers/registries.conf.bak
cat < /etc/containers/registries.conf
unqualified-search-registries = [“docker.io”]
[[registry]]
prefix = “docker.io”
location = “anwk44qv.mirror.aliyuncs.com”
EOF
1.确定活跃ceph版本
https://docs.ceph.com/en/latest/releases/#active-releases
例如,我们可能会发现这19.2.0是最新的活动版本。
2.用于curl获取该版本的 cephadm 版本。
CEPH_RELEASE=19.2.0 # replace this with the active release
curl –silent –remote-name –location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm
确保cephadm文件是可执行的:
chmod +x cephadm
该文件可以直接从当前目录运行:
./cephadm –help
如果您在运行 cephadm 时遇到任何问题,包括错误消息,则可能是您没有安装 Python 或正确版本的 Python。cephadm 工具需要 Python 3.6 或更高版本
dnf install python3 podman lvm2 -y
虽然独立的 cephadm 足以引导集群,但最好cephadm在主机上安装该命令。要安装提供该cephadm命令的软件包,请运行以下命令:
./cephadm add-repo –release squid
./cephadm install
通过运行以下which命令确认它cephadm现在位于你的 PATH 中:
which cephadm
which cephadm成功的命令将返回以下内容:
/usr/sbin/cephadm
–skip-monitoring-stack 选项用于禁止安装prometheus
https://docs.ceph.com/en/latest/cephadm/services/monitoring/?highlight=prometheus
3.引导新集群
cephadm bootstrap –mon-ip 192.168.0.51 –cluster-network 192.168.8.0/24
此命令将:
在本地主机上为新集群创建一个监视器和一个管理器守护进程。
为 Ceph 集群生成新的 SSH 密钥并将其添加到 root 用户的/root/.ssh/authorized_keys文件中。
将公钥的副本写入/etc/ceph/ceph.pub。
向/etc/ceph/ceph.conf写入一个最小配置文件。此文件是与 Ceph 守护进程通信所必需的。
client.admin将管理(特权!)密钥的副本写入/etc/ceph/ceph.client.admin.keyring。
将_admin标签添加到引导主机。默认情况下,任何具有此标签的主机也将获得/etc/ceph/ceph.conf和/etc/ceph/ceph.client.admin.keyring的 副本。
也可以通过自定义配置文件引导ceph新集群
例如使用initial-ceph.conf配置文件引导新集群
cat < initial-ceph.conf
[global]
osd crush chooseleaf type = 0
EOF
./cephadm bootstrap –config initial-ceph.conf …
4.安装ceph-common软件包
cephadm install ceph-common
测试
ceph -v
ceph status
ceph config dump
4.将新主机添加到集群
参考:https://docs.ceph.com/en/latest/cephadm/host-management/#cephadm-adding-hosts
查看集群节点数量
ceph orch host ls
HOST ADDR LABELS STATUS
mixed-vpc-gz-2048-sms-cephmon-20 mixed-vpc-gz-2048-sms-cephmon-20
ceph orch host ls –detail
4.1在新主机的 root 用户authorized_keys文件中安装集群的公共 SSH 密钥:
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
验证:在192.168.0.52执行
cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQChB9OAKLoCwkW9ubna89J7pZfHzeOg+N5zPNEslsZBswcA9FURaQL/8S/oilXAsAbGswWMiFalvhbNl5RyCLX5mKBx116aIiq1fel17aUCZTXhvq1hDO9KsM+wIeOL5rb88YHCHPY8KTvA/rkmsWVmItf5lSSwVznhE4gAsTHr6OZ2RryJcRYKuGFK9GvIbBF6yN352Uf6MH1MztYk0gRaEemmf/gLg+oS39hGUXvAVpqI5mmSw7p5T8CdZx5hbHD8zijfweIFz8XOigxAQBciqbsMDdvyhbcgPVy9auUxs7OZpyaz5Pnay9ySC8+5eTA+tF2cKLjI1NcybjQCkdjTa2N0s4L3pmOL2+lfrwvKTbfW1p2iS0UpOqg8/WxVjgA02pmR8HaR7N3w/71OfKu7nedtBNy3amNEYvNXGFAlY9i0rK7+coPPx7YUpCouTcfGNWe0O+r6p0/D2VpDmcIMmNASlu/UT+xp79DgoOyc4xeJp0/jn6DvsnBGf3BQjbU= ceph-da81d1c6-90ed-11ef-bc89-5254006933cf
4.2添加新节点到ceph集群(告诉 Ceph 新节点是集群的一部分):
ceph orch host add [] [ …]
默认情况下,cephadm会在带有_admin标签的主机/etc/ceph目录维护ceph.conf文件和密钥环文件client.admin的副本 :
ceph orch host add test-alma9-kvm52 192.168.0.52 –labels _admin
ceph orch host add test-alma9-kvm53 192.168.0.53 –labels _admin
ceph orch host add test-alma9-kvm54 192.168.0.54 –labels _admin
ceph orch host add test-alma9-kvm55 192.168.0.55 –labels _admin
ceph orch host add test-alma9-kvm56 192.168.0.56 –labels _admin
ceph orch host add test-alma9-kvm57 192.168.0.57 –labels _admin
等待两分钟,查看集群主机,发现服务器配置都有了
ceph orch host ls –detail
HOST ADDR LABELS STATUS VENDOR/MODEL CPU RAM HDD SSD NIC
test-alma9-kvm51 192.168.0.51 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm52 192.168.0.52 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm53 192.168.0.53 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm54 192.168.0.54 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm55 192.168.0.55 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm56 192.168.0.56 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm57 192.168.0.57 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
5.部署MON服务
5.1查看mon默认子网
ceph config dump
mon advanced public_network 192.168.0.0/23 *
5.2为部署MON服务器的主机设定mon标签,确保包含初始化主机(192.168.0.52)(不用给mgr打标签,因为cpeh还没有这个设置,不能按mon去推论mgr)
ceph orch host label add test-alma9-kvm51 mon
ceph orch host label add test-alma9-kvm52 mon
ceph orch host label add test-alma9-kvm53 mon
ceph orch host label add test-alma9-kvm54 mon
通过运行以下命令,告诉 cephadm 根据标签部署MON监视器:
ceph orch apply mon label:mon
Scheduled mon update…
5.3将MON/MGR总数改为3,ceph会自动扩容到3(发现mgr实际上不会跟着主机的mgr标签走,但是会随着总数走,也就是mgr实际上是没有标签的)
ceph orch apply mgr 3
Scheduled mgr update…
修改mon数量,默认为5
ceph orch apply mon 3
或者将mon部署到特定主机
ceph orch apply mon
注意:之前版本需要确保在此列表中包含第一个(cephadm引导)主机。此版本不确定
5.4查看mon/mgr状态
ceph mon stat
e3: 3 mons at {test-alma9-kvm51=[v2:192.168.0.51:3300/0,v1:192.168.0.51:6789/0],test-alma9-kvm52=[v2:192.168.0.52:3300/0,v1:192.168.0.52:6789/0],test-alma9-kvm53=[v2:192.168.0.53:3300/0,v1:192.168.0.53:6789/0]} removed_ranks: {} disallowed_leaders: {}, election epoch 14, leader 0 test-alma9-kvm51, quorum 0,1,2 test-alma9-kvm51,test-alma9-kvm52,test-alma9-kvm53
ceph mgr stat
{
“epoch”: 17,
“available”: true,
“active_name”: “test-alma9-kvm51.vmdllt”,
“num_standby”: 1
}
其他:19.2.0修改/etc/ceph/ceph.conf文件,发现_admin标签的主机没有自动同步,也没有找到ceph同步指令,可能新版本ceph都用数据库模式了
ceph config assimilate-conf -i -o 从输入文件中提取配置文件并将所有有效选项移至监视器配置数据库。任何无法识别、无效或监视器无法控制的设置都将返回到存储在输出文件中的简略配置文件中。此命令对于从旧配置文件过渡到基于监视器的集中配置非常有用。
警告:默认情况下,cephadmosd_memory_target_autotune在引导时启用,并mgr/cephadm/autotune_memory_target_ratio设置为.7主机总内存。ceph 安装
因为安装步骤太长,所以创建OSD在另一篇文档
服务器说明
OS版本是almalinux9.2
192.168.0.51/192.168.8.51 Mon (安装cephadm的初始化节点)
192.168.0.52 Mon
192.168.0.53 Mon
192.168.0.54 OSD
192.168.0.55 OSD
192.168.0.56 OSD
所有服务器必须安装chronyd并启动
dnf -y install chronyd
systemctl status chronyd.service
所有服务器必须安装python3/podman/lvm2,并关闭防火墙/SELINUX
dnf install python3 podman lvm2 -y
systemctl stop firewalld.service
systemctl disable firewalld.service
加速container
mv /etc/containers/registries.conf /etc/containers/registries.conf.bak
cat < /etc/containers/registries.conf
unqualified-search-registries = [“docker.io”]
[[registry]]
prefix = “docker.io”
location = “anwk44qv.mirror.aliyuncs.com”
EOF
1.确定活跃ceph版本
https://docs.ceph.com/en/latest/releases/#active-releases
例如,我们可能会发现这19.2.0是最新的活动版本。
2.用于curl获取该版本的 cephadm 版本。
CEPH_RELEASE=19.2.0 # replace this with the active release
curl –silent –remote-name –location https://download.ceph.com/rpm-${CEPH_RELEASE}/el9/noarch/cephadm
确保cephadm文件是可执行的:
chmod +x cephadm
该文件可以直接从当前目录运行:
./cephadm –help
如果您在运行 cephadm 时遇到任何问题,包括错误消息,则可能是您没有安装 Python 或正确版本的 Python。cephadm 工具需要 Python 3.6 或更高版本
dnf install python3 podman lvm2 -y
虽然独立的 cephadm 足以引导集群,但最好cephadm在主机上安装该命令。要安装提供该cephadm命令的软件包,请运行以下命令:
./cephadm add-repo –release squid
./cephadm install
通过运行以下which命令确认它cephadm现在位于你的 PATH 中:
which cephadm
which cephadm成功的命令将返回以下内容:
/usr/sbin/cephadm
–skip-monitoring-stack 选项用于禁止安装prometheus
https://docs.ceph.com/en/latest/cephadm/services/monitoring/?highlight=prometheus
3.引导新集群
cephadm bootstrap –mon-ip 192.168.0.51 –cluster-network 192.168.8.0/24
此命令将:
在本地主机上为新集群创建一个监视器和一个管理器守护进程。
为 Ceph 集群生成新的 SSH 密钥并将其添加到 root 用户的/root/.ssh/authorized_keys文件中。
将公钥的副本写入/etc/ceph/ceph.pub。
向/etc/ceph/ceph.conf写入一个最小配置文件。此文件是与 Ceph 守护进程通信所必需的。
client.admin将管理(特权!)密钥的副本写入/etc/ceph/ceph.client.admin.keyring。
将_admin标签添加到引导主机。默认情况下,任何具有此标签的主机也将获得/etc/ceph/ceph.conf和/etc/ceph/ceph.client.admin.keyring的 副本。
也可以通过自定义配置文件引导ceph新集群
例如使用initial-ceph.conf配置文件引导新集群
cat < initial-ceph.conf
[global]
osd crush chooseleaf type = 0
EOF
./cephadm bootstrap –config initial-ceph.conf …
4.安装ceph-common软件包
cephadm install ceph-common
测试
ceph -v
ceph status
ceph config dump
4.将新主机添加到集群
参考:https://docs.ceph.com/en/latest/cephadm/host-management/#cephadm-adding-hosts
查看集群节点数量
ceph orch host ls
HOST ADDR LABELS STATUS
mixed-vpc-gz-2048-sms-cephmon-20 mixed-vpc-gz-2048-sms-cephmon-20
ceph orch host ls –detail
4.1在新主机的 root 用户authorized_keys文件中安装集群的公共 SSH 密钥:
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
ssh-copy-id -f -i /etc/ceph/ceph.pub [email protected]
验证:在192.168.0.52执行
cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQChB9OAKLoCwkW9ubna89J7pZfHzeOg+N5zPNEslsZBswcA9FURaQL/8S/oilXAsAbGswWMiFalvhbNl5RyCLX5mKBx116aIiq1fel17aUCZTXhvq1hDO9KsM+wIeOL5rb88YHCHPY8KTvA/rkmsWVmItf5lSSwVznhE4gAsTHr6OZ2RryJcRYKuGFK9GvIbBF6yN352Uf6MH1MztYk0gRaEemmf/gLg+oS39hGUXvAVpqI5mmSw7p5T8CdZx5hbHD8zijfweIFz8XOigxAQBciqbsMDdvyhbcgPVy9auUxs7OZpyaz5Pnay9ySC8+5eTA+tF2cKLjI1NcybjQCkdjTa2N0s4L3pmOL2+lfrwvKTbfW1p2iS0UpOqg8/WxVjgA02pmR8HaR7N3w/71OfKu7nedtBNy3amNEYvNXGFAlY9i0rK7+coPPx7YUpCouTcfGNWe0O+r6p0/D2VpDmcIMmNASlu/UT+xp79DgoOyc4xeJp0/jn6DvsnBGf3BQjbU= ceph-da81d1c6-90ed-11ef-bc89-5254006933cf
4.2添加新节点到ceph集群(告诉 Ceph 新节点是集群的一部分):
ceph orch host add [] [ …]
默认情况下,cephadm会在带有_admin标签的主机/etc/ceph目录维护ceph.conf文件和密钥环文件client.admin的副本 :
ceph orch host add test-alma9-kvm52 192.168.0.52 –labels _admin
ceph orch host add test-alma9-kvm53 192.168.0.53 –labels _admin
ceph orch host add test-alma9-kvm54 192.168.0.54 –labels _admin
ceph orch host add test-alma9-kvm55 192.168.0.55 –labels _admin
ceph orch host add test-alma9-kvm56 192.168.0.56 –labels _admin
ceph orch host add test-alma9-kvm57 192.168.0.57 –labels _admin
等待两分钟,查看集群主机,发现服务器配置都有了
ceph orch host ls –detail
HOST ADDR LABELS STATUS VENDOR/MODEL CPU RAM HDD SSD NIC
test-alma9-kvm51 192.168.0.51 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm52 192.168.0.52 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm53 192.168.0.53 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm54 192.168.0.54 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm55 192.168.0.55 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm56 192.168.0.56 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
test-alma9-kvm57 192.168.0.57 _admin Red Hat Red Hat Enterprise Linux (KVM) 8C/8T 16 GiB 1/16.1GB – 2
5.部署MON服务
5.1查看mon默认子网
ceph config dump
mon advanced public_network 192.168.0.0/23 *
5.2为部署MON服务器的主机设定mon标签,确保包含初始化主机(192.168.0.52)(不用给mgr打标签,因为cpeh还没有这个设置,不能按mon去推论mgr)
ceph orch host label add test-alma9-kvm51 mon
ceph orch host label add test-alma9-kvm52 mon
ceph orch host label add test-alma9-kvm53 mon
ceph orch host label add test-alma9-kvm54 mon
通过运行以下命令,告诉 cephadm 根据标签部署MON监视器:
ceph orch apply mon label:mon
Scheduled mon update…
5.3将MON/MGR总数改为3,ceph会自动扩容到3(发现mgr实际上不会跟着主机的mgr标签走,但是会随着总数走,也就是mgr实际上是没有标签的)
ceph orch apply mgr 3
Scheduled mgr update…
修改mon数量,默认为5
ceph orch apply mon 3
或者将mon部署到特定主机
ceph orch apply mon
注意:之前版本需要确保在此列表中包含第一个(cephadm引导)主机。此版本不确定
5.4查看mon/mgr状态
ceph mon stat
e3: 3 mons at {test-alma9-kvm51=[v2:192.168.0.51:3300/0,v1:192.168.0.51:6789/0],test-alma9-kvm52=[v2:192.168.0.52:3300/0,v1:192.168.0.52:6789/0],test-alma9-kvm53=[v2:192.168.0.53:3300/0,v1:192.168.0.53:6789/0]} removed_ranks: {} disallowed_leaders: {}, election epoch 14, leader 0 test-alma9-kvm51, quorum 0,1,2 test-alma9-kvm51,test-alma9-kvm52,test-alma9-kvm53
ceph mgr stat
{
“epoch”: 17,
“available”: true,
“active_name”: “test-alma9-kvm51.vmdllt”,
“num_standby”: 1
}
其他:19.2.0修改/etc/ceph/ceph.conf文件,发现_admin标签的主机没有自动同步,也没有找到ceph同步指令,可能新版本ceph都用数据库模式了
ceph config assimilate-conf -i -o 从输入文件中提取配置文件并将所有有效选项移至监视器配置数据库。任何无法识别、无效或监视器无法控制的设置都将返回到存储在输出文件中的简略配置文件中。此命令对于从旧配置文件过渡到基于监视器的集中配置非常有用。
警告:默认情况下,cephadmosd_memory_target_autotune在引导时启用,并mgr/cephadm/autotune_memory_target_ratio设置为.7主机总内存。