系统:Rocky8.6
三台2H4G 三块10G的硬盘的虚拟机
node1 192.168.2.101
node2 192.168.2.102
node3 192.168.2.103
三台虚拟机环境准备
1、配置主机名和IP的映射关系
2、关闭selinux和firewalld防火墙
3、配置时间同步且所有节点chronyd服务开机自启
1、配置主机名和IP的映射关系1、修改主机名,三台都需要修改,此处举例node1 hostnamectl set-hostname node1 2、vi /etc/hosts 修改hosts文件,配置主机名和IP映射关系,添加这三条 192.168.2.101 node1 192.168.2.102 node2 192.168.2.103 node3 3、远程拷贝已经修改的节点文件到另外两台,也可直接过去修改 scp /etc/hosts root@node2:/etc/ scp /etc/hosts root@node3:/etc/
2、关闭selinux和firewalld防火墙
三台都需关闭 systemctl disable --now firewalld sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
3、配置时间同步且所有节点chronyd服务开机自启
三台都需执行 echo 'server time.windows.com iburst' >> /etc/chrony.conf 重启chrony服务并设置开机自启 systemctl restart chronyd systemctl enable chronyd chronyc sources 可查看是否同步成功
获取指定版本的cephadm,一台执行就行,这里选择node1
wget https://github.com/ceph/ceph/raw/pacific/src/cephadm/cephadm 获取 cephadm chmod +x cephadm 添加执行权限 ./cephadm add-repo --release pacific 添加指定版本的ceph源 ./cephadm install 安装cephadm工具
方框里的pacific为指定版本,也可替换为需求版本
在引导节点上部署单节点集群
cephadm bootstrap --mon-ip 192.168.2.101 --allow-fqdn-hostname --initial dashboard-user admin --initial-dashboard-password admin --dashboard password-noupdate bootstrap 引导集群 --mon-ip 192.168.2.101 指定mon节点地址 --allow-fqdn-hostname 使用主机名作为dashboard地址 --initial-dashboard-user admin 指定dashboard用户名为admin --initial-dashboard-password admin 指定dashboard用户密码为admin --dashboard-password-noupdate 首次登陆dashboard无需更改密码
部署完成即可浏览器访问web界面,端口8443
User: admin
Password: admin
此时Hosts为1 图中因为已经添加了两台进去,所以显示3台
给集群添加其他节点及OSD磁盘cephadm shell 进入到ceph操作环境 ceph cephadm get-pub-key > ~/ceph.pub 获取集群公钥并保存到当前路径下ceph.pub ssh-copy-id -f -i ~/ceph.pub root@node2 拷贝公钥到node2,做免密 ssh-copy-id -f -i ~/ceph.pub root@node3 拷贝公钥到node3,做免密 ceph orch host add node2 需要写完整的主机名 ceph orch host add node3 需要写完整的主机名 这两个节点完全扩容到集群需要大概15分钟,并且时间同步 ceph orch daemon add osd node1:/dev/sdb 添加指定主机的单块磁盘为osd ceph orch apply osd --all-available-devices 也可以在所有主机上将未使用的磁盘部署为osd
此时集群状态还是异常,因为OSD都是同一台设备的磁盘,PG存在单点故障问题,等其他两个节点加入集群,加入其他剩余磁盘即可恢复,下图为又加了一个节点进去
拓展:
关闭集群组件自扩展
ceph orch apply mon --unmanaged=true 关闭mon自动扩展
添加mgr节点
ceph orch daemon add mgr --placement=node2
添加mon节点
ceph orch daemon add mon --placement=node2
移除节点上的指定服务
ceph orch ps 查询各个节点上所运行的服务
ceph orch daemon rm mgr.node2.ifomqg 移除node2节点上的mgr服务
移除OSD
ceph orch daemon stop osd.6
ceph orch daemon rm osd.6 --force
ceph osd rm 6 这里6为osd序号
ceph orch device zap node2 /dev/sdd --force 擦除磁盘数据
ceph osd crush rm osd.6 删除cursh的osd映射
移除主机
ceph orch host rm node2 移除主机
标记ceph管理节点以执行cephadm
ceph orch host label add node2 mgr 给node2节点打上mgr标签
ceph orch host label add node3 mgr 给node3节点打上mgr标签
标记ceph组件节点以批量部署
ceph orch apply prometheus --placement="label:mgr" 给打上mgr标签节点部署prometheus