qemu-kvm和openvswitch安装部署

本文包含两个部分:

  1. qemu-kvm的安装部署
  2. openvswitch的安装部署

参考文档:

kvm官网:http://www.linux-kvm.org/page/Documents

qemu文档:kvm官网把qemu文档(qemu user manual)直接指向wiki了,_

http://wiki.qemu.org/Qemu-doc.html


1. qemu-kvm的安装部署

环境准备

1). 内核需要支持KVM。KVM版本>=2.6.20。

2007年2月,Linux 2.6.20内核开始支持KVM

$ uname -r

2). CPU需要开启虚拟化,Intel VT或者AMD-V.在BIOS里设置。

检查CPU是否开启了虚拟化(参考/etc/sysconfig/moduleskvm.modules),执行以下命令,返回数值大于0则表示已经开启了虚拟化。

Intel CPU:

$ grep -c vmx /proc/cpuinfo

AMD CPU:

$ grep -c svm /proc/cpuinfo

加载KVM内核模块

# modprobe kvm

执行以下命令,显示kvm条目则表示kvm模块已经加载。

# lsmod|grep kvm
kvm_intel 148081 57
kvm 461126 1 kvm_intel

加入开机自动加载

# vi /etc/sysconfig/modules/openvswitch.modules

#!/bin/sh

if [ $(grep -c vmx /proc/cpuinfo) -ne 0 ]; then
modprobe -b kvm-intel >/dev/null 2>&1
fi if [ $(grep -c svm /proc/cpuinfo) -ne 0 ]; then
modprobe -b kvm-amd >/dev/null 2>&1
fi modprobe -b vhost_net >/dev/null 2>&1

设置modules文件为755权限。

chmod 755 kvm.modules

注: vhost_net是网络加速的一个内核模块,如果不适用vhostnet,则可以不用加载。

安装qemu-kvm工具

通过yum安装Linux用户层(user space) KVM管理工具即可。

# yum install -y qemu-kvm

主要命令:

$ /usr/bin/qemu-img # 创建磁盘

$ /usr/lib/libexec/qemu-kvm # 创建虚拟机

注: 如果需要使用libvirtd API和virsh命令,则需要安装libvirtd。如果需要使用virt-manager从图形界面创建虚拟机,则需要安装virt-manager。本次测试由于仅使用qemu-kvm创建虚拟机,所以仅需要安装qemu-kvm工具。

2. openvswitch的安装部署

参考! https://github.com/openvswitch/ovs/blob/branch-2.3/INSTALL。

版本

与kvm属于Linux内核模块不同,openvswitch并不包含在Linux内核中,需要单独下载编译加载。所以,不同版本的openvswitch对于Linux内核版本有不同要求。

最新openvswitch版本为2.5,匹配Linux 3.10以上(>=RHEL 7.0/CentOS 7.0)。

本次选择匹配Linux 2.6.32 (>=RHEL 6.4/ CentOS 6.4)的openvswitch版本,2.3.3。

该版本支持以下特性:

* Standard 802.1Q VLAN model with trunk and access ports
* NIC bonding with or without LACP on upstream switch
* NetFlow, sFlow(R), and mirroring for increased visibility
* QoS (Quality of Service) configuration, plus policing
* GRE, GRE over IPSEC, VXLAN, and LISP tunneling
* 802.1ag connectivity fault management
* OpenFlow 1.0 plus numerous extensions
* Transactional configuration database with C and Python bindings
* High-performance forwarding using a Linux kernel module

安装方式

两种安装方式:

  1. userspace,这个属于exprience
  2. linux kernal module,

本次测试采用内核方式安装,即核心功能通过openvswitch内核模块实现。

环境准备

1). 内核版本>=2.6.32。

$ uname -r

2). Python环境:python 2.4 或者以上

$ python --version

3). 编译环境

gcc/GNU make

4). 依赖

①需要安装linux kernal

\# yum install linux-kernal

② make时报找不到某个文件,

/lib/modules/2.6.32-358.el6.x86_64/build/include/generated/utsrelease.h

解决办法:在/lib/modules/2.6.32-358.el6.x86_64/build/include下新建一个generated文件夹,从linux/utsrelease.h中copy过去。

注: github上的要求比较详细,但是如果选用和操作系统相匹配的openvswitch,那默认的yum安装的组件都会满足要求。

编译安装用户层工具和内核模块

$ ./configure --with-linux=/lib/modules/`uname -r`/build #配置
$ make #编译
# make install #安装ovs
# make modules_install #安装内核模块

加载openvswitch模块

# modprobe openvswitch #加载内核模块
# lsmod|grep openvswitch #检查是否有openvswitch

加入开机自动加载

# vi /etc/sysconfig/modules/openvswitch.modules

#!/bin/sh

if [ -f /lib/modules/2.6.32-358.el6.x86_64/extra/openvswitch.ko ]; then
/sbin/modprobe openvswitch > /dev/null 2>&1
fi exit 0

