ceph配置部署

环境准备:

1关闭selinux和iptables

 systemctl stop firewalld

 systemctl disable firewalld

 setenforce 0

 sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

 setenforce 0

2设置时间同步


yum -y install ntp

systemctl enable ntpd

systemctl start ntpd

ntpdate -u cn.pool.ntp.org

hwclock --systohc

timedatectl set-timezone Asia/Shanghai

3修改主机名和host

hostnamectl set-hostname  node1

hostnamectl set-hostname  node2

hostnamectl set-hostname  node3
vim /etc/hosts

192.168.237.136   node1
192.168.237.142   node2
192.168.237.144   node3

4设置yum源(已安装可忽略)

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

5.配置master节点免密钥登陆节点


yum install openssh-server -y      #安装ssh服务器

ssh-keygen

ssh-copy-id root@ceph1

ssh-copy-id root@ceph2

ssh-copy-id root@ceph3

ceph安装

6 把软件包源加入软件仓库。

sudo vim /etc/yum.repos.d/ceph.repo

把如下内容粘帖进去,用 Ceph 的最新主稳定版名字替换 {ceph-stable-release} (如 Nautilus),用你的Linux发行版名字替换 {distro} (如 el6 为 CentOS 6 、 el7 为 CentOS 7 、 rhel6 为 Red Hat 6.5 、 rhel7 为 Red Hat 7 、 fc19 是 Fedora 19 、 fc20 是 Fedora 20 )。

