热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOSLinux系统安装KVM虚拟机

KVM虚拟机简介第一、看看cpu是否支持kvm[root@localhost~]#egrep(vmx|svm)--coloralways/proc/cpuinfoflags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdtsacpimmxf

KVM虚拟机简介   

第一、看看cpu是否支持kvm

[root@localhost ~]# egrep '(vmx|svm)' --color=always /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 syscall nx rdtscp lm constant_tsc nonstop_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

 [root@localhost ~]# grep -E -o 'vmx|svm' /proc/cpuinfo

vmx

第二步:安装kvm 所需要的软件包

 1.yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager

或者

 yum groupinstall KVM

2.安装完确认一下是否安装成功

检查模块是否有加载
[root@localhost ~]# lsmod  | grep kvm

kvm_intel              85256  0

kvm                   224928  2 ksm,kvm_intel
也可以使用命令检查KVM是否成功安装
    virsh -c qemu:///system list
将会显示如下结果:
[root@localhost ~]# virsh -c qemu:///system list

 Id Name                 State

----------------------------------
   如果在这里显示的是一个错误的信息,说明有些东西出现了问题。

3.安装桥接管理工具

yum install bridge-utils tunctl

4 安装gui管理工具yum install virt-manager virt-viewer.

5.修改网卡文件

  #cd /etc/sysconfig/network-scripts/

  #cp ifcfg-eth1 ifcfg-br0

  #vim ifcfg-eth1 如下:

    # Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet

    DEVICE=eth1

    #BOOTPROTO=none

    HWADDR=84:2b:2b:6e:20:d5

    OnBOOT=yes

    #NETMASK=255.255.255.0

    #IPADDR=192.168.1.187

    #GATEWAY=192.168.1.1

    TYPE=Ethernet

    BRIDGE=br0

Vim ifcfg-br0 如下:

   # Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet

   DEVICE=br0

   BOOTPROTO=static

   HWADDR=84:2b:2b:6e:20:d5

   OnBOOT=yes

   NETMASK=255.255.255.0

   IPADDR=192.168.1.187

   TYPE=Bridge

保存网卡配置 重新启动网卡

#service network  restart

检查br0 是否成功

[root@localhost network-scripts]# ifconfig

br0       Link encap:Ethernet  HWaddr 84:2B:2B:6E:20:D5 

          inet addr:192.168.1.187  Bcast:192.168.1.255                  Mask:255.255.255.0

eth0      Link encap:Ethernet  HWaddr 84:2B:2B:6E:20:D4 

          inet addr:117.79.238.187  Bcast:117.79.238.191                Mask:255.255.255.224

eth1      Link encap:Ethernet  HWaddr 84:2B:2B:6E:20:D5 

          inet6 addr: fe80::862b:2bff:fe6e:20d5/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback 

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

vnet0     Link encap:Ethernet  HWaddr FE:52:00:3E:41:04 

          inet6 addr: fe80::fc52:ff:fe3e:4104/64 Scope:Link

中间碰到的问题:

1、[root@benjr ~]# virt-manager
在一开始会看到错误信息,跳过。系统预设值为xen的hypervisor,需要手动开启kvm的Hypervisor
Unable to open a connection to the Xen hypervisor/daemon
Verify that:
- A Xen host kernel was booted
- The Xen service has been started.

这个不用管 直接跳过 其中的原因不明 

2、内核不能加载kvm模块 

FATAL: Error inserting kvm_amd (/lib/modules/2.6.18-194.el5/weak-updates/kmod-kvm/kvm-amd.ko): Unknown symbol in module, or unknown parameter (see dmesg)

解决办法

查看是否是因为bios中关闭了cpu的虚拟化支持 (如果开启果断下一步)

yum update kernel 果断升级内核,重启服务器 解决

lsmod | grep kvm  (重启完我偷着乐 !!!)

[root@localhost ~]# lsmod | grep kvm

kvm_intel              85256  1

kvm                   224928  2 ksm,kvm_intel

modprobe kvm  (加载kvm模块)

kvm 安装虚拟机

图像化安装

1.应用程序--à系统工具--à虚拟化管理(或者命令调出 virt-manger)

直接图形化操作跟vm workstation 差不多

a.新建虚拟机,选择 new

b.虚拟机命名(最好命名一个跟相关应用有关的)

c.选择cpu 支持的位数和 hypervisor 模式 

d.选择安装系统的方式和系统


e.选择iso文件所在位置

f.image存储的位置和image 的大小(若有单独的虚拟化分区,可以选择第一项,我默认)

g.选择网卡模式 (桥接模式)

h.设置内存大小 和cpu的个数

i.配置完成,虚拟所有信息

 

系统就不用再写了,太墨迹了

2.字符命令创建kvm 虚拟机(懒人没看。直接用的图像化配置)

3.Kvm虚拟机上网

 1、开启宿主机的路由转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward  或者直接在 /etc/sysctl.conf 中添加 修改 net.ipv4.ip_forward = 1

 2、配置宿主机iptables NAT

/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j          MASQUERADE

/sbin/iptables ?t nat ?A POSTROUTING ?s 192.168.1.0/24 -o eth0         -j SNAT  --to 117.79.238.187

/sbin/iptables save

 3、配置虚拟机,设置网卡

到此配置完毕!~~~


推荐阅读
author-avatar
sdfsadfwforever
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有