色魔王子7 发表于 2015-10-12 08:39:50

在ubuntu上配置openstack的xen环境

  由于实验室需要把openstack的libvirt由kvm改为xen。记录下修改过程。
  1.首先在各个节点正确安装openstack的相应组件。
  可参考社区的安装文档。
  


  2.安装xen
  在计算节点安装xen。
  apt-get install xen-utils-common


  apt-get installxen-utils-4.1


  


  3.安装nova-compute-xen
  apt-get install nova-compute-xen


  


  4.修改配置文件
  vim /etc/nova/nova-compute.conf


  --libvirt_type=xen


  


  vim /etc/nova/nova.conf


  --libvirt_type=xen


  5.修改函数,函数中存在bug
  

这样还是无法启动nova-compute,报错:
2012-07-26 00:21:09 AUDIT nova.service [-] Starting compute node (version 2012.1-LOCALBRANCH:LOCALREVISION)
2012-07-26 00:21:10 CRITICAL nova [-] global name 'self' is not defined
打开文件 /usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py作如下修改:
1699行开始的两行改为:
#@staticmethod #切记,一定呀注释这一行
def get_memory_mb_total(self):


  
  6.重新启动。
  修改grub启动项。
  1.   /boot/grub/grub.cfg 文件

   2.   /etc/grub.d/ 文件夹

   3.   /etc/default/grub 文件

grub.cfg就是就是配置选项,类似于menu.lst,但是我们不能通过直接修改这个文件来修改配置,而是需要在2、3两项中做相应修改并执行 update-grub命令使/boot/grub/grub.cfg自动更新。

拿最简单最常用的开启启动项默认选择顺序和选择等待时间为例,我们只需做

    1. sudo gedit /etc/default/grub

    2. 把GRUB_DEFAULT= 和 GRUB_TIMEOUT= 两个字符串后面的数字改为我们自己想要的并保存关闭

    3. sudo update-grub


  7.重新启动
  reboot
  启动相关服务(由于经常要使用,我就写在了脚本里了):
  

#!/bin/bash
for a in libvirt-bin nova-compute nova-vncproxynova-api; do service "$a" stop; done
for a in libvirt-bin nova-compute nova-vncproxynova-api; do service "$a" start; done
  
  执行脚本
  查看服务是否正确运行
  service nova-compute status
  


  8.如果出现下列错误:
  

查看日志/var/log/nova/nova-compute.

ERROR unable to connect to ‘localhost:8000′: Connection refused

Traceback (most recent call last):

File “/usr/sbin/virt-install”, line 861, in ?

main()

File “/usr/sbin/virt-install”, line 636, in main

conn = cli.getConnection(options.connect)

File “/usr/lib/python2.4/site-packages/virtinst/cli.py”, line 126, in getConnection

conn = libvirt.open(connect)

File “/usr/lib/python2.4/site-packages/libvirt.py”, line 159, in open

if ret is None:raise libvirtError(‘virConnectOpen() failed’)

libvirtError: unable to connect to ‘localhost:8000′: Connection refused

这个问题一般是因为配置文件导致的,确保 /etc/xen/xend-config.sxp中以下三行没有被注释掉:

(xend-http-server yes)

(xend-port 8000)

(xend-address '')



  


  参考文章:
  feisky的安装过程http://www.cnblogs.com/feisky/archive/2012/06/29/2569506.html
  openstack支持的虚拟化平台:http://wiki.openstack.org/HypervisorSupportMatrix


  JeremyWei http://www.vpsee.com/2010/04/install-xen-on-centos-from-source/


  



版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: 在ubuntu上配置openstack的xen环境