部署Ceph集群实战指导手册-V1.0-黑夜青儿

本文详细介绍Ceph集群的搭建过程,包括控制节点、存储节点的配置,内核升级,防火墙与SELinux关闭,用户创建,Ceph源配置,控制节点安装,监控节点初始化,OSD安装,CephFS启用及挂载等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1. 控制节点
 编辑主机名172.26.130.100/etc/hosts
172.26.130.100 fcp01
172.26.130.101 fcp02
172.26.130.102 fcp03
172.26.130.103 fcp04

1.2. 存储节点
 编辑主机名172.26.130.101、102、103/etc/hosts
172.26.130.100 fcp01
172.26.130.101 fcp02
172.26.130.102 fcp03
172.26.130.103 fcp04

1.3. 安装ntp
 在每台主机上安装ntp服务器
yum install -y ntp
vim /etc/ntp.conf
在这里插入图片描述
根据实际情况更改以上内容

1.4. 配置无钥匙登录
 在172.26.130.100无钥匙登录其他服务器
ssh-keygen
ssh-copy-id 172.26.130.101
ssh-copy-id 172.26.130.102
ssh-copy-id 172.26.130.103
 验证登录
 ssh fcp02
[root@fcp01 ~]# ssh fcp02
Last login: Thu Aug 30 09:34:39 2018 from 172.26.237.67
[root@fcp02 ~]#

1.5. 内核升级
 系统是centos7.5,内核升级到4.4.1
升级的方法:
1、导入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2、安装elrepo的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

3、安装内核
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
当前为4.4.1:
================================================================================== Package 架构 版本 源 大小 ================================================================================== 正在安装: kernel-ml x86_64 4.4.1-1.el7.elrepo elrepo-kernel 38 M kernel-ml-devel x86_64 4.4.1-1.el7.elrepo elrepo-kernel 10 M

4、查看默认启动顺序
awk -F’ ‘$1=="menuentry " {print $2}’ /etc/grub2.cfg
CentOS Linux (4.4.1-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-c52097a1078c403da03b8eddeac5080b) 7 (Core)

5、默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.4.1的是在1),所以需要选择0。
grub2-set-default 0

6、然后reboot重启,使用新的内核,下面是重启后使用的内核版本:
uname -r 4.4.4-1.el7.elrepo.x86_64

1.6. 关闭防火墙、关闭seliunx
#Systemctl stop firewalld
#setenforce 0

1.7. 新建一个用户
#useradd cephfs -d /home/cephfs
#passwd cephfs
注意:每个主机上都需要创建Cephfs用户,建议不要创建ceph用户名

1.8. 配置ceph 源
 只需要在控制节点配置yum即可
