开发者社区> Lansonli> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Ceph集群详细部署配置图文讲解(二)(上)

简介: Ceph集群详细部署配置图文讲解(二)(上)
+关注继续查看

Ceph集群详细部署配置



一、部署结构


image.png


虚拟机创建三台服务器, CENTOS 版本为 7.6 , IP 网段 192.168.116.2/24 。三台主机名称为:


CENTOS7-1: IP 为 192.168.116.141 , 既做管理节点, 又做子节点。

CENTOS7-2: IP 为 192.168.116.142 , 子节点。

CENTOS7-3: IP 为 192.168.116.143 , 子节点


二、系统配置


系统配置工作, 三台节点依次执行:


1、修改主机名称


[root@CENTOS7-1 ~]# vi /etc/hostname
CENTOS7-1


2、编辑hosts文件


192.168.116.141 CENTOS7-1 
192.168.116.142 CENTOS7-2 
192.168.116.143 CENTOS7-3


注意, 这里面的主机名称要和节点名称保持一致, 否则安装的时候会出现问题

image.png


3、修改yum源


vi /etc/yum.repos.d/ceph.repo , 为避免网速过慢问题, 这里采用的是清华镜像源:


[ceph] 
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/ 
enabled=1 
gpgcheck=1 
type=rpm-md 
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-noarch] 
name=Ceph noarch packages 
# 官方源 
#baseurl=http://download.ceph.com/rpm-mimic/el7/noarch 
# 清华源 
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/ 
enabled=1 
gpgcheck=1 
type=rpm-md 
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source] 
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/ 
enabled=1 
gpgcheck=1 
type=rpm-md 
gpgkey=https://download.ceph.com/keys/release.asc


4、安装ceph与ceph-deploy组件


yum update && yum -y install ceph ceph-deploy


安装完成, 如果执行 ceph-deploy 出现 ImportError: No module named pkg_resources


安装 python2-pip :


yum install epel-release -y
yum -y install python2-pip


5、安装NTP时间同步工具


yum install ntp ntpdate ntp-doc -y


确保时区是正确, 设置开机启动:


systemctl enable ntpd


并将时间每隔1小时自动校准同步。编辑 vi /etc/rc.d/rc.local 追加:


/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w


配置定时任务, 执行crontab -e 加入:


三、免密码SSH登陆



1、官方建议不用系统内置用户, 创建名为ceph_user用户, 密码也设为ceph_user:


useradd -d /home/ceph_user -m ceph_user 
passwd ceph_user


2、设置sudo权限


echo "ceph_user ALL = (root) NOPASSWD:ALL" | sudo tee
/etc/sudoers.d/ceph_user 
sudo chmod 0440 /etc/sudoers.d/ceph_user


1 、 2 两个步骤依次在三台机器上执行。


接下来在主节点, 继续执行:


3、生成密钥:


切换用户: su ceph_user


执行 ssh-keygen ,一直按默认提示点击生成 RSA 密钥信息。


4、分发密钥至各机器节点


ssh-copy-id ceph_user@CENTOS7-1 
ssh-copy-id ceph_user@CENTOS7-2 
ssh-copy-id ceph_user@CENTOS7-3


5、修改管理节点上的 ~/.ssh/config 文件, 简化SSH远程连接时的输入信息:

管理节点是会有root和ceph_user多个用户, ssh远程连接默认会以当前用户身份进行登陆, 如果我们是root身份进行远程连接, 还是需要输入密码, 我们想简化, 该怎么处理?


切换root身份


su root


修改~/.ssh/config 文件


Host CENTOS7-1 
  Hostname CENTOS7-1
  User ceph_user
Host CENTOS7-2 
  Hostname CENTOS7-2
  User ceph_user
Host CENTOS7-3 
  Hostname CENTOS7-3
  User ceph_user


注意修改文件权限, 不能采用777最大权限:


chmod 600 ~/.ssh/config


进行ssh远程连接时, Host的主机名称是区分大小写的, 所以要注意配置文件的主机名称。


6、开放端口, 非生产环境, 可以直接禁用防火墙:


systemctl stop firewalld.service 
systemctl disable firewalld.service


7、SELINUX设置


SELinux 设为禁用:


setenforce 0


永久生效:

编辑 vi /etc/selinux/config 修改:


SELINUX=disabled


四、集群搭建配置



采用root身份进行安装


1、在管理节点创建集群配置目录,cd /usr/local:


mkdir ceph-cluster
cd ceph-cluster


注意: 此目录作为 ceph 操作命令的基准目录, 会存储处理配置信息。


2、创建集群, 包含三台机器节点:


ceph-deploy new CENTOS7-1 CENTOS7-2 CENTOS7-3


