KVM虚拟化技术基本应用

KVM简介:

KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术),是基于硬件的完全虚拟化。

KVM的模式:

内核模式:原Linux系统内核使用的模式空间;

用户模式:用户的应用程序进程使用的模式空间;

来宾模式:虚拟机实例使用的模式空间;

检测硬件平台是否支持KVM的使用:

1、KVM需要CPU支持硬件虚拟化,这是前提,如果在虚拟机中使用KVM需要在虚拟机的CPU属性中将支持CPU虚拟化的选项选中:

2、装载KVM模块:

# modprobe kvm

# modprobe kvm_intel

查看模块的装载情况:

3、在前两步操作基础上,可以查看到/proc/cpuinfo文件中CPU标志位中有vmx(intel)和svm(amd)的相关信息,具体的信息只显示其中的一种,与物理机的CPU厂商保持一致。

只有能够查看到vmx或者svm信息时,才能使用KVM。如果当前主机的硬件上支持使用KVM的话,装载模块的操作可以不做,在使用qemu命令创建虚拟机的时候就会自动加载模块。

KVM的基本应用:

KVM虚拟机的创建于管理有两套管理工具,qemu和libvirt两种。

1、qemu-kvm命令创建管理虚拟机的使用:

安装工具:

# yum -y install qemu-kvm qemu-kvm-tools

安装后生成的qemu-kvm工具在/usr/libexec/目录下,为了便于使用,可以创建链接的以方便使用。

# ln -sv /usr/libexec/qemu-kvm /usr/sbin/

创建一个虚拟机:通常常见一个虚拟机需要指定的参数选项有:CPU、内存、磁盘映像文件、网卡、显示设备有时候还有可能用到光驱,通常使用率最多的是前4项。

创建一个虚拟机,先要准备虚拟机使用的磁盘设备文件:

# mkdir -pv /images/vm1
# qemu-img create -f qcow2 -o size=100G /images/vm1/ubuntu.qcow2

准备系统安装的iso文件,实验中这个iso文件放在了管理员家目录下,安装虚拟机的方式如下:

# qemu-kvm -name "ubuntu" -m 512 -smp 2 -hda /images/vm1/ubuntu.qcow2 -cdrom ubuntu-12.04.1-desktop-i386.iso -boot order=dc

此时虚拟机已经启动并监听在5900端口上,可以使用vncviewer软件连接5900端口查看系统启动安装的效果:

# yum -y install tigervnc
# vncviewer :5900

现在就可以按照系统安装的提示一步步完成系统的安装工作了。

上面的安装方式是使用iso文件的方式来安装虚拟机系统的,我们还可以使用网络的方式来引导安装,这个时候需要将虚拟机的网卡关联到网桥上,然后再将虚拟出来的网桥与物理机的网桥关联起来才能实现虚拟机与外界通讯的效果。这个时候就需要先设定hypervisor上的桥。

# cd /etc/sysconfig/network-script/
# cp ifcfg-eth0 ifcfg-br0
# vim ifcfg-br0
DEVICE=br0
BOOTPROTO=none
HWADDR=00:0c:29:e1:37:51
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Bridge
IPADDR=172.16.103.2
NETMASK=255.255.0.0
IPV6INIT=no
USERCTL=no
# vim ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0c:29:e1:37:51
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
BRIDGE=br0

虚拟机要创建其内部使用的虚拟桥,这个桥的创建需要借助于外部的脚本来完成,在创建时指定这个脚本就可以完成桥的创建工作,脚本的定义如下:

#/bin/bash
# 
switch=br0
if [ -n "$1" ];then
    ifconfig $1 up
    sleep 0.5s
    brctl addif $switch $1
    exit 0 
else
echo "Error:no specified interface."
exit 1
fi

将这个脚本文件放在/etc/qemu-ifup路径下,默认位置,方便使用。给脚本执行权限:

# chmod +x /etc/qemu-ifup

这个时候在创建虚拟机之前还要在局域网内准备pxe或者cobbler安装环境,虚拟机实例可以访问到就能实现系统的安装工作了,具体的操作可以使用如下方式:

# qemu-kvm -name "rhel5" -m 768 -smp 4 -drive file=/images/vm1/ubuntu.qcow2,if=ide,index=0,media=disk,format=qcow2 -boot order=n -net nic -net tap,ifname="vnet0",downscript=no

2、使用libvirt系列工具实现虚拟机的管理

安装工具软件:

# yum -y install libvirt virt-manager virt-viewer python-virtinst

启动服务:

# service libvirtd start

使用virt-install工具安装虚拟机的示例:

# mkdir -pv /images/vm3
# virt-install -n "centos6" --vcpus 2 -r 512 -l http://172.16.0.1/cobbler/ks_mirror/centos-6.5-x86_64 --disk path=/images/vm3/centos6.qcow2,bus=virtio,size=120G,sparse --network bridge=br0,model=virtio --force

