Centos7搭建KVM虚拟化平台之基于OVS网桥


文章目录

  • Centos7搭建KVM虚拟化平台之基于OVS网桥
  • 一、什么是虚拟化技术?为什么要用虚拟化技术?
  • 二、Qemu-KVM基本工作原理分析
  • 三、KVM和Qemu基于OVS网桥的部署
    • 3.1环境准备
      • 3.1.1安装centos7
      • 3.1.2打开centos7虚拟机,确认CPU VT开启
      • 3.1.3.网络配置为桥接模式
    • 3.2安装KVM和Qemu
    • 3.2安装OVS并配置网络
    • 3.3KVM添加虚拟网络br0
    • 3.4图形界面安装虚拟机

一、什么是虚拟化技术?为什么要用虚拟化技术?

对于虚拟化技术,gartner给过一个相对简单但是很准确的定义:就是将不同的资源和逻辑单元剥离,形成松耦合的关系的技术。简而言之,通过虚拟化技术可以将一台计算机虚拟为多台逻辑计算机。在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的 CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的,从而显著提高计算机的工作效率。

二、Qemu-KVM基本工作原理分析

广义的KVM实际上包含两部分:
一部分是基于LINUX内核支持的KVM内核模块,另一部分就是经过简化和修改Qemu。

KVM内核模块模拟处理器和内存以支持虚拟机的运行

Qemu主要处理I/O以及为用户提供一个用户空间工具来进行虚拟机的管理。

Qemu本身并不是KVM的一部分,而是一整套完整的虚拟化解决方案,它是纯软件实现的,包括处理器虚拟化、内存虚拟化以及各种虚拟设备的模拟,但因为是纯软件模拟,所以性能相对比较低。

KVM与Qemu相互结合,相辅相成,构成了一个完整的虚拟化平台。


三、KVM和Qemu基于OVS网桥的部署

3.1环境准备

3.1.1安装centos7

在VMware安装centos7,可参照我第一篇博客,参照up主安装时需要注意的是,网络要选择桥接模式,磁盘分区选择自动分区。

注意:磁盘大小30G往上,因为配置完成后要利用Virtual Machine Manger安装虚拟机,博主自己第一次磁盘分小了,导致最后一步无法进行,只好重来。

3.1.2打开centos7虚拟机,确认CPU VT开启

使用命令grep -Ei ‘vmx|svm’ /proc/cpuinfo 查看当前cpu是否支持虚拟化(有输出)。若无输出,可关闭虚拟机,在虚拟机设置->硬件->处理器->虚拟化引擎处勾选 “虚拟化Intel VT-x/EPT或AMD-V/RVI(V)”,点击确定后重启虚拟机,再次输入grep -Ei ‘vmx|svm’ /proc/cpuinfo,出现如下提示信息,则开启成功。

#grep -Ei 'vmx|svm' /proc/cpuinfo

3.1.3.网络配置为桥接模式

#cd /etc/sysconfig/network-scripts
#查看网卡配置
#cat ifcfg-ens33

在这里我们需要参照物理机(主机)网络,增加IPADDR、NETMASK、GATEWAY{a.b.c.x}、DNS1四项,修改BOOTPROTO、ONBOOT。

IPADDR可选择该网段下的闲置ip,比如设置为a.b.c.11

NETMASK为子网掩码可设置为255.255.255.0。

GATEWAY为路由器下或者共享网络的设备在该局域网下的ip,一般为a.b.c.1。

DNS1参数设置与GATEWAY相同即可。

如何查看物理机网络配置信息?
第一步点击网络,点击属性,下拉查看网络配置即可

#按照上述信息,编辑网卡
#sudo vim ifcfg-ens33
#再次查看编辑后的网卡配置信息
#cat ifcfg-ens33

配置后的网卡信息如下图所示:

#重启网卡
#sudo systemctl restart network
#打开一个新的终端,ping 百度,检查是否网络桥接成功
#ping www.baidu.com
#若ping通了会有ping地址或者域名的返回信息,则桥接成功。

3.2安装KVM和Qemu

安装kvm、qemu 以及虚拟机图形界面管理工具virt-manager

#sudo yum install kvm qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer  libgovirt -y

成功后,有如下提示信息:

3.2安装OVS并配置网络

1.在centos7中浏览器,下载ovs2.8.1 :http://www.openvswitch.org/download/
2.使用命令makdir ovs,本地新建ovs文件夹
3.将下载好的文件,从下载移动到刚刚建好的ovs文件夹
4.在ovs2.8.1所在目录下创建、添加执行权限并使用管理员权限执行安装脚本install_ovs.sh

