百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> CentOS6.5 64位系统安装配置KVM虚拟机步骤详解
分享文章到:

CentOS6.5 64位系统安装配置KVM虚拟机步骤详解

发布时间:01/15 来源: 浏览: 关键词:
KVM是一款linux上运行的虚拟机是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理下面一起来看看CentOS6.5 64位系统安装配置KVM虚拟机步骤

环境:
系统版本:CentOS 6.5 x86_64
内存:8G
CPU:Intel i5-4430
IP:192.168.1.100

一、KVM简介

KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者AMD V技术)。自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

二、KVM安装配置

1、准备工作

1.1 关闭iptables防火墙

[root@localhost ~]# service iptables stop //停止iptables
1.2 CPU开通支持虚拟化
需要在BIOS中开启虚拟化,一般是默认开启的

2、安装kvm虚拟机

2.1 查看CPU是否支持kvm完全虚拟机

[root@localhost ~]# cat /proc/cpuinfo | grep 'vmx' //Intel CPU判断方法
[root@localhost ~]# cat /proc/cpuinfo | grep 'svm' //AMD CPU判断方法
根据对应的CPU型号进行选择判断方法,如果能出现信息 ,就说明CPU支持KVM完全虚拟机
2.2 安装kvm和其它虚拟化所需管理软件包

[root@localhost ~]# yum install -y kvm virt-* libvirts bridge-utils qemu-img
软件包名称介绍:

kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机
bridge-utils:设置网络网卡桥接
virt-*:创建、克隆虚拟机命令,使用qemu命令来创建磁盘等。
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
2.3 加载kvm模块,查看kvm模块是否被加载

[root@localhost ~]# modprobe kvm-intel //加载kvm模块
[root@localhost ~]# lsmod | grep kvm //查看kvm模块是否被加载
2.4 重启确认kvm是否被加载

[root@localhost ~]# reboot //重启
[root@localhost ~]# lsmod | grep kvm //查看kvm模块是否被加载
2.5 查看已打开虚拟机列表

[root@localhost ~]# virsh list //查看虚拟机列表,如果有的话,就会显示出来
2.6 配置eth0、br0网卡

[eth0网卡]
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=74:D4:35:87:71:02
TYPE=Ethernet
UUID=723095b7-27d1-4f88-aa5f-5aa6b0472fbc
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
[br0网卡]
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
大家可以看着我的配置来进行修改,
2.7 查看目前所有的网桥接口

