Rancher如何对接Ceph-RBD块存储

概要

演示环境说明

整个测试环境由以下2台本地虚拟机组成,相关信息说明如下:

引言

Librbd(RBD)是Ceph提供的块存储库,其利用Rados提供的API实现对卷的管理和操作。就目前而言,在Ceph支持的三种接口Posix(CephFS)、块存储(Librbd)和对象存储(RadosGW)接口中,块存储是目前最稳定且达到生产环境要求的接口。Ceph 块设备是精简配置的、大小可调且将数据条带化存储到集群内多个OSD 。Ceph 块设备利用 RADOS 的多种能力,如快照、复制和一致性。Ceph 的 RADOS 块设备(RBD)使用内核模块或 librbd 库与 OSD 交互。

Rancher-RBD安装

Ceph 服务端安装

如果没有Ceph 服务器,可以通过容器运行一个Ceph 服务器 DEMO环境:

docker run -d --net=host -v /etc/ceph:/etc/ceph -e MON_IP=192.168.1.11  -e
CEPH_PUBLIC_NETWORK=192.168.1.0/24 ceph/demo:tag-build-master-jewel-ubuntu-16.04

IP地址根据实际情况修改。

通过scp命令,把Ceph 服务容器所在宿主机/etc/ceph路径下所有文件复制到Rancher 环境下所有节点的相同路径下。

Ceph-RBD驱动插件安装

添加自定义应用商店

进入 系统管理|系统设置 添加一个名为Ceph的自定义商店

名称:Ceph

地址:https://github.com/niusmallnan/rancher-rbd-catalog.git

分支:master

RBD驱动安装

进入应用商店,搜索RBD进行安装。安装完成后:

再进 系统架构|存储 查看,显示两个节点:

安装测试应用

应用安装

新建一个名为myapp的空应用栈并添加myapp服务:

红色线框为配置重点:

使用驱动卷插件与使用本地卷驱动有所区别, 使用本地卷驱动添加卷时应该写 /AA/BB:/CC/DD,前后都要为路径; 使用驱动卷插件时应该写为 A:/BB/CC 。这个的A为一个卷名,不能是路径。

因为是Ceph存储,这里需要填卷驱动为:rancher-rbd 。部署好之后如图:

查看 基础架构|存储,容器卷卷名为:myapp

数据存储测试

此时我们看到容器是运行在 :node1上,容器名为:myapp-myapp-1。

通过执行命令登录容器,并向/root下写入test文件。

接着把这个服务容器删除,删除后myapp应用栈为空:

在空应用栈中再添加一个服务,为了易于区分,重新命名为myapp2,并手动调度容器运行到node2上。

PS:新建的服务,参数中的卷名与卷映射路径必须相同,卷驱动也要相同。

点击创建,服务成功运行在node2上。

查看  基础架构|存储,容器卷卷名还为:myapp

进入容器的/root目录查看创建的文件

文件依然存在。此时容器是在node2上,说明文件并非保存在节点本地,证明Ceph存储对接成功。

原文来源:Rancher Labs

时间: 2024-11-09 16:28:22

Rancher如何对接Ceph-RBD块存储的相关文章

ceph rbd块存储挂载及文件存储建立

一.rbd块存储挂载 1 创建一个OSD pool # ceph osd pool create rbd1 128 查询存储空间使用 # ceph df GLOBAL: SIZE AVAIL RAW USED %RAW USED 480GiB 474GiB 6.12GiB 1.28 POOLS: NAME ID USED %USED MAX AVAIL OBJECTS volumes 1 134B 0 150GiB 5 vms 2 0B 0 150GiB 0 images 3 0B 0 150G

CentOS7 Ceph RBD CephFS 存储

Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manager 10.6.0.187 = ceph-mon-1 10.6.0.188 = ceph-osd-1 10.6.0.94 = node-94 注: ceph 对时间要求很严格, 一定要同步所有的服务器时间 一.在 manager 上面修改 /etc/hosts : 10.6.0.187 ceph-m

