1 环境介绍与配置
1.1 ceph介绍
#ceph架构
#ceph支持的三种接口:
1 Object:有原生的API,而且也兼容Swift和S3的API。
2 Block:支持精简配置、快照、克隆。
3 File:Posix接口,支持快照。

#ceph的三种类型的优缺点:
1.2 环境介绍
[root@ceph135 ~]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
#ceph
Octopus 15.2.3
#这个版本支持的系统
CentOS 8
CentOS 7 (partial–see below)#部分支持
Ubuntu 18.04 (Bionic)
Debian Buster
Container image (based on CentOS 8)
注意:dashboard、prometheus和restful manager模块不能在CentOS7版本中使用,因为CentOS7缺少对Python3模块的依赖。
#网络设计
172.16.1.0/24 #Management Network 可不用设
172.16.2.0/24 #Public Network
172.16.3.0/24 #Cluster Network
#每台ceph节点下除系统盘外,挂两个30G硬盘
ceph135 eth0:172.16.1.135 eth1:172.16.2.135 eth2:172.16.3.135 1c1g
ceph136 eth0:172.16.1.136 eth1:172.16.2.136 eth2:172.16.3.136 1c1g
ceph137 eth0:172.16.1.137 eth1:172.16.2.137 eth2:172.16.3.137 1c1g
1.2 基础环境准备
1.2.1 关闭selinux、防火墙
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
#关闭SElinux
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0
reboot
1.2.2 设置主机名,每台设置
hostnamectl set-hostname ceph135
su -
1.2.3 设置网卡对应网卡IP(自行更改网卡名进行替换IP)
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
NetName=eth0
rm -f /etc/sysconfig/network-scripts/ifcfg-$NetName
nmcli con add con-name $NetName ifname $NetName autoconnect yes type ethernet \
ip4 172.16.1.135/24 ipv4.dns "114.114.114.114" ipv4.gateway "172.16.1.254"
#设置完成后执行下reload网络
nmcli c reload
#(可选)如要指定默认路由,只要在对应的网卡配置加上以下配置,如:
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPV4_ROUTE_METRIC=0
1.2.4 在hosts里添加对应的ceph节点信息
#vim /etc/hosts
#[ceph]
172.16.2.135 ceph135
172.16.2.136 ceph136
172.16.2.137 ceph137
1.2.5 添加Octopus版本的yum源
#vim /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.aliyun.com/ceph/rpm-octopus/el8/$basearch
enabled=1
gpgcheck=0
type=rpm-md
[Ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-octopus/el8/noarch
enabled=1
gpgcheck=0
type=rpm-md
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-octopus/el8/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
#系统yum源更换成阿里源,并更新yum文件缓存
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum clean all && yum makecache
1.2.6 时间同步
#个人比较喜欢用以下方式来同步时间
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
dnf install wntp
ntpdate ntp3.aliyun.com
echo "*/3 * * * * ntpdate ntp3.aliyun.com &> /dev/null" > /tmp/crontab
crontab /tmp/crontab
1.2.7(可选)安装基础软件
yum install net-tools wget vim bash-completion lrzsz unzip zip -y
2 ceph安装与配置
2.1 cephadm工具部署
#在15版本,支持使用cephadm工具部署,ceph-deploy在14版本前都支持
#拉取最新的cephadm,并赋权
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
chmod +x cephadm
#使用cephadm获取octopus最新版本并安装
[root@ceph135 ~]# dnf install python3 podman #每台节点安装
[root@ceph135 ~]# ./cephadm add-repo --release octopus #可不操作,因为前面我们已经添加了国内ceph源
INFO:root:Writing repo to /etc/yum.repos.d/ceph.repo...
INFO:cephadm:Enabling EPEL...
[root@ceph135 ~]# ./cephadm install
INFO:cephadm:Installing packages ['cephadm']...
[root@ceph135 ~]# which cephadm
/usr/sbin/cephadm
2.2 创建ceph新集群
2.2.1 指定管理节点
#创建一个可以被任何访问Ceph集群的主机访问的网络,指定mon-ip,并将生成的配置文件写进/etc/ceph目录里
[root@ceph135 ~]# mkdir -p /etc/ceph
[root@ceph135 ~]# cephadm bootstrap --mon-ip 172.16.2.135
INFO:cephadm:Verifying podman|docker is present...
INFO:cephadm:Verifying lvm2 is present...
INFO:cephadm:Verifying time synchronization is in place...
INFO:cephadm:Unit chronyd.service is enabled and running
INFO:cephadm:Repeating the final host check...
INFO:cephadm:podman|docker (/usr

本文详细介绍Ceph集群的搭建过程,包括环境配置、cephadm工具的使用、新集群的创建、ceph命令映射、OSD部署、CephFS与RGW服务配置,以及常见问题的解决方法。
633

被折叠的 条评论
为什么被折叠?



