KVM的虚拟化简介

    KVM(全称Kernel-based Virtual Machine)是一套开源的全虚拟化解决方案,同时也支持半虚拟化。KVM不同于其他(如Xen),它是集成到Linux内核的Hypervisor,在X86架构上需要硬件支持(如Intel VT技术或者AMD V技术)虚拟化技术。KVM由一个可加载的内核模块kvm.ko提供核心虚拟化基础构造,和一个处理器特殊的模块kvm-intel.ko 或者 kvm-amd.ko组成。

在KVM虚拟主机上,可以允许运行多个Linux或Windows虚拟机,每个虚拟机都有各自的虚拟硬件:网卡、磁盘、图形适配器等。

这里KVM的安装环境是VMware和CentOS6.7_64位系统

  • 前提需要足够大的硬件配置支持,如KVM主机内存需要至少2个G,硬盘需要40G以上。

  • 检查CPU是否支持虚拟化技术,查看虚拟机设置虚拟化引擎部分,把【虚拟化Inter VT-x/EPT或AMD-V/RVI(V)】选项打钩。

  • 同时可以在主机下查看CPU是否支持虚拟化,可以使用egrep 'vmx|svm' --color /proc/cpuinfo查看,若有输出则支持。

现在开始安装KVM

Step1:清除防火墙规则并把Selinux关闭

