ceph

Ceph学习笔记(1)- 架构概述

时光怂恿深爱的人放手 提交于 2020-03-17 14:59:22
简介 Ceph的目标是采用商业硬件来构建大规模的、具有高可用、高扩展、高性能的分布式存储系统,ceph具有如下特点: 软件定义存储:Ceph不需要特定的硬件,在主流的Linux发行版等类Unix操作系统上均可运行 分布式存储:得意与计算寻址让Ceph客户端可以直接与服务端任意节点通信,避免因存在访问热点产生的性能瓶颈,这也是他可以轻易管理PB级以上规模集群的重要原因 统一存储:Ceph支持传统的块存储(RBD)、文件系统存储(Ceph fs)与新兴的对象存储协议(RADOSGW) 架构 Ceph采用存储应用与存储服务完全分离(Client/Server)的模式,基于Rados对外提供服务。客户端可以直接通过LIBRADOS访问RADOS系统,也可以调用在LIBRADOS上封装的Radosgw、librbd、libcephfs这些接口访问存储。 图1 Ceph架构图 RADOS网关接口(RGW):如图1,RGW提供对象存储服务,通过librados允许APP直接与Ceph对象存储建立连接,基于librados封装的librgw也提供了与Amazon S3协议和OpenStack Swift协议兼容的RESTful API。可以将它理解为对文件(对象)进行上传、下载、查询、删除等。 对象存储采用扁平化目录结构,利于进行大规模的扩容。 S3/Swift接口均分三级:Account

Ceph 之RGW Data Layout

佐手、 提交于 2020-03-17 07:44:41
目录 Overview metadata bucket index data RGW Pools RGW Object References Overview RGW 中三个基本概念:user, bucket, object。通过分析RGW data layout,可以清楚对象存储的三个基本概念是怎样在RGW 中实现的。 RGW 中数据分三种类型: data: 每个RGW object 会保存在一个或多个Rados object(s) metadata: user, bucket, bucket.instance bucket index: 单独作为一种metadata RGW 的数据在RADOS 层以三种形式存在:rados对象(data 部分),rados 对象扩展属性xattr,rados 对象的omap中。 metadata RGW metadata分为: user:保存user 信息 bucket:维护一组bucket name 和bucket instance id 的映射 bucket.instance:保存bucket instance 信息 otp:N 版新增,otp (one-time password) 信息。根据虚拟或硬件Multi-Factor Authentication (MFA) 设备,基于已经时间同步的otp 算法生成一个密码。 metadata

ceph对象存储

 ̄綄美尐妖づ 提交于 2020-03-17 07:38:30
https://edu.51cto.com/center/course/lesson/index?id=333061 https://www.cnblogs.com/xd502djj/p/3604783.html 1、配置,主要是 Access Key ID 和 Secret Access Key 1 s3cmd --configure 2、列举所有 Buckets。(bucket 相当于根文件夹) 1 s3cmd ls 3、创建 bucket,且 bucket 名称是唯一的,不能重复。 1 s3cmd mb s3://my-bucket-name 4、删除空 bucket 1 s3cmd rb s3://my-bucket-name 5、列举 Bucket 中的内容 1 s3cmd ls s3://my-bucket-name 6、上传 file.txt 到某个 bucket, 1 s3cmd put file.txt s3://my-bucket-name/file.txt 7、上传并将权限设置为所有人可读 1 s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt 8、批量上传文件 1 s3cmd put ./* s3://my-bucket-name/ 9、下载文件 1 s3cmd get s3://my

Ceph

被刻印的时光 ゝ 提交于 2020-03-17 02:10:20
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、 分布式文件系统 。其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是 "Sammy",一个香蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个 分布式文件系统 高度并行的形象比喻。 Ceph 生态系统架构可以划分为四部分: 1. Clients:客户端(数据用户) 2. cmds:Metadata server cluster,元数据服务器(缓存和同步分布式元数据) 3. cosd:Object storage cluster,对象存储集群(将数据和元数据作为对象存储,执行其他 关键职能 ) 4. cmon:Cluster monitors,集群监视器(执行监视功能) 作为 分布式文件系统 ,其能够在维护 POSIX 兼容性的同时加入了复制和容错功能。从 2010 年 3 月底,可以在Linux 内核 (从2.6.34版开始)中找到 Ceph 的身影,作为Linux的文件系统备选之一,Ceph.ko已经集成入 Linux内核 之中。虽然目前Ceph 可能还不适用于生产环境,但它对测试目的还是非常有用的。 Ceph 不仅仅是一个文件系统,还是一个有企业级功能的对象存储生态环境。 现在,Ceph已经被集成在主线 Linux 内核中,但只是被标识为实验性的

Ceph 命令行说明

旧巷老猫 提交于 2020-03-16 14:10:58
某厂面试归来,发现自己落伍了!>>> 一、Scrub流程设置 1、ceph pg dump命令中输出结果"scrub_stamp"列显示scrub的时间,显示PG的当前状态 2、ceph osd set noscrub、ceph osd unset noscrub集群是否进行常规定时scrub操作 3、ceph pg scrub 1.22对PG进行scrub,不受到2中设置影响 二、keyring生成 ceph-authtool --create-keyring /data/mon.0/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *' ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /data/osd.0/keyring ceph auth get-or-create osd.3 mon 'allow rwx' osd 'allow *' -o /data/osd.3/keyring 三、对象上传,查看 1、上传rados put {object-name} {file-path} --pool=data示例 rados put rbd.py rbd.py --pool=data 2、查看对象的位置 ceph osd map {pool-name

