KVM管理平台openebula安装
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安装的更多相关文章
- 分布式爬虫管理平台Crawlab安装与使用
Why,为什么需要爬虫管理平台? 以下摘自官方文档: Crawlab主要解决的是大量爬虫管理困难的问题,例如需要监控上百个网站的参杂scrapy和selenium的项目不容易做到同时管理,而且命令行管 ...
- 集中化管理平台Saltstack安装配置
salt是一个异构平台基础设置管理工具(虽然我们通常只用在Linux上),使用轻量级的通讯器ZMQ,用Python写成的批量管理工具,完全开源,遵守Apache2协议,与Puppet,Chef功能类似 ...
- kvm管理工具Webvirtmgr安装
虚拟机版本vmware workstation 15.5.0 pro (也就是linux版) cat /etc/redhat-release CentOS Linux release 7.4.17 ...
- Dubbo-admin管理平台的安装
1.到地址 https://github.com/alibaba/dubbo 下载dubbo源码 2.解压缩zip文件到 “ D:\技术资料\zookeeper\dubbo-master\dub ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)
公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM ...
- centos7.2 kvm虚拟化管理平台WebVirtMgr部署
在服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM宿主机越来越多,需要对宿主机的状态进行调控,决定采用WebVirtMgr作为kvm虚拟化的web管理工具,图形化的WEB,让人 ...
- KVM Web管理平台 WebVirtMgr
WebVirtMgr介绍 WebVirtMgr是一个KVM管理平台,让kvm管理变得更为可视化,对中小型kvm应用场景带来了更多方便.WebVirtMgr采用几乎纯Python开发,其前端是基于Pyt ...
- KVM虚拟化管理平台WebVirtMgr部署及使用
KVM虚拟化管理平台WebVirtMgr部署及使用 需求: 公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上 ...
- 008-kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)
公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求. 当KV ...
随机推荐
- appium启动运行log分析
1.手动启动appium 服务 > Launching Appium server with command: C:\Program Files (x86)\Appium\node.exe ...
- git仓库管理笔录
Git是目前世界上最先进的分布式版本控制系统(没有之一). 小明做了个个人博客,放到了Git 仓库里面.第二天换了台电脑,只需要 git clone 克隆一下git 远程仓库的代码到本地即可.然后他 ...
- 手动打包MVC项目成Web Deploy包,发布至服务器
①确保服务器上安装了Web Deploy,可以使用微软Web Paltform Installer安装.https://www.microsoft.com/web/downloads/platform ...
- 关于java的自动拆装箱若干细节问题
一.首先需要了解的几个前提: 1.自动装箱过程是通过调用valueOf方法实现的(如Integer.valueOf(10)),而拆箱过程是通过调用包装器的 xxxValue方法实现的(如Integer ...
- Zeppelin源码
1.概述 在大数据应用场景中,处理数据分析方面,由于开发者的水平不一样,使用的编程语言也不尽相同,可能会涉及到R.Python.Java.Scala等,数据计算模型也估计不一样,可能涉及的有Spark ...
- 3.ElasticSearch的倒排索引
一. 正向索引 常规的索引建立方式 文档---> 关键词的映射过程(正向索引) 比如: 我有很多个文章,如果想查询其中几个文章是否含有刘耀这个关键词,那么我就需要打开所以文章,找到里面含义刘耀的 ...
- [转载]AI教师正来势汹汹,教师饭碗堪优
(原文标题:开门,机器人老师来了) 一. 开门,机器人老师到了 国庆几天,河南刚刚上演一幕新科技的大戏: 计算机和人展开了为期四天的人机大战.这一次,对垒的双方不再是李世乭和阿尔法狗,而是教师和人工智 ...
- ASP.NET MVC 学习笔记 1
1. 什么是ASP.Net MVC ASP.Net MVC是一种开发Web应用程序的工具(is a web application development framework),采用Model-Vie ...
- C#设计模式之八桥接模式(Bridge)【结构型】
一.引言 今天我们要讲[结构型]设计模式的第二个模式,该模式是[桥接模式],也有叫[桥模式]的.大家第一次看到这个名称会想到什么呢?我第一次看到这个模式根据名称猜肯定是连接什么东西的.因为桥在我们现实 ...
- flume自定义Source(taildirSource),自定义Sink(数据库),开发完整步骤
一.flume简单了解推荐网站(简介包括简单案例部署): http://www.aboutyun.com/thread-8917-1-1.html 二.我的需求是实现从ftp目录下采集数据,目录下文件 ...