一、kvm简介

KVM 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine)。 2006 年 10 月,由以色列的Qumranet 组织开发的一种新的“虚拟机”实现方案。 2007 年 2 月发布的 Linux 2.6.20 内核第一次包含了 KVM 。增加 KVM 到 Linux 内核是 Linux 发展的一个重要里程碑,这也是第一个整合到 Linux 主线内核的虚拟化技术。

KVM 在标准的 Linux 内核中增加了虚拟技术,从而我们可以通过优化的内核来使用虚拟技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可以在用户空间启动客户机操作系统。一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)。

1.查看系统版本和内核

#内核版本需要是2.6以上
#如果不是那么需要yum update -y 更新
[root@kvm ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@kvm ~]# uname -a
Linux kvm 2.6.32-642.3.1.el6.x86_64 #1 SMP Tue Jul 12 18:30:56 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@kvm ~]#

2.关闭Selinux

[root@kvm ~]# cat /etc/selinux/config
SELINUX=disabled
#注 你的kvm如果走的nat模式 那么需要特别设置防火墙,如果是桥模式那么不需要
以下是关闭防火墙
[root@kvm ~]# iptables -F
[root@kvm ~]# iptables -X
[root@kvm ~]# /etc/init.d/iptables save
[root@kvm ~]# /etc/init.d/iptables stop

3.重启服务器

[root@kvm ~]# reboot

4.查看系统是否开启虚拟化