cat ceph.repo
[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1

1.9. 安装控制节点
 在172.26.130.100安装ceph-deploy-2.0.1
yum install ceph-deploy
 新建文件夹
$ cd /home/cephfs
$ mkdir my-cluster
$ cd my-cluster

 创建一个集群mon,安装按奇数安装
ceph-deploy new fcp01 fcp02 fcp03

出现报错信息 ImportError: No module named pkg_resources 原因:缺少python组件
解决方法如下
第一步:
yum –y install epel-release
第二步:
yum –y install python-pip

2 添加如下内容
vi ceph.conf
[global]
fsid = 53f74bfb-4449-49c1-8bbb-b8c34f139692
mon_initial_members = fcp01, fcp02, fcp03
mon_host = 172.26.130.100,172.26.130.101,172.26.130.102
以上为固定配置参数,通常是通过ceph-deploy生成的,都是ceph monitor相关的参数,不用修改。

auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
以上是Ceph authentication的配置参数,默认值为开启ceph认证;在内部使用的ceph集群中一般配置为none,即不使用认证,这样能适当加快ceph集群访问速度。

public network = 172.26.130.1/24
网络配置参数
public networking:monitor与osd,client与monitor,client与osd通信的网络,最好配置为带宽较高的万兆网络;
cluster network: OSD之间通信的网络,一般配置为带宽较高的万兆网络。

mon_clock_drift_allowed = 2
ceph监视器时钟设置monitor间的允许时钟偏移最大值

osd_journal_size = 4086 osd日志文件大小设定
osd_pool_default_pg_num = 512 默认放置组数量池
osd_pool_default_pgp_num = 512 默认的位置放置组池

osd pool default size = 2
osd pool default min size = 1
pool size 配置参数
这两个是创建ceph pool的时候的默认size参数,一般配置为3和1,3副本能足够保证数据的可靠性;

rbd_default_features = 1
rbd image 有4个features,因为目前内核版本3.10仅支持layering,修改默认配置
每个ceph node的/etc/ceph/ceph.conf添加一行

rbd_default_features=1这样之后创建的image只有这么一个feature

client_quota = true
quoto是用于管理数据库的,这里是开启用户对应的数据库

[mon]
mon allow pool delete = true
开启允许删除池

2.1 安装osd,安装4个节点
ceph-deploy install fcp01 fcp02 fcp03 fcp04
注:如果安装网络较慢,可以在控制节点一台一台的安装。

出现报错:[ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: ‘ceph’
解决方法:
 这步会出现之前提到的NoSectionError: No section: ‘Ceph’,按照上文说的,在控制node中把/etc/yum.repos.d/下ceph.repo改为ceph-deploy.repo即可。
 ceph-deploy会在各节点上安装Ceph,在/etc/yum.repos.d/中会出现ceph.repo。

又会出现报错:RuntimeError: Failed to execute command: ceph –version
原因:找不到ceph –v这条命令
查看yum进程
命令语句 ps –ef | grep yum
结果显示
结果是在后台运行,也就是还在安装中ceph中
原因:
在安装的过程中,走这一步的时候[ceph-node1][DEBUG ] Downloading packages,是在下载ceph包,由于包的大小是200多M(当时看一下),加上网络太差,导致ceph-deploy工具超时。
解决方法:
不要强制杀掉yum进程,让yum在后台继续运行
之后运行ceph –v查看ceph是否安装好。

2.2 初始化监控节点,收集key
ceph-deploy mon create-initial

2.3把配置分发到各节点
ceph-deploy admin fcp01 fcp02 fcp03 fcp04

2.4部署高可用守护进程
ceph-deploy mgr create fcp01 fcp02 fcp03

2.5查看ceph -s

2.6 磁盘做lvm
ceph-deploy osd create --data /dev/sdb fcp01
ceph-deploy osd create --data /dev/sdb fcp02
ceph-deploy osd create --data /dev/sdb fcp03
ceph-deploy osd create --data /dev/sdb fcp04
挂载磁盘不要做任何操作,挂载上就行,软件会自己做lvm操作

2.7 使用命令查看节点状态
ceph health
ceph –s

2.8 查看仲裁的节点
ceph quorum_status --format json-pretty
[root@fcp02 ~]# ceph quorum_status --format json-pretty

{
“election_epoch”: 38,
“quorum”: [
0,
1,
2
],
“quorum_names”: [
“fcp01”,
“fcp02”,
“fcp03”
],
“quorum_leader_name”: “fcp01”,
“monmap”: {
“epoch”: 1,
“fsid”: “53f74bfb-4449-49c1-8bbb-b8c34f139692”,
“modified”: “2018-08-23 11:10:08.212054”,
“created”: “2018-08-23 11:10:08.212054”,
“features”: {
“persistent”: [
“kraken”,
“luminous”,
“mimic”,
“osdmap-prune”
],
“optional”: []
},
“mons”: [
{
“rank”: 0,
“name”: “fcp01”,
“addr”: “172.26.130.100:6789/0”,
“public_addr”: “172.26.130.100:6789/0”
},
{
“rank”: 1,
“name”: “fcp02”,
“addr”: “172.26.130.101:6789/0”,
“public_addr”: “172.26.130.101:6789/0”
},
{
“rank”: 2,
“name”: “fcp03”,
“addr”: “172.26.130.102:6789/0”,
“public_addr”: “172.26.130.102:6789/0”
}
]
}
}

3 启用Cephfs
Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据。

3.1 启动mds服务
3.1.1添加元数据服务器(启动mds服务)
至少需要一个元数据服务器才能使用 CephFS ,执行下列命令创建元数据服务器:
ceph-deploy mds create fcp01

3.1.2添加 RGW 例程
要使用 Ceph 的 Ceph 对象网关组件,必须部署 RGW 例程。用下列方法创建新 RGW 例程:port 7480
ceph-deploy rgw create fcp01

3.1.3 创建数据pool
 新建pool
[root@fcp01 my-cluster]# ceph osd pool create cephfs_data 32
pool ‘cephfs_data’ created
3.1.4 创建Metadata池

3.1.5创建Metadata池
[root@fcp01 my-cluster]# ceph osd pool create cephfs_metadata 32
pool ‘cephfs_metadata’ created

3.1.6 启用pool
[root@fcp01 my-cluster]# ceph fs new cephfs cephfs_metadata cephfs_data
new fs with metadata pool 7 and data pool 6

3.1.7 查看cephfs
命令语句 ceph fs ls

3.2 挂载cephfs
挂载cephfs有两种方式,kernel driver和 fuse

3.2.1用内核驱动挂载 CEPH 文件系统

 在关闭认证情况下
mkdir /mnt/ceph
mount –t ceph 192.168.0.1:6789:/ /mnt/ceph

 设置开机自动挂载/etc/fstab
172.16.70.77:6789:/ /mnt/ceph ceph noatime,_netdev 0 2

 在启用认证(cd /etc/ceph/ cat ceph.client.admin.keyring)
mount –t ceph 172.26.130.100:6789,172.26.130.101:6789,172.26.130.102:6789:/ /data/ -o name=admin,secret=AQCWJX5bRD7GLhAA+8E02H1gZ6pCqrbegwUYpw==

 设置开机自动挂载/etc/fstab
172.26.130.51:6789:/ /mnt/ceph ceph name=admin,secret=AQAhd9FbgCKvJRAAbHEQdaTxyb77HXWkJpxpig==,noatime,_netdev 0 2
172.26.130.52:6789:/ /mnt/ceph ceph name=admin,secret=AQAhd9FbgCKvJRAAbHEQdaTxyb77HXWkJpxpig==,noatime,_netdev 0 2

3.2.2 使用基于 FUSE 的 CEPH 客户端挂载

 安装ceph-fuse工具
yum install ceph-fuse
ceph-fuse -m 172.26.130.100,172.26.130.101,172.26.130.102 /ceph --keyring ceph.client.admin.keyring --name client.admin

 清除配置⽂文件
$ ceph-deploy purgedata cephfs-01 cephfs-02 cephfs-03
$ ceph-deploy forgetkeys
清除Ceph安装包
$ ceph-deploy purge cephfs-01 cephfs-02 cephfs-03

恭喜您部署完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值