Ceph Luminous (v12.2.x)部署详解

部署环境说明

debian stretch(9.x)
ceph luminous(v12.2.x)  (生产环境建议安装操作系统自带的稳定版本!)

集群节点

ceph1  192.168.22.11
ceph2  192.168.22.12

网络配置

# vim /etc/network/interfaces
allow-hotplug ens33
iface ens33 inet static
address 192.168.22.11
netmask 255.255.255.0
gateway 192.168.22.2

# vim /etc/resolv.conf
nameserver 202.96.128.86

修改系统源

# vim /etc/apt/sources.list
deb http://ftp.cn.debian.org/debian/ stretch main contrib non-free

更新系统内核

# apt-get update
# apt-get dist-upgrade

时间同步

# apt-get install chrony

添加ceph luminous源

# apt-get install python openssh-server apt-transport-https
# wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
# echo deb https://download.ceph.com/debian-luminous/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/ceph.list
# apt-get update

安装部署工具(管理节点)

# apt-get install ceph-deploy

创建部署用户并配置sudo权限

# apt-get -y install sudo
# useradd -d /home/cephadmin -m cephadmin
# echo cephadmin:cephadmin | chpasswd
# echo "cephadmin ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/cephadmin
# chmod 0440 /etc/sudoers.d/cephadmin

配置ssh免密登录(管理节点)

# su - admin

$ ssh-keygen

$ sudo vim /etc/hosts
192.168.22.11   ceph1
192.168.22.12   ceph2

$ ssh-copy-id cephadmin@ceph1
$ ssh-copy-id cephadmin@ceph2

$ vim .ssh/config
Host ceph1
   Hostname ceph1
   User cephadmin
Host ceph2
   Hostname ceph2
   User cephadmin

$ ssh ceph1
$ ssh ceph2

创建存储集群(管理节点)

$ mkdir my-cluster
$ cd my-cluster/
$ ceph-deploy new --public-network 192.168.22.0/24 ceph1

修改ceph-deploy配置(管理节点)

$ vim /home/admin/.cephdeploy.conf
[cephrepo]
baseurl=http://download.ceph.com/debian-luminous
gpgkey=https://download.ceph.com/keys/release.asc

安装ceph软件包(管理节点)

$ ceph-deploy install --release luminous ceph1 ceph2
# --release选项指定安装的软件版本

修改集群配置(管理节点)

配置文件:ceph.conf

[global]
#
# 集群ID,自动生成,必须唯一,默认为空
fsid = 1de5bfb3-b073-4974-b56b-64566bc598a7
# 集群公共网,自动生成,--public-network选项指定
public_network = 192.168.22.0/24
cluster network = 10.0.0.0/24
# 集群mon初始化成员,自动生成
mon_initial_members = ceph1
mon_host = 192.168.22.11
# 集群默认需要身份认证,自动生成
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
#
##以下为自定义配置
#
# 日志存储空间,默认值为5120MB
osd journal size = 10240
# 存储池默认副本数,默认值为3
osd pool default size = 3
# 存储池默认最小副本数,默认值为0,size-(size/2)
osd pool default min size = 2
# 存储池默认PG数,默认值为8
osd pool default pg num = 8
# 存储池默认PGP数,默认值为8
osd pool default pgp num = 8
# 防止OSD重启后更新crush运行图
osd crush update on start = false
# 用于chooseleaf CRUSH规则的存储桶类型,默认值为1,通常是包含一个或多个Ceph OSD守护进程的主机
osd crush chooseleaf type = 1
# OSD full之前使用的磁盘空间百分比,默认值为.95
mon osd full ratio = .95
# OSD nearfull之前使用的磁盘空间百分比,默认值为.85
mon osd nearfull ratio = .85
# 在OSD full之前也被认为是回填使用的磁盘空间百分比,默认值为.90
osd backfill full ratio = .90
# 允许进出单个OSD的最大回填数量,默认值为1
osd max backfills = 1
osd recovery max active = 1
osd recovery max single start = 1
osd recovery sleep = 0.5
#
[mon]
#
# 监视器之间允许的时钟漂移,以秒为单位,默认值为0.05s
mon clock drift allowed = 2
# 时钟漂移警告的指数退避,默认值为5s
mon clock drift warn backoff = 10
# 监视器可以删除池,默认false,即禁止删除池
mon allow pool delete = false
#
[osd]
#
# 可以执行预定清理时的下限时间,默认值为0
osd scrub begin hour = 0
# 可以执行预定清理时的上限时间,默认值为24
osd scrub end hour = 7
#
[client]
#
# 启用RADOS块设备(RBD)的缓存,默认启用
rbd cache = true
# 从直写模式开始,并在收到第一个刷新请求后切换回写。
# 启用此选项是一种保守但安全的设置,以防在rbd上运行的VM太旧而无法发送刷新,例如2.6.32之前的Linux中的virtio驱动程序,默认启用
rbd cache writethrough until flush = true

说明:

OSD可以通过两种方式管理它们存储的数据。

  • 从Luminous 12.2.z版本开始,新的默认(推荐)后端是 BlueStore。
  • 在Luminous之前,默认(唯一的)是 FileStore。

创建集群秘钥(管理节点)

$ ceph-deploy mon create-initial

分发秘钥及配置文件(管理节点)

$ ceph-deploy admin ceph1 ceph2
$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring
$ ssh ceph2 sudo chmod +r /etc/ceph/ceph.client.admin.keyring

添加MGR(管理节点)

$ ceph-deploy mgr create ceph1

添加OSD

$ ceph-deploy osd create ceph1 --data /dev/sdb
// 在ceph luminous中创建bluestore的过程为指定--data,--block-db,--block-wal,单个磁盘时只指定--data

查看集群状态(管理节点)

$ ceph -s
$ ceph quorum_status --format json-pretty

添加MDS(管理节点)

$ ceph-deploy mds create ceph1
posted @ 2020-10-30 11:39  Varden  阅读(405)  评论(0编辑  收藏  举报