#新建脚本install_ovs.sh,将下面文本写入脚本,保存并退出
#vim install_ovs.sh#!/bin/bash
tar -zxvf ./openvswitch-2.8.1.tar.gz &&
cd openvswitch-2.8.1 &&
./configure &&
make &&
make install &&
make modules_install ;
/sbin/modprobe openvswitch &&
/sbin/lsmod | grep openvswitch ;
echo 'export PATH=$PATH:/usr/local/share/openvswitch/scripts' > /etc/profile.d/ovs.sh &&
source /etc/profile.d/ovs.sh &&
ovs-ctl start &&
echo "openvswitch is installed and started successfully" &&
ps -e |grep ovs

查看脚本文件:

#接着执行如下命令
#chmod +x ./install_ovs.sh
#ls
#执行脚本
#sudo ./install_ovs.sh

安装成功出现如下信息:

检测是否安装成功:su使用root账号,执行ovs-vsctl show命令(ovs相关命令一般要使用root用户)

#su
#ovs-vsctl show

配置br0网桥:

1.使用ovs-vsctl add-br br0创建名为br0的网桥

2.使用ifconfig命令查看以太网卡名及其ip地址

3.在/etc/sysconfig/network-scripts/目录下创建ifcfg-br0文件(IPADDR {a.b.c.d},GATEWAY {a.b.c.2}根据实际情况填写)具体操作如下:

#cd /etc/sysconfig/network-scripts
#sudo vim ifcfg-br0
#在此文件中,写入以下信息
DEVICE=br0
STP=yes
BOOTPROTO=none
ONBOOT=yes
TYPE=OVSBridge
DEVICETYPE=ovs
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
IPADDR=根据自己桥接网络实际填写
NETMASK=255.255.255.0
GATEWAY=根据自己桥接网络实际填写
DNS1=根据自己桥接网络实际填写
DNS2=8.8.8.8
NAME="br0"

4.修改以太网卡对应的配置文件ifcfg-ens33

#cd /etc/sysconfig/network-scripts
#sudo vim ifcfg-ens33


检测OVS br0网桥是否配置成功:
1.执行ovs-vsctl add-port br0 ens33 && systemctl restart network
2.ping www.baidu.com能ping通、使用ifconfig命令能够查看到名为br0的网卡且它的ip为之前以太网卡的ip

OVS开机自启:
1.进入/etc/rc.d/目录,并修改该下的rc.local文件 添加以下内容
/usr/local/share/openvswitch/scripts/ovs-ctl start
systemctl restart network
2.使用chmod +x ./rc.local 命令为rc.local 添加可执行权限

3.3KVM添加虚拟网络br0

1.进入ovs文件夹,创建br0.xml文件 ,加入以下信息

<network><name>br0</name> <bridge name="br0"/> <forward mode="bridge"/><virtualport type="openvswitch"/>
</network>

2.在当前路径下执行:

#virsh net-define ./br0.xml && virsh net-start br0 && virsh net-autostart br0 && virsh net-list --all

3.4图形界面安装虚拟机

首先,在centos7系统中提前准备好系统镜像文件,或者在线下载centos7镜像文件。

使用virt-manager命令打开Virtual Machine Manger

File-> New Virtual Machine ->Local install media -> Forward

选择系统镜像文件:Browse -> Browse Local 查找并选中提前准备好的系统镜像 -> Open ->Forward


内存和cpu数设置:根据实际情况设置,至少1G,1CPU. 点击Forward

硬盘设置:根据实际情况设置 ,点击Forward

填写虚拟机Name,Network selection 选择br0 ,点击Finish

上下键选择install centos7 ,回车。(当鼠标处于虚拟机内无反应时使用组合建ctrl+alt可退出)

先连接NetWork,NETWORK&HOSTNAME->on->Done ;
INSTALLATION DESTINATION 直接点进去->Done,自动分区

SOFTWARE SELECTION部分根据个人需求选择,建议选择GNOME Desktop

时区选择shanghai,点击Begin installation 设置root密码和添加账户

安装完成后,重启登录进入kvm虚拟机系统,测试网络连通
ping www.baidu.com

至此完成了KVM和Qemu基于网桥的安装与使用。

