ceph

Ceph

99封情书 提交于 2019-12-07 12:34:13
Install ceph Installation depends about which version you want as they're all locked into Fixed releases (argonaut, bobtail etc). So go here for install options for your distro and the version you want: http://ceph.com/docs/master/install/ Video to ceph intro https://www.youtube.com/watch?v=UXcZ2bnnGZg http://www.youtube.com/watch?v=BBOBHMvKfyc&feature=g-high Rebooting node stops everything / Set number of replicas across all nodes This issue is more or less fixed in Cuttlefish+ Make sure that the min replica count is set to nodes-1. ceph osd pool set <poolname> min_size 1 Then the remaing

Deploy Ceph and start using it– Installation

被刻印的时光 ゝ 提交于 2019-12-07 12:33:58
Ceph is one of the most interesting distributed storage systems available, with a very active development and a complete set of features that make it a valuable candidate for cloud storage services. This tutorial goes through the required steps (and some related troubleshooting), required to setup a Ceph cluster and access it with a simple client using librados. Please refer to the Ceph documentation for detailed insights on Ceph components. ( Part 2/3 – Troubleshooting - Part 3/3 – librados client ) Assumptions Ceph version: 0.79 Installation with ceph-deploy Operating system for the Ceph

配置Kubernetes共享使用Ceph存储

我与影子孤独终老i 提交于 2019-12-07 12:33:42
目录 简要概述 环境测试 结果验证 简要概述 Kubernetes pod 结合Ceph rbd块设备的使用,让Docker 数据存储在Ceph,重启Docker或k8s RC重新调度pod 不会引起数据来回迁移。 工作原理无非就是拿到ceph集群的key作为认证,远程rbdmap映射挂载使用。那么就要启用一个基于key的secret资源,之后k8s pod指定要用的rbd就可以了。 环境测试 我的OS是ubuntu 14.04,一个master,两个minon 节点,一个镜像仓库服务,这样保证了k8s集群跑起来,这个过程就略过了。 1.内核升级 这里的ceph 版本装的是10.2.2,客户端内核过低会引起挂载失败,主要就是minion节点。 # curl -sSL https://get.docker.com | sh && service docker restart # apt-get install linux -image-4.4.0-22-generic && reboot 2.安装ceph-common,让minion调用rbd root@minion2:~# apt-get install python-rbd ceph-common 3.保存ceph-keyring和配置文件 root@minion2:~# ll /etc/ceph total 20 drwxr

CentOS6.5 下编译Ceph源码

本秂侑毒 提交于 2019-12-07 01:25:34
引言 ceph源码编译不是一件很容易的事情,中间报了很多错误,比如对C++11的依赖,对BOOST的依赖以及大量其他库的依赖,这些过程都要一一解决。本文 对编译的过程进行了一个详细的说明,并对碰到的问题进行了记录。 具体过程 1. 源码下载 git clone https://github.com/ceph/ceph 2. 编译 ./autogen.sh ./configure 环境检查的过程中报如下错误 系统报错,缺少C++11的支持。需要升级GCC版本以支持C++11。 我咨询过使用CentOS7系列的同学,他们自带的GCC是高版本的,可以支持C++11. 3. GCC c++11支持 wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz tar xzf gcc-4.8.1.tar.gz cd gcc-4.8.1 ./contrib/download_prerequisites //安装依赖库 cd .. mkdir build_gcc4.8.1 cd build_gcc4.8.1 ../configure --prefix=/usr -enable-checking=release --enable-languages=c,c++ --disable-multilib make -j8 sudo make

ceph rbd与openstack的结合

混江龙づ霸主 提交于 2019-12-06 23:15:08
openstack通过libvirt调用qemu来启动具体的虚拟机,qemu通过librbd这个库与librados通信,而librados是ceph集群的统一API库,这样一来openstack就与ceph rbd联系起来了。具体调用流程如下图所示: 需要在ceph端进行的操作如下: 1、为ceph client创建一系列可用的pools。 根据ceph client的需求及其分类,为client创建一系列的pools。创建pools需要根据当前集群中OSDs的数量合理的分配PGs数量以及对象复制的个数。 #ceph osd pool create volumes 128 创建一个名字为volumes的pool且该pool中的PGs数量为128; #ceph osd pool create images 128 #ceph osd pool create vms 128 2、为ceph client创建一系列用户及其使用集群的权限。 ceph client不同的用户对集群有不同的使用要求,因此需要根据client用户的实际需求为其设置访问集群的权限。 #ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx

ceph块存储rbd介绍

北战南征 提交于 2019-12-06 23:14:30
ceph集群搭建起来后,可以在ceph集群上进行块存储、对象存储以及文件系统存储。从架构上来看,在ceph集群的上面是rados协议,该协议为使用ceph集群的用户提供必要的支持(ceph用户通过调用rados协议来使用ceph集群)。对于块存储来说,可以通过内核模块的方式使用ceph集群也可以通过用户态调用librbd库来使用ceph集群。通过内核模块方式可以充分的利用内核的page cache机制,而通过用户态调用librbd也可以使用librbd在用户态提供的cache方式提高性能。下图是ceph rbd的整体框架图。 1、快照相关。 1)创建快照。 #rbd snap create {pool-name}/{image-name}@{snap-name} 一般来说都是基于一个已有的image来创建快照,创建出来的快照是只读的; 2)查看已有的快照。 #rbd snap ls {pool-name}/{image-name} 查看在已有的image上存在的快照情况; 3)快照roolback。 #rbd snap roolback {pool-name}/{image-name}@{snap-name} 将快照里的内容回写到image中去; 4)删除快照。 #rbd snap rm {pool-name}/{image-name}@{snap-name}