这种方式就创建了一个基于网络安装的centos6的虚拟机实例。要注意这种安装环境由于需要于外部局域网内的主机通信,所以都要先在hypervisor上创建桥设备的,然后将虚拟机的网卡关联到这个桥设备上才能正常与外部通信。

时间: 2024-07-29 22:40:30

KVM虚拟化技术基本应用的相关文章

KVM虚拟化技术

KVM虚拟化技术 Qemu-kvm kvm Qemu-kvm创建和管理虚拟机 1.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor.KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上. KVM在具备Intel VT或AMD-V功能的x86平台上运行.它也被移植到S

深入浅出KVM虚拟化技术

深入浅出KVM虚拟化技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实虚拟化技术已经不是一个新技术了,上个世纪六十年代IBM公司已经在使用,只不过后来随着PC机的出现,虚拟化为最初的应用目的已经可用武之地了,但是随着X86系统的增多以及PC机性能的提升以及现在业务模式的需要,所以使得虚拟化技术再一次蓬勃发展起来.在上个世纪的1974年有2位很著名的教授Popek和Glodberg在一篇论文中定义了经典虚拟化应该至少满足三个需求: 1>.等价执行(除了资源可用性以及时间上

Linux下kvm虚拟化技术的安装与使用

Linux下kvm虚拟化技术的安装与使用 云时代的到来,虚拟化的广泛应用.让我们重新的科技进行了定义.而当下知名的虚拟化产品有 vmware vsphere ,Hyper-v,xen,kvm.vmware的虚拟化所占的市场有目共睹,Hyper-V是windows平台下的虚拟化,而Xen就属于一个半虚拟化产品.kvm就是我们今天所介绍的对象. (kvm是kernel virtual module的简写)kvm是红帽公司5.4版本后所推出的最新虚拟化技术产品.它和vpc,virtual  box都属

[转] KVM虚拟化技术生态环境介绍

KVM虚拟化技术生态环境介绍 http://xanpeng.github.io/wiki/virt/kvm-virtulization-echosystem-intro.html kvm和qemu/qemu-kvm的关系 qemu vs. qemu-kvm: 从qemu 1.3开始,kvm userspace code就维护在qemu mainline中(git clone https://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git, ref) qe

KVM虚拟化技术(一)

KVM虚拟化技术(一) =============================================================================== 概述: =============================================================================== 虚拟化技术基础 1.介绍 ★cpu虚拟化: ☉模拟:emulation ☉虚拟:virtulization 完全虚拟化(full-virtuliza

KVM虚拟化技术(二)KVM介绍

KVM:Kernel Virtual Machine KVM是基于虚拟化扩展的x86硬件,是Linux完全原生的全虚拟化解决方案.部分半虚拟化支持,主要是通过半虚拟网络驱动程序的形式用于Linux和Windows客户机系统的. KVM被设计为是一个内核模块,支持广泛的客户机操作系统:在KVM架构中,虚拟机实现为常规的Linux进程.这使KVM能够享受Linux内核的所有功能. KVM模块是KVM虚拟机的核心部分.其主要功能是初始化CPU硬件,打开虚拟化模式,然后将虚拟机客户机运行在虚拟机模式下,

kvm虚拟化技术应用实战

本文根据上课笔记整理,大家都知道云计算的基础就是虚拟化,而开源的虚拟化基本以kvm技术为主导,因此kvm技术已成为运维工程师必备的技术,也是云时代必不可少的技术 在介绍kvm之前 我们先来了解一下vnc这个软件,后面安装kvm需要vnc来支持 1.vnc的安装及使用 # yum -y install tigervnc-server 首次启动 # vncserver :1 会提示输入两次密码 然后编辑/root/.vnc/xstartup,将最后一行twm替换为gnome-session或者sta

KVM虚拟化技术(一)虚拟化简介

一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 虚拟化的类型: 全虚拟化 半虚拟化(涉及修改guestos内核,因此仅支持开源kernel的系统) 硬件辅助虚拟化(主板上开启虚拟化支持) 几种虚拟化软件简介 KVM 完全虚拟化 架构:寄居架构(linux

KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机

一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor.KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上. KVM在具备Intel VT或AMD-V功能的x86平台上运行.它也被移植到S/390,PowerPC与IA-64平台上.在Linux内核3.9版中,加入A

KVM虚拟化技术之virt-manager使用及KVM虚拟化平台网络模型介绍

接上篇博文继续 一.使用virt-manager创建和管理虚拟机 1.使用VNC Viewer连接进入虚拟化平台主机 2.打开终端输入virt-manager命令启动virt-manager虚拟机管理界面 #virt-manager 3.通过virt-manager安装CentOS 6.6的虚拟机 点击如图所示图标新建虚拟机: 选择PXE引导,我的网络内存在一个系统自动化部署服务器: 选择操作系统类型和版本: 设置内存和CPU个数: 设置硬盘大小,这里采用动态扩展磁盘空间方式: 忽略这个错误,由