CEPH集群的搭建

CEPH环境搭建

1、创建5台虚拟机

node1.tedu.cn  192.168.4.1

node2.tedu.cn  192.168.4.2

node3.tedu.cn  192.168.4.3

node4.tedu.cn  192.168.4.4

client.tedu.cn   192.168.4.10

2、启动虚机

[root@room8pc16 kvms_ansi]# for vm in rh7_node{1..5}

> do

> virsh start $vm

> done

3、在物理主机上配置CEPHYUM

[root@room8pc16 cluster]# mkdir  /var/ftp/ceph/

[root@room8pc16 cluster]# tail  -1  /etc/fstab 

/ISO/rhcs2.0-rhosp9-20161113-x86_64.iso /var/ftp/ceph  iso9660 defaults    0 0

[root@room8pc16 cluster]# mount -a

[root@room8pc16 ~]# vim  server.repo 

[rhel7.4]

name=rhel7.4

baseurl=ftp://192.168.4.254/rhel7.4

enabled=1

gpgcheck=0

[mon]

name=mon

baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/MON

enabled=1

gpgcheck=0

[osd]

name=osd

baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/OSD

enabled=1

gpgcheck=0

[tools]

name=tools

baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/Tools

enabled=1

gpgcheck=0

4、CEPH集群中有很多节点,逐台管理效率低下,还可能出现错误,所以可以找一台主机当作管理节点,由它统一管理所有主机。我们保用node1作为管理节点。

5、为了使得管理节点能够方便的管理,先创建免密登陆

(1)通过名称访问各台主机,配置名称解析

[root@node1 ~]# for i in {1..4}

> do

> echo -e "192.168.4.$i\tnode$i.tedu.cn\tnode$i" >> /etc/hosts

> done

[root@node1 ~]# echo -e "192.168.4.10\tclient.tedu.cn\tclient" >> /etc/hosts

(2)生成密钥对,非交互模式生成

[root@node1 ~]# ssh-keygen  -f  /root/.ssh/id_rsa  -N ""

(3)第一交ssh到远程主机会被询问(yes/no)?。可以先将远程主机的身份信息,保存到本地

[root@node1~]#ssh-keyscan 192.168.4.{1..4}>>/root/.ssh/known_hosts 

[root@node1 ~]# ssh-keyscan 192.168.4.10 >> /root/.ssh/known_hosts

[root@node1 ~]# ssh-keyscan node{1..4} >> /root/.ssh/known_hosts

[root@node1 ~]# ssh-keyscan client >> /root/.ssh/known_hosts

4)拷贝密钥到远程主机

[root@node1 ~]# for ip in 192.168.4.{1..4}

> do

> ssh-copy-id -i $ip

> done

[root@node1 ~]# ssh-copy-id -i 192.168.4.10

5)把hosts文件拷贝到各台主机

[root@node1 ~]# for host in node{2..4}

> do

> scp /etc/hosts $host:/etc/

> done

[root@node1 ~]# scp /etc/hosts client:/etc

6、client作为NTP服务器

NTP:网络时间协议,udp123端口。用于同步时间。

精确时间的确定:原子钟。全球时间不是一样的,因为地球是圆的,所以将地球按经度,每隔15度角划分一个时区,一共24时区。中国采用东八区时间。

(1)在client上安装软件包

[root@client ~]# yum install -y chrony

(2)修改配置

[root@client ~]# vim /etc/chrony.conf 

allow 192.168.4.0/24

local stratum 10

(3)启动服务

[root@client ~]# systemctl restart chronyd; systemctl enable chronyd

(4)将其他主机作为客户端

[root@node1 ~]# vim /etc/chrony.conf 

server 192.168.4.10 iburst    #其他3server开头的删除

[root@node1 ~]# for ip in 192.168.4.{2..4}

> do

> scp /etc/chrony.conf $ip:/etc/

> done

[root@node1 ~]# for ip in 192.168.4.{1..4}

> do

> ssh $ip systemctl restart chronyd

> done

(5)测试

[root@node1 ~]# date -s "2018-06-20 12:00:00"

[root@node1 ~]# ntpdate  192.168.4.10  192.168.4.10同步时钟

[root@node1 ~]# date  时间已同步

7、node1~node3上各添加3块硬盘

8、node1节点上安装ceph部署工具

[root@node1 ~]# yum install -y ceph-deploy

9、node1节点上为ceph创建工作目录,目录名自定义

[root@node1 ~]# mkdir  ceph_conf

[root@node1 ~]# cd ceph_conf

10、生成ceph安装所必须的配置文件

[root@node1 ceph_conf]# ceph-deploy new node1 node2 node3

[root@node1 ceph_conf]# ls

11、安装ceph集群

[root@node1 ceph_conf]# ceph-deploy install node1 node2 node3

12、根据自己的IP配置ceph.conf中添加public_network,可以稍微增大mon之间时差允许范围(默认是0.05S,现改为2S)

[root@node1 ceph_conf]#echo public_network=192.168.4.0/24 >>ceph.conf

[root@node1 ceph_conf]#echo mon_clock_drift_allowed = 2 >>ceph.conf

13、初始化所有节点的MON服务(部署监控节点)

[root@node1 ceph_conf]# ceph-deploy  mon  create-initial

14, 部署OSD

[root@node1 ceph_conf]#for i in node{1..3}

>do 

>ceph-deploy --overwrite-conf osd prepare $i:/dev/vdb $i:/dev/vdc $i:/dev/vdd  --zap-disk

>done

15, 查看分区 

[root@node1 ceph_conf]#lsblk

16, 这里有个WARN 去掉WARN 只需要增加rbd池的PGok

[root@node1 ceph_conf]# ceph osd pool set rbd pg_num 128

[root@node1 ceph_conf]# ceph osd pool set rbd pgp_num 128

16, 给各个节点推送config 配置(不要直接修改某个节点的/etc/ceph/ceph.conf文件

)而是去部署节点,因为到时候节点几十上百的时候,你不可能一个个去改

[root@node1 ceph_conf]#ceph-deploy -overwrite-conf config push node1 node2 node3

17重启各个节点的mon服务 monosd启动方式

[root@node1 ceph_conf]#systemctl start [email protected]

[root@node1 ceph_conf]#systemctl start [email protected]

// 1为该节点的osd的id 可以通过 ceph osd tree 

18,遇到的报错 

[root@node1 ceph_conf]# ceph -s

 Health HEALTH_ERR

 clock skew detected on mon.node2

添加配置参数

[root@node1 ceph_conf]# vim /etc/ceph/ceph.conf

mon clock drift warn backoff = 30

同步配置文件

[root@node1 ceph_conf]# ceph-deploy --overwrite-conf admin node1 node2

重启mon服务

[root@node1 ceph_conf]#systemctl restart [email protected]

猜你喜欢

转载自blog.csdn.net/woaini1314520_xhh/article/details/80777740
今日推荐