规划
操作系统 CentOS 7.4
hostname | ip | 说明 |
---|---|---|
node-1 | 192.168.31.207 | 管理节点 osd,mon,mgr |
node-2 | 192.168.31.159 | osd,mon,mgr |
node-3 | 192.168.31.198 | osd,mon,mgr |
主机名解释
在3台主机上添加 hosts
vi /etc/hosts
192.168.31.207 node-1
192.168.31.159 node-2
192.168.31.198 node-3
# 每台主机设置 hostname,这里以 node-1 为例子
hostnamectl set-hostname node-1
关闭 firewalld 和 selinux
在3台主机上操作
systemctl disable firewalld
systemctl stop firewalld
# 修改配置
vi /etc/selinux/config
SELINUX=disabled
setenforce 0
设置时间同步
在3台主机上操作
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release -y
yum install ntp -y
vi /etc/ntp.conf
# 注释下面4行,添加阿里云时间同步服务器
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp.aliyun.com iburst
service ntpd start
chkconfig ntpd on
ntpq -pn
添加 ceph 源并进行安装
在3台主机上操作
vi /etc/yum.repos.d/ceph.repo
[norch]
name=norch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
enabled=1
gpgcheck=0
[x86_64]
name=x86_64
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
enabled=1
gpgcheck=0
yum install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds -y
配置密钥基于ssh的认证
在 node-1上操作
# 不输入密码
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub node-2
ssh-copy-id -i ~/.ssh/id_rsa.pub node-3
ssh-copy-id -i ~/.ssh/id_rsa.pub node-1
# 测试
ssh node-2
ssh node-3
ssh node-1
在管理节点 node-1 安装 ceph-deploy
yum install ceph-deploy python-setuptools
# 生成初始化配置
mkdir /data/ceph-deploy -p
cd /data/ceph-deploy/
# 初始化第一个 MON 节点,若你的集群中有专门的网络可供 ceph 传输内部数据,可以指定 --cluster-network 网络
ceph-deploy new --public-network 192.168.31.0/24 node-1
ceph-deploy mon create-initial
# 把配置文件和admin密钥拷贝到Ceph集群各节点,以免得每次执行"ceph"命令行时不得不明确指定MON节点地址和ceph.client,admin.keyring
ceph-deploy admin node-1 node-2 node-3
# 配置Manager节点,启动ceph-mgr进程(仅Luminious+版本)︰
ceph-deploy mgr create node-1
# 查看集群状态
ceph -s
把 node-1, node-2 和 node-3 上的设备 vdb 添加为 OSD
lsblk
blkid
ceph-deploy osd create node-1 --data /dev/sdb
ceph-deploy osd create node-2 --data /dev/sdb
ceph-deploy osd create node-3 --data /dev/sdb
# 列出指定节点上的 OSD:
ceph-deploy osd list node-1
ceph osd tree
把 node-2,node-3 设置为监视器节点
ceph-deploy mon add node-2
ceph-deploy mon add node-3
# 查看集群状态
ceph -s
# 查看监视器及法定人数的相关状态
ceph quorum_status --format json-pretty
ceph mon stat
扩展Manager节点
Ceph Manager 守护进程以 "Active/Standby" 模式运行,部署其它 ceph-mgr 守护程序可确保在 Active 节点或其上的 ceph-mgr 守护进程故障时,其中的一个Standby实例可以在不中断服务的情况下接管其任务。
ceph-deploy mgr create node-2 node-3