设置modules文件为755权限。

chmod 755 openvswitch.modules

主要命令

运行命令位于:/usr/local/bin/

ovs-appctl / ovs-dpctl / ovs-ofctl / ovs-vsctl

qemu-kvm和openvswitch安装部署-qemu-kvm和openvswitch原型环境部署和基本测试 (1)的更多相关文章

  1. 用Helm部署Kubernetes应用,支持多环境部署与版本回滚

    1 前言 Helm是优秀的基于Kubernetes的包管理器.利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离.现在 ...

  2. InfluxDB+Grafana大数据监控系列之基础环境部署(一)

    一.单节点环境部署 机器节点信息及 InfluxDB.Grafana 版本选择: 节点 Linux版本 部署服务 10.223.1.198 Centos 6.8 InfluxDB 1.7.7 10.2 ...

  3. Django+Nginx+uWSGI生产环境部署

    生产环境中的数据流 参考文档: wsgi详解:https://blog.csdn.net/li_101357/article/details/52748323 wsgi协议介绍(萌新版):https: ...

  4. Tomcat热部署:Maven项目一键部署到Tomcat服务器 - 支持多环境

    参考:Eclipse中的Maven项目一键部署到Tomcat服务器 - 支持多环境部署 命令 debug模式设置关联源码 eclipse --> 项目右键 --> Debug As --& ...

  5. KVM(七)使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照

    本文将梳理 QEMU/KVM 快照相关的知识,以及在 OpenStack Nova 中使用 libvirt 来对 QEMU/KVM 虚机做快照的过程. 1. QEMU/KVM 快照 1.1 概念 QE ...

  6. KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机

    1. QEMU/KVM 迁移的概念 迁移(migration)包括系统整体的迁移和某个工作负载的迁移.系统整理迁移,是将系统上所有软件包括操作系统完全复制到另一个物理机硬件机器上.虚拟化环境中的迁移, ...

  7. 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用

    基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...

  8. 在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结

    在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结 一.资料来源:    网上一共找到两个方法,一个是视频上的教程,一个是网页资料. 二.视频资料方法内容:1.install qe ...

  9. ubuntu12.04下使用qemu模拟mips处理器安装debian

    注:ubuntu是不支持mips处理器的,只能在x86下安装运行第一步.安装qemu sudo apt-get install qemu qemu-system .执行 qemu-system-mip ...

随机推荐

  1. IntelliJ IDEA中如何设置同时打开多个文件且分行显示?

    Window→Editor Tabs→Tabs Placement→Show Tabs in Single Row 取消选中后即可在多行显示 下图为实际显示效果:  还可以自行设置打开文件窗口数(默认 ...

  2. iframe获取父、子窗口的方法

    jquery.js调用iframe父窗口与子窗口元素的方法 1. jquery在iframe子页面获取父页面元素代码如下: $("#objid",parent.document) ...

  3. 【转】SQLServer XML类型

    SQL Server从2005起开始支持xml类型,这个数据类型对于后期的改变非常有用.一对多的关系在后期变成了多对多的关系,XML类型就是一个不错的选择. 1.创建测试数据 创建表 --创建表,包含 ...

  4. (C#) Parse xml 时, 返回的node值总是null。

    网上查了一下,原因在于要parse的Xml文件本身包含了一些namespace,这些需要被添加进去. http://msdn.microsoft.com/zh-cn/library/system.xm ...

  5. [Android Exception 1A] -com.android.volley.NoConnectionError: java.io.InterruptedIOException

    - ::-/com.tongyan.tutelage W/System.err: com.android.volley.NoConnectionError: java.io.InterruptedIO ...

  6. ZOJ 4257 MostPowerful(状压DP,简单)

    题目大意:不超过10种气体,两两之间相互碰撞可以产生一定的能量,如a碰b,那么b气体就消失,自身不能碰自身,问最后所能得到的最大能量. 原代码链接:http://blog.csdn.net/accry ...

  7. linux命令(2):df 磁盘占用

    在这里先讲讲linux命令df的资料: df 命令: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信 ...

  8. java 编译中没有清除之前编译出来的文件。

    最近在写一个类时候使用了内部类,然后又将这个类改用普通类来实现.但在运行时访问局部变量时候出现了NullPointException异常,想来想去没有想明白,后来清除了一个之前编译出来的文件*.cla ...

  9. 关于centos7下扩充和减小xfs逻辑分区大小的问题

    比如,我想把/dev/centos/home下的50G变为8G 1.增加 1.1 去掉挂载 umount /home 1.2 减小home, lvreduce -L 8G /dev/centos/ho ...

  10. JAVA实例,判断是否是瑞年

    题目:用户输入一个年份,返回是否是瑞年. 瑞年规则:能被4整除,并且不能能被100整除,或者能被400整除的年份称之为瑞年. 实例: import java.util.Scanner; public ...