文档章节

CentOS6之KVM安装和运行

xue777hua
 xue777hua
发布于 2014/04/01 21:52
字数 2253
阅读 146
收藏 2

关于云计算和KVM是什么,我想点击进来的人多少都知道点。KVM,全称:Kernel-based Virtual Machine. 剩下的自行百度。

硬件开启虚拟化支持

虚拟化,现在的CPU一般都支持,在BIOS中开启即可。关于服务器如何开启,可自行google,我是用个人本子玩KVM的。

我的硬件配置:公司的屌丝本(DELL Inspiron14, i5-3337U, 8G, 500G, 硬盘丫出来100G的ext3格式分区,其他都是NTFS分区) + CentOS6.5(请参考此文安装和基本设置:CentOS安装和基本设置,我在安装的时候选择的是Development Enviroment,并且安装了相应的虚拟化的package,大家可以自行决定)

用以下命令确认当前机器是否支持虚拟化,如果有输出结果,则表示支持,否则不支持。其中:vmx 标志位表示Intel VT 虚拟化技术,svm 标志位表示AMD-V虚拟化技术。

grep -E ’vmx|svm’ /proc/cpuinfo

下面的是我的输出,说明是 Intel VT 虚拟化技术

[mwu@morgan local]$ grep -E 'vmx|svm' /proc/cpuinfo 
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms

安装和配置KVM

可以在安装的时候把KVM和虚拟化安装进去,也可以后续安装。

安装过程

  1. 由于KVM与Xen不兼容,确保Linux没有运行一个Xen的Kernel,用uname -a 命令可以检测出,如果你发现类似"2.6.18-164.el5Xen"的输出,则需要先将该Xen Kernel停止. 
  2. 安装KVM软件:
    yum install kvm
  3. 安装虚拟化管理包
    yum install virt-manager libvirt libvirt-python python-virtinst

配置过程

  1. 载入KVM模块
    modprobe kvm
  2. 载入芯片相关KVM模块
    modprobe kvm-amd(svm标志位) 
    modprobe kvm-intel(vmx标志位)
  3. 确认模块是否载入成功
    [root@morgan local]# lsmod|grep kvm
    kvm_intel              54285  0 
    kvm                   333172  1 kvm_intel
  4. 开启libvirtd后台服务并且
    [root@morgan local]# /etc/init.d/libvirtd start
    Starting libvirtd daemon:             [OK]
  5. 设置libvirtd服务自动启动
    chkconfig libvirtd on
  6. 确保默认的虚拟网络正常工作。默认的隔离的虚拟网络有一个虚拟网桥:virbr0,默认使用192.168.122.x作为其子网。host机,即运行libvirtd服务的机器IP地址为192.168.122.1,您可以在guest虚拟机中安装系统过程中或者安装系统完毕后设置其IP。验证虚拟网桥设备的运行情况,与下述结果类似:
    [root@morgan local]# ifconfig virbr0
    virbr0    Link encap:Ethernet  HWaddr 52:54:00:94:70:F4  
              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:5 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 b)  TX bytes:290 (290.0 b)

配置网络

您可以使用默认网络配置,或者重新设置一个Linux网桥。默认的网络只能从KVM虚拟机访和外面的网络通信。如果KVM虚拟机需要双向通信,则需要在host机设置一个Linux网桥。

使用默认的网络配置

在如下情况则使用默认的网络配置

  1. 只需要host机器和KVM虚拟机互相通信
  2. 只需要从KVM虚拟机访问外网络,而不需要反过来

在host机设置Linux网桥

确保网卡正常工作,KVM虚拟机也将使用该网卡和外界进行网络通信。输出和下面类似则为正常工作,表示有一个p1p2网卡。如果您的网卡工作不正常,则不在此文讨论范围内。

[root@morgan local]# ifconfig
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:16436  Metric:1
          RX packets:13471 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13471 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6107173 (5.8 MiB)  TX bytes:6107173 (5.8 MiB)

