分布式存储——ceph集群部署
一、部署结构
以x.x.x.150、x.x.x.151、x.x.x.152三台服务器搭建最基本的三节点ceph集群,服务器系统使用的是centos7版本,IP网段为x.x.x.0/24,三台服务器的名称分别为:
- ceph001: x.x.x.150,管理节点
- ceph002: x.x.x.151,子节点
- ceph003:x.x.x.152,子节点
二、部署前准备
1. 修改hosts文件
以下操作需要在三台服务器依次执行
- 查看服务器名称
[root@ceph001 ~]# cat /etc/hostname
ceph001
- 编辑hosts文件
[root@ceph001 ~]# vim /etc/hosts
在hosts文件中追加服务器名称和IP地址
x.x.x.150 ceph001
x.x.x.151 ceph002
x.x.x.152 ceph003
2. 关闭防火墙
以下操作需要在三台服务器依次执行
[root@ceph001 ~]# systemctl stop firewalld
[root@ceph001 ~]# systemctl disable firewalld
编辑/etc/selinux/config修改:
[root@ceph001 ~]# vim /etc/selinux/config
SELINUX=disabled
3. 配置ssh免密
以下操作需要在管理节点ceph001执行
- 在管理节点ceph001生成秘钥
[root@ceph001 ~]# ssh-keygen
按照默认提示点击enter即可,生成的秘钥默认存放于~/.ssh文件中
- 分配秘钥至子节点
将管理节点ceph001的秘钥,即将id_rsa.pub的内容分发给其它节点
[root@ceph001 ~]# ssh-copy-id root@ceph002
[root@ceph001 ~]# ssh-cpoy-id root@ceph003
4. 修改yum源
以下操作需要在三台服务器依次执行
- 迁移旧的yum源
[root@ceph001 ~]# cd /etc/yum.repos.d
[root@ceph001 yum.repos.d]# mkdir unless
[root@ceph001 yum.repos.d]# mv *.repo unless
- 创建新的yum源
[root@ceph001 yum.repos.d]# vi ceph.repo
将以下内容复制到新的yum源文件中
[ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
- 刷新yum源
[root@ceph001 yum.repos.d]# yum clean all
[root@ceph001 yum.repos.d]# yum makecache
6. 安装chrony时间同步工具
以下操作需要在三个服务器节点依次执行
[root@ceph001 ~]# yum -y install chrony
[root@ceph001 ~]# systemctl enable chrony
[root@ceph001 ~]# server ntp1.aliyun.com iburst
[root@ceph001 ~]# systemctl start chrony
7. 安装ceph部署工具
以下操作需要在管理节点ceph001执行
[root@ceph001 ~]# yum -y install ceph ceph-deploy
三、正式部署
1. 创建集群配置目录
以下操作需要在管理节点ceph001执行
[root@ceph001 ~]# cd /usr/local
[root@ceph001 local]# mkdir ceph
[root@ceph001 local]# cd ceph
2. 创建集群
以下操作需要在管理节点ceph001执行
- 将三个服务器节点纳入ceph集群
[root@ceph ceph]# ceph-deploy new ceph001 ceph002 ceph003
创建成功后,会在该文件夹下生成名为ceph.conf的配置文件
- 修改配置文件
[root@ceph001 ceph]# vi ceph.conf
加入以下内容:
[global]
# 网段
public network = x.x.x.0/24
# 允许删除pool
mon_allow_pool_delete = true
同样的,在/etc/ceph/ceph.conf也加入以上内容,以保持一致。
- 执行安装
[root@ceph001 ceph]# ceph-deploy install ceph001 ceph002 ceph003
- 初始化monitor信息
[root@ceph001 ceph]# ceph-deploy mon create-initial
执行成功后,会在该文件夹下生成以下内容:
- 下发配置文件和管理信息至各节点
[root@ceph001 ceph]# ceph-deploy admin ceph001 ceph002 ceph003
- 安装管理守护进程(mgr)
[root@ceph001 ceph]# ceph-deploy mgr create ceph001 ceph002 ceph003
- 安装osd
分别查看各服务器节点可用磁盘,在ceph001中,其中vdb盘已经被ceph集群纳管为osd,其中vdc为空盘。
[root@ceph001 ceph]# lsblk
创建osd
[root@ceph001 ceph]# ceph osd create --data /dev/vdc ceph001
[root@ceph001 ceph]# ceph osd create --data /dev/vdc ceph002
[root@ceph001 ceph]# ceph osd create --data /dev/vdc ceph003
为新增的节点收集认证秘钥
[root@ceph001 ceph]# ceph-deploy gatherkeys ceph001
[root@ceph001 ceph]# ceph-deploy gatherkeys ceph002
[root@ceph001 ceph]# ceph-deploy gatherkeys ceph003
- 创建pool
pool的数量要大于30,数量为以2为底的指数
[root@ceph001 ~]# ceph osd pool create myPool 32 32
[root@ceph001 ~]# ceph osd pool application enable myPool rgw
3. 验证集群
出现HEALTH_OK代表正常
[root@ceph001 ceph]# ceph -s
四、问题总结与解决
待更新