Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2609672
  • 博文数量: 258
  • 博客积分: 9440
  • 博客等级: 少将
  • 技术积分: 6998
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-03 10:28
个人简介

-- linux爱好者,业余时间热衷于分析linux内核源码 -- 目前主要研究云计算和虚拟化相关的技术,主要包括libvirt/qemu,openstack,opennebula架构和源码分析。 -- 第五届云计算大会演讲嘉宾 微博:@Marshal-Liu

文章分类

全部博文(258)

文章存档

2016年(1)

2015年(4)

2014年(16)

2013年(22)

2012年(41)

2011年(59)

2010年(40)

2009年(75)

分类: 虚拟化

2012-06-14 16:16:27

1. 实验环境的框架:
    (1) 管理节点(opennebula节点)
        OS: ubuntu 12.04-amd64               IP: 192.168.0.11
    (2)计算节点(VM部署节点)
        OS: ubuntu 12.04-amd64               IP: 192.168.0.12
    (3) 本文档也给出了当前节点即做为管理节点,又作为计算节点的情况,建议采用!

2. ssh无密码登录
   
    参考:《openssh 无密码访问配置》实现管理节点和计算节点之间ssh相互无密码登录
     http://blog.chinaunix.net/uid-20940095-id-3218637.html

3. 计算节点的配置和安装(如果采用本机,在本机安装这些软件即可)
 
(1) 虚拟化相关软件的安装
  1. sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils ruby
  修改/etc/libvirt/libvirtd.conf,找到unix_sock_group,将其值改为:

  1. unix_sock_group = "oneadmin"
 修改/etc/libvirt/qemu.conf, 取消下面一行的注释:
  1. vnc_listen = "0.0.0.0"
 重启libvirtd进程
  1. sudo service libvirt-bin restart
  修改/var/run/libvirt/libvirt-sock文件的属组
  1. sudo chown :oneadmin /var/run/libvirt/libvirt-sock





4. 管理节点上opennebula-3.4安装
(1)网桥安装和配置
  1. sudo apt-get install bridge-utils
   修改interface文件,内容如下:
  1. # The loopback network interface
  2. auto lo
  3. iface lo inet loopback
  4. # The primary network interface
  5. auto eth0
  6. iface eth0 inet manual
  7. auto br0
  8. iface br0 inet static
  9. address 192.168.0.11
  10. netmask 255.255.255.0
  11. broadcast 192.168.0.254
  12. gateway 192.168.0.1
  13. bridge_ports eth0
  14. bridge_fd 9
  15. bridge_hello 2
  16. bridge_maxage 12
  17. bridge_stp off
 重启网卡:
  1. sudo /etc/init.d/networking restart
(2)opennebula安装配置

  1. sudo mkdir -p /var/lib/                  /*创建opennebula安装目录*/
  1. sudo groupadd -g 10000 oneadmin          /*创建oneadmin组*/
 创建oneadmin用户,-d:指明这个用户的家目录, -s:指明这个用户登录后使用的shell,-g:指明这个用户所在的组
  1. sudo useradd -u 10000 -m oneadmin -d /var/lib/one -s /bin/bash -g oneadmin
 给oneadmin用户设定密码
  1. sudo passwd oneadmin
  设置oneadmin用户家目录的属组和用户
  1. sudo chown -R oneadmin:oneadmin /var/lib/one
  测试下oneadmin用户是否能够正确登录
  1. su -l oneadmin
 如果成功,输入exit命令退出!

 安装NFS server , 即可以用来制定img文件的传输方式是通过nfs传输
  1. sudo apt-get install nfs-kernel-server
修改/etc/ioports文件,添加如下内容(意思是:192.168.0.0/24范围内的主机可以按照括号内的规定访问/var/lib/one目录,也可用*,表示此网段内的所有ip):
  1. /var/lib/one 192.168.0.0/24(rw,sync,no_subtree_check,no_root_squash,anonuid=10000,anongid=10000)
  重启NFS服务
  1. sudo /etc/init.d/nfs-kernel-server start
 切换到oneadmin用户,安装必须的软件
  1. su -l oneadmin
  2. sudo apt-get install libsqlite3-dev libxmlrpc-c3-dev g++ ruby libopenssl-ruby libssl-dev ruby-dev
  3. sudo apt-get install libxml2-dev libmysqlclient-dev libmysql++-dev libsqlite3-ruby libexpat1-dev
  4. sudo apt-get install rake rubygems libxml-parser-ruby1.8 libxslt1-dev genisoimage scons
  5. sudo gem install nokogiri rake xmlparser
  6. sudo apt-get install mysql-server
 配置mysql数据库,并执行如下命令:
  1. mysql -u root -p
  2. CREATE USER 'oneadmin'@'localhost' IDENTIFIED BY 'oneadmin';
  3. CREATE DATABASE opennebula;
  4. GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'oneadmin';
  5. quit;
 解压opennebula,并进行编译:
  1. cd ~/opennebula-3.1.4
  2. scons sqlite=no mysql=yes
 安装opennebula:
  1. ./install.sh -u oneadmin -g oneadmin -d /var/lib/one
设置opennebula相关的环境变量:
  1. vim ~/.bash_profile
  2. export ONE_LOCATION=/var/lib/one
  3. export ONE_AUTH=$ONE_LOCATION/.one/one_auth
  4. export ONE_XMLRPC=http://192.168.0.12:2633/RPC2
  5. export PATH=$ONE_LOCATION/bin:/usr/local/bin:/var/lib/gems/1.8/bin/:/var/lib/gems/1.8/:$PATH
注意:如果你的环境是本机即做管理节点又做计算节点,将192.168.0.12改成localhost.
  1. source ~/.bash_profile
 创建opennebula用户授权文件:
  1. mkdir ~/.one
  2. echo "oneadmin:" > ~/.one/one_auth
 修改opennebula配置文件:
  1. /*将58行注释*/
  2. #DB = [ backend = "sqlite" ]
  3. /*修改61-66行如下*/
  4. DB = [ backend = "mysql",
  5. server = "192.168.0.12",  /*如果本机即做为计算节点又作为管理节点,改为:localhost*/
  6. port = 0,
  7. user = "oneadmin",
  8. passwd = "oneadmin",
  9. db_name = "opennebula" ]
 启动opennebula,并测试是否安装成功:
  1. one start
  2. onevm list  
如果能够显示如下内容,说明安装成功:

  1. ID USER GROUP NAME STAT CPU MEM HOSTNAME TIME























阅读(2787) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~