p1p2      Link encap:Ethernet  HWaddr E0:DB:55:94:AB:15  
          inet addr:10.10.10.77  Bcast:10.10.10.255  Mask:255.255.255.0
          inet6 addr: fe80::e2db:55ff:fe94:ab15/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:306724 errors:0 dropped:0 overruns:0 frame:0
          TX packets:224917 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:252108544 (240.4 MiB)  TX bytes:36948789 (35.2 MiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:94:70:F4  
          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:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:290 (290.0 b)

注意:KVM不支持无线网卡!

配置网络过程

  1. 备份对应的网卡脚本文件到另一个不同的文件夹下,千万不可拷贝到同一文件夹下面
    [root@morgan local]# cp /etc/sysconfig/network-scripts/ifcfg-p1p2 /root/
  2. 复制现有网卡文件为br0网卡文件,我们将基于这个网卡文件进行修改
    cp /etc/sysconfig/network-scripts/ifcfg-p1p2 /etc/sysconfig/network-scripts/if-cfg br0
  3. 配置网桥文件br0

    # 静态IP情况
    DEVICE=eth0 
    TYPE=Ethernet 
    HWADDR=00:14:5E:C2:1E:40 
    ONBOOT=yes 
    NM_CONTROLLED=no 
    BRIDGE=br0 
    # 网桥设置,eth0里面需要设置MAC地址,br0里面需要设置IP地址,通过eth0里面的Bridge指向了br0来用eth0作为网桥。
    DEVICE=br0
    TYPE=Bridge
    NM_CONTROLLED=no
    BOOTPROTO=static
    IPADDR=10.10.1.152
    NETMASK=255.255.255.0
    ONBOOT=yes
    DEFROUTE=yes
    # 动态IP情况
    DEVICE=eth0 
    TYPE=Ethernet 
    HWADDR=00:14:5E:C2:1E:40 
    ONBOOT=yes 
    NM_CONTROLLED=no 
    BRIDGE=br0 
    # 网桥设置,eth0需要设置MAC地址,br0需要设置dhcp,通过eth0里面的Bridge指向了br0来用eth0作为网桥。
    DEVICE=br0
    TYPE=Bridge
    NM_CONTROLLED=no
    BOOTPROTO=dhcp
    ONBOOT=yes
  4. 注意将NetworkManager服务关闭。
  5. 重启网络使得网桥网卡配置生效。
    service network restart
  6. 添加下述代码到文件 /etc/sysctl.conf 来禁止桥接网络中的 Netfilter (默认已经关闭)
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
  7. 确认网络设置正确。
    [root@morgan etc]# ifconfig
    br0       Link encap:Ethernet  HWaddr E0:DB:55:94:AB:15  
              inet addr:10.10.10.77  Bcast:10.10.10.255  Mask:255.255.255.0
              inet6 addr: fe80::e2db:55ff:fe94:ab15/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:57088 errors:0 dropped:0 overruns:0 frame:0
              TX packets:39839 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:36880981 (35.1 MiB)  TX bytes:7833048 (7.4 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:16436  Metric:1
              RX packets:2519 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2519 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:784954 (766.5 KiB)  TX bytes:784954 (766.5 KiB)
    
    p1p2      Link encap:Ethernet  HWaddr E0:DB:55:94:AB:15  
              inet6 addr: fe80::e2db:55ff:fe94:ab15/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:95378 errors:0 dropped:0 overruns:0 frame:0
              TX packets:50049 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:46445815 (44.2 MiB)  TX bytes:9686445 (9.2 MiB)
    
    virbr0    Link encap:Ethernet  HWaddr 52:54:00:94:70:F4  
              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)
    [root@morgan etc]# brctl show
    bridge name	bridge id		STP enabled	interfaces
    br0		8000.e0db5594ab15	no		p1p2
    virbr0		8000.5254009470f4	yes		virbr0-nic

创建KVM虚拟机以待安装操作系统

virt-manager是一个用来创建和管理KVM虚拟机的GUI工具。下面的过程是使用virt-manager来安装SLES 11虚拟机系统。

  1. 开启X11环境
    ssh -X root@127.0.0.1
  2. 执行virt-mananger命令以开启virt-manager管理GUI工具。
  3. 创建一个虚拟机,输入基本信息,一步步往下就行了,无需多说,反正鼠标点击点击。
 


虚拟机内部的网络环境配置

内部网络采用NAT(在virt-manager中设置)方式,使得:

1. 虚拟机可以访问host机器和外网

2. 虚拟机的IP为内网192.168.122.*的IP

3. 虚拟机之间可以互相访问。

一个VM的网络配置的例子:

DEVICE=eth0
HWADDR=52:54:00:3A:F0:FA
TYPE=Ethernet
UUID=6332797f-a76a-43ea-97b9-729a96acaebd
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.122.2
NETMASK=255.255.255.0
DEFROUTE=yes
GATEWAY=192.168.122.1



本文参考:

http://wiki.centos.org/HowTos#head-fb1ff7e71fb5f2f511cda8c68cb6ba5f6e8decae

http://pic.dhe.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/kvminstall/liaaikvminstallstart.htm

http://wenku.baidu.com/link?url=SH3sakEtXww3YnBS7Rjigfu5eD0VAzsP0s0xWlY0Arm-wjms7dMXeYStg47yg3_WPEO7OZhygGrhNDUhgjLKUOMG8knL9PjroXIcBQJ0dVm



© 著作权归作者所有

xue777hua
粉丝 69
博文 45
码字总数 32450
作品 0
普陀
架构师
私信 提问
加载中

评论(1)

Everget
Everget
给你点赞
CentOS 7下配置安装KVM

注意:KVM一切安装和运行都是在root用户下完成的,并且只有root才能支持某些软件。 一、准备工作: 1、关闭selinux,iptables,重启后生效 ##关闭selinux 修改配置文件则永久生效,但是必须要...

easonjim
2018/06/07
0
0
CentOS 6.5安装KVM虚拟化

一、KVM简介 KVM(Kernel-basedVirtual Machine)即基于内核的虚拟机,是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。KVM在2007年2月被导入Linux 2.6.20核心...

大相林
2018/06/26
0
0
centos7

一、u盘安装 centos 7 minimal 二、kvm安装 三、docker安装 1、#临时关闭防火墙 systemctl stop firewalld #开放端口 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-......

eepan
2017/03/11
0
0
KVM精简教程(八):虚拟机管理之虚拟机克隆

8.1 virt-clone概述 8.1.1 简介 virt-clone 主要是用来克隆kvm虚拟机,并且通过 Options、General Option、Storage Configuration、Networking Configuration 等不同选项对新的虚拟机进行一些...

老书生
2016/08/20
0
0
第三方软件源安装Xen

因为从RHEL6版本开始,RedHat就不在原生支持Xen,改为投奔KVM的怀抱,尽管KVM号称支援HVM技术的全虚拟化,但KVM毕竟起步晚,远不如Xen技术成熟,运行多个实例时经常发生系统崩溃的现象,当然...

linuxprobe16
2016/11/25
20
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
38分钟前
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
40分钟前
7
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
42分钟前
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
48分钟前
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部