Ceph 集群 scrub 设置策略(数据一致性校验)

白昼怎懂夜的黑 提交于 2020-03-16 11:58:17
某厂面试归来,发现自己落伍了!>>> 基本概念 1、什么是 Scrub Scrub是 Ceph 集群副本进行数据扫描的操作,用于检测副本间数据的一致性,包括 scrub 和 deep-scrub。其中scrub 只对元数据信息进行扫描,相对比较快;而deep-scrub 不仅对元数据进行扫描,还会对存储的数据进行扫描,相对比较慢。 ------------以上内容出自《Ceph设计原理与实现》 2、Scrub默认执行周期 OSD 的scrub 默认策略是每天到每周(如果集群负载大周期就是一周,如果集群负载小周期就是一天)进行一次,时间区域默认为全体(0时-24时),deep-scrub默认策略是每周一次。 ------------以上内容出自《Ceph设计原理与实现》 配置scrub策略 为了避开客户业务高峰时段,建议在晚上0点到第二天早上5点之间,执行scrub 操作。 1、设置标识位 在任一monitor节点进行如下操作: ceph osd set noscrub ceph osd set nodeep-scrub 2、临时配置 先通过tell 方式,让scrub 时间区间配置立即生效,在任一monitor节点进行如下操作: ceph tell osd.* injectargs '--osd_scrub_begin_hour 0' ceph tell osd.*

Ceph

ε祈祈猫儿з 提交于 2020-03-16 08:14:51
ceph 准备四台KVM虚拟机,其三台作为存储集群节点,一台安装为客户端,实现如下功能: 创建1台客户端虚拟机 创建3台存储集群虚拟机 配置主机名、IP地址、YUM源 修改所有主机的主机名 配置无密码SSH连接 配置NTP时间同步 创建虚拟机磁盘 使用4台虚拟机,1台客户端、3台存储集群服务器。所有主机的主机名及对应的IP地址如下所示。 client eth0 192.168.4.10/24 #1台客户端 node1 eth0 192.168.4.11/24 node2 eth0 192.168.4.12/24 node3 eth0 192.168.4.13/24 -------------------------------------------------- 步骤一:安装前准备 1)为所有机子配置yum源服务器(真机作为yum源)。 [root@room9pc01 ~]# yum -y install vsftpd #真机默认已经安装 [root@room9pc01 ~]# mkdir /var/ftp/ceph [root@room9pc01 ~]# mount -o loop rhcs2.0-rhosp9-20161113-x86_64.iso /var/ftp/ceph [root@room9pc01 ~]# systemctl restart vsftpd -----

018 Ceph的mon和osd的删除和添加

旧城冷巷雨未停 提交于 2020-03-15 09:03:48
一、OSD管理 1.1 移出故障osd 查看当前节点的osd的id [root@ceph2 ceph]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 xfs 40G 2.7G 38G 7% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 201M 1.7G 11% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/vdb1 xfs 15G 213M 15G 2% /var/lib/ceph/osd/ceph-0 /dev/vdc1 xfs 15G 228M 15G 2% /var/lib/ceph/osd/ceph-3 /dev/vdd1 xfs 15G 152M 15G 1% /var/lib/ceph/osd/ceph-6 tmpfs tmpfs 380M 0 380M 0% /run/user/0 停止故障osd [root@ceph2 ceph]# systemctl stop ceph-osd@0 产看状态 [root@ceph2 ceph]# ceph -s cluster: id:

Openstack对接两套Ceph

浪子不回头ぞ 提交于 2020-03-13 14:38:12
环境说明 openpstack-Pike对接cephRBD单集群,配置简单,可参考openstack官网或者ceph官网; 1.Openstack官网参考配置: https://docs.openstack.org/cinder/train/configuration/block-storage/drivers/ceph-rbd-volume-driver.html 2.Ceph官网参考配置: https://docs.ceph.com/docs/master/install/install-ceph-deploy/ 由于物理环境和业务需求变更,当前配置云计算环境要求一套openstack对接后台两套不同版本的cephRBD存储集群; 此处以现有以下正常运行环境展开配置; 1)openstack-Pike 2)Ceph Luminous 12.2.5 3)Ceph Nautilus 14.2.7 其中,openstack对接ceph Luminous配置完成,且正常运行。现在此套openstack+ceph环境基础上,新增一套ceph Nautilus存储集群,使openstack能够同时调用两套存储资源。 配置步骤 1.拷贝配置文件 #拷贝配置文件、cinder账户key到openstack的cinder节点 /etc/ceph/ceph2.conf /etc/ceph/ceph

Ceph Nautilus安装配置 MGR-dashboard

僤鯓⒐⒋嵵緔 提交于 2020-03-13 13:34:28
环境描述 测试环境,KVM虚拟机3台,安装centos 7 x64系统; 每台虚拟机添加3块100GB磁盘; 安装Ceph存储集群,版本Nautilus 14.2.8; 角色规划 10.19.0.91 cephn1 MON+OSD 10.19.0.92 cephn2 MON+OSD 10.19.0.93 cephn3 MON+OSD+MGR 系统初始化 #安装、更新必要的软件包 yum clean all && yum makecache fast && yum install -y vim wget git ftp net-tools iftop iperf atop && yum update -y && yum update kernel -y #逐个节点修改主机名 cephn1/noden2/noden3操作: hostnamectl set-hostname cephn1 #逐个节点添加管理节点账户cephadm,账户口令cephadm,配置sudo免密码权限 sudo useradd -d /home/cephadm -m cephadm passwd cephadm echo "cephadm ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephadm sudo chmod 0440 /etc