- 博客(21)
- 收藏
- 关注
原创 neutron lb 删除vip时的bug修复
lb在删除vip时,如果vip的状态为error,则删除时不删底层namespace里的tap设备,这就存在bug了。如果我之后创建相同ip的vip则导致不能正常通信,因为有两张同样ip的tap设备存在。数据库层:neutron/db/loadbalancer/loadbalancer_db.py如果是haproxy的驱动,则具体删除设备的代码在:neutron\servi
2014-11-27 13:08:35 1099
原创 neutron的QOS
neutron关于QOS的调研官方对QOS的支持Openstack官方关于qos的blueprint:ml2-qos是基于openvswitch的,下面看下底层是怎么实现的:https://blueprints.launchpad.net/neutron/+spec/ml2-qoshttps://review.openstack.org/#/c/59971/4/ne
2014-11-27 11:45:03 2773
原创 openstack日志汉化
openstack日志已经有汉化的模块,只需要做一些配置已经bug修复1.配置nova.conflog_config_append=/etc/nova/logging.conf2.配置logging.conf[loggers]keys = root,compute[formatters]keys = context,default[logger_
2014-11-27 11:41:33 892
转载 kvm 的guest与host共享文件
Linux kernel最早从2.6.23支持paravirt-ops接口,也就是所谓的半虚拟化。本文简单介绍一下利用libvirt的功能通过virtio的方式将host的一块local block device 'passthru'到guest os中。方式1,通过KVM虚拟机的xml配置文件指定,下面是一个虚机xml文件的片段,用来将host的/dev/sda4这一块设备passthr
2014-11-27 11:26:00 5043
原创 使用RDO安装havana、icehouse版本的openstack(centos)
先安装操作系统:Centos6.4havanaStep 1: Software repositoriessudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpmStep 2: Install Packstack Installersudo yum install -y openstack-pack
2014-11-27 11:24:03 1077
原创 openstack 使用 spice
openstack 使用 spice实验环境:centos 6.3openstack:G-2013.1.3libvirt:0.10.2qemu:0.15.0spice-server:0.12.01.部署openstack略2.安装websockifygit clone https://github.com/kanaka/websockify.gitc
2014-11-27 11:20:49 1556
原创 Baremetal驱动调研
Baremetal驱动调研概述Baremetal的主要功能像管理虚拟机一样来管理物理机,目前主要是通过PXE部署裸机,通过IPMI来管理物理机(启动,关闭)。在i版中baremetal已经从nova中分离出来成为独立的一个模块:Ironic。功能点使用IPMI管理物理机电源使用PXE部署裸机支持常用CPU架构(i386,x86_64)网络(FlatNetwork,neutron
2014-11-27 11:20:11 2410
原创 openstack 支持ceph
nova.conf配置libvirt_images_type=rbdlibvirt_images_rbd_pool=novalibvirt_images_rbd_ceph_conf=/etc/ceph/ceph.confglance-api.confrbd_store_ceph_conf = /etc/ceph/ceph.confrbd_store_pool
2014-11-27 11:18:49 609
原创 glusterfs和libvirt端口冲突
在使用glusterfs做nfs共享时虚拟机迁移的时候会报端口冲突的错误检查发现:grep -rn 49152 /opt/software/libvirt/lib/upgrade-libvirt//opt/software/libvirt/lib/upgrade-libvirt/src/qemu/qemu_conf.h:247:# define QEMUD_MIGRATIO
2014-11-27 11:17:52 686
原创 虚拟机异构环境迁移
现在是老环境的虚拟机需要往新环境迁移:面临的问题:1、新老环境存储不同2、部分代码不同3、网络环境不同4、win2003的虚拟机老环境没有装virtio驱动,新环境用的virtio解决方案:现在迁移的总体方案1、在新环境各个用户的账号下创建相同规格(或者不同规格)虚拟机,这样可以保证数据库数据是没有问题的,也不会多出垃圾数据;创建相同的卷;需要记录虚拟机uu
2014-11-27 11:14:07 2432
原创 虚拟机出错恢复
如果虚拟机出错nova list中变成error恢复:1./var/lib/nova/instances下对应的uuid目录存在,并且里面的disk文件也存在a.若virsh下有这个虚拟机,则直接更改数据库instances的表状态与其相同即可b.若virsh下不存在,则将instances中的虚拟机状态改为shutoff,然后nova start uuid,这样会自动创建
2014-11-27 11:12:18 647
原创 通过libvirt获取对虚拟机的监控数据
import collectionsfrom lxml import etreeimport jsonimport threadingimport timelibvirt = Nonelibvirt_type = 'kvm'libvirt_uri = ''Instance = collections.namedtuple('Instance', ['name', 'UUID', '
2014-11-27 10:52:58 5165
原创 Keystone验证过程
Keystone验证过程使用nova list命令跟踪:/usr/lib/python2.6/site-packages/novaclient/shell.py667行其中self.cs.authenticate()主要是去keystone获取token ,具体方法如下: /usr/lib/python2.6/site-packages/novaclient/cli
2014-11-27 10:36:42 2530
原创 修改update时间
编辑计算节点文件:/usr/lib/python2.6/site-packages/nova-2012.2.4-py2.6.egg/nova/virt/libvirt/driver.py在import的地方加入:import datetime将get_available_resource函数修改为如下: def get_available_resource(self)
2014-11-27 10:33:53 1434
原创 关于nova的resource定时更新的功能
nova有个定时更新resource的功能:每当创建虚拟机的时候会去检查资源是否够用如内存,磁盘,cpu等,这些信息是存储在数据库nova的compute_nodes表中的,这些信息是定时更新的,更新步骤如下:1. 主要是该定时程序nova/compute/manager.py: @periodic_task.periodic_task def update_av
2014-11-27 10:30:37 1207
原创 get-vnc-console代码跟踪
nova.conf中novnc的配置novncproxy_host=0.0.0.0novncproxy_port=6080novncproxy_base_url=http://192.168.0.250:6080/vnc_auto.html#这里是控制节点的ip和端口vncserver_listen=0.0.0.0vnc_enabled=Truevnc_keymap
2014-11-27 10:25:49 1726
原创 libvirt断开后导致compute服务挂掉
libvirt断掉后导致compute服务挂掉,是因为在重连libvirt的时候使用wrapped_conn = tpool.proxy_call( (libvirt.virDomain, libvirt.virConnect), self._connect, self.uri(), self.read_onl
2014-11-27 10:23:14 704
原创 compute服务重启时清除多余的ovs桥
/libvirt/driver.pydef init_host(self, host): libvirt.registerErrorHandler(libvirt_error_handler, None) libvirt.virEventRegisterDefaultImpl() if not self.has_min_vers
2014-11-27 10:21:57 942
原创 libvirtError: internal error rbd username 'cinder' specified but secret not found
参考:http://www.oschina.net/translate/openstack-ceph-integrationlibvirtError: internal error rbd username 'cinder' specified but secret not found需要修改每个计算节点的nova.conf的配置文件:rbd_secret_uuid=e
2014-11-27 10:20:36 2791
原创 调研libvirt启动虚机预置vCPU的方法,供openstack创建虚机时使用
libvirt通过xml来管理虚机,openstack通过构造xml来让libvirt依据xml创建虚机,所以xml是一个载体。 xml内的选项可以设置vcpu的最大值,若其current属性未设置也表示分配给虚机的cpu数量。如: ... 2 ... 表示给虚机分配2个cpu,可以对应到物理cpu: 1, 2, 4, 6中的任意两个。placement
2014-11-27 10:15:39 2175
原创 neutron的安全组规则不生效的原因
最近新部署的openstack环境安全组总是不生效,查看了配置文件都没有什么问题,只是比较奇怪的是在计算节点的iptables中的forward链没有任何的包被匹配。这里强调一点,安全组主要是依靠计算节点的iptables的forward链来生效的,每加一条规则就会根据网卡作为匹配条件,来生成一条iptables的规则。如果没有任何规则,默认是丢弃所有的包。由上面的问题大概猜测到是因为,没有开启包
2014-11-26 10:43:11 1866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人