[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

或直接安装15.2.2版本

cat >/etc/yum.repos.d/ceph.repo<< eof
[ceph]    #璺緞涓轰互涓婄殑x86_64鐩綍
name=ceph
baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.2/el7/x86_64/
gpgcheck=0
enabled=1
[ceph-noarch]    #璺緞涓轰互涓妌oarch鐩綍
name=ceph-noarch
baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.2/el7/noarch/
gpgcheck=0
enabled=1
eof

附各版本名称:
各个版本发布的时间如下:
Nautilus 2019年3月(v14.2.0 Nautilus released changelog)
mimic 2018年5月
Luminous 2017年10月
Kraken 2017年10月(引入bluestore)
Jewel 2016年4月

历史版本:
Infernalis Stable November 2015 - June 2016
Hammer LTS April 2015 - November 2016
Giant Stable October 2014 - April 2015
Firefly 0.80版本(LTS) 2014年5月
Emperor 0.72版本 2013年11月9日
Dumpling 0.67版本(LTS) 2013年8月14日
Cuttlefish 0.61版本 2013年5月7日
Bobtail 0.56版本(LTS) 2013年1月1日
Argonaut 0.48版本(LTS) 2012年6月3日

7 更新软件库并安装 ceph-deploy :

sudo yum update && sudo yum install ceph-deploy

PS:安装过程出错可以卸载,然后重新安装,如果以下任何一步发生问题需要重新设置,即可以采取清除命令。注意每个节点都要执行清除操作。

pkill ceph #所有节点执行
ceph-deploy uninstall node1 node2 node3 
ceph-deploy purge  node1 node2 node3 
ceph-deploy forgetkeys

rm -rf /etc/ceph/*
rm -rf /var/lib/ceph/*/*
rm -rf /var/log/ceph/*
rm -rf /var/run/ceph/*

卸载OSD
在每个节点执行:
ls /var/lib/ceph/osd/ #查看osd挂载目录
在这里插入图片描述
如果提示设备忙,取消挂载osd

umount /var/lib/ceph/osd/ceph-0

删除ceph的数据,在每个节点执行:
rm -rf /var/lib/ceph/*

或者不卸载ceph,只删除数据(推荐)
pkill ceph
ceph-deploy forgetkeys
rm -rf /etc/ceph/*
rm -rf /var/run/ceph/*
rm -rf /var/lib/ceph/*/*
rm -rf /var/log/ceph/*

接下来就可以重新部署了

创建集群目录:

mkdir /etc/ceph && cd /etc/ceph

ceph-deploy new  node1 node2 node3  

安装ceph服务,并指定阿里源,如果yum安装ceph则不需要操作

ceph-deploy install   node1 node2 node3   

此时会生成ceph配置文件


vim ceph.conf

[global]

fsid = fb58eb0d-ccfe-43ff-a24a-a46b418ebd4c

mon_initial_members = admin-node

mon_host = 172.20.101.5

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

osd pool default size = 2     #设置默认副本数为2  默认为3


rbd_default_features = 1      #永久改变默认值

osd journal size = 2000        #日志大小设置

public network = 10.0.0.0/16  #如果有多个网卡则需进行网络配置


#如果是ext4的文件格式需要执行下面两个配置 (df -T -h|grep -v var查看格式)

osd max object name len = 256

osd max object namespace len = 64

查看公网IP:

curl cip.cc

添加pubulic network描述

pubulic network=192.168.122.1/24

将修改的ceph.conf推送到各个节点上:

ceph-deploy --overwrite-conf config push node2 node3

集群节点初始化mon节点和密钥信息

ceph-deploy  mon  create-initial

创建osd节点对应用于存储的磁盘及挂载目录(osd节点操作)

mkdir -p /ceph && chown -R ceph.ceph /ceph/

fdisk   /dev/sdb            #对新建磁盘进行分区

依次输入n -> p -> 1 -> enter -> enter -> wq


fdisk -l                 #查看分区的磁盘

mkfs.xfs /dev/sdb1       #格式化分区

mkdir /ceph              #创建挂载目录


vim /etc/fstab

/dev/sdb1 /ceph xfs defaults 0 0



mount -a                  #挂载

df -h                     #查看创建情况

chown -R ceph.ceph /ceph/ #设置属主和属组

在集群节点操作:

cd /etc/ceph 
ceph-deploy osd create --data /dev/sda3 node1
ceph-deploy osd create --data /dev/sda3 node2
ceph-deploy osd create --data /dev/sda3 node3

执行命令ceph -s,输出结果如下:
在这里插入图片描述

提示no active mgr,执行命令:

ceph-deploy mgr create  node1 node2 node3


ceph-deploy admin node1 node2 node3  #admin密钥拷贝到管理节点和node节点,之后ceph命令就无需指定monitor地址和ceph.client.admin.keyring

chmod +r /etc/ceph/ceph.client.admin.keyring   #设置权限

ceph-deploy mon create node1         #创建mon节点,多个需要安装ceph-deploy

 

ceph health #查看集群健康状况

ceph -s   #查看集群状况

ceph df   #查看集群磁盘

ceph osd tree  #查看欧舒丹的节点状态

ceph-deploy  osd list admin-node  ceph1 ceph2  #查看osd状态和数据存放位置

ceph quorum_status --format json-pretty  #查看集群mon选举状态

如果提示Module ‘restful’ has failed dependency: No module named ‘pecan’
安装下面的库:

sudo pip3 install pecan werkzeug

ceph -w # 一旦你新加了 OSD , Ceph 集群就开始重均衡,把归置组迁移到新 OSD ,此命令查看迁移过程

添加元数据服务器

使用cephfs必须要一个元数据服务器

ceph-deploy mds create admin-node   #创建元数据服务器

添加rgw

要使用ceph对象网关组件,必须部署rgw


ceph-deploy rgw create node1 node2 node3

RGW 例程默认会监听 7480 端口,可以更改该节点 ceph.conf 内与 RGW 相关的配置

vim ceph.conf

[client]

rgw frontends = civetweb port=80   #修改端口

创建RGW用户
创建S3用户
想正常的访问RGW,需要创建相应的RGW用户,并赋予相应的权限,

radosgw-admin user create --uid=t1 --display-name=t1

查看S3用户命令

radosgw-admin user info --uid t1
创建对象存储(部署节点)

执行命令:

ceph-deploy rgw create ceph0

提示The Ceph Object Gateway (RGW) is now running on host ceph0 and default port 7480即为安装成功。
创建一个存储池,官方推荐少于5个osd设置pg_num为128:

ceph osd pool create testPool 128

本地新建一个文件后上传至对象存储:

rados put testFile ../testFile --pool=testPool

查看存储池内文件,若存在刚刚上传的文件即为成功:

rados -p testPool ls
testFile

查看ceph状态,可以看到刚刚上传的文件已经占用空间了:
在这里插入图片描述
查看文件保存路径:

ceph osd map testPool testFile

在这里插入图片描述

ceph中文文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值