Ceph 独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。
Ceph 简介 http://docs.ceph.org.cn/start/intro/
不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。
- Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。
- Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
- MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。
Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。
部署实验准备。
使用ceph-deploy 管理安装。
使用了VMware Workstation 创建了4个CentOS7虚拟机,作为实验主机。
设置主机名 主机IP
ceph-admin 192.168.199.80
ceph-1 192.168.199.81
ceph-2 192.168.199.82
ceph-3 192.168.199.83
一个 ceph-deploy 管理节点和一个三节点的Ceph 存储集群。
虚拟机基础设置
1.设置 hosts 文件。
四个主机都编辑 /etc/hosts 文件
vi /etc/hosts
末尾 添加。
192.168.199.80 ceph-admin
192.168.199.81 ceph-1
192.168.199.82 ceph-2
192.168.199.83 ceph-3
2.设置selinux。
即时生效。
setenforce 0
永久生效。便捷selinux/config 设置文件
vi /etc/selinux/config
设置
SELINUX=permissive
设置配置文件后需要重启后才会生效。可以 setenforce 0 即时生效。
3.设置防火墙
Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300 这个范围内的端口通信。 Ceph OSD 能利用多个网络连接进行与客户端、monitors、其他 OSD 间的复制和心跳的通信。
要设置firewalld允许相应的入站请求。
开放6789 端口
firewall-cmd --zone=public --add-port=6789/tcp --permanent
开放6800-7300 端口
firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
重启加载防火墙 策略 才能让设置生效
firewall-cmd --reload
4.设置 时间同步。可以连通网络的情况下。使用chronyd进行时间同步。
编辑 chronyd 配置文件。
vim /etc/chrony.conf
将原来默认的ntp服务器注释掉,设置为阿里的ntp服务器
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
重启 chronyd 服务。
systemctl restart chronyd
5.安装 epel-release
yum -y install epel*
6.设置ceph 安装源。安装版本luminous
使用的阿里源
vim /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
enabled=1
priority=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
enabled=1
priority=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=1
priority=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
安装如果出现 认证等问题可尝试将CentOS-Base源也替换为阿里源
yum -y install wget
备份安装源
cd /etc/yum.repos.d
sudo mv CentOS-Base.repo CentOS-Base.repo.bak
下载阿里源
cd /etc/yum.repos.d
sudo wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清除缓存并重新生成
yum clean all
yum makecache
安装 ceph-deploy
** Ceph-Deploy不再被积极维护。它没有在比Nautilus更新的版本上进行测试。它不支持RHEL 8、CentOS 8或更新的操作系统。**
但是 CentOS7 上部署 luminous 版本还是可以的。
只在 ceph-admin 节点执行
在ceph-admin 节点安装ceph-deploy
1.确认打开了插件支持
yum install yum-plugin-priorities
cat /etc/yum/pluginconf.d/priorities.conf
确保
[main]
enabled = 1