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、未完待续

相关文章
|
2月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
135 0
|
1月前
|
存储 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 版本的命令。
166 0
虚拟机centos7.9一键部署docker
|
2月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
404 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
2月前
|
存储 块存储
ceph分布式存储系统常见术语篇
关于Ceph分布式存储系统的常见术语解释和概述。
106 1
ceph分布式存储系统常见术语篇
|
2月前
|
存储
cephFS高可用分布式文件系统部署指南
关于如何部署高可用的cephFS分布式文件系统,包括集群的搭建、验证高可用性以及实现两主一从架构的详细指南。
76 9
|
2月前
|
存储 Kubernetes 数据安全/隐私保护
k8s对接ceph集群的分布式文件系统CephFS
文章介绍了如何在Kubernetes集群中使用CephFS作为持久化存储,包括通过secretFile和secretRef两种方式进行认证和配置。
88 5
|
2月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
116 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
2月前
|
分布式计算 资源调度 Hadoop
在YARN集群上运行部署MapReduce分布式计算框架
主要介绍了如何在YARN集群上配置和运行MapReduce分布式计算框架,包括准备数据、运行MapReduce任务、查看任务日志,并启动HistoryServer服务以便于日志查看。
62 0
|
1月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
3月前
|
NoSQL Redis
基于Redis的高可用分布式锁——RedLock
这篇文章介绍了基于Redis的高可用分布式锁RedLock的概念、工作流程、获取和释放锁的方法,以及RedLock相比单机锁在高可用性上的优势,同时指出了其在某些特殊场景下的不足,并提到了ZooKeeper作为另一种实现分布式锁的方案。
110 2
基于Redis的高可用分布式锁——RedLock