三、Ceph基本组件
(1)mon记录元数据,存放数据的映射表关系,一个mon就是三个metadata
(2)osd(OSD Object Storage Device)存放数据的硬盘,对象存储设备,一个硬盘对应一个OSD,运行一个进程
(3)mds(Metadata Server)只用于存放CephFS文件系统
四、Ceph数据存储过程
(1)一个file切割为多个object,每个object由一个innode(innode)和boject编号(ono)组成一个object id(即oid)
(2)将oid做hash运算获取到pgid,再通过hash和mask获取PGs
(3)通过CRUSH算法,将pgid进行运算,并找到存储pg的osd节点
(4)最后,PG的数据最终写入到OSD节点,完成数据的写入过程
五、环境准备
1.环境需求
(1)三个节点ceph_node1 ceph_node2 ceph_node3
(2)三个节点需要添加两块20G硬盘,用于创建OSD
(3)CentOS系统:CentOS Linux release 7.3.1611 (Core)
(4) 安装CentOS图形化操作系统
2.网卡配置
(1)一张NAT模式的网卡,一张仅主机模式的网卡
(2) NAT模式的网卡可以访问外网地址,在这里三个节点需要使用NAT模式来访问外网地址,便于获取第三方的软件包
3.网络规划
ceph_node1 192.168.106.170
ceph_node2 192.168.106.171
ceph_node3 192.168.106.172
六、实验过程
1.修改主机名
[root@localhost ~]# hostnamectl set-hostname ceph_node1
[root@localhost ~]# hostnamectl set-hostname ceph_node2
[root@localhost ~]# hostnamectl set-hostname ceph_node3
2.将主机名和IP分别写入三个节点的/etc/hosts文件下
3.使用scp命令在主机之间复制文件如下
4.设置三个节点的防火墙和selinux。这里以ceph_node1节点为例,ceph_node2节点和ceph_node3节点操作一致
5.修改配置文件/etc/sysconfig/selinux将SELINUX=enforcing修改为disabled即可
6.SSH互信,三个节点都需要做ssh互信。这里以ceph_node1节点为例,ceph_node2节点和ceph_node3节点操作一致。在这里,连续按三次回车即可
7.将ssh密钥传给ceph_node1、ceph_node2、ceph_node3节点,这里只需要输入各节点的密码即可
8.同步时间服务器,将ceph_node1作为ntp服务器,调整chrony配置文件
(1)ceph_node1节点
使用vim /etc/chrony.conf修改配置文件的第22行和第29行即可
重启时间服务器
(2)ceph_node2节点
使用vim /etc/chrony.conf在第2行添加一行server ceph_node1 iburst,并注释掉第4至7行
重启时间服务器
ceph_node3节点的时间服务器配置和ceph_node2节点的操作一致,过程略
9.三个节点配置yum,这里以ceph_node1为例。ceph_node2节点和ceph_node3节点配置一致
(1)配置Centos源
[root@ceph_node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(2)配置epel源
[root@ceph_node1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
(3)配置ceph源
[root@ceph_node1 ~]# vim /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
priority =1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
priority =1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/SRPMS
gpgcheck=0
priority=1
10.三个节点使用yum clean all清除yum缓存 和yum makecache建立yum缓存
11.三个节点都需要更新源 yum update -y和安装ceph-deploy。这里以ceph_node1节点为例,ceph_node2节点和ceph_node3节点操作一致
12.在ceph-node1创建一个/myceph目录,并在此目录下执行操作
13.创建ceph集群,在ceph-node1节点上执行
14.在三个节点上安装ceph软件。这里以ceph_node1节点为例,ceph_node2节点和ceph_node3节点操作一致
15.查看ceph版本
16.在ceph_node1节点上生成检测集群所使用的秘钥
17.在ceph_node1节点使用ceph-deploy工具创建OSD节点
[root@ceph_node1 myceph]# ceph-deploy osd prepare ceph_node1:/dev/sdb
[root@ceph_node1 myceph]# ceph-deploy osd prepare ceph_node1:/dev/sdc
[root@ceph_node1 myceph]# ceph-deploy osd prepare ceph_node2:/dev/sdb
[root@ceph_node1 myceph]# ceph-deploy osd prepare ceph_node2:/dev/sdc
[root@ceph_node1 myceph]# ceph-deploy osd prepare ceph_node3:/dev/sdb
[root@ceph_node1 myceph]# ceph-deploy osd prepare ceph_node3:/dev/sdc
18.在ceph_node1节点使用ceph-deploy工具激活OSD节点
[root@ceph_node1 myceph]# ceph-deploy osd activate ceph_node1:/dev/sdb1
[root@ceph_node1 myceph]# ceph-deploy osd activate ceph_node1:/dev/sdc1
[root@ceph_node1 myceph]# ceph-deploy osd activate ceph_node2:/dev/sdb1
[root@ceph_node1 myceph]# ceph-deploy osd activate ceph_node2:/dev/sdc1
[root@ceph_node1 myceph]# ceph-deploy osd activate ceph_node3:/dev/sdb1
[root@ceph_node1 myceph]# ceph-deploy osd activate ceph_node3:/dev/sdc1
19.检查Ceph环境
20.检查Ceph的CRUSH
21.查看Ceph存储池
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!