vm-centos7-安装ceph-deploy多节点部署ceph

China☆狼群 提交于 2019-12-06 23:14:18
用 Vmware 虚拟机新建 4 台机进行实验,主要是为了对 ceph 有直观的认识。 一、 准备 5 台主机 IP 地址 主机名( Hostname) 192.168.xxx.xxx admin-node ( 该主机用于管理,后续的 ceph-deploy 工具都在该主机上进行操作 ) 192.168.xxx.xxx node1 (监控节点) 192.168.xxx.xxx node2 ( osd.0 节点) 192.168.xxx.xxx node3 ( osd.1 节点) 二、在虚拟机上安装 centos7 操作系统 修改更新 centos7 的源 中科大源 : 1. 基源 2.ceph 源 三、 配置你的管理主机,使之可通过 SSH 无密码访问各节点,口令留空。 生成 SSH 密钥对,执行 ssh-keygen 命令 把公钥拷贝到各节点: :ssh-copy-id root @ceph-server  这里直接用 root 用户,用 root 账户能避免很多权限问题。 四、安装 ceph-deploy , centos7 系统中配置好上面的源后,执行 yum install ceph-deploy 便可安装 五、 $mkdir my-cluster $cd my-cluster 六、 ceph-deploy new monitorNode1, monitorNode2 [

ceph0.80安装及使用(CentOS7/ceph-deploy)

三世轮回 提交于 2019-12-06 23:13:58
Ceph的主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,使数据能容错和无缝的复制。详 见:http://www.oschina.net/p/ceph 目前大部分部署ceph基本都是在Ubuntu,因为它的内核默认打开了Ceph_fs。选择CentOS7(默认文件系统是XFS,而不是EXT4)作为部署平台时则需要留意更多的信息,比如是用客户端加载ceph文件系统时。 看过不少网上的文章,大都不太适合0.80,或是可被省略的步骤。比如配置ceph.conf。所以特意做了几遍的安装,总结此文。另外吐嘈下Redhat,收购了 Ceph 所在的公司 Inktank还发布了自己的版本($1000/cluster),居然不在最新的内核中将 Ceph_fs 打开,导致很多人直接倒向Ubuntu。 一、准备主机环境: 主机名 IP 角 色 OS ceph0 10.9.16.96 MON, MDS CentOS7 ceph1 10.9.16.97 MON,OSD CentOS7 ceph2 10.9.16.98 OSD,MDS CentOS7 ceph3 10.9.16.99 OSD,MDS ‍ CentOS7 ceph4 10.9.16.100 MON CentOS7 client0 10.9.16.89 client CentOS7(内核3.16.2) client1 10.9

cephfs文件系统环境搭建介绍

夙愿已清 提交于 2019-12-06 23:13:14
cephfs文件系统环境搭建介绍 一、cephfs简介。 cephfs是一个基于ceph集群且兼容POSIX标准的文件系统。创建cephfs文件系统时需要在ceph集群中添加mds服务,该服务负责处理POSIX文件系统中的metadata部分,实际的数据部分交由ceph集群中的OSDs处理。cephfs支持以内核模块方式加载也支持fuse方式加载。无论是内核模式还是fuse模式,都是通过调用libcephfs库来实现cephfs文件系统的加载,而libcephfs库又调用librados库与ceph集群进行通信,从而实现cephfs的加载。cephfs整体框架图如下图所示。 二、cephfs搭建过程。 ceph官方文档上对cephfs的搭建过程描述的及其简单且只介绍了通过ceph-deploy方式搭建mds。对于没有使用ceph-deploy方法进行ceph集群部署的情况来说,就的按照下述的方法进行手动配置。 1、创建mds工作目录。 #mkdir -p /var/lib/ceph/mds/mds.0 2、修改ceph集群的配置文件/etc/ceph/ceph.conf文件,在该文件中添加mds的相关内容。具体添加内容如下: [mds] mds data = /var/lib/ceph/mds/mds.$id keyring = /etc/ceph/ceph.mds.$id

运维干货—硬盘容量不均衡导致的缓存盘寿命急速衰减

孤人 提交于 2019-12-06 22:33:09
分布式存储 — 硬盘容量不均衡导致的缓存盘寿命急速衰减分析 Ceph 分布式存储在扩展性、可靠性、性能上具备独特的优势,可以实现快速扩展多台服务器,动态伸缩到 PB 级容量,多副本机制保障数据高可靠,数据均衡分布,并发性能高等场景。目前广泛应用于互联网、科研、教育、制造业、政府等诸多领域。 ZStack 云平台目前支持对接 Ceph 分布式存储,使用的是分布式块存储,即使用 librbd 的块设备接口提供给 Qemu 访问,进行云主机、云盘的 IO 读写。 虽然 Ceph 分布式存储具备上述的优势特点,但在实践中,对硬件的选择及配置均存在特别要求,尤其是硬盘、网络上,如果配置不当,存储的可靠性和性能均会受到影响。 最近在日常巡检一套 ZStack 生产环境的 Ceph 分布式存储时,我们发现客户新购的五台服务器的 SSD 寿命损耗存在异常。具体的现象是使用半年后,服务器带外管理界面看到 SSD 的寿命损耗只剩下 89% ,但使用 smartctl 读取介质损耗参数依然显示为 100% 。 此时会很疑惑,到底哪个数据更可靠,如果 SSD 寿命只剩下 89% ,那么如何去调整优化 Ceph 分布式存储? 问题回顾 针对这个问题,我们回顾一下这套分布式存储的架构。当时采用了新购 + 利旧的方案来部署分布式存储。 相应的配置信息如下: 其中,新购的 5 台机器采用了 Intel Xeon