Ceph与OpenStack的Nova相结合
https://ervikrant06.wordpress.com/2015/10/24/how-to-configure-ceph-as-nova-compute-backend/
在Ceph的admin-node上进行如下操作:
1. ceph osd pool create vms 128
2. ceph auth get-or-create client.nova mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=vms, allow rx pool=images'
在OpenStack的node上进行如下操作:
1. 将admin-node上的ceph.conf拷贝到controller的/etc/ceph目录下 (在结合glance时已经执行了这一步)
2. 在admin-node上运行ceph auth get-key client.nova, 然后在compute上保存为/etc/ceph/ceph.client.nova.keyring, 同时将返回的结果追加到compute的ceph.conf中
3. chown nova:nova /etc/ceph/ceph.client.nova.keyring
4. 通过uuidgen得到一个随机的uuid, 然后在compute上创建/etc/ceph/secret.xml, 将下列内容添加到这个文件:
<secret ephemeral='no' private='no'>
<uuid>df1dabbf-c8b6-46a6-b427-1fad700370f0</uuid>
<usage type='ceph'>
<name>client.nova secret</name>
</usage>
</secret>
5. virsh secret-define --file /etc/ceph/secret.xml
6. virsh secret-set-value --secret df1dabbf-c8b6-46a6-b427-1fad700370f0 --base64 <这里填入/etc/ceph/ceph.client.nova.keyring中的base64值>
7. 在compute的/etc/nova/nova.conf中加入以下行:
[libvirt]
images_type = rbd
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = nova
rbd_secret_uuid = df1dabbf-c8b6-46a6-b427-1fad700370f0
disk_cachemodes="network=writeback"
8. nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 demo-instance1
9. nova list
备注:
1. rbd -p vms ls
350d6217-e7b8-46e8-be71-a6a22b0603ae_disk
2. 在compute上运行ll -h /var/lib/nova/instances, 你会发现硬盘不在此文件夹下:
total 24K
drwxr-xr-x 5 nova nova 4.0K Nov 5 15:44 ./
drwxr-xr-x 9 nova nova 4.0K Oct 28 13:27 ../
drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 _base/
drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 c88ac315-f203-4abb-86d8-666f53f0d03b/
-rw-r--r-- 1 nova nova 31 Nov 5 14:11 compute_nodes
drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 locks/
ll -h /var/lib/nova/instances/c88ac315-f203-4abb-86d8-666f53f0d03b
total 36
drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 ./
drwxr-xr-x 5 nova nova 4.0K Nov 5 15:44 ../
-rw-rw---- 1 libvirt-qemu kvm 24K Nov 5 15:45 console.log
-rw-r--r-- 1 nova nova 2.4K Nov 5 15:44 libvirt.xml
3. rbd -p vms info 350d6217-e7b8-46e8-be71-a6a22b0603ae_disk
rbd image '350d6217-e7b8-46e8-be71-a6a22b0603ae_disk':
size 1024 MB in 256 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.5e682ae8944a
format: 2
features: layering
flags:
4. ceph.client.nova.keyring的错误会导致nova-compute这个服务无法启动
Ceph与OpenStack的Nova相结合的更多相关文章
- Ceph与OpenStack的Glance相结合
http://docs.ceph.com/docs/master/rbd/rbd-openstack/?highlight=nova#kilo 在Ceoh的admin-node上进行如下操作: 1. ...
- “CEPH浅析”系列之六——CEPH与OPENSTACK
在 <"Ceph浅析"系列之二--Ceph概况>中即已提到,关注Ceph的原因之一,就是OpenStack社区对于Ceph的重视.因此,本文将对Ceph在OpenSta ...
- Ceph在OpenStack中的地位
对Ceph在OpenStack中的价值进行简要介绍,并且对Ceph和Swift进行对比. 对于一个IaaS系统,涉及到存储的部分主要是块存储服务模块.对象存储服务模块.镜像管理模块和计算服务模块.具体 ...
- 云计算与OpenStack(虚拟机Nova篇)
<云计算与OpenStack(虚拟机Nova篇)> 基本信息 作者: 伯龙 程志鹏 张杰 出版社:电子工业出版社 ISBN:9787121201202 上架时间:2013-8-5 出版日期 ...
- Ceph与OpenStack整合(仅为云主机提供云盘功能)
1. Ceph与OpenStack整合(仅为云主机提供云盘功能) 创建: linhaifeng,最新修改: 大约1分钟以前 ceph ceph osd pool create volumes 128 ...
- ceph对接openstack环境(4)
ceph对接openstack环境 环境准备: 保证openstack节点的hosts文件里有ceph集群的各个主机名,也要保证ceph集群节点有openstack节点的各个主机名 一.使用rbd方式 ...
- The Dos and Don'ts for Ceph for OpenStack
Ceph和OpenStack是一个非常有用和非常受欢迎的组合. 不过,部署Ceph / OpenStack经常会有一些容易避免的缺点 - 我们将帮助你解决它们 使用 show_image_direct ...
- OpenStack:安装Nova
>安装Nova1. 安装# apt-get install nova-novncproxy novnc nova-api \ nova-ajax-console-proxy nova-cert ...
- OpenStack之Nova模块
Nova简介 nova和swift是openstack最早的两个组件,nova分为控制节点和计算节点,计算节点通过nova computer进行虚拟机创建,通过libvirt调用kvm创建虚拟机,no ...
随机推荐
- NSDICTIONARY获取内容的CRASH
NSString *path = [self.dataPath stringByAppendingPathComponent:@"dummy.plist"]; NSMutableD ...
- 简单验证码识别(matlab)
简单验证码识别(matlab) 验证码识别, matlab 昨天晚上一个朋友给我发了一些验证码的图片,希望能有一个自动识别的程序. 1474529971027.jpg 我看了看这些样本,发现都是很规则 ...
- Moscow Pre-Finals Workshop 2016. National Taiwan U Selection
A. As Easy As Possible 每个点往右贪心找最近的点,可以得到一棵树,然后倍增查询即可. 时间复杂度$O((n+m)\log n)$. #include <bits/stdc+ ...
- <构建之法>第十三章到十七章有感以及这个项目读后感
<构建之法>第十三章到十七章有感 第13章:软件测试方法有哪些? 主要讲了软件测试方法:要说有什么问题就是哪种效率最高? 第14章:质量保障 软件的质量指标是什么?怎么样能够提升软件的质量 ...
- RequireJS 循环依赖报 模块undefined 处理方案
RequireJS 循环依赖 开始学习使用RequireJS之后做了几个小例子,之后想着把手头的项目也用RequireJS写一遍试试.感觉胜利就在前方了,忽然发现始终卡在一个问题上: 很常见的一个问题 ...
- js 生成m位随机数入门实例
1.根据时间生成m位随机数,最大13位随机数,并且不能保证首位不为0. 例子: function ran(m) { m = m > 13 ? 13 : m; var num = new Date ...
- 测试Centos硬盘读写速度
yum install hdparm 参数: -a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定. -A<0或1& ...
- objective-c 通过类名实例化类
NSString *myClassName = @"MainScene"; Class myClass = NSSClassFromString(myClassName);
- LightOJ 1012 简单bfs,水
1.LightOJ 1012 Guilty Prince 简单bfs 2.总结:水 题意:迷宫,求有多少位置可去 #include<iostream> #include<cstr ...
- gcc 版本降级
由于刚刚装了ubuntu 16.04,该版本gcc版本为5.4.0太高,很多软件不支持,所以要降版本,可以直接看(三)解决 一.gcc源代码网站 ftp://mirrors.kernel.org/gn ...