通过libvirt使用ceph块设备

1.     创建存储池

[[email protected] ~]# ceph osd pool create libvirt-pool 128 128

查看刚刚创建的存储池:

[[email protected] ~]# ceph osd lspools

0 rbd,1 .rgw.root,2 default.rgw.control,3 default.rgw.meta,4 default.rgw.log,5 default.rgw.buckets.index,6 default.rgw.buckets.data,7 default.rgw.buckets.non-ec,8 libvirt-pool,

2.     创建ceph用户client.libvirt,权限限制到存储池libvirt-pool

[[email protected] ~]# ceph auth get-or-create client.libvirt mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=libvirt-pool'

验证:

[[email protected] ~]# ceph auth list

...

client.libvirt

key: AQBblU1b9FECCRAA4tW8qaBYtxTsDlaNJybZSQ==

caps: [mon] allow r

caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=libvirt-pool

...

3.     把虚拟机镜像文件centos6864.qcow2.img导入存储池libvirt-pool中

[[email protected] ~]# qemu-img convert -f qcow2 -O raw centos6864.qcow2.img rbd:libvirt-pool/centos6864.qcow2.img

验证:

[[email protected] ~]# rbd -p libvirt-pool ls

centos6864.qcow2.img

4.     在libvirt中配置ceph认证需要的密钥

a.      定义密钥

[[email protected] ~]# cat > secret.xml <<EOF

<secret ephemeral='no' private='no'>

<usage type='ceph'>

<name>client.libvirt secret</name>

</usage>

</secret>

virsh secret-define --file secret.xml

b.      获取密钥uuid

[[email protected] ~]# virsh secret-list

UUID                                  Usage

--------------------------------------------------------------------------------

fdcb5967-d3e5-4618-98f5-5919a723e414  ceph client.libvirt secret

c.      设置密钥的值

virsh secret-set-value --secret fdcb5967-d3e5-4618-98f5-5919a723e414 --base64 AQBblU1b9FECCRAA4tW8qaBYtxTsDlaNJybZSQ==

其中“AQBblU1b9FECCRAA4tW8qaBYtxTsDlaNJybZSQ==”是从上面ceph auth list的client.libvirt的key字段中得到的

5.     修改虚拟机xml文件的disk部分

[[email protected] ~]# virsh edit test

...

<disk type='network' device='disk'>

<driver name='qemu'/>

<auth username='libvirt'>

<secret type='ceph' uuid='fdcb5967-d3e5-4618-98f5-5919a723e414'/>

</auth>

<source protocol='rbd' name='libvirt-pool/centos6864.qcow2.img'>

<host name='192.168.1.15' port='6789'/>

<host name='192.168.1.16' port='6789'/>

<host name='192.168.1.17' port='6789'/>

</source>

<target dev='vda' bus='virtio'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

</disk>

...

其中secret的uuid就是上面创建密钥的uuid;host配置的是ceph monitor的ip和端口,有几个monitor就写几个。

6.     开启虚拟机

[[email protected] ~]# virsh start test

原文地址:http://blog.51cto.com/3646344/2146240

时间: 2024-08-30 07:11:09

通过libvirt使用ceph块设备的相关文章

Ceph 块设备

块是一个字节序列(例如,一个 512 字节的数据块).基于块的存储接口是最常见的存储数据方法,它们基于旋转介质,像硬盘. CD .软盘.甚至传统的 9 磁道磁带.无处不在的块设备接口使虚拟块设备成为与 Ceph 这样的海量存储系统交互的理想之选. Ceph 块设备是精简配置的.大小可调且将数据条带化存储到集群内的多个 OSD . Ceph 块设备利用 RADOS 的多种能力,如快照.复制和一致性. Ceph 的 RADOS 块设备( RBD )使用内核模块或 librbd 库与 OSD 交互.

Ceph块设备介绍与安装配置

一:rbd介绍 块是字节序列(例如,一个512字节的数据块).基于块的存储接口是使用旋转介质(例如硬盘,CD,软盘甚至传统的9-track tape)存储数据的最常用方法.块设备接口的无处不在,使虚拟块设备成为与海量数据存储系统(如Ceph)进行交互的理想候选者. Ceph块设备经过精简配置,可调整大小,并在Ceph集群中的多个OSD上存储条带化数据,ceph块设备利用了RADOS功能,例如快照,复制和一致性. Ceph的RADOS块设备(RBD)使用内核模块或librbd库与OSD进行交互.'

Centos7.4部署ceph块设备

在部署块设备前必须保证Ceph存储集群处于active+clean状态. 一. 环境准备 IP 主机名 角色 10.10.10.20 admin-node ceph-deploy 10.10.10.24 ceph-client client 二.  安装CEPH 在管理节点上,通过 ceph-deploy 把 Ceph 安装到 ceph-client 节点. [[email protected] ceph]# ceph-deploy install ceph-client 在管理节点上,用 ce

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

一.代码执行前准备 1.系统中安装了CEPH集群 2.GOPATH目录下存在src/github.com/noahdesu/go-ceph代码库 3.在ubuntu 14.04下还需apt-get librados-dev和librbd-dev两个包 二.代码示例 package main import ( "fmt" "github.com/noahdesu/go-ceph/rados" "github.com/noahdesu/go-ceph/rbd&

Ceph集群块设备使用-创建和使用OSD

创建Ceph块设备 [[email protected] ~]# rbd create block-device4 --size 5G --image-format 1 rbd: image format 1 is deprecated 查看块设备信息 [[email protected] ~]# rbd --image block-device4 info rbd image 'block-device4': size 5120 MB in 1280 objects order 22 (409

译:块设备和 OpenStack

libvirt 配置了 librbd 的 QEMU 接口,通过它可以在 OpenStack 中使用 Ceph 块设备镜像.Ceph 块设备镜像被当作集群对象,这意味着它比独立的服务器有更好的性能. 在 OpenStack 中使用 Ceph 块设备,必须首先安装 QEMU,libvirt 和 OpenStack.建议 OpenStack 安装的时候使用独立的物理节点.OpenStack 节点建议最小 8G RAM和四核处理器.下图描述了 OpenStack 和 Ceph 技术层次. Importa

Ceph块设备管理与Openstack配置(上)

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: <Ceph简介> <Ceph集群操作> <Ceph块设备管理与Openstack配置> <深入Ceph> <ceph优化与性能测试> 注意:此文对应ceph版本为10.1.2 #ceph -v ceph version 10.1.2(4a2a6f72640d6b74a3bbd92798bb913ed380dcd4) 前言 目前接触到的Mitaka版本O

006 管理Ceph的RBD块设备

一, Ceph RBD的特性 支持完整和增量的快照 自动精简配置 写时复制克隆 动态调整大小 二.RBD基本应用 2.1 创建RBD池 [root@ceph2 ceph]# ceph osd pool create rbd 64 pool 'rbd' created [root@ceph2 ceph]# ceph osd pool application enable rbd rbd enabled application 'rbd' on pool 'rbd' 2.2 客户端验证 [root@

04 ceph 块设备安装,创建,设备映射,挂载,详情,调整,卸载,映射,删除 快照的创建回滚删除

块设备安装,创建,映射,挂载,详情,调整,卸载,曲线映射,删除 在使用Ceph的块设备工作前,确保您的Ceph的存储集群是在主动 + 清洁状态. vim /etc/hosts 172.16.66.144 ceph-client 在admin节点上执行这个快速启动.1. 在admin节点上,用ceph-deploy在你的ceph-client节点安装Ceph ceph-deploy install ceph-client 2. 在admin节点上,用ceph-deploy复制Ceph配置文件和ce