1.1opennebula控制台的安装

(如果要添加映像需要给200G以上给/var/lib/one,本文是共享/var/lib/one实现监控,用映像出创建虚拟机原理是从opennebula控制平台datastores中的映像复制到主机 datastores,而且映像需APP那下载,自己做的映像不识别,故未使用网页创建虚拟机

关闭selinux

systemctl stop firewalld  #关闭防火墙

systemctl disable firewalld

yum -y install epel-release   (一定要有扩展库不然安装opennebula会报错依赖rubygem-nokogiri之类)

增加opennebula

cd /etc/yum.repos.d/

vi opennebula.repo

Opennebula的yum源:

[opennebula]

name=opennebula

baseurl=http://downloads.opennebula.org/repo/5.0/CentOS/7/x86_64/

enabled=1

gpgcheck=0

yum clean all

yum install -y *libxslt-dev* *libxml2-dev*  openssl openssl-devel

###gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

gem sources --add https://ruby.taobao.org/  --remove https://rubygems.org/

#修改ruby源为国内源

gem source –l

gem update –system    升级 rubygems

升级ruby(后面gem 要求ruby版本)

wget -c https://ruby.taobao.org/mirrors/ruby/2.2/ruby-2.2.4.tar.gz

tar -zxf ruby-2.2.4.tar.gz;cd ruby-2.2.4

./configure --prefix=/opt/ruby

make -j4&&make install -j4    #根据CPU核数适当选择

设置环境变量

export RUBY_HOME=/opt/ruby

export PATH=$RUBY_HOME/bin:$PATH

##export GEM_PATH=/usr/share/gems

####export GEM_HOME=/usr/share/gem

yum install opennebula* -y

安装可能报依赖报错

yum install opennebula* -y --skip-broken

根据提示安装各种依赖包

我这需要安装以下包

yum install -y atlas blas genisoimage glusterfs glusterfs-api glusterfs-client-xlators glusterfs-libs gperftools-libs gssproxy keyutils lapack libbasicobjects libcollection libevent libini_config libiscsi libnfsidmap libpath_utils librbd1 libref_array libtalloc libtevent libtirpc libunwind libusal libverto-tevent nfs-utils numpy python-backports python-backports-ssl_match_hostname python-nose python-setuptools qemu-img quota quota-nls rpcbind  tcp_wrappers xmlrpc-c

yum install opennebula* -y

/usr/share/one/install_gems    #组件包的安装

在这个过程中会安装很多的组件:

例如:

gcc

rubygem-rake

libxml2-devel

libxslt-devel

sqlite-devel

curl-devel

mysql-devel

ruby-devel

Make

Redhat 7 启动 opennebula的方式:

/bin/systemctl start  opennebula.service

/bin/systemctl start
opennebula-sunstone.service  #(启动有问题可以oneadim用户尝试下one start ;sunstone-server start)

systemctl start rpcbind.service

systemctl start nfs.service

Oneuser show #查看opennebula服务是否启动

Lsof -i:9869   #查看web管理是否启动

报错查看日志在/var/log/one   有些内核错误日志可能在messages中

gem instal sinatra

ruby -S gem which sinatra  #查看是否安装成功

安装过程总结:

安装的时候,会给opennebula创建一个管理员的用户,用户名是opennebula

用户密码查看:在oneadmin用户的家目录里面可以查看到

[root@front-end225 ~]# su -  oneadmin

[oneadmin@front-end225 ~]$ cd .one/

[oneadmin@front-end225 .one]$ cat one_auth

oneadmin:c645814f036f9a90b581b769f73e3092

当安装好了包以后,

1,首先要修改 one的密码文件。

2,修改 one.conf把数据库修改成为mysql

3,创建mysql的库,(opennebula)

4,nfs

5,免秘SSH

6,修改 数据仓库的值,以及修改配置文件DATASTORE_LOCAL

1.2数据库安装:

默认OpenNebula数据存储使用sqlite,如果需要使用MySQL,则需要做如下操作

安裝 MySQL Repository:

# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

安裝 MySQL Server, MySQL client 已經包括在 server 套件內:

# yum install mysql-community-server

开机自动启动mysql

# /usr/bin/systemctl enable mysqld

启动mysql

# /usr/bin/systemctl start mysqld

创建数据库

mysql -u root -p

mysql> GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY '密码';

mysql> flush privilege

修改配置文件如下 [用户、端口、密码、库名和实际情况对应修改

[root@front-end225 ~]# vi /etc/one/oned.conf

DB = [ backend = "mysql",

server  = "localhost",

port    = 3306,

user    = "oneadmin",

passwd  = "oneadmin",

db_name = "opennebula" ]

这里的用户密码,就是上面创建数据库时创建的用户和密码。

修改sunstone默认监听IP:(5.0已不用修改)

[root@front-end225
~]# vi /etc/one/sunstone-server.conf

:host:
0.0.0.0

:port:
9869

这里是控制台前段的登录的地址,IP:端口

汉化

4.2版本以上官方包默认支持中文

vim
/etc/one/sunstone-server.conf

sunstone-server
restart

修改datastore (5以上版本无需修改)

Opennebula默认使用的是 Shared Transfer Driver 这种模式比较适合快速部署和热迁移,只是要配置网络文件系统。如果没有网络文件系统,不想做热迁移,那么可以换成SSH Transfer Driver 的部署方式:

[oneadmin@front-end225 ~]$ onedatastore list

ID
NAME                SIZE AVAIL
CLUSTER      IMAGES TYPE DS      TM     
STAT

0
system                 - -     DEV-vlan55-1      0 sys 
-       ssh     on

1
default             140G 34%   -                 6 img  fs     
ssh     on

2
files               140G 34%   DEV-vlan55-1      0 fil 
fs      ssh     on

修改方式:

[oneadmin@front-end225
~]$ onedatastore update 0

BASE_PATH="/var/lib/one//datastores/"

SHARED="NO"

TM_MAD="ssh"

TYPE="SYSTEM_DS"

TM_MAD = “ssh”这里就是ssh的方式。我们自己的环境用这个方式的目的是。

如果不用这种传输方式,那么创建的虚拟机镜像磁盘等,是创建的opennebla的本地上。用了这种方式以后,可以把磁盘,镜像等等,传输到想要创建的物理机上面。

添加NFS共享存储目录

[root@front-end225
~]# cat  /etc/exports

/var/lib/one
*(rw,sync,no_subtree_check,root_squash,anonuid=9869,anongid=9869)

启动服务

systemctl
start rpcbind.service

systemctl
start nfs.service

添加SSH公共KEY

# su - oneadmin

vi ~/.ssh/config

添加以下内容

Host *

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

修改文件权限

chmod 600 ~/.ssh/config

修改oneadmin密码

 

#su oneadmin

$passwd oneadmin

注释:这里最好不要修改密码,修改了多次都发现报错。而且查看密码方式很简单,在上面有介绍。

节点安装:也就是存储kvm虚拟机的地方。

[root@kvmhots61
~]# cat /etc/yum.repos.d/opennebula.repo

[opennebula]

name=opennebula

baseurl= http://downloads.opennebula.org/repo/5.0/CentOS/7/x86_64/

enabled=1

gpgcheck=0

yum –y
install opennebula-node-kvm

启动

/bin/systemctl
start  messagebus.service

/bin/systemctl
start  libvirtd.service

systemctl
enable messagebus.service

systemctl
enable libvirtd.service

给系统网卡做桥接

[root@kvmhots61
~]# cat /etc/sysconfig/network-scripts/ifcfg-br2

DEVICE=br2

TYPE=Bridge

BOOTPROTO=static

NM_CONTROLLED=no

ONBOOT=yes

IPADDR=192.168.55.61

PREFIX=24

GATEWAY=192.168.55.254

[root@kvmhots61
~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

IPV6INIT=no

NM_CONTROLLED=no

ONBOOT=yes

TYPE=Ethernet

BRIDGE=br2

挂载front-end 中共享出来的nfs文件夹:

把下面写到分区表当中:

192.168.55.225:/var/lib/one/
/var/lib/one/      nfs     soft,intr,rsize=8192,wsize=8192 0 0

然后挂载:mount –a  检查挂载。

到这里基本
搭建完毕。

2使用opennebula创建kvm虚拟机

2.1 后端操作

这里就简要介绍部分功能。

在平台上面添加host机器:

onehost create 192.168.55.62 -i kvm -v kvm
-n dummy

命令介绍:添加192.168.55.62 ,-i 参数指定的是虚拟化驱动类型为kvm,-v指定虚拟化类型为kvm,-n 指定虚拟机的网络类型为 dummy,即默认使用桥接模式。

查看:host机器

[oneadmin@front-end225 ~]$ onehost list

ID
NAME            CLUSTER   RVM     
ALLOCATED_CPU      ALLOCATED_MEM
STAT

5
192.168.55.72   DEV-vlan5   3  
600 / 1000 (60%)  18G / 31.3G
(57%) on

6
192.168.55.73   DEV-vlan5   4  
700 / 1000 (70%)  20G / 31.3G
(63%) on

7
192.168.55.74   DEV-vlan5   4  
900 / 1000 (90%)  24G / 31.3G
(76%) on

在创建过程中 host有两个状态,首先是 init(初始化),然后是 on(开机)

添加网络:

[oneadmin@front-end225 ~]$ cat
vm-network1.one

NAME = "inside-network"

BRIDGE = br2

AR = [

TYPE = IP4,

IP = 192.168.55.100,

SIZE = 30

]

写好要添加的网络的配置文件;  NAME为名称,BRIDGE是用什么网络方式,TYPE是类型,IP是只该网络的起始IP地址,SIZE是指该网络配置文件的IP个数。此文件就表示,从192.168.55.100--192.168.55.129
的IP地址。

后面还有很多后台操作的命令,比如:添加镜像,添加模板,创建虚拟机,这些都可以从网络上面找到,后面也有一个PDF,因此不详细介绍。

2.2 前端介绍

输入开始我们设置的监听的IP地址以及端口在浏览器中。然后在oneadmin下面找到用户和密码的配置文件并登陆网页。

上面几个图就是创建好的opennebula前端。具体怎么在页面上面操作,可以参考opennebula的PDF,现在,介绍几个必要重要的地方。

假设我们已经了解虚拟机创建,那么要注意如下问题,以及PDF里面没有提及到的问题:

重点1:自动生成网卡的设置。

Opennebula是可以自动给虚拟机创建网卡的,那么是通过什么方式创建网卡的呢?

首先,在kvm的镜像模板里面必须要安装一个包:one-context_4.10.0.rpm

这个包就是让opennebula的context和镜像之间的交互,可以在里面自动创建网卡,等等。

在kvm的guest里面查看:

[root@template home]# ll
/etc/one-context.d/

total 32

-rwxr-xr-x. 1 root root 4433 Jan 15  2015 00-network

-rwxr-xr-x. 1 root root 1991 Jan 15  2015 01-dns

-rwxr-xr-x. 1 root root 1550 Jan 15  2015 02-ssh_public_key

-rwxr-xr-x. 1 root root   28 Jan 15 
2015 03-selinux-ssh

-rwxr-xr-x. 1 root root   15 Jan 15 
2015 04-mount-swap

-rwxr-xr-x. 1 root root  614 Jan 15 
2015 05-hostname

-rwxr-xr-x. 1 root root  297 Jan 15 
2015 99-execute-scripts

这个黄色背景的是创建网络的配置文件。

在opennebula的机器上面查看添加的网络地址:

[oneadmin@front-end225 62]$ pwd

/var/lib/one/vms/62

[oneadmin@front-end225 62]$ cat

context.sh         deployment.0       transfer.0.prolog

[oneadmin@front-end225 62]$ cat context.sh

# Context variables generated by OpenNebula

DISK_ID='2'

ETH0_GATEWAY='192.168.55.254'

ETH0_IP='192.168.55.109'

ETH0_MAC='02:00:c0:a8:37:6d'

ETH0_MASK='255.255.255.0'

ETH0_NETWORK='192.168.55.0'

NETWORK='YES'

TARGET='hda'

因此配置自动创建网络的方式就是这样创建的。

重点2:在创建模板的过程中尽量别使用下列配置:

这个配置的主要意思可以百度查看到,但是这些主要是给物理机使用的,这样导致了,我们在vm的环境里面就不能热插拔或者电源选项等模式,然后在host机器里面有时候会导致报错。其中部分还是给Windows使用的配置。

已有KVM虚拟机添加。

开机后点主机

添加之后就会出现在虚拟机列表

KVM管理平台openebula安装的更多相关文章

  1. 分布式爬虫管理平台Crawlab安装与使用

    Why,为什么需要爬虫管理平台? 以下摘自官方文档: Crawlab主要解决的是大量爬虫管理困难的问题,例如需要监控上百个网站的参杂scrapy和selenium的项目不容易做到同时管理,而且命令行管 ...

  2. 集中化管理平台Saltstack安装配置

    salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器ZMQ,用Python写成的批量管理工具,完全开源,遵守Apache2协议,与Puppet,Chef功能类似 ...

  3. kvm管理工具Webvirtmgr安装

    虚拟机版本vmware workstation 15.5.0 pro   (也就是linux版) cat /etc/redhat-release CentOS Linux release 7.4.17 ...

  4. Dubbo-admin管理平台的安装

      1.到地址 https://github.com/alibaba/dubbo 下载dubbo源码  2.解压缩zip文件到 “ D:\技术资料\zookeeper\dubbo-master\dub ...

  5. kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)

    公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM ...

  6. centos7.2 kvm虚拟化管理平台WebVirtMgr部署

    在服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM宿主机越来越多,需要对宿主机的状态进行调控,决定采用WebVirtMgr作为kvm虚拟化的web管理工具,图形化的WEB,让人 ...

  7. KVM Web管理平台 WebVirtMgr

    WebVirtMgr介绍 WebVirtMgr是一个KVM管理平台,让kvm管理变得更为可视化,对中小型kvm应用场景带来了更多方便.WebVirtMgr采用几乎纯Python开发,其前端是基于Pyt ...

  8. KVM虚拟化管理平台WebVirtMgr部署及使用

    KVM虚拟化管理平台WebVirtMgr部署及使用   需求: 公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上 ...

  9. 008-kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)

    公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求. 当KV ...

随机推荐

  1. Divisors poj2992

    Divisors Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9940   Accepted: 2924 Descript ...

  2. D. How many trees? DP

    D. How many trees? time limit per test 1 second memory limit per test 64 megabytes input standard in ...

  3. [Sdoi2010]星际竞速

    个人对山东省选已经十分无语了,做了三道题,都TM是费用流,这山东省选是要干什么,2009--2011连续三年,只要会费用流,然后建个边,跑一跑就过了. 10 年一度的银河系赛车大赛又要开始了.作为全银 ...

  4. SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html

    SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html 说明: 1.环境:SpringMVC+Spring+Tomcat7+JDK1.7 2.支持 zip和rar格式的压 ...

  5. Average of Levels in Binary Tree

    Given a non-empty binary tree, return the average value of the nodes on each level in the form of an ...

  6. Tensorflow学习教程------创建图启动图

    Tensorflow作为目前最热门的机器学习框架之一,受到了工业界和学界的热门追捧.以下几章教程将记录本人学习tensorflow的一些过程. 在tensorflow这个框架里,可以讲是若数据类型,也 ...

  7. 给tableView设置headerView时遇到的问题

    在ViewDidLoad里面设置了 self.tableView.tableHeaderView = 自定义的View 然后在模拟器上运行后,发现这个HeaderView挡住了后面的Cell,也就是c ...

  8. Scala类型系统(sudden thought)

    http://docs.scala-lang.org/tour/lower-type-bounds.html中有一段代码 trait Node[+B] { def prepend(elem: B): ...

  9. [#1] YCbCr与RGB的转换公式

    1 YCbCr简介 YCbCr颜色空间是将RGB颜色空间进行坐标转换后得到的,常用于数字电视系统.Y取值范围:16~235 Cb.Cr的取值范围:16~240 YCbCr经常和YUV混淆.两者的主要差 ...

  10. 【学习】滚动延迟加载插件scrollLoading用法

    今天遇到一个很好用的滚动延迟加载的插件,作者是我的偶象大神张鑫旭,其博客为http://www.zhangxinxu.com/. 以前也写过这种效果,用的是lazyload,不过只能实现图片的加载.而 ...