目录
- 1. oVirt 功能介绍
- 2. oVirt 安装部署
    - 2.1 基础准备
    - 2.2 安装 ovirt-engine
    - 2.3 配置 kvm 主机
    - 2.4 添加存储
    - 2.5 创建虚拟机
    - 2.6 为虚拟机安装操作系统

关于 kvm 虚拟机管理平台,可以参考官网:http://www.linux-kvm.org/page/Management_Tools

介绍两款使用过的 web 端的 kvm 管理平台:

(1)Ovirt
    (2)WebVirtMgr

1. oVirt 功能介绍

oVirt 是什么

oVirt 是一款免费开源虚拟化软件,是RedHat 商业版本虚拟化软件 RHEV 的开源版本。

oVirt 基于 KVM,并整合使用了 libvirt、gluster、patternfly、ansible 等一系列优秀的开源软件,oVirt的定位是替代 vmware vsphere,oVirt 目前已经成为了企业虚拟化环境可选的解决方案,另外相比 Openstack 的庞大和复杂,oVirt 在企业私有云建设中具备部署和维护使用简单的优势。

oVirt的功能

oVirt支持虚拟化环境所需的绝大部分功能,包括:

为管理员和普通用户提供了 WEB 门户;
    支持多虚拟数据中心、多集群管理;
    FC-SAN/IP-SAN/本地/NFS不同存储架构;
    目前已经支持超融合(glusterfs)部署架构;
    虚拟计算、虚拟存储、虚拟网络的统一管理;
    虚拟机热迁移,存储热迁移;
    物理主机宕机的高可用;
    负载均衡等集群资源调配策略。

oVirt 架构

一个标准的oVirt部署架构应包括如下三个主要部分:

  (1)1个ovirt-engine,用来进行管理虚拟机(、开关启停)、配置网络和存储等操作;
  (2)1个或多个主机(节点),用来运行虚拟机;
  (3)1个或多个存储节点,用来存放虚机镜像和iso镜像;

engine中有一个认证服务(组件)用来实现用户和管理员认证。

主机节点是安装有vdsm和libvirt组件的linux发行版,也包含一些用来实现网络虚拟化和其它系统服务的组件。自Fedora17以后的linux发行版都支持(推荐使用centos),还有oVirt-node,oVirt-node是一个基于发行版精简的系统,只包含足够支撑虚拟化运行的组件。
存储节点可以使用块存储或文件存储,可以是利用主机节点自身的存储做存储节点(local on host模式),或者使用外部的存储,例如通过NFS访问,或者是IP-SAN/FC-SAN。还有一种就是超融合架构,通过gluster将主机节点自身的磁盘组成池来使用,同时能够实现高可用和冗余。

整体架构

主要组件:

Engine(oVirt-engine)——oVirt的管理组件,管理oVirt主机,管理虚机、存储、网络;
管理门户——Engine为管理员提供的web入口;
用户门户——Engine为普通用户提供的web入口;
REST API——通过这个api可以允许程序进行虚拟化管理操作,oVirt的命令行工具和python SDK就是调用的此api;
CLI/SDK——命令行接口和SDK提供一种与engine通信的方式;
数据库——engine使用Postgresql数据库来持久化数据;
主机代理(VDSM)——主机节点上用于与engine通信的组件,接收engine的命令执行虚机的相关操作;
虚机代理(Guest Agent)——运行于虚机内部,通过一个虚拟串口与外部通信,向engine提供所需的信息;
AD/IPA——目录服务,engine通过目录服务来获取用户和组的信息,根据engine的权限进行控制;
DWH(数据仓库)——数据仓库组件使用Talend对从数据库中获取的数据进行挖掘,并存入历史数据库中;
报告引擎——使用Jasper根据历史数据库中的数据生成系统资源使用报告;
SPICE客户端——用户用来访问虚机的工具。

2. oVirt 安装部署

安装过程为安装实际记录,其中有踩过的坑,建议通篇看完,再进行实践。

2.1 基础准备

修改主机名
[root@192.168.118.14 ~]#hostnamectl set-hostname ovirt-egnine.super.com
[root@192.168.118.15 ~]#hostnamectl set-hostname node1.super.com 修改 /etc/hosts 文件
192.168.118.14 ovirt-egnine.super.com
192.168.118.15 node1.super.com

