-
1、修改主机名、网卡名
修改主机名:
bashsudo hostnamectl set-hostname 新主机名修改网卡名(选做):
bashsudo ip link set eth0 name newname -
2、关闭防火墙和selinux (选做)
-
3、关闭交换分区 (选做)
-
4、修改内核参数和资源限制参数 (选做)
-
5、配置时间同步服务(NTP)
bashsudo apt install ntp部署集群环境时,所有主机的时间源都需和ceph-1同步。
-
6、配置 ssh 免密登录
在1号主机ceph-1上操作:
bash# 生成ssh-key ssh-keygen -t rsa # 将ssh-key复制到2号主机或更多主机 ssh-copy-id ceph-2 -
7、安装 docker
参考以往的博客。
-
8、安装cephadm
bashsudo apt install cephadm检查主机是否满足安装ceph集群:
bashcephadm check-host --expect-hostname `hostname` -
9、初始化mon
bashcephadm bootstrap --mon-ip 10.0.3.69 --cluster-network 10.0.3.0/24 --initial-dashboard-user admin --initial-dashboard-password 123456 -
10、添加主机到集群
在主机ceph-1上操作:
- 配置ceph-2主机ssh免密登录:
bashssh-copy-id -f -i /etc/ceph/ceph.pub ceph-2- 进入集群环境:
bashcephadm shell --fsid cab35cc6-31ff-11ef-8f81-07bce4384981 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring- 将主机添加到集群中:
bashceph orch host add ceph-2 10.0.3.69 --labels=mon,mgr ceph orch host add ceph-3 10.0.3.70 --labels=mon- 查看加入到集群的节点:
bashceph orch host ls- 为节点ceph-2、ceph-3添加 _admin 标签:
bashshell ceph orch host label add ceph-2 _admin shell ceph orch host label add ceph-3 _admin- 给 ceph-1 --- ceph-4添加 mon 标签
bashceph orch host label add ceph-1 mon ceph orch host label add ceph-2 mon ceph orch host label add ceph-3 mon ceph orch host label add ceph-4 mon- 给 ceph-1、ceph-2添加 mgr 标签
bashceph orch host label add ceph-1 mgr ceph orch host label add ceph-2 mgr- 列出节点,查看节点上的标签
bashceph orch host ls调整 mon 节点的个数
bashceph orch apply mon --placement="4 label:mon" -
11、添加 OSD
- 说明:添加OSD时,建议将磁盘先格式化为无分区的原始磁盘
bashDISK="/dev/sdb" sgdisk --zap-all $DISK dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync blkdiscard $DISK partprobe $DISK- 调整 osd_poll 默认的个数
bashceph config set global osd_pool_default_size 1- 查看各节点可用的磁盘
bashceph orch device ls- 添加OSD:
bashceph orch daemon add osd ceph01:/dev/sda -
12、添加 pool
bashceph osd pool create hddpool 128 128列出池
bashceph osd lspools创建规则以使用该设备
bashceph osd crush rule create-replicated hdd default host hdd查看规则
bashceph osd crush rule ls规则应用到池上面
bashceph osd pool set hddpool crush_rule hdd -
13、部署MDS元数据服务
- 创建CephFS池:
bashceph osd pool create cephfs_data 64 64 ceph osd pool create cephfs_metadata 64 64- 设置副本数:
bashceph osd pool set cephfs_data size 1 ceph osd pool set cephfs_data size 1- 列出池:
bashceph osd lspools- 为数据池和元数据池创建文件系统
bashceph fs new cephfs cephfs_metadata cephfs_data- 使用 ceph orch apply 命令部署 MDS:
bashceph orch apply mds cephfs --placement="1 ceph-1"- 查看状态:
bashceph fs ls ceph fs status- 查看守护进程:
bashceph orch ps --daemon_type=mds -
14、dashboard的使用
查看 dashboard的访问地址:
bashceph mgr services -
15.删除节点
- 获取被删除主机上有哪些守护进程:
bashceph orch ps ceph-4- 先排空被删除主机上的所有守护进程
bashceph orch host drain ceph-4- 查看被移除的OSD状态:
bashceph orch osd rm status- 检查被删除的主机上所有守护进程是否已经从集群中移除:
bashceph orch ps ceph-4- 删除主机:
bashceph orch host rm ceph-4- 清理节点:
在被删除的节点上执行:
bashcephadm rm-cluster --fsid 集群id --force -
16.ceph mon监视器管理
bashceph orch apply mon --placement="ceph-1 ceph-2 ceph-3" -
17、ceph mgr 管理器管理
- 重启mgr:
bashceh orch restart mgr- 添加mgr:
bashceph orch apply mgr --placement="3 ceph-1 ceph-2 ceph-3" -
18.使用MDS
- 安装ceph客户端:
bashsudo apt install ceph ceph-common- 挂载cephfs:
bashmount -t ceph 10.2.3.200:6789:/ ./cephfs -o name=admin,secretfile=/etc/ceph/ceph.client.admin.keyring或:
bashmount -t ceph 10.2.3.200:6789:/ ./cephfs -o name=admin,secret=AQAQ23Nm81oMGBAACvc1JMckL4zCMSziL6GX9A== -
19、k8s中使用cephfs
参考:https://blog.csdn.net/HYESC/article/details/128039771
- k8s用到的信息:
txtclusterID: "cab35cc6-31ff-11ef-8f81-07bce4384981" monitors: 10.2.3.200:6789 user: admin userKey: AQCbJ3lmhEw4MhAA6+v/bC9igPjYvV1Sj0b+jA==- 创建子卷组:
bashceph fs subvolumegroup create cephfs csi -
20、问题解决
- 关闭pool没有副本的警告:
bashceph config set global mon_warn_on_pool_no_redundancy false-
ceph状态机undersized+degrated:
https://www.jianshu.com/p/0fd446d3e9ff -
ceph-csi镜像拉取失败解决办法:
https://blog.csdn.net/davidzzc/article/details/124868759
cephadm部署ceph分布式存储集群笔记
zhang-ge2024-06-28 12:13
相关推荐
智者知已应修善业17 分钟前
【51单片机LED贪吃蛇】2023-3-27charlie1145141913 小时前
从 0 开始:在 WSL + VSCode 上利用 Maven 构建 Java Spring Boot 工程思成不止于此10 小时前
【C++ 数据结构】二叉搜索树:原理、实现与核心操作全解析碧海潮生_CC11 小时前
【CUDA笔记】03 CUDA GPU 架构与一般的程序优化思路(下)钟屿11 小时前
Back to Basics: Let Denoising Generative Models Denoise 论文阅读学习d111111111d11 小时前
SPI通信协议--在STM32中介绍(学习笔记)愚昧之山绝望之谷开悟之坡12 小时前
业务接待-公务接待-商务接待WHFENGHE13 小时前
输电线路分布式故障定位在线监测装置:技术解析与实际应用价值大数据追光猿14 小时前
LangChain / LangGraph / AutoGPT / CrewAI / AutoGen 五大框架对比✎ ﹏梦醒͜ღ҉繁华落℘14 小时前
freeRTOS学习笔记(十四)--内存