1
2
3
4
[root@kvm ~]# service iptables stop
[root@kvm ~]# iptables -F
[root@kvm ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
[root@kvm ~]# setenforce 0

Step2:安装KVM核心包和其他所必须的虚拟化软件包

kvm:             KVM核心模块,它在默认Linux内核中提供KVM管理程序

virt:                 创建、克隆、虚拟机命令,以及图形化管理工具virt-manager

qemu-img:      qemu组件,使用qemu命令来创建磁盘等

libvirts:             虚拟机管理工具,使用virsh等命令来管理和控制虚拟机

bridge-utils:      设置网络网卡桥接

KVM的安装需要解决的依赖比较多,其中virt需要安装200多个依赖包,安装过程比较费时,大约十几分钟,这取决于你的机器。

1
[root@kvm ~]# yum -y install kvm virt* libvirt qemu-img bridge-utils

Step3:确认安装KVM是否已经成功

检查KVM模块是否加载

1
2
3
[root@kvm ~]# lsmod |grep kvm
kvm_intel              55624  0 
kvm                   341551  1 kvm_intel

查看virt版本

1
2
3
4
[root@kvm ~]# virt-install --version
0.600.0
[root@kvm ~]# virsh --version
0.10.2

1
2
3
[root@kvm ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------

Step4:接下来可以创建并安装虚拟机,首先是配置网卡

进入/etc/sysconfig/network-scripts/目录下,拷贝eth0网卡配置文件ifcfg-eth0为ifcfg-br0

1
2
[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-eth0 ifcfg-br0

编辑ifcfg-eth0文件

1
2
3
4
5
6
7
8
DEVICE=eth0
HWADDR=00:0C:29:6C:57:4E
TYPE=Ethernet
UUID=41b2bd36-fc1a-4bbf-ab3f-2e11a9fc888a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0

编辑ifcfg-br0文件

1
2
3
4
5
6
7
8
9
10
11
DEVICE=br0
#HWADDR=00:0C:29:6C:57:4E
TYPE=Bridge
UUID=41b2bd36-fc1a-4bbf-ab3f-2e11a9fc888a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.33
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1

重启网络服务

1
2
3
4
5
6
7
8
[root@kvm network-scripts]# service network restart
Shutting down interface br0:                               [  OK  ]
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Bringing up interface br0:  Determining if ip address 192.168.1.33 is already in use for device br0...
                                                           [  OK  ]

查看一下网卡信息,其中br0就是刚刚创建的网卡配置文件,可以看到设置的IP已经生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[root@kvm ~]# ifconfig 
br0       Link encap:Ethernet  HWaddr 00:0C:29:6C:57:4E  
          inet addr:192.168.1.33  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe6c:574e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1211 errors:0 dropped:0 overruns:0 frame:0
          TX packets:193 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:100106 (97.7 KiB)  TX bytes:18094 (17.6 KiB)
eth0      Link encap:Ethernet  HWaddr 00:0C:29:6C:57:4E  
          inet6 addr: fe80::20c:29ff:fe6c:574e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:160842 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84216 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:210835385 (201.0 MiB)  TX bytes:7062228 (6.7 MiB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)
virbr0    Link encap:Ethernet  HWaddr 52:54:00:07:F1:48  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Step5:启动或重启libvirtd和messagebus服务

启动libvirtd、messagebus

1
2
3
4
[root@kvm ~]# service libvirtd start
Starting libvirtd daemon:                                  [  OK  ]
[root@kvm ~]# service messagebus start
Starting system message bus:                               [  OK  ]

查看网络接口列表

1
2
3
4
[root@kvm ~]# brctl show
bridge name    bridge id             STP enabled     interfaces
br             08000.000c296c574e    no              eth0
virbr0         8000.52540007f148     yes             virbr0-nic


Step6:创建一个虚拟机

首先创建一个用来存放虚拟机的目录/kvm,当然要先查看一下磁盘大小情况再选择的位置

1
2
3
4
5
6
7
[root@kvm ~]# df -Th
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda3      ext4    43G  1.3G   39G   4% /
tmpfs          tmpfs  932M     0  932M   0% /dev/shm
/dev/sda1      ext4   190M   31M  149M  18% /boot
[root@kvm ~]# mkdir /kvm

创建一个预分配的元数据选项的qcow2格式镜像文件(用来存储虚拟机的磁盘镜像)

1
2
[root@kvm ~]# qemu-img create -f qcow2 -o preallocation=metadata /kvm/centos6.7_v1.img 10G
Formatting '/kvm/centos6.7_v1.img'fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 preallocation='metadata'

stat命令输出磁盘镜像信息

1
2
3
4
5
6
7
8
[root@kvm ~]# stat /kvm/centos6.7_v1.img 
  File: `/kvm/centos6.7_v1.img'
  Size: 10739318784Blocks: 3488       IO Block: 4096   regular file
Device: 803h/2051dInode: 2490371     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-01-15 17:08:46.695998217 +0800
Modify: 2016-01-15 17:08:46.694998217 +0800
Change: 2016-01-15 17:08:46.694998217 +0800

info命令查看磁盘镜像的大小信息

1
2
3
4
5
6
[root@kvm ~]# qemu-img info /kvm/centos6.7_v1.img 
image: /kvm/centos6.7_v1.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.7M
cluster_size: 65536

下面通过文本模式安装一个512内存、1核心、磁盘大小10G的linux系统。使用virt-install命令来创建虚拟机

1
2
3
4
5
6
7
8
9
10
11
12
[root@kvm ~]# virt-install \
--name centos6.7_v1 \
--ram 512 \
--disk path=/kvm/centos6.7_v1.img,format=qcow2,size=10,bus=virtio \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--location=/dev/sr0 \
--console pty,target_type=serial \
--extra-args 'console=ttyS0,115200n8 serial'

部分输出内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Starting install...
Retrieving file .treeinfo...                                                                      |  676 B     00:00 ... 
Retrieving file vmlinuz...                                                                        | 8.1 MB     00:00 ... 
Retrieving file initrd.img...                                                                     |  69 MB     00:00 ... 
Creating domain...                                                                                |    0 B     00:00     
Connected to domain centos6.7_v1
Escape character is ^]
[1;256r
Google, Inc.
Serial Graphics Adapter 12/07/11
SGABIOS $Id: sgabios.S 8 2010-04-22 00:03:40Z nlaredo $ (mockbuild@c6b18n1.dev.centos.org) Wed Dec  7 17:04:47 UTC 2011
Term: 121x32
4 0
SeaBIOS (version seabios-0.6.1.2-30.el6)
Machine UUID 51dca1d8-adbc-51d1-1f39-343ad2c7a49f
gPXE (http://etherboot.org) - 00:03.0 C100 PCI2.10 PnP BBS PMM1FE0@10 C100
                                                                                
Probing EDD (edd=off to disable)... ok
......
Greetings.
anaconda installer init version 13.21.239 starting
mounting /proc filesystem... done
creating /dev filesystem... usb 2-1: new full speed USB device number 2 using uhci_hcd
done
starting udev...done
mounting /dev/pts (unix98 pty) filesystem... udevd[48]: error setting /sys/class/firmware/timeout: No such file or directory
done
mounting /sys filesystem... done
anaconda installer init version 13.21.239 using a serial console
trying to remount root filesystem read write... done
Welcome to CentOS for x86_64
                     ┌───────────┤ Disc Found ├───────────┐
                     │                                    │
                     │ To begin testing the media before  │
                     │ installation press OK.             │
                     │                                    │                     
                     │ Choose Skip to skip the media test │                     
                     │ and start the installation.        │                     
                     │                                    │                     
                     │     ┌────┐           ┌──────┐      │                     
                     │     │ OK │           │ Skip │      │
                     │     └────┘           └──────┘      │
                     │                                    │
                     │                                    │
                     └────────────────────────────────────┘
  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen

接下来的安装操作就变得简单了,安装完成选择Reboot就进入虚拟机了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
                                                                             
     ┌─────────────────────┤ Package Installation ├──────────────────────┐      
     │                                                                   │      
     │                                                                   │      
     │                                 0%                                │      
     │                                                                   │      
     │                   Packages completed: 6 of 225                    │      
     │                                                                   │      
     │ Installing glibc-common-2.12-1.166.el6.x86_64 (107 MB)            │      
     │ Common binaries and locale data for glibc                         │      
     │                                                                   │      
     │                                                                   │      
     │                                                                   │      
     └───────────────────────────────────────────────────────────────────┘

查看一下磁盘信息和登录信息

1
2
3
4
5
6
[root@localhost ~]# df -Th
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     ext4   8.3G  644M  7.3G   9% /
tmpfs                tmpfs  246M     0  246M   0% /dev/shm
/dev/vda1            ext4   477M   33M  419M   8% /boot

1
2
3
4
[root@localhost ~]# last
root     ttyS0                         Fri Jan 15 18:01   still logged in   
reboot   system boot  2.6.32-573.el6.x Fri Jan 15 18:00 - 18:03  (00:02)    
wtmp begins Fri Jan 15 18:00:36 2016

退出返回到KVM主机,键入ctrl+]即可,在KVM主机中使用virsh list可以查看虚拟机列表

[root@kvm ~]# virsh list --all

Id    Name                           State

----------------------------------------------------

4     centos6.7_v1                   running

进入虚拟机,使用virsh console命令

1
2
3
4
[root@kvm ~]# virsh console centos6.7_v1
Connected to domain centos6.7_v1
Escape character is ^]
[root@localhost ~]#

使用virsh命令管理虚拟机

1
[root@kvm ~]# virsh shutdown hostname    #关闭虚拟机,需要在虚拟机中安装acpid服务并启动
1
[root@kvm ~]# virsh destroy hostname     #强制关闭电源
1
[root@kvm ~]# virsh undefine hostname    #删除虚拟机

本文转自 HMLinux 51CTO博客,原文链接:http://blog.51cto.com/7424593/1735124

KVM虚拟化安装配置(一)相关推荐

  1. centos vmware centos6.6 64位 kvm虚拟化安装配置 第四十二节课

    centos vmware centos6.6 64位 kvm虚拟化安装配置     第四十二节课 上半节课 下半节课 f

  2. 虚拟化宿主服务器网络设置,kvm虚拟化安装配置手册

    环境 系统    centos6.2-x86_64 IP地址    192.168.0.99 1.KVM宿主机安装: 一.安装条件: 1)含有KVM的Linux 发行版本必须在64bit环境中才能使用 ...

  3. linux 中添加kvm虚拟化,一文告诉你Linux如何配置KVM虚拟化--安装篇

    KVM全称"Kernel-based Virtual Machine",即基于内核的虚拟机,在linux内启用kvm需要硬件,内核和软件(qemu)支持,这篇文章教你如何配置并安装 ...

  4. RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器

    作业环境服务器端 操作系统:Red Hat Enterprise Linux Server release 6.0 (Santiago) KVM:qemu-kvm-0.12.1.2-2.113.el6 ...

  5. KVM虚拟化安装的虚拟机全屏设置

    当我们用KVM虚拟化装机发现装出来的机子屏幕特小不方便使用 怎么设置全屏化呢?网上大多是安装VMware-tools工具,其实不用安装也能放大 Ctrl+Alt+Enter 放大全屏化(缩小回来一样)

  6. 【KVM相关】kvm虚拟化部署配置

    一.kvm安装 1.CentOS yum安装 yum install -y qemu-kvm libvirt virt-install 二.虚拟机部署 1.配置网桥 1.1.ubuntu系统 配置虚拟 ...

  7. 服务器配置虚拟kvm功能,安装配置KVM虚拟机

    1.硬件环境检测 grep -E –color 'vmx|svm' /proc/cpuinfo 有输出代表cpu支持 2.软件包安装 yum install qemu-kvm qemu-img lib ...

  8. Proxmox VE2.2虚拟化安装配置学习笔记(三)

    你同时也可以上传ISO镜像创建KVM的客户机: 想要删除一个Template或者是ISO文件的话,先选定想要删除的文件,再点击上方的"删除"按钮: 5创建OpenVZ容器 创建Op ...

  9. KVM虚拟化笔记(七)------kvm虚拟机VNC的配置

    本文主要讲述的是通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对比较好,在虚拟主机上配置vnc访问虚拟机也是多提供一种方式 ...

最新文章

  1. TensorFlow简单线性回归
  2. 牛顿法求解非线性方程的根
  3. python判断能否组成三角形_牛鹭学院:学员笔记|Python: 输入三条边,判断是否可以成为三角形...
  4. 概述SharePoint 2007
  5. 大学英语四六各项分值
  6. ssm read time out的原因_加盟蜜雪冰城未通过是什么原因?总部公布了两点原因
  7. SpringBoot 2 要不要升级
  8. 我的docker随笔4:docker常用命令
  9. android样式文件,Android学习笔记样式资源文件
  10. fedora16 解码方案
  11. 变压器绕组降低邻近效应_高功率UPS性能提升,规格/重量显著降低
  12. 模糊c均值聚类及python实现
  13. 汇编语言学习笔记 - 杂记(寄存器,寻址方式,指令操作合法性)
  14. 新加坡Shopee内推
  15. 项目日历是什么?如何规划?
  16. 评定职称/积分落户,原来软考证书含金量这么大!
  17. 清理Maven本地仓库.lastUpdated文件
  18. undefined reference to `__stack_chk_fail'
  19. 与门,AND Gate
  20. 温故知新(九一)什么是抽象语法树,有哪些用途

热门文章

  1. 【HTML5】媒体元素标签audio video
  2. MySQL基础——DML语言学习\插入数据\删除数据\更新数据
  3. Qt维基文档翻译:D-指针,D-Pointer
  4. LibLinear(SVM包)使用说明之(二)MATLAB接口
  5. L2-4 哲哲打游戏 (25 分)
  6. 6-4 单链表插入排序 (15分)
  7. 排序算法之选择排序(简单选择排序、堆排序)
  8. 基于python的图像变换(翻转、平移、缩放、旋转、仿射和透视变换)
  9. JavaWeb项目实战(2)安装JDK和Tomcat以及Eclipse构造开发环境
  10. php 替换img宽度,php 如何替换img