CEPH 13.2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CEPH 13.2相关的知识,希望对你有一定的参考价值。

CEPH简介

ceph提供:对象存储,块设备,文件系统。

Ceph存储集群至少需要一个Ceph Monitor,Ceph Manager和Ceph OSD(对象存储守护进程)。运行Ceph Filesystem客户端时也需要Ceph元数据服务器。

  • Monitors :ceph-mon 维护集群状态的映射管理守护进程和客户端之间的身份验证,高可用至少需要3个Monitors 节点

  • Managers:ceph-mgr Ceph集群的当前状态高可用性通常至少2Managers节点

  • Ceph OSDs:ceph-osd 存储数据,处理数据复制,恢复,重新平衡,并通过检查其他Ceph OSD守护进程来获取心跳,为Ceph监视器和管理器提供一些监视信息。冗余和高可用性通常至少需要3个Ceph OSD。

  • MDSs :ceph-mds 文件系统存储原数据服,Ceph块设备和Ceph对象存储不使用MDS


手动部署

ceph版本 minic 13.2

主机名ip地址系统版本ceph版本节点
node01172.16.50.104CentOS Linux release 7.4.1708 (Core) minic 13.2mon,osd
node02172.16.50.111CentOS Linux release 7.4.1708 (Core) minic 13.2osd
node03172.16.50.131CentOS Linux release 7.4.1708 (Core) minic 13.2osd


系统初始化

  1. 关闭selinux

  2. 启用epel源:yum install epel-releas

  3. 添加ceph源:/etc/yum.repos.d/ceph.repo 内容如下:


[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

安装ceph

yum install ceph ceph-radosgw -y

Mon节点部署

创建配置文件:/etc/ceph/ceph.conf

[global]
fsid = a7f64266-0894-4f1e-a635-d0aeaca0e993
mon initial members = node01
mon host = 172.16.50.104
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 2
osd pool default min size = 1
osd crush chooseleaf type = 1
[mon]
mon data = /data/ceph/mon/$cluster-$id

为群集创建密钥环,并生成监视器密钥。

ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

生成管理员密钥;生成client.admin 用户,并将用户添加到密钥环。

ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'

生成一个bootstrap-osd密钥环,生成client.bootstrap-osd用户,并将用户添加到密钥环。

ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd'

将生成的密钥添加到ceph.mon.keyring环中

ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring

使用主机名、主机IP地址和FSID生成监视器映射,保存到/tmp/monmap

uuid=a7f64266-0894-4f1e-a635-d0aeaca0e993
name=node01
ip=172.16.50.104

monmaptool --create --add $name $ip --fsid $uuid /tmp/monmap

在mon主机上创建默认数据目录


mkdir /data/ceph/mon -p

初始化mon

ceph-mon --mkfs -i $name --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring


touch /data/ceph/mon/ceph-$name/done
chown ceph:ceph /data/ceph/ -R
systemctl enable [email protected]$name
systemctl start [email protected]$name

验证monitor运作


ceph -s
 cluster:
   id:     ef88b5bc-3eba-495b-a00c-9851c465bc2b
   health: HEALTH_OK

 services:
   mon: 1 daemons, quorum node01
   mgr: no daemons active
   osd: 0 osds: 0 up, 0 in

 data:
   pools:   0 pools, 0 pgs
   objects: 0  objects, 0 B
   usage:   0 B used, 0 B / 0 B avail
   pgs:    

在运行ceph-mon守护程序的每个节点上,还应该设置ceph-mgr守护程序。

ceph-mgr部署

创建身份认证密钥

ceph auth get-or-create mgr.node01 mon 'allow profile mgr' osd 'allow *' mds 'allow *'

将输出保存到 /var/lib/ceph/mgr/ceph-node01/keyring 文件中

启动


systemctl enable [email protected]
systemctl start  [email protected]

验证mgr:

ceph -s .....   services:       mgr: node01(active)       ......

添加osd以node02为列

将配置文件/var/lib/ceph/bootstrap-osd/ceph.keyring/etc/ceph/ceph.conf 拷贝到需要安装osd服务器

scp /var/lib/ceph/bootstrap-osd/ceph.keyring  [email protected]:/var/lib/ceph/bootstrap-osd/ceph.keyring
scp /etc/ceph/ceph.conf [email protected]:/etc/ceph
ssh node02 
UUID=$(uuidgen)
OSD_SECRET=$(ceph-authtool --gen-print-key)
ID=$(echo "{"cephx_secret": "$OSD_SECRET"}" | ceph osd new $UUID -i - -n client.bootstrap-osd -k /var/lib/ceph/bootstrap-osd/ceph.keyring)
 
mkdir /data/ceph/osd -p && ln -s /data/ceph/osd/ /var/lib/ceph/osd/ceph-$ID

ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-$ID/keyring --name osd.$ID --add-key $OSD_SECRET
ceph-osd -i $ID --mkfs --osd-uuid $UUID
chown ceph:ceph /var/lib/ceph/osd/ceph-$ID -R
systemctl enable [email protected]$ID
systemctl start [email protected]$ID
 

在查看集群状态

  cluster:
    id:     a7f64266-0894-4f1e-a635-d0aeaca0e993
    health: HEALTH_OK

  services:
    mon: 1 daemons, quorum node01
    mgr: node01(active)
    osd: 3 osds: 3 up, 3 in

  data:
    pools:   1 pools, 8 pgs
    objects: 5  objects, 389 B
    usage:   3.3 GiB used, 297 GiB / 300 GiB avail
    pgs:     8 active+clean

至此可以使用对象存储,及块设备(生产不建议这样使用至少需要3个mon节点,2个mgr节点)

dashboard 部署
它是基于mgr python的插件

启用dashboard插件

ceph mgr module enable dashboard

生成自签名证书

ceph dashboard create-self-signed-cert

配置dashboard监听

ceph config set mgr mgr/dashboard/node01/server_addr 172.16.50.104
ceph config set mgr mgr/dashboard/node01/server_port 1888

配置dashboard认证

ceph dashboard set-login-credentials root 123456

访问:https://172.16.50.104:1888





以上是关于CEPH 13.2的主要内容,如果未能解决你的问题,请参考以下文章

iOS 13.2 消息:nehelper 为 Wi-Fi 信息请求发送了无效的结果代码 [1]

无法调用选择器和手势委托 iOS 13.2

13.2:拷贝控制和资源管理

ceph--Ceph 与 OpenStack 集成的实现

基于go-ceph创建CEPH块设备及快照

挑战程序设计竞赛(算法和数据结构)——13.2最小生成树(普里姆)的JAVA实现