Ceph RBD CephFS 存储

Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manager 10.6.0.187 = ceph-mon-1 10.6.0.188 = ceph-osd-1 10.6.0.94 = node-94 注: ceph 对时间要求很严格, 一定要同步所有的服务器时间 一.在 manager 上面修改 /etc/hosts : 10.6.0.187 ceph-m

Ceph块存储介绍

1.块存储是什么? 块存储简称(RADOS Block Device),是一种有序的字节序块,也是Ceph三大存储类型中最为常用的存储方式,Ceph的块存储时基于RADOS的,因此它也借助RADOS的快照,复制和一致性等特性提供了快照,克隆和备份等操作.Ceph的块设备值一种精简置备模式,可以拓展块存储的大小且存储的数据以条带化的方式存储到Ceph集群中的多个OSD中. 2.访问块存储的方式 访问块存储的方式有两种,分别是KRBD的方式和librbd的方式. 2.1KRBD方式 KRBD是Ker

QEMU-KVM 和 Ceph RBD 的 缓存机制总结

QEMU-KVM 的缓存机制的概念很多,Linux/KVM I/O 软件栈的层次也很多,网上介绍其缓存机制的文章很多.边学习变总结一下.本文结合 Ceph 在 QEMU/KVM 虚机中的使用,总结一下两者结合时缓存的各种选项和原理. 1. QEMU/KVM 缓存机制 先以客户机(Guest OS) 中的应用写本地磁盘为例进行介绍.客户机的本地磁盘,其实是 KVM 主机上的一个镜像文件虚拟出来的,因此,客户机中的应用写其本地磁盘,其实就是写到KVM主机的本地文件内,这些文件是保存在 KVM 主机本

理解 OpenStack + Ceph (3):Ceph RBD 接口和工具 [Ceph RBD API and Tools]

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 与 OpenStack 集成的实现 (4)TBD Ceph 作为一个统一的分布式存储,其一大特色是提供了丰富的编程接口.我们来看看下面这张经典的图: 其中,librados 是 Ceph 的基础接口,其它的接口比如 RADOSGW, RBD 和 CephFS 都是基于 librados 实现的.本文试着分析下 Ceph 的各种接口库和常用的工具.

Ceph使用块设备完整操作流程

Ceph使用块存储,系统内核需要3.0及以上的内核,以支持一些ceph模块. 创建块的时候可以指定类型(type1和type2),只有type2的可以对快照进行保护,保护以后才能做克隆.   使用块设备完整操作流程: 1.创建块设备(单位是M) rbd create yjk01 --size 1024 --pool vms--image-format 2 rbd info yjk01 --pool vms rbd map yjk01 --pool vms rbd showmapped mkfs.

对象存储、块存储、文件系统存储概念与区别

一.概念及区别 针对不同的应用场景,选择的分布式存储方案也会不同,因此有了对象存储.块存储.文件系统存储.这三者的主要区别在于它们的存储接口: 1.  对象存储: 也就是通常意义的键值存储,其接口就是简单的GET,PUT,DEL和其他扩展,如七牛.又拍,Swift,S3 2. 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的

ceph(2)--Ceph RBD 接口和工具

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenStack 集成的实现 (6)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (7)Ceph 的基本操作和常见故障排除方法 (8)关于Ceph PGs Ceph 作为一个统一的分布式存储,其一大特色是提供了丰富的编程接口.我们来看看下面这张经典的图: 其中,li

二十九.块存储应用案例 分布式文件系统 对象存储

client:192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13 1.块存储 应用案例(真机访问) rbd池子\镜像共享盘 块存储 Filesystem---KRBD---Kernel---ceph 要求: Ceph创建块存储镜像 客户端安装部署ceph软件 客户端部署虚拟机 客户端创建secret 设置虚拟机配置文件,调用ceph存储 ************* ]# rpm -e --nodeps