# 删除默认yum源并配置阿里yum源 rm -f /etc/yum.repos.d/*.repo wget http://mirrors.aliyun.com/repo/Centos-7.repo -P /etc/yum.repos.d/ # 安装EPEL源 wget http://mirrors.aliyun.com/repo/epel-7.repo -P /etc/yum.repos.d/
配置Ceph源
cat > /etc/yum.repos.d/ceph.repo <<EOF [noarch] name=Ceph noarch baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/ enabled=1 gpgcheck=0 [x86_64] name=Ceph x86_64 baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/ enabled=1 gpgcheck=0 EOF
安装依赖包
安装Ceph-deploy部署工具,默认EPEL源提供的ceph-deploy版本是1.5,务必确保安装版本为2.0.1或之上版本,否则安装过程中会有很多问题
# 更新yum源 yum update -y # 安装工具包、python-setuptools一定要安装、不然会报错的 yum install -y chrony conntrack ipset jq iptables curl sysstat libseccomp wget socat git python-setuptools # 安装ceph-deploy部署工具 yum install ceph-deploy -y #校验版本 ceph-deploy --version
配置系统时间
timedatectl set-timezone Asia/Shanghai
配置时钟同步
timedatectl status
注:System clock synchronized: yes,表示时钟已同步;NTP service: active,表示开启了时钟同步服务
写入硬件时钟
# 将当前的 UTC 时间写入硬件时钟 timedatectl set-local-rtc 0 # 重启依赖于系统时间的服务 systemctl restart rsyslog systemctl restart crond
关闭无关服务
systemctl stop postfix && systemctl disable postfix
执行完上面所有的操作之后我们就可以重启所有主机了
sync reboot
部署Ceph集群
Ceph-deploy部署过程中会生成一些集群初始化配置文件和key 后续扩容的时候也需要使用到 因此,建议在admin-node上创建一个单独的目录 后续操作都进入到该目录中进行操作 以创建的ceph-admin为例 这里在/root/下面创建一个ceph-admin目录 mkdir -p ceph-admin # 后续所有的操作均需要在ceph-admin目录下面完成 cd ceph-admin
安装Ceph所需的安装包
安装过程中可以使用ceph-deploy install提供的安装方式 这个命令会自动安装EPEL源,重新设定Ceph源 这里我们已经设置到国内源了 因此采用手动安装Ceph安装包方式 为了保障后续的安装 在三个节点上将Ceph的安装包都部署上,在三个节点上分别执行下面的命令即可 yum install ceph-mon ceph-radosgw ceph-mds ceph-mgr ceph-osd ceph-common -y
创建一个Ceph Cluster集群
需要指定cluster-network(集群内部通讯)和public-network(外部访问Ceph集群) ceph-deploy new --cluster-network 192.168.168.0/24 --public-network 192.168.168.0/24 cephnode-01
初始化monitor节点
ceph-deploy mon create-initial
安装好ceph之后 会生成/var/run/ceph/ceph-mon.cephnode-01.asok这个文件
执行这个命令的时候
ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.cephnode-01.asok mon_status
如果找不到这个文件就会报这个错误
此时要确认主机名和/etc/hosts配置的名称是否一致
初始化完毕后会自动生成以下几个文件,这些文件用于后续和Ceph认证交互使用 初始化完成之后我们将admin的认证密钥拷贝到其他节点上 便于ceph命令行可以通过keyring和ceph集群进行交互 ceph-deploy --overwrite-conf admin cephnode-01 cephnode-02 cephnode-03
查看集群状态
Ceph集群已经建立起来 当前的Ceph集群包含一个monitor节点 通过 ceph -s 我们可以查看当前ceph集群的状态 但是此时并没有任何的OSD节点,因此无法往集群中写数据等操作
下篇文章将介绍下下如何将磁盘加入到集群中作为OSD节点以及其他操作的过程