由于官方yum 源太慢了, 直接将 rpm down到本地做成本地yum安装,有需要在下面留言,可以邮件发送。版本是:oVirt 4.3

制作本地yum源
[root@192.168.118.14 ~]#yum install createrepo -y
[root@192.168.118.14 ~]#createrepo -v /mnt/ovirt-engine
编写 repo 文件
[root@192.168.118.14 ~]#cat /etc/yum.repos.d/localOvirt.repo
[localOvirt]
name = localOvirt
gpgcheck = 0
baseurl = file:///mnt/ovirt-engine

2.2 安装 ovirt-engine

[root@192.168.118.14 ~]#yum repolist
[root@192.168.118.14 ~]#yum install ovirt-engine -y
共有 430 个包需要安装。

输入 engine-setup 进行安装

[root@192.168.118.14 ~]#engine-setup

这里输入yes,代表本机安装 ovirt-engine

安装开放虚拟网络(OVN)。选择“是”将在引擎计算机上安装OVN中央服务器,并将其作为外部网络提供商添加到oVirt。默认群集将使用OVN作为其默认网络提供程序,添加到默认群集的主机将自动配置为与OVN通信。默认yes

允许engine-setup配置Image I / O Proxy(ovirt-imageio-proxy)以允许Engine将虚拟磁盘上载到存储域。默认yes

允许engine-setup配置websocket代理服务器,以允许用户通过noVNC或HTML 5控制台连接到虚拟机,默认yes

选择是否在引擎计算机上配置数据仓库,默认yes

允许从命令行访问虚拟机的串行控制台。默认yes

设置本机域名,直接回车即可,手动输入IP,会报错。

配置本地或远程数据库,默认采用本地local,数据库采用postgreSQL,回车即可

数据库配置一路回车。

输入 ovirt-engine 密码,设置提示设置过于简单,是否使用,选择yes,

选择配置用户密码为virt单机还是gluster集群,默认是both,回车即可

如果安装了OVN提供程序,则可以选择使用默认凭据,或指定备用凭据,回车即可

后面全部默认回车就好。

出现安装完成,completed successfully 就表示安装成功。

使用浏览器登录

提示需要用 FQDN 登录。

这里如果要采用IP地址登录,就需要修改配置文件:

[root@192.168.118.14 ~]#vim /etc/ovirt-engine/engine.conf.d/11-setup-sso.conf
修改前:
SSO_ALTERNATE_ENGINE_FQDNS=""
修改后:
SSO_ALTERNATE_ENGINE_FQDNS="192.168.118.14" 修改完成,重启下 ovirt-engine 服务
[root@192.168.118.14 ~]#systemctl restart ovirt-engine

重新刷新,出现如下界面,点击管理门户

用户名:admin
密码安装的时候填写的密码

登录成功后的界面

到此, 192.168.118.14 ovirt-engine.super.com 节点已经配置完毕。

2.3 配置 kvm 主机

配置 node1.super.com

首先创建本地yum源

制作本地yum源
[root@192.168.118.15 ~]#yum install createrepo -y
[root@192.168.118.15 ~]#createrepo -v /mnt/ovirt-engine
编写 repo 文件
[root@192.168.118.15 ~]#cat /etc/yum.repos.d/localOvirt.repo
[localOvirt]
name = localOvirt
gpgcheck = 0
baseurl = file:///mnt/ovirt-engine

切换到 web 界面进行配置:

等待ing…

出现报错信息,安装中止。

登录到 192.168.118.15 执行 yum clean all 再次点击重新安装尝试。

依然是安装失败,于是尝试还原 node1 节点(192.168.118.15),手动yum安装。

[root@192.168.118.15 ~]#yum install vdsm cockpit-ovirt-dashboard -y
共有 615 程序包

理由随便填写。

点击确定,进入主机事件查看:

到此,主机就添加完毕。

2.4 添加存储

接下来需要添加存储信息。不添加域存储,无法创建虚拟机。

到这里,先别点确定 ssh 到 192.168.118.15 上创建 /images 目录。

[root@192.168.118.15 ~]#mkdir /images
[root@192.168.118.15 ~]#chown -R vdsm /images/

然后,点击确定,创建成功。

2.5 创建虚拟机

到这里, 其实就可以创建虚拟机了,尝试创建虚拟机试试看:

设置完成后点击确定。虚拟机大概1分钟内创建成功。点击运行

启动成功。