[root@kvm ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo



若实际环境没有, 需要到主板BIOS中开启Virtual Technolege(VT, 虚拟化技术)

5.安装kvm相关软件包

[root@kvm ~] yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools qeme-kvm virt-viewer virt-v2v libguestfs-tools

6.启动kvm服务

[root@kvm ~]# /etc/init.d/libvirtd start
[root@kvm ~]# virsh -c qemu:///system list
Id Name State
----------------------------------------------------
查看kvm模块支持
[root@kvm ~]# lsmod |grep kvm
kvm_intel 55624 0
kvm 338535 1 kvm_intel
查看虚拟工具版本
[root@kvm ~]# virsh --version
0.10.2
[root@kvm ~]# virt-install --version
0.600.0
[root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
[root@kvm ~]# qemu-kvm -version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2-2.448.el6_6.4), Copyright (c) 2003-2008 Fabrice Bellard

**7.创建br0网桥

[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-eth0 ifcfg-br0
[root@kvm network-scripts]# vim ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:41:DA:81
TYPE=Ethernet
UUID=21501ff5-e313-494c-a402-50f2a84f1f5c
ONBOOT=yes
NM_CONTROLLED=yes
#---------------------
#全部注释掉
#BOOTPROTO=static
#IPADDR=10.10.10.104
#NETMASK=255.255.255.0
#GATEWAY=10.10.10.1
#---------------------
BRIDGE=br0 [root@kvm network-scripts]# vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.10.10.104
NETMASK=255.255.255.0
GATEWAY=10.10.10.1
TYPE=Bridge

8.重启network服务

[root@kvm network-scripts]# /etc/init.d/network restart

1.kvm的基本搭建的更多相关文章

  1. CENTOS6.4上KVM虚拟机环境搭建

    CENTOS6.4上KVM虚拟机环境搭建   关键词: KVM,虚拟机,windows7, VNC, 桥接网络,br0, SCSI, IDE   环境: host: CENTOS6.4 guest: ...

  2. kvm虚拟化平台搭建入门

    KVM虚拟化有两种网络模式:1)Bridge网桥模式2)NAT网络地址转换模式Bridge方式适用于服务器主机的虚拟化.NAT方式适用于桌面主机的虚拟化. 环境: 本次实验要开启VMWare中对应Ce ...

  3. KVM 虚拟化基本搭建

    KVM虚拟化技术 KVM是基于x86架构上Linux操作系统的全虚拟化解决方案 ,在Centos6.3系统中,kvm已经被集成到内核中,相当于使用内核来做虚拟机管理程序.由于KVM本身就工作于内核环境 ...

  4. kvm虚拟化平台搭建

    一.虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个操 ...

  5. 基于ARM64的Qemu/KVM学习环境搭建

    作者:pengdonglin137@163.com 在没有aarch64架构的开发板的情况下,可以使用Qemu来模拟一个支持KVM的AArch64位的host,然后再在其上运行一个开启KVM加速的Qe ...

  6. Centos7利用kvm搭建Windows虚拟机

    这几天玩了一下kvm虚拟化,真的很有意思,我把这几天踩的坑,还有收获,都记录下来,作为以后的复习和检查. 首先说一下我的基本逻辑,我有一台win7的笔记本,我的底层虚拟化是使用VMWare构建的Cen ...

  7. ubuntu18.04上搭建KVM虚拟机环境超完整过程

    看标题这是篇纯运维的文章.在中小型企业中,一般很少配置专业的运维人员,都是由开发人员兼着.同时,对有志于技术管理的开发人员来说,多了解一些运维及整个软件生命周期的知识,是很有帮助的,因为带团队不仅仅是 ...

  8. 使用Python-Libvirt GUI 实现KVM 虚拟机 界面化管理

    一.KVM环境的搭建 1.安装VMware(略) 2.在VMware中安装Linux系统(略,Ubuntu16.04) 打开支持虚拟化 网络选择桥接模式 3.安装qemu apt-get instal ...

  9. KVM部署及硬件参数更改

    一.kvm虚拟化环境搭建准备 1.硬件环境 kvm只能部署在物理机上面. 2.BIOS开启VT Virtualization Tech [Enabled] 3.查看cpu 是否支持kvm 全虚拟化 # ...

随机推荐

  1. gvim如何显示html属性代码提示? vim 如何显示 javascript属性及方法提示?

    gvim如何显示html属性代码 可以在vim中 显示 html, css, js等的属性/方法 提示: 一是: 在 ~/.vim/after/syntax/ 目录中 安装 css-color.vim ...

  2. js jquery中 的数据类型

    任何一门语言, buguan 是动态的, 还是像C语言的, 都有严格的 类型 "概念的", 这个是由于 编译器和解释器要求的, 需要的. 所以在是使用像 js, jquey ,ph ...

  3. linux下google chrome浏览器字体修改

    今天安装了最新的chrome,我是下载的.deb包直接安装的. 安装完后,用chrome浏览页面时,发现字体有的大,有的小,还不清楚. 于是在网上搜索了一下如何设置字体. 1.打开Chrome浏览器. ...

  4. php简单实用的操作文件工具类(创建、移动、复制、删除)

    php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) {  // 原目录,复制到的目录 $dir = opend ...

  5. PostgreSQL建立分区表示例

    pgsql 分区表: --主表 create table test(id integer, name varchar(32)); create index idx_test_id on test us ...

  6. Extjs3 + swfUpload实现多文件上传控件

    要在ExrtJS框架实现选择多文件上传,FileUploadField已经无法满足需求,所以采用了 swfUpload上传控件,上传窗口如下: 多选文件进行上传(其实是每个文件异步上传),可以中途停止 ...

  7. wordpress如何批量关闭旧日志留言功能

    于一些wordpress技术博客或者其他wordpress博客来说,一些旧日志的内容可能已经过时了,但是一些读者,还是对一些问题“纠缠不清”或者“喋喋不休”,怎么办,把留言关了就好了: UPDATE ...

  8. hdu.1067.Gap(bfs+hash)

    Gap Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  9. 【PHP面向对象(OOP)编程入门教程】9.封装性(var与public,protected,private的关系)

    封装性是面象对象编程中的三大特性之一,封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义: 1. 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独 ...

  10. c# random string

    var randomString= Path.GetRandomFileName(); 返回 ar1opgzw.1gp 详细 http://www.dotnetperls.com/random-str ...