当前位置:首页 > 虚拟机 > 正文

kvm虚拟机怎么搭建


一、centos6.5下kvm环境搭建详解

1关闭部分服务并关闭内核防火墙(需要重启机器)

chkconfigpostfixoff

chkconfigiptablesoff

chkconfigip6tablesoff

chkconfigNetworkManageroff

sed-i's/=enforcing/=disabled/g'/etc/selinux/config

2验证虚拟化支持

[root@kvm~]#cat/proc/cpuinfo|grep'vmx'--color=auto###检查IntelCPU是否支持全虚拟化

[root@kvm~]#cat/proc/cpuinfo|grep'svm'--color=auto###确保AMDCPU支持全虚拟化

3安装和更新kvm相关软件包并安装模块

[root@kvm~]#yuminstall-ykvmvirt-*libvirtsbridge-utilsqemu-img

[root@kvm~]#yumupgradevice-mapper-libs

[root@kvm~]#modprobekvm-intel###Kvm安装模块。执行成功后不会返回任何信息。

[root@kvm~]#lsmod|grepkvm###确保已安装kvm模块

kvm_intel542850

kvm3331721kvm_intel

四、网卡eth0、br0相关配置

[root@kvmnetwork-scripts]#catifcfg-eth0

DEVICE=eth0

HWADDR=00:0c:29:77:95:8e

TYPE=以太网

UUID=29ab4ff0-e2ed-4132-ac07-8e5bbd472ff5

ONBOOT=是

NM_CONTROLLED=YES

BOOTPROTO=NO

BRIDGE=br0

[root@kvmnetwork-scripts]#catifcfg-br0

设备=br0

TYPE=BRIDGE

ONBOOT=YES

NM_CONTROLLED=NO

BOOTPROTO=STATIC

IPADDR=192.168.1.100

NETMASK=255.255.255.0

网关=192.168.1.1

DNS1=202.102.224.68

[root]@kvmnetwork-scripts]#服务网络重新启动

5/etc/libvirt/

echo'vnc_listen=0.0.0.0'/etc/libvirt/

6。重启libvirtd和消息总线服务

Startinglibvirtddaemon:[OK]

[root@kvmlibvirt]#/etcOK]

[root@kvmlibvirt]#

[root@kvmlibvirt]#mkdir/iso###创建镜像文件目录

[root@kvmlibvirt]#mkdir-p/data/kvmdisk/###虚拟磁盘创建存储目录

============================================================================================================================================================================================================================================================================================================================================本文不再发表======

7创建虚拟机

[root@localhost~]#virt-install-nwin08-r4096-vcpus=4-s80-c/iso/--hvm--os-type=windows-f/data/kvmdisk/--

graphicsvnc,listen=0.0.0.0,port=7789--force--autostart

//命令说明:

创建名为Win08、4G、4CPU、80G内存硬盘的虚拟机/iso/定义为全虚拟化,并指定系统类型Windows/data。/kvmdisk/同时设置vnc端口为7789自动开始安装

virt-install参数说明:

-n--name=虚拟机name

-r--ram=虚拟机分配的内存

-u--uuid=虚拟机

-v--hvm所有虚拟机

-p--paravirt半虚拟化

-l--location=localdir安装源

--vncvnc

//可以使用--graphicsvnc,listen=LISTEN,...

--vncport指定vnc监听端口,默认端口是5900,端口再不能使用

--vnclistenvnc绑定ip

-c--cdrom=光驱或挂载路径

-s--指定。file-size=使用的磁盘映像的大小,以GB为单位

-f--file=用作磁盘映像的文件

--disk=使用安装介质作为磁盘各种选项

--force阻止交互请求

--os-variant指定操作系统的类型

--acceleration

--network网络类型。这里使用默认的。

iso--hvm--os-type=linux-f/data/kvmdisk/--graphics

vnc,listen=0.0.0.0,port=7789--force--自动启动


二、KVM虚拟机的安装方法

1.安装准备
1.确保机器有VT
终端输入命令:grepvmx/proc/cpuinfo(INTEL芯片)
grepsvm/proc/cpuinfo(AMD芯片)
如果不知道厂家芯片,输入:egrep'(vmx|svm)'/proc/cpuinfo
如果flags:中有vmx或svm,则表示支持VT;如果没有输出,则说明你的CPU不支持,KVM虚拟机将无法成功安装。
2.确保BIOS中VT已开启
Intel(R)VirtualizationTech[Enabled]
如有需要,需要在BIOS中开启VT-d
3.确保内核版本较新新增,支持KVM
使用uname–r查看内核版本。如果Linux版本低于2.6.20,则需要升级内核。
2.安装KVM
下面介绍Ubuntu和CentOS下KVM虚拟机的安装和使用:
在Ubuntu中,使用guest登录,安装KVM的命令为:
sudoapt-getinstallkvmqemuqemu-kvmvirt-managerkernel-packagelinux-sourcekqemu-sourcebuild-essential
kvm安装成功后,会有/dev/kvm。如果不需要图形管理器,则只需安装前三个即可。
检查KVM是否安装成功。运行:virsh-cqemu:///systemlist
如果输入结果如下,则表示成功:
Connectingtouri:qemu:///system
IdNameState
----------------------------------
注1:在CentOS中安装时,必须先选择Selinux为enable,并使用命令
#system-config-securitylevel-tui
查看或修改selinux的状态。
注2:在CentOS中以root身份登录时,安装命令为:
yuminstallkvmkmod-kvmqemu
重新加载kvm模块:modprobekvm-intel(Intel机器)或modprobekvm-amd(amd机器))
注3:可以使用以下命令查看kvm模块是否加载:
/sbin/lsmod|grepkvm
如果输出kvm版本信息,则说明kvm模块已加载已加载
注4:安装后,可以使用qemu-kvm命令,输入命令。如果系统显示未知命令,请检查/usr/libexec下是否有qemu-kvm执行文件。如果有,请将其复制到/bin。只需转到目录即可。如果您已按照上述步骤操作,但在/bin、/usr/libexec、/usr/bin或/usr/sbin中找不到qemu-kvm可执行文件,可以执行以下命令:
#yumprovides*/qemu-kvm
注5:安装新内核后,部分软件版本可能会过低,不兼容。例如,Firefox版本太低而无法启动。
在CentOS下(以firefox为例)可以使用以下命令更新软件:
#yumupdatefirefox
3.在KVM下安装虚拟机
1.使用QEMU创建磁盘镜像注意:在CentOS和新版本的Qemu中:qemu-imgcreate–8G
2.使用KVM安装GuestVM
光盘安装:
sudokvm–localtime–cdrom/dev/
硬盘安装:
sudokvm–localtime–m512–––bootd–clock–rtc–no-acpi
注:官方建议使用-no-acpi参数,因为qemu/kvm不支持,可能会导致CPU过高用法。
注1:CentOS下硬盘安装为qemu-kvm–localtime–m512–––bootd–no-acpi,即需要去掉-clockrtc选项,否则会出现时钟不会被初始化。
注2:CentOSquestmouse:exportSDL_VIDEO_X11_DGAMOUSE=0可以解决VM中无法识别USB鼠标的问题。
注3:安装win7时,不能使用-no-acpi选项。