Centos7搭建KVM虚拟化平台之基于OVS网桥相关推荐

  1. linux搭建虚拟化平台报告,CentOS 7中搭建KVM虚拟化平台的方法步骤

    什么是虚拟化 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化 ...

  2. 搭建kvm虚拟化平台和管理kvm虚拟化平台

    一.搭建kvm虚拟化平台 1,安装前准备:启用虚拟化支持,添加内存和内核 2,安装kvm服务 挂载光盘 2)安装kvm调试工具 3) 安装管理虚拟机命令 4) 安装KVM管理控制台 3.启动虚拟化服务 ...

  3. KVM详细介绍及搭建KVM虚拟化平台构建Centos7系统

    目录 一.KVM简介 1.发展历程 2.原理简介 3.虚拟化类型 4.虚拟化技术的优劣 5.KVM实际应用 二.KVM 运行时的三种模式 三.kvm部署过程 1.安装KVM前的环境部署 2.cento ...

  4. 三种方式在CentOS 7搭建KVM虚拟化平台

    KVM 全称是基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux的一个内核模块,该内核模块使得 Linux变成了一个Hypervisor:它由 Qura ...

  5. 玩转linux之轻松搭建KVM虚拟化平台

    kvm简介 提示:都有什么优点? ①kvm是linux2.6.20版本以后直接整合到linux内核中的虚拟化技术, ②依托cpu虚拟化指令集(intel-VT和AMD-V)实现的 ②在性能.安全性.稳 ...

  6. Docker容器与虚拟化技术——部署KVM虚拟化平台

    部署KVM虚拟化平台 一.搭建KVM虚拟化平台 1.前置知识点 (1)什么是虚拟化         把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户可以灵活管理这些资源,并且允许1台物理机 ...

  7. CentOS7.7搭建KVM虚拟化管理工具WebvirtMgr

    CentOS7.7搭建KVM虚拟化管理工具WebvirtMgr 概述 KVM(Kernel-based Virtual Machine),开源的系统虚拟化模块.出于成本,技术人员力量的原因,很多小型企 ...

  8. KVM虚拟化平台搭建

    目录 一.虚拟化技术概述 1.1 虚拟化技术 1.2 虚拟化技术发展(雏形) 1.3 虚拟化特点 1.4 虚拟化类型 1.5 虚拟化的特性 1.6 虚拟化前后对比 1.6.1 对比 1.6.1.1 操 ...

  9. linux搭建虚拟化平台报告,部署KVM虚拟化平台------搭建(示例代码)

    一 .部署KVM虚拟化平台 hyper-v是windows中的虚拟化 1.KVM模块直接整合在Linux内核中,kvm是内核模块,虚拟机与kvm模块之间为管理工具 2.KVM组成 1.KVM Driv ...

最新文章

  1. go语言中的int类型
  2. 我的HTML学习记录(七)
  3. python循环语句知识点_Python for 循环语句【每日一个知识点第115期
  4. 同行不支持鸿蒙系统,鸿蒙系统虽好,但也需要国内同行支持
  5. win10系统excel2019单元格显示完整的年月日时分秒设置方法
  6. leetcode 354. 俄罗斯套娃信封问题(dp+二分)
  7. vimb java,我可以让vim接受\b而不是\lt;和\gt ;?
  8. Vue 3 最新进展
  9. cocos2dx[3.2](11)——新回调函数std::bind
  10. Java编程:排序算法
  11. 如何在Windows上制作一个包含.lib和.dll的Rust Crate包
  12. 可靠性试验与环境试验概述
  13. python的就业方向有哪些城市_Python就业方向有哪些?人工智能就业薪资待遇高吗?...
  14. 【python】根据图片链接(地址)抓取图片
  15. Virtual Hosts
  16. 长荣航空空服员受辱追踪:工会盼给当事人公伤假
  17. 深度学习---人脸检测(勿喷)
  18. Smoothness 平滑度 Standard Shader系列9
  19. 口碑营销怎么做?如何做好网络口碑营销推广?
  20. html怎么下划波浪线,CSS3如何实现文字波浪线效果

热门文章

  1. 状态驱动的游戏智能体设计(下)
  2. 论文研读-文献聚类可视化-文献聚类结果可视分析方法研究
  3. 【Android工具】旧手机不吃灰,变身手机行车记录仪
  4. LDA 用于将文档中的文本分类为特定主题
  5. 股票市场和期货市场是一个修行的道场
  6. 用户网络的保存在该计算机,登录服务器,在系统桌面上显示“计算机”、“用户的文件”、“网络”、“回收站”、“控制面板”的图标,将桌面截图保存;(1分)...
  7. c语言const DAN,c语言const总结
  8. 软件安装常见文件夹bin/logs/conf...
  9. mysql查询一百万_mysql procedure-MySQL超过一百万条数据查询要用到什么技术
  10. unturned服务器修改物品,不一样的批处理-用批处理做的Unturned服务器部署工具(开服器)!...