[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.74d435877102 no eth0
virbr0 8000.5254005ce327 yes virbr0-nic
2.8 修改VNC服务器的配置文件

[root@localhost ~]# vim /etc/libvirt/qemu.conf
将 vnc_listen = "0.0.0.0" 前面的#号注释去掉 //在文件的第12行

2.9 重启libvirtd和messagebus服务

[root@localhost ~]# /etc/init.d/libvirtd restart //重启libvirtd服务
 Stopping libvirtd daemon: [ OK ]
 Starting libvirtd daemon: [ OK ]
 [root@localhost ~]# /etc/init.d/messagebus restart //重启messagebus服务
 Stopping system message bus: [ OK ]
 Starting system message bus: [ OK ]
3、在宿主主机上创建、安装kvm虚拟机

3.1 创建镜像文件目录和虚拟磁盘存放目录

[root@localhost ~]# mkdir /iso
[root@localhost ~]# mkdir -p /data/kvmdisk/
3.2 把Centos6.5和windows2003系统文件拷贝到iso目录下
这个可以通过ftp或者通过挂载,下载都行
3.3 创建虚拟机

[root@localhost ~]# virt-install -n win03 -r 512 -vcpus=1 -s 50 -c /iso/win2003.iso --hvm --os-type=windows -f /data/kvmdisk/win2003.img --graphics vnc,listen=0.0.0.0,port=7789 --force --autostart
//命令解释:
创建一个名叫win03的虚拟机,内存大小为512内存,1个cpu,50G的硬盘,安装镜像是/iso/win2003.iso 指定为全虚拟化,系统类型为windows 指定虚拟机硬盘为/data/kvmdisk/win2003.img,同时配置vnc的端口为7789 自动开始安装

virt-install参数说明:

-n --name= 虚拟机名称
-r --ram= 虚拟机分配的内存
-u --uuid= 虚拟机的uuid
--vcpus=2 指定2个vcpu个数
-v --hvm 全虚拟他
-p --paravirt 半虚拟化
-l --location=localdir 安装源
--vnc 使用vnc
//可以用"--graphics vnc,listen=LISTEN,..."
--vncport 指定vnc监控端口,默认端口为5900,端口不能重复使用
--vnclisten 指定vnc绑定ip
-c --cdrom=光驱或者安装途径
-s --file-size= 使用磁盘映像的大小,单位为GB
-f --file= 作为磁盘映像使用的文件
--disk= 使用不同选项作为磁盘使用安装介质
--force 防止交互式提示
--os-variant 指定操作系统类型
--accelerate 加速
--network 网络类型,此处用的是默认,一般用的是应该是bridge桥接
3.4 创建kvm虚拟机的磁盘文件

[root@localhost ~]# qemu-img create -f qcow2 -o preallocation=metadata kvm_test.img 10G
//命令解释:
创建一个qcow2虚拟化镜像格式,大小为10G,文件名为kvm_test.img
4、vnc客户端连接KVM虚拟机

4.1 使用vnc连接
使用vnc连接刚刚创建的kvm虚拟机,比如刚刚创建的就可以使用192.168.1.100:7789
4.2 操作kvm虚拟机

查看所有的kvm虚拟机

[root@localhost ~]# virsh list --all
 Id Name State
----------------------------------------------------
 1 kvm_mode_5566 running
 5 win03_2 running
 7 win03_3 running
 - win03_1 shut off

查看在线的虚拟机

[root@localhost ~]# virsh list
 Id Name State
----------------------------------------------------
 1 kvm_mode_5566 running
 5 win03_2 running
 7 win03_3 running
停止kvm虚拟机

[root@localhost ~]# virsh shutdown win03_2
Domain win03_2 is being shutdown
[root@localhost ~]#
更多操作命令如下,virsh命令行管理工具

命令行:
virsh list #显示本地活动虚拟机
virsh list –all #显示本地所有的虚拟机(活动的+不活动的)
virsh define ubuntu.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh start ubuntu #启动名字为ubuntu的非活动虚拟机
virsh create ubuntu.xml #创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend ubuntu #暂停虚拟机
virsh resume ubuntu #启动暂停的虚拟机
virsh shutdown ubuntu #正常关闭虚拟机
virsh destroy ubuntu #强制关闭虚拟机
virsh undefine ubuntu #移除ubuntu虚拟机
virsh dumpxml ubuntu #显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem ubuntu 512000 #给不活动虚拟机设置内存大小
virsh setvcpus ubuntu 4 # 给不活动虚拟机设置cpu个数
针对虚拟机操作
virsh domid win03_3 #查看虚拟机的标识符
virsh domname win03_2 #查看虚拟机的名称
virsh domuuid win03_2 #查看虚拟机的 UUID
virsh domstate win03_2 #查看虚拟机目前的状态
virsh dominfo win03_2 #查看虚拟机的信息
提示:win03_2为虚拟机名称 操作需要接虚拟名称的
4.3 配置kvm虚拟机
通过vnc连接上虚拟机后,安装好系统,配置好IP,就可以正常使用了,一个完整的虚拟机就这样创建好了!

三、常见问题

1、问题一:
创建虚拟机时,提示如下:

Starting install...
ERROR internal error Process exited while reading console log output: char
device redirected to /dev/pts/1
qemu-kvm: -drive file=/etc/libvirt/kvm_mode.img,if=none,id=drive-ide0-0-
0,format=raw,cache=none: could not open disk image /etc/libvirt/kvm_mode.img:
Permission denied
解决方法:
文件夹赋予全部权限

[root@localhost ~]# chmod -R 777 /etc/libvirt/
原因:
暂时没有找到
2、问题二:
开启宿主主机时,没有自动启动小机,手动执行,开启小机,结果提示如下错误:

[root@localhost ~]# virsh start win03_2
error: Failed to start domain win03_2
error: unsupported configuration: Unable to find security driver for label selinux
解决方法:
不要禁用selinux,开启selinux

[root@localhost ~]# sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
[root@localhost ~]# reboot //重启生效
原因:
可能是宿主主机禁用了selinux,kvm无法加载安全模块了

附:虚拟机配置文件详解,以win03_1.xml为例

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
 virsh edit win03_1
or other application using the libvirt API.
-->
<domain type='kvm'> //域类型
 <name>win03_1</name> //虚拟机名称
 <uuid>dd61db7a-3b7c-1c14-a169-3fbd6d710c57</uuid> //虚拟机uuid
 <memory unit='KiB'>524288</memory> //虚拟机最大内存
 <currentMemory unit='KiB'>524288</currentMemory> //虚拟机当前内存
 <vcpu placement='static'>1</vcpu> //vcpu个数
 <os>
 <type arch='x86_64' machine='rhel6.5.0'>hvm</type> //全虚拟化
 <boot dev='hd'/> //从硬盘启动
 </os>
 <features>
 <acpi/>
 <apic/>
 <pae/>
 </features>
 <clock offset='localtime'>
 <timer name='rtc' tickpolicy='catchup'/>
 </clock>
 <on_poweroff>destroy</on_poweroff>
 <on_reboot>restart</on_reboot>
 <on_crash>restart</on_crash>
 <devices>
 <emulator>/usr/libexec/qemu-kvm</emulator>
 <disk type='file' device='disk'> //disk是用来描述磁盘的主要容器
 <driver name='qemu' type='raw' cache='none'/> //缓存大小
 <source file='/data/kvmdisk/win2003.img'/> //指定磁盘文件的绝对路径
 <target dev='hda' bus='ide'/> //ide接口
 <address type='drive' controller='0' bus='0' target='0' unit='0'/>
 </disk>
 <disk type='file' device='cdrom'> //cdrom信息
 <driver name='qemu' type='raw'/>
 <source file='/iso/win2003.iso'/> //cdrom镜像位置
 <target dev='hdc' bus='ide'/>
 <readonly/>
 <address type='drive' controller='0' bus='1' target='0' unit='0'/>
 </disk>
 <controller type='usb' index='0'>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
 </controller>
 <controller type='ide' index='0'>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
 </controller>
 <interface type='bridge'> //桥接设置
 <mac address='52:54:00:7f:c7:a6'/> //mac地址
 <source bridge='br0'/> //桥接网卡
 <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
 </interface>
 <serial type='pty'>
 <target port='0'/>
 </serial>
 <console type='pty'>
 <target type='serial' port='0'/>
 </console>
 <graphics type='vnc' port='7789' autoport='no' listen='0.0.0.0'> //vnc端口
 <listen type='address' address='0.0.0.0'/> //监听的IP
 </graphics>
 <input type='tablet' bus='usb'/>
 <memballoon model='virtio'>
 <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
 </memballoon>
 </devices>
</domain>

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板