ceph集群部署(准备阶段)

1. 配置静态网络(自选)

配置静态IP

2. 配置主机名(必做)

ceph01:

hostnamectl set-hostname ceph01

ceph02:

hostnamectl set-hostname ceph02

ceph03:

hostnamectl set-hostname ceph03

3. 配置域名解析(必做)

这里以ceph01节点为例,其他节点方法相似

vi /etc/hosts

添加以下内容

192.168.100.30  ceph01
192.168.100.40  ceph02
192.168.100.50  ceph03

4. 安装命令补全相关的包(自选)

yum list all | grep bash
yum install bash-completion.noarch  -y
reboot

等待一会儿,再重新连接服务器

5,每台服务器添加一块硬盘(必做)

自行添加

ceph集群部署

1. 配置免密登录(所有存储节点都需执行)

ssh-keygen
ssh-copy-id ceph01
ssh-copy-id ceph02
ssh-copy-id ceph03

centos 7 部署ceph 集群 ceph集群搭建_配置文件

2. 更换网络源(所有节点都需要做)并安装ceph软件包

2.1 备份yum源
mkdir /etc/yum.repos.d/ch
mv /etc/yum.repos.d/* /etc/yum.repos.d/ch
2.2 安装阿里源,下载wget等
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y wget
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install yum-plugin-priorities.noarch
2.3配置Ceph源
cat << EOF | tee /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/\$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
EOF

centos 7 部署ceph 集群 ceph集群搭建_linux_02

2.4 在所有集群和客户端节点安装Ceph
yum -y install ceph --skip-broke
2.5 在ceph01节点额外安装ceph-deploy
yum install -y python-setuptools 
yum -y install ceph-deploy
2.6 校验版本
ceph-deploy --version

centos 7 部署ceph 集群 ceph集群搭建_配置文件_03

3. 初始化Ceph集群

3.1 在管理点上创建一个目录,以维护为集群生成的配置文件和密钥。
mkdir cluster
cd cluster
3.2 使用ceph-deploy创建集群
ceph-deploy new --public-network 192.168.200.0/24 --cluster-network 192.168.200.0/24 ceph01

这里直接指定cluster-network(集群内部通讯)和public-network(外部访问Ceph集群),也可以在执行命令后修改配置文件方式指定。

3.3 检查当前目录中的输出

centos 7 部署ceph 集群 ceph集群搭建_linux_04

3.4 查看ceph配置文件
cat ceph.conf

centos 7 部署ceph 集群 ceph集群搭建_服务器_05

3.5安装Ceph包到指定节点

参数–no-adjust-repos是直接使用本地源,不生成官方源

ceph-deploy install --no-adjust-repos ceph01 ceph02 ceph03

centos 7 部署ceph 集群 ceph集群搭建_centos 7 部署ceph 集群_06

4. 创建第一个monitor

创建监视器,初始化monitor,并收集所有密钥,官方介绍:为了获得高可用性,您应该运行带有至少三个监视器的生产Ceph集群。

ceph-deploy mon create-initial

4.1 初始化完毕后会自动生成以下几个文件

centos 7 部署ceph 集群 ceph集群搭建_linux_07

使用ceph-deploy命令将配置文件和 admin key复制到管理节点和Ceph节点,以便每次执行ceph CLI命令无需指定monitor地址和

ceph.client.admin.keyring。
ceph-deploy admin ceph01 ceph02 ceph03

centos 7 部署ceph 集群 ceph集群搭建_服务器_08

4.2 查看复制的包

ssh ceph03  ls /etc/ceph

centos 7 部署ceph 集群 ceph集群搭建_ceph_09

  1. 创建第一个manager
ceph-deploy mgr create ceph01

centos 7 部署ceph 集群 ceph集群搭建_centos 7 部署ceph 集群_10

  1. 添加OSD盘
    添加6个osd,假设每个节点中都有2个未使用的磁盘/dev/vdb。 确保该设备当前未使用并且不包含任何重要数据。(等待的时间长)
ceph-deploy osd create --data /dev/sdb ceph01
ceph-deploy osd create --data /dev/sdb ceph02
ceph-deploy osd create --data /dev/sdb ceph03

6.1检查集群健康状态

ceph health
ceph health detail

注!如果回显“HEALTH_WARN mon is allowing insecure global_id reclaim” 解决办法:禁用不安全模式

ceph config set mon auth_allow_insecure_global_id_reclaim false

稍后再次查看,ceph status就变成HEALTH_OK

centos 7 部署ceph 集群 ceph集群搭建_centos 7 部署ceph 集群_11

6.2 查看集群状态详细信息

ceph -s

centos 7 部署ceph 集群 ceph集群搭建_ceph_12

  1. 扩展群集
7.1 添加Monitors
ceph-deploy mon add ceph02
ceph-deploy mon add ceph03

添加了新的Ceph Monitor,Ceph将开始同步Monitor并形成仲裁。可以通过执行以下命令检查仲裁状态:(注意时间同步)

ceph quorum_status --format json-pretty

centos 7 部署ceph 集群 ceph集群搭建_centos 7 部署ceph 集群_13

7.2 添加Managers
ceph-deploy mgr create ceph02 ceph03

在以下输出中可以看到standby Manager

centos 7 部署ceph 集群 ceph集群搭建_centos 7 部署ceph 集群_14

再次检测集群状态

ceph -s

centos 7 部署ceph 集群 ceph集群搭建_服务器_15

7.3 创建rgw实例
7.3.1 创建RGW的新实例
ceph-deploy rgw create ceph01 ceph02 ceph03

默认情况下,RGW实例将侦听7480端口。

7.3.2 在运行RGW的节点上编辑ceph.conf来更改此端口
vi ceph.conf

修改内容如下:

[client]
rgw frontends = civetweb port=80
7.3.3验证rgb

浏览器访问http://192.168.200.30:7480/,能输出内容就成功

7.4 创建mds实例
ceph-deploy --overwrite-conf mds create ceph01 ceph02 ceph03

centos 7 部署ceph 集群 ceph集群搭建_ceph_16

7.5 查看osd当前状态
ceph osd tree
7.6 配置删除pool权限

默认创建pool无法执行删除操作,需要执行以下配置

vi ceph.conf

添加如下内容:

[mon]
mon_allow_pool_delete = true

更新配置到所有节点

cd /root/cluster/
ceph-deploy --overwrite-conf config push ceph01 ceph02 ceph03

centos 7 部署ceph 集群 ceph集群搭建_配置文件_17

8. 各个节点重启monitor服务

systemctl restart ceph-mon.target

centos 7 部署ceph 集群 ceph集群搭建_centos 7 部署ceph 集群_18

感谢大家,点赞,收藏,关注,评论!