三、如何在Linux上使用GNOMEBoxes创建KVM虚拟机在Linux中使用命令行工具管理KVM虚拟环境的步骤:步骤1:配置存储池Virsh命令行工具是用于管理virsh客户端域的用户界面。virsh程序可以在命令行上运行给定的命令及其参数。在本部分中,您将使用它为您的KVM环境创建存储。有关此工具的更多信息,请使用以下命令。#manvirsh1。使用virsh命令和pool-define-as来定义新的存储池。您需要指定名称、类型和类型参数。在此示例中,名称为Spool1,类型为文件夹。默认情况下,可以为此类型提供五个参数:source-hostsource-pathsource-devsource-nametarget。对于目录类型,需要使用最后一个参数“target”来指定存储组的路径。填充”-”。#virshpool-define-asSpool1dir----"/mnt/personal-data/SPool1/"...在Linux中使用命令行工具管理KVM虚拟环境的步骤:步骤1:配置存储池Virsh命令行工具是用于管理virsh客户端域的用户界面。virsh程序可以在命令行上运行给定的命令及其参数。在本部分中,您将使用它为您的KVM环境创建存储。有关此工具的更多信息,请使用以下命令。#manvirsh1。使用virsh命令和pool-define-as来定义新的存储池。您需要指定名称、类型和类型参数。在此示例中,名称为Spool1,类型为文件夹。默认情况下,可以为此类型提供五个参数:source-hostsource-pathsource-devsource-nametarget。对于目录类型,需要使用最后一个参数“target”来指定存储组的路径。填充”-”。#virshpool-define-asSpool1dir----"/mnt/personal-data/SPool1/"2.要查看环境中的所有存储池,请使用以下命令。#virshpool-list--all3现在构建存储池,使用以下命令构建新定义的存储池。#virshpool-buildSpool14使用带有pool-start参数的virsh命令来启用并启动您刚刚创建和构建的存储池。#virshpool-startSpool15要检查环境中存储池的状态,请使用以下命令。#virshpool-list--all将看到Spool1的状态已更改为已启用。6.配置Spool1,使其每次都能被libvirtd服务自动启动。#virshpool-autostartSpool17最后我们看一下新存储池的信息。#virshpool-infoSpool1恭喜,Spool1已准备就绪。接下来,尝试创建一个存储驱动器来使用它。步骤2:配置存储空间/磁盘映像现在是时候创建磁盘映像了。使用qemu-img命令在Spool1中创建新的磁盘映像。有关更多详细信息,请参见手册页。#manqemu-img8。您应该在qemu-img命令后指定“创建、测试...”等操作、磁盘映像格式以及要创建的磁盘映像的路径和大小。#qemu-imgcreate-fraw/mnt/personal-data/SPool1/10G9通过使用带有info的qemu-img命令,您可以获得有关新磁盘映像的一些信息。查看有关存储容量的信息警告:请勿使用qemu-img命令修改正在运行的虚拟机或任何其他进程正在使用的映像,否则该映像将被破坏。现在是时候创建虚拟机了。步骤3:创建虚拟机10.现在进入最后一步,您将使用virt-install命令创建虚拟机。virt-install是一个命令行工具,用于创建新的KVM虚拟机。它使用“libvirt”管理程序库。欲了解更多详情,您还可以查看男士手册。#manvirt-install要创建新的KVM虚拟机,请使用包含以下所有信息的命令。名称:虚拟机的名称。DiskLocation:磁盘映像的位置。Graphics:如何连接到VM,通常是SPICE。vcpu:虚拟CPU的数量。ram:分配的内存大小(以兆字节为单位)。Location:指定安装源路径。Network:指定虚拟网络,通常是virbr0网桥。virt-install--name=rhel7--diskpath=/mnt/personal-data/SPool1/--graphicsspice--vcpu=1--ram=1024--location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_--networkbridge=virbr0创建一个新的虚拟机11.你会看到弹出一个virt-vierwer窗口,就好像你正在与虚拟机通信一样它通过其进行通信的机器。关闭