CentOS7.7.1908下部署Ceph分布式存储(上)

简介: CentOS7.7.1908下部署Ceph分布式存储(上)

640.png

640.jpg


如上拓扑环境如下:

10.20.10.215 ceph_admin ceph_admin.walkingcloud.cn 
10.20.10.216 node1 node1.walkingcloud.cn
10.20.10.217 node2 node2.walkingcloud.cn
10.20.10.218 node3 node3.walkingcloud.cn
三个node节点均配置了一块数据盘/dev/sdb 

三个node节点均配置了一块数据盘/dev/sdb


1、 nmtui修改四台主机的主机名


以第一台为例ceph_admin.walkingcloud.cn,其它主机依次修改

640.png

640.png
vi /etc/hosts
添加如下行到/etc/hosts
10.20.10.215 ceph_admin ceph_admin.walkingcloud.cn 
10.20.10.216 node1 node1.walkingcloud.cn
10.20.10.217 node2 node2.walkingcloud.cn
10.20.10.218 node3 node3.walkingcloud.cn


640.png

2、每台主机配置yum Base源 EPEL源以及ceph源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
vi /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck=0
priority =1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0
priority =1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
gpgcheck=0
priority=1

640.png

3、创建部署 CEPH 的用户


ceph-deploy 工具必须以普通用户登录 Ceph 节点,且此用户拥有无密码使用 sudo 的权限,因为它需要在安装软件及配置文件的过程中,不必输入密码。

较新版的 ceph-deploy 支持用 --username 选项提供可无密码使用 sudo 的用户名(包括 root ,虽然不建议这样做)。

使用 ceph-deploy --username {username} 命令时,指定的用户必须能够通过无密码 SSH 连接到 Ceph 节点,因为 ceph-deploy 中途不会提示输入密码

useradd -d /home/admin -m adminecho "Admin@123"|passwd --stdin adminecho -e 'Defaults:admin !requiretty\nadmin ALL = (root) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/admin chmod 0440 /etc/sudoers.d/admin


4、用Ceph用户登录配置SSH免密登录

su - admin
ssh-keygen
ssh-copy-id admin@node1
ssh-copy-id admin@node2
ssh-copy-id admin@node3

640.png

为了简单起见,每台都关闭了firewalld防火墙

systemctl stop firewalld
systemctl disable firewalld

640.png

验证ssh免密登录是否OK

640.png


5、每台机器均关闭selinux


setenforce 0 sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

640.png

6、管理节点上安装ceph-deploy


su - adminsudo yum install ceph-deploy -y

640.png


7、创建集群


mkdir cluster
cd cluster/
ceph-deploy new ceph_admin

640.png

如下图所示,执行时报错

ceph-deploy new ceph_admin     
Traceback (most recent call last):
  File "/bin/ceph-deploy", line 18, in <module>
    from ceph_deploy.cli import main
  File "/usr/lib/python2.7/site-packages/ceph_deploy/cli.py", line 1, in <module>
    import pkg_resources
ImportError: No module named pkg_resources

解决办法:sudo yum install python-setuptools -y

640.png

修改vi ceph.conf

640.png


public network = 10.20.10.0/23osd pool default size = 3

8、ceph-deploy在各节点安装 Ceph


ceph-deploy install ceph_admin node1 node2 node3

640.jpg

9、初始化monitor监控节点 

ceph-deploy mon create-initial

640.png

640.png


10、用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点

这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了 ceph-deploy admin ceph_admin node1 node2 node3

640.png

11、检查节点的磁盘

ceph-deploy disk list node1 node2 node3

640.png


12、用 osd create 命令一次完成准备 OSD 、部署到 OSD 节点、并激活它

ceph-deploy osd create --data /dev/sdb node1
ceph-deploy osd create --data /dev/sdb node2
ceph-deploy osd create --data /dev/sdb node3

640.jpg

13、查看集群健康状态

sudo chmod +r /etc/ceph/ceph.client.admin.keyring

确保你对 ceph.client.admin.keyring 有正确的操作权限ceph healthceph -s

640.png


14、未完待续

相关文章
|
6天前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
本文由仁励家网络科技(杭州)有限公司架构师赵云兴、葛志刚撰写,探讨了公司在优化HR SaaS解决方案时遇到的系统资源浪费和运维成本高的问题。通过引入Koupleless框架,成功将模块体积从500M缩减至5M以下,部署时间从6分钟缩短至3分钟,并大幅节省服务器资源。文章详细介绍了Koupleless的部署方案及优化措施,感谢Koupleless团队的专业支持,使人力家实现了多应用合并部署,降低了运维成本。
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
7天前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
通过引入Koupleless框架,解决了多应用部署中资源浪费和运维成本高的问题,实现了模块瘦身、快速部署及流量控制优化,大幅降低了服务器资源占用和发布耗时,提升了系统稳定性和运维效率。最终,人力家成功实现了多应用的轻量集中部署,显著减少了运维成本。
 Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
10天前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
|
20天前
|
Java 关系型数据库 MySQL
新一代 Cron-Job分布式任务调度平台 部署指南
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
69 12
|
26天前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。
|
4月前
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
5月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
382 0
虚拟机centos7.9一键部署docker
|
20天前
|
NoSQL Java 中间件
【📕分布式锁通关指南 02】基于Redis实现的分布式锁
本文介绍了从单机锁到分布式锁的演变,重点探讨了使用Redis实现分布式锁的方法。分布式锁用于控制分布式系统中多个实例对共享资源的同步访问,需满足互斥性、可重入性、锁超时防死锁和锁释放正确防误删等特性。文章通过具体示例展示了如何利用Redis的`setnx`命令实现加锁,并分析了简化版分布式锁存在的问题,如锁超时和误删。为了解决这些问题,文中提出了设置锁过期时间和在解锁前验证持有锁的线程身份的优化方案。最后指出,尽管当前设计已解决部分问题,但仍存在进一步优化的空间,将在后续章节继续探讨。
461 131
【📕分布式锁通关指南 02】基于Redis实现的分布式锁
|
23天前
|
NoSQL Java Redis
Springboot使用Redis实现分布式锁
通过这些步骤和示例,您可以系统地了解如何在Spring Boot中使用Redis实现分布式锁,并在实际项目中应用。希望这些内容对您的学习和工作有所帮助。
152 83
|
5月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?

热门文章

最新文章