点击控制台会下载一个 console.vv 的文件,这个文件需要通过 virt-view 打开,这里非常恶心。

下载一个windows 端的 virt-view 软件 https://virt-manager.org/download/

然后双击下载的 console.vv文件打开,如下图:

2.6 为虚拟机安装操作系统

创建虚拟机成功,接下来通过导入 ISO 文件实现为虚拟机安装操作系统。

存储 -> 域 -> 新建域

ssh 登录到 192.168.118.15 创建目录并做好授权

[root@192.168.118.15 ~]#mkdir /iso
[root@192.168.118.15 ~]#chown -R vdsm /iso/

再次点击确定。

创建成功了, 接下来切换到ssh,将镜像文件拷贝到 /iso 目录指定位置。

[root@192.168.118.15 ~]#scp 192.168.118.8:/usr/local/src/CentOS-7-x86_64-Minimal-1511.iso /iso/ad454518-6ffc-40b9-ac15-75c4620903ce/images/11111111-1111-1111-1111-111111111111/

注意:需要将 ISO 文件拷贝到 /iso/ad454518-6ffc-40b9-ac15-75c4620903ce/images/11111111-1111-1111-1111-111111111111/

我当初直接拷贝到 /iso 目录下,怎么都查看不到。完毕完成后,直接去页面查看。

然后,创建虚拟机,注意添加 iso文件。

打开控制台

直接点 ESC,选择 1 CD-ROM 就开始安装系统界面

到此, Ovirt 基础安装使用完毕。

[ kvm ] 学习笔记 8:Ovirt 基础及使用的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  3. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

  4. 「学习笔记」字符串基础:Hash,KMP与Trie

    「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...

  5. [ kvm ] 学习笔记 9:WebVirtMgr 基础及安装使用

    目录- 1. 前言- 2. webvirtmgr 简介- 3. webvirtmgr 部署实践    - 3.1 配置 webvirtmgr 主机    - 3.2 kvm node节点配置    - ...

  6. 【学习笔记】Linux基础(零):预备知识

    学习笔记(连载)之Linux系列 Note:本学习笔记源自<鸟哥的Linux私房菜(基础学习篇)>一书,为此书重要内容的摘要和总结,对于一些常识性的知识不再归纳 新型冠状病毒引发的肺炎战& ...

  7. 【JAVAWEB学习笔记】06_jQuery基础

    接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...

  8. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  9. HTML学习笔记之标签基础

    目录 1.基本标签 2.链接 3.图像 4.表格 5.列表 6.块与布局 1.基本标签 (1)标题与段落 标签 <h1> ~ <h6> 分别用于定义一至六级标题,标签 < ...

随机推荐

  1. python - 栈与队列(只有代码)

    1. 栈: - 后进先出 class Stack(object): def __init__(self): self.stack = [] def peek(self): return self.st ...

  2. 堆优化/zkw线段树优化 dijkstra

    #include <bits/stdc++.h> using namespace std; const int MAXN = 100005; const int MAXM = 200005 ...

  3. yii2原生sql

    先创建连接对象 $connection = new \yii\db\Connection([ 'dsn' => $dsn, 'username' => $username, 'passwo ...

  4. 使用自签CA,Server,client证书和双向认证

    服务端代码 package main import ( "crypto/tls" "crypto/x509" "google.golang.org/g ...

  5. IDEA快速实现接口快捷方式

    IDEA快速实现接口快捷方式 ALT +INSERT

  6. 解决VS2010自带的C/C++编译器CL找不到mspdb100.dll的问题

    https://www.cnblogs.com/dudu/archive/2011/05/21/2053104.html 更好解决方法是在命令行中运行vsvars32.bat: "C:\Pr ...

  7. linux的计划任务操作

    1.cron服务来设置 计划任务查看与设置命令:crontab 包括条目: 分钟m:0-59 小时h:0-23 月日dom:1-31 月份mon:1-12 星期dow:0-7 例子: 每隔2小时处理一 ...

  8. 关于Pi

  9. GSS1 A - Can you answer these queries I

    //题意:询问一段区间的最大子序列的值. //做法:维护四个值:包含当前区间左端点的最大子区间LM,包含当前区间右端点的最大子区间RM.当前区间的最大子区间M, 当前区间的区间和S //tree[ro ...

  10. Python 全栈开发【第0篇】:目录

    Python 全栈开发[第0篇]:目录   第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基 ...