创建成功后, 会生一个配置文件。


3、 如果接下来集群的安装配置出现问题, 可以执行以下命令清除, 再重新安装:


ceph-deploy purge CENTOS7-1 CENTOS7-2 CENTOS7-3 
ceph-deploy purgedata CENTOS7-1 CENTOS7-2 CENTOS7-3 
ceph-deploy forgetkeys


将三台节点的mon信息也删除


rm -rf /var/run/ceph/


4、 修改配置文件, 有些配置后面需用到:


vi /usr/local/ceph-cluster/ceph.conf


加入:


[global] 
# 公网网络 
public network = 192.168.88.0/24 
# 设置pool池默认分配数量 默认副本数为3 
osd pool default size = 2 
# 容忍更多的时钟误差 
mon clock drift allowed = 2 
mon clock drift warn backoff = 30 
# 允许删除pool 
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘 mgr modules = dashboard


第一项为副本数, 设为 2 份。

第二项为对外 IP 访问网段,注意根据实际 IP 修改网段。

第三、四项为允许一定时间的漂移误差。


5、执行安装:


ceph-deploy install CENTOS7-1 CENTOS7-2 CENTOS7-3


image.png


如果出现错误:


ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph --version


可以在各节点上单独进行安装:


yum -y install ceph


如果没有仓库文件 ceph.repo , 按上面的步骤手工创建。


6、初始monitor信息:


ceph-deploy mon create-initial ## ceph-deploy --overwrite-conf mon create-initial

image.png


执行完成后, 会生成以下文件:

image.png


7、同步管理信息:


下发配置文件和管理信息至各节点:


ceph-deploy admin CENTOS7-1 CENTOS7-2 CENTOS7-3

image.png


8、安装mgr(管理守护进程), 大于12.x版本需安装, 我们装的是最新版,需执行:


ceph-deploy mgr create CENTOS7-1 CENTOS7-2 CENTOS7-3


image.png


9、安装OSD(对象存储设备)


注意: 新版本的 OSD 没有 prepare 与 activate 命令。

这里需要新的硬盘作为 OSD 存储设备, 关闭虚拟机, 增加一块硬盘, 不用格式化。


cdb72db637c2453f83387ad494c4493e.png


重启, fdisk -l 查看新磁盘名称:


image.png


执行创建OSD命令:


ceph-deploy osd create --data /dev/sdb CENTOS7-1


三台节点都需分别依次执行。


ceph-deploy gatherkeys CENTOS7-1


10、验证节点:


输入 ceph health 或 ceph -s 查看, 出现 HEALTH_OK 代表正常。


image.png


通过虚拟机启动, 如果出现错误:


69a4212ed90941d7b8588de24ee9f33a.png


在各节点执行命令, 确保时间同步一致:


ntpdate ntp1.aliyun.com


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
二、详解执行上下文
暂时先不管这个例子,我们先引入一个JavaScript中最基础,但同时也是最重要的概念:执行上下文(Execution Context) 每次当控制器转到可执行代码的时候,就会进入一个执行上下文。执行上下文可以理解为当前代码的执行环境,它会形成一个作用域。JavaScript中的运行环境大概包括三种情况。 •全局环境:JavaScript代码运行起来会首先进入该环境
61 0
CDH集群部署最佳实践
一、集群规划 如果你正准备从0开始搭建一套CDH集群应用于生产环境,那么此时需要做的事情应该是 结合当前的数据、业务、硬件、节点、服务等对集群做合理的规划,而不是马上动手去安装软件。 合理的集群规划应该做到以下几点: 充分了解当前的数据现状 与业务方深入沟通,了解将会在集群上运行的业务,集群将会...
7214 0
[UWP]附加属性2:实现一个Canvas
原文:[UWP]附加属性2:实现一个Canvas 5. 附加属性实践:自定义Canvas 附加属性在UWP中是一个十分重要的组成部分,很多功能都依赖于附加属性实现,典型的例子是常用的Grid和Canvas。
952 0
Tomcat集群配置元素Transport属性(二)
Tomcat集群配置元素Transport属性(二)      属性:rxBufSize、含义:缓存大小(字节),用于接收每个socket连接上的数据。默认值是25188    属性:soKeepAlive、含义:为SO_KEEPALIVE socket选项设置的Boolean值。
539 0
+关注
Lansonli
CSDN大数据领域博客专家,华为云享专家、阿里云专家博主、腾云先锋(TDP)核心成员、51CTO专家博主,全网六万多粉丝,知名互联网公司大数据高级开发工程师
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Patroni安装部署指南
立即下载
云平台环境PostgreSQL 高可用集群方案
立即下载
大规模场景下KubernetesService 负载均衡性能
立即下载