ceph部署、挂载

一些记录

每个数据流直接存入磁盘,自带元数据和数据,称为数据对象

冗余不一分片为单位,一PG为单位

纠删码池,存储一部分数据和校验码,验证另外部分的正确性

四种接口:1、基于librados自定义 2、基于librados的radosgw接口(http/https协议)3、基于librados的rbd接口,块设备 4、cephFS接口,最早的文件系统接口

接口 存储池数

rbd 1

cephFS 2

gw 3+

部署https://www.linux-note.cn/?p=85
rbd命令卡住 https://www.freesion.com/article/1637242912/
osd PG

0-5 128

5-10 512

10-50 4096

删除存储池

https://www.cnblogs.com/leoshi/p/13654244.html

lsblk -f 查看磁盘分区情况

linux磁盘分区,挂载

https://www.cnblogs.com/superlsj/p/11610517.html

纠删码池 https://blog.51cto.com/u_15127570/2711293

rdb挂载纠删码池 https://www.jianshu.com/p/77a18263f510?utm_campaign=haruki
cephfs使用EC池
https://blog.csdn.net/Hearz/article/details/120739376

cephfs使用https://blog.csdn.net/weixin_42551719/article/details/81558055

Ceph部署

部署工具:ceph-deploy
部署版本:Mimic 13班
虚拟机:四台

ip主机名角色
192.168.0.154ceph1mgr管理节点,osd存储节点,mon
192.168.0.174ceph2osd存储节点,mon
192.168.0.125ceph3osd存储节点,mon
192.168.0.164client客户机挂载节点

部署准备

1.配置yum源

#vi /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-mimic/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

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

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

yum clean all && yum list

更新源 安装ceph-deploy

yum makecache
yum update

开启yum缓存

vim /etc/yum.conf
keepcache=1

虚拟机准备工作

关闭selinux和防火墙

开启防火墙端口

    firewall-cmd --permanent --add-port=6789/tcp    #admin
    
    firewall-cmd --permanent --add-port=6800-8000/tcp    #osd
    
    firewall-cmd --reload
修改主机名称

hostnamectl set-hostname

同步时间
yum -y install ntpdate ntp
vim /etc/ntp.conf
	server 127.127.1.0
	fudge 127.127.1.0 stratum 10
systemctl restart ntpd && systemctl enable ntpd
配置本地解析

修改/etc/hosts
192.168.0.154 ceph1
192.168.0.175 ceph2
192.168.0.125 ceph3
192.168.0.164 client

ssh免密登录

ssh-keygen
ssh-copy-id ceph1
ssh-copy-id ceph2
ssh-copy-id ceph3
ssh-copy-id client

部署

ceph1执行

yum install ceph-deploy  python-setuptools python2-subprocess32 ceph-common```

创建ceph目录

mkdir ceph && cd ceph

创建集群,创建在此目录生成文件,ceph-deploy –cluster {cluster-name} new ceph1 ceph2 ceph3 #创建一个自定集群名称的ceph集群,默认为ceph

ceph-deploy new ceph1 ceph2 ceph3

修改配置文件

vim ceph.conf
[global]
fsid = 36ea8944-9e18-41d4-8169-401e481f8bc5
mon_initial_members = ceph1, ceph2, ceph3
mon_host = 192.168.0.154,192.168.0.175,192.168.0.125
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
s

安装Ceph软件包

yum -y install ceph ceph-radosgw #都需要执行,或者管理端执行ceph-deploy install ceph1 ceph2 ceph3

初始化monitor(s),并收集密钥

ceph-deploy mon create-initial

使用ceph-deploy把配置文件和admin密钥拷贝到所有节点,以便您每次执行Ceph命令行时就无需指定monitor地址和ceph.client.admin.keyringceph.client.admin.keyring

ceph-deploy admin ceph1 ceph2 ceph3 client

确定管理节点

L版本之后Ceph,必须要有一个mgr节点,所以我们在管理节点执行:

su - cephadm
cd ceph-cluster
ceph-deploy mgr create ceph-mon1

检查集群状态

ceph -s   #health: HEALTH_OK就表明成功

在VM里给三天节点虚拟机增加新硬盘
lsdlk
查看新硬盘的名称 我的是sdb,磁盘名称是从sda,sdb,sdc排序的

创建OSD

ceph-deploy osd create ceph-mon1 --data /dev/sdb 
ceph-deploy osd create ceph-mon2 --data /dev/sdb
ceph-deploy osd create ceph-mon3 --data /dev/sdb

建一个存储池,要想使用ceph的存储功能,必须先创建存储池

ceph osd pool create rbd 128 128 

初始化存储池

rbd pool init -p rbd

1.设置存储池副本数
[root@controller-1 ~]# ceph osd pool get rbd size
size: 2
[root@controller-1 ~]# ceph osd pool set rbd size 1
set pool 1 size to 1

升级client的虚拟机内核到5版本

修改client下文件权限

chmod +r /etc/ceph/ceph.client.admin.keyring

client节点创建设备镜像,单位是M

rbd create --size 4096 --pool rbd img

client节点映射镜像到主机:

rbd map img --name client.admin

client节点格式化块设备

mkfs.ext4 -m 0 /dev/rbd/rbd/foo 

client节点挂载mount块设备

mkdir /mnt/ceph-block-device
mount /dev/rbd/rbd/foo /mnt/ceph-block-device -o discard

在这里插入图片描述

创建文件系统时报不支持EC数据池问题

当拥有一个ceph_metadata元数据副本类型池和一个ceph_data数据EC类型池时,建立文件系统:

ceph fs new cephfs cephfs_metadata cephfs_data

N版可能会报:

Error EINVAL: pool 'cephfs_data' (id '11') is an erasure-coded pool. Use of an EC pool for the default data pool is discouraged; see the online CephFS documentation for more information. Use --force to override.

加上—force后:

ceph fs new cephfs cephfs_metadata cephfs_data --force

也可能会报:

Error EINVAL: pool 'cephfs_data' (id '11') is an erasure-coded pool, with no overwrite support

这是需要手动设置ceph_data池 allow_ec_overwrites=true
ceph osd pool set cephfs_data allow_ec_overwrites true

再执行
ceph fs new cephfs cephfs_metadata cephfs_data –forc
就可以创建文件系统成功。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值