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>

时间: 2024-10-04 16:31:41

CentOS6.5 64位系统安装配置KVM虚拟机步骤详解的相关文章

centos 6.4 64位编译安装mysql5.6步骤详解

直入主题:依赖安装 安装环境:centos 6.4 x86_64 安装c++编译环境: yum install gcc gcc-c++ ncurses-devel bision: cd /usr/local/src wget http://ftp.gnu.org/gnu/bison/bison-2.7.1.tar.gz tar -zxf bison-2.7.1.tar.gz cd bison-2.7.1 ./configure make && sudo make install cd ..

centos6.4快速安装和配置KVM虚拟机

centos6.4快速安装kvm 1. 开启处理器的虚拟化功能 进入BIOS,使能虚拟化功能: 进入linux, grep -E "vmx|<a href="http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=svm" class="bdcs-inlinelink" target="_blank">svm</a>"

win7 64位系统安装配置php5.6+apache2.4环境

一 :准备阶段 1:php php-5.5.13下载链接:http://windows.php.net/downloads/releases/php-5.5.13-Win32-VC11-x64.zip 推荐 Thread Safe(线程安全) V11 x64,也就是64bit的. 现在PHP官网上下载PHP安装包都有VC11或VC9的字样,这是什么含义,我们应该下载哪种安装包更好呢? 其实PHP官网给出了答案: VC9 and VC11 More recent versions of PHP a

centos 7系统安装配置kvm软件步骤

在centos 6 环境下KVM的安装部分,我写过kvm虚拟化小结(一)kvm环境安装 .由于centos 7较之前的版本有了很大的变化,目前测试了centos 7 环境下kvm的安装与搭建,具体如下. 一.安装kvm 软件 由于之前已做过较详细的 kvm 的安装与总结,这里只大致列下步骤:  代码如下 复制代码 [root@361way ~]# yum -y install qemu-kvm libvirt virt-install bridge-utils [root@361way ~]#

CentOS 7.0安装配置Vsftp服务器步骤详解

一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/ip

Centos系统下配置DHCP服务步骤详解

基础环境: [root@PXE ~]# uname -a Linux PXE 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@PXE ~]# ifconfig eth0      Link encap:Ethernet  HWaddr 00:0C:29:70:00:DA            inet addr:1.1.1.13  Bcast:1.1.1.

Mac环境下配置tomcat的步骤详解_Tomcat

前言 相信对Java Web稍微知道一点,一般对Tomcat都不会陌生,Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源.Tomcat无法取访问Appache资源).Appache只支持静态网页,但像asp,php,cgi,jsp等动态就需要Tomcat来处理.下面我们就来看看详细的步骤. 一. 下载 登录Apache Tomcat官网,地址 http://t

CentOS6.x中php升级PHP5.4的步骤详解

有些时候VPS默认为5.1的PHP版本,现在的很多程序都不在兼容php5.1的了,所以我们要升级PHP到最新的版本. 检查PHP组件 rpm -qa |grep php 我这里是PHP5.1. php-odbc-5.1.6-44.el5_10 php-xmlrpc-5.1.6-44.el5_10 wbm-php-pear-1.5-1 php-common-5.1.6-44.el5_10 php-pdo-5.1.6-44.el5_10 php-cli-5.1.6-44.el5_10 php-snm

RHEL6 64位系统安装ORACLE 10g 64bit 数据库

    记得去年4月份的时候,为公司部署测试环境和UAT环境时,在红帽RHEL6 64位系统安装ORACLE 10g 64位数据库时遇到了许多小问题,当时匆匆忙忙也没记录一下这些问题,前几天在虚拟机安装ORACLE 64位 10g时,又有一些常见问题又遇到了,顺便整理一下这篇文章.也许在RHEL6 64版本上安装64位Oracle 10g 的问题是最多的,估计很多人都被这个虐过无数次(很多人都是Oracle虐我无数遍,我待Oracle如初恋).从网上搜索关于这方面的内容就可见一斑. 好,废话少说