Ceph快速部署

环境

ceph版本:(luminous或jewel)
OS: centos 7.5(虚拟机)

准备工作

  1. 修改主机名和ip地址为一下内容
ceph101: 192.168.56.101
ceph102: 192.168.56.102
ceph103: 192.168.56.103
  1. 做域名解析
cat /etc/hosts
192.168.56.101          ceph101
192.168.56.102          ceph102
192.168.56.103          ceph103
  1. 关闭selinux并开放默认通信端口
因为Ceph Monitors之间默认使用 **6789** 端口通信, OSD之间默认用 **6800:7300**这个范围内的端口通信,因此我们需要开放端口或者禁用防火墙。
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service 
禁用selinux
sudo vim  /etc/selinux/config
SELINUX=disabled
sudo setenforce 0
  1. NTP同步时间
sudo yum install ntp -y
sudo start ntpd.service
sudo enable ntpd.service
  1. 安装ceph-deploy
sudo yum install ceph-deploy -y

开始搭建集群

  1. 指定安装版本并配置使用国内源
Luminous版的源:
export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-luminous/el7
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

Jewel版的源:
yum clean all
rm -rf /etc/yum.repos.d/*.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

vim /etc/yum.repos.d/ceph.repo
添加以下内容:
[ceph]
name=ceph
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
  1. 创建集群和monitor(至少一个)
 mkdir ceph-cluster && cd ceph-cluster
 ceph-deploy new ceph101 ceph102 ceph103
  1. 安装ceph软件包
ceph-deploy install --release luminous ceph101 ceph102 ceph103
  1. 部署初始化mon 和 准备keys
ceph-deploy mon create-initial
  1. 配置admin key 到每个节点
ceph-deploy admin ceph101 ceph102 ceph103
  1. 增加osd并激活
ceph-deploy --overwrite-conf osd prepare ceph101:/dev/sdc ceph102:/dev/sdc ceph103:/dev/sdc
ceph-deploy --overwrite-conf osd activate ceph101:/dev/sdc1 ceph102:/dev/sdc1 ceph103:/dev/sdc1
  1. 检查集群状态
ceph health
HEALTH_OK
ceph -s
    cluster 6e9752bb-0ee5-8338-c0ec-6b388a8d477f
    health HEALTH_OK
    monmap e1: 2 mons at {docker-rancher-client1=10.142.246.3:6789/0,docker-rancher-server=10.142.246.2:6789/0}
           election epoch 8, quorum 0,1 docker-rancher-server,docker-rancher-client1
    osdmap e18: 4 osds: 4 up, 4 in
           flags sortbitwise
     pgmap v182: 64 pgs, 1 pools, 0 bytes data, 0 objects
           281 GB used, 3455 GB / 3936 GB avail
                 64 active+clean
至此,集群部署完毕。

环境清理

如果中途部署失败了,不必删除ceph客户端,只需要在每个节点上执行如下指令即可将环境清理至刚安装完ceph客户端时的状态!

ps aux|grep ceph |awk '{print $2}'|xargs kill -9
ps -ef|grep ceph

#确保此时所有ceph进程都已经关闭!!!如果没有关闭,多执行几次。

umount /var/lib/ceph/osd/*
rm -rf /var/lib/ceph/osd/*
rm -rf /var/lib/ceph/mon/*
rm -rf /var/lib/ceph/mds/*
rm -rf /var/lib/ceph/bootstrap-mds/*
rm -rf /var/lib/ceph/bootstrap-osd/*
rm -rf /var/lib/ceph/bootstrap-rgw/*
rm -rf /var/lib/ceph/tmp/*
rm -rf /etc/ceph/*
rm -rf /var/run/ceph/*

常用命令


查看集群状态
ceph health 集群健康状况
ceph status / ceph -s   集群状态
ceph df 集群空间利用情况
ceph -w     监控集群运行情况

mon&osd启动方式
#monitor start/stop/restart
#ceph-1为各个monitor所在节点的主机名。
systemctl start [email protected] 
systemctl restart [email protected]
systemctl stop [email protected]
#OSD start/stop/restart 
#0为该节点的OSD的id,可以通过`ceph osd tree`查看
systemctl start/stop/restart [email protected]

查看MON状态
ceph mon stat   MON概况
ceph mon_status     MON详细情况
ceph mon dump       监视器运行图
ceph quorum_status  法定数量监视器状态

查看OSD状态
ceph osd tree   OSD目录树
ceph osd stat   OSD运行图概况
ceph osd dump   OSD运行图详情
ceph osd perf   OSD性能概况
ceph osd df OSD空间利用情况

查看存储池状态
rados df    集群及存储池空间利用情况
ceph osd lspools    存储池列表



部署MON节点
ceph-authtool --create-keyring
ceph-authtool --import-keyring
monmaptool --create
ceph-mon --mkfs

删除MON节点
ceph mon remove



部署OSD节点——两种方式,实现一种即可
1
ceph-disk prepare
ceph-disk activate
---------------------------
2
ceph osd create
ceph-osd
ceph auth add
ceph osd crush add

删除OSD节点
ceph osd out
ceph osd crush remove
ceph auth del
ceph osd rm

其他
ceph osd crush reweight 调整OSD权重



添加存储池
ceph osd pool create

删除存储池
ceph osd pool delete

其他
ceph osd pool rename    存储池改名
ceph osd pool mksnap    创建快照
ceph osd pool rmsnap    删除快照
ceph osd pool set / get 设置/查看参数

你可能感兴趣的:(Ceph快速部署)