虚拟化技术对比

虚拟化技术比较

1、VPS openvz 平台和kvm、xen、vmware的区别

openvz:

是Paralles公司的虚拟化商业产品Virtuozzo的开源版本,该公司前身为SWsoft

缺点:

1、不能安装windows操作系统

2、不是完全的虚拟化、每个vps账户共用母机内核,不能单独修改内核,

优点:

不能修改内核,共用内核的特性使得openvz的效率最高,超过kvm、xen、vmware等平台,在不超售的情况下,openvz是最快速效率最高的vps平台

kvm、xen、vmware:

kvm 为Red Hat 所采用的主要技术

xen 为citrix 公司的的主要虚拟化技术

这几个vps可以归为一类,他们在虚级化母机时,是完全的虚级化,每个vps之间不共用母机内核,各自都是独立的,几乎所有的操作系统都可以安装到这些被虚拟化出来的vps上,

完全的虚级化使得这些平台的vps效率要低于openvz,但由于完全虚拟化,各vps之间没有干扰,而openvz取决于是否超售。

2、虚拟化之kvm

rhel 6.0 版本中,已经去掉了xen

在kvm模型中,每一个虚拟机都是由一个linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统,一个普通的linux进程有两种运行模式:内核和用户,kvm增加了第三种模式:客户模式(有自己的内核和用户模式)

准确来说,kvm仅仅是linux内核的一个模块,qemu是一个强大的虚拟化软件,kvm使用了qemu的基于x86的部分,并稍加改造,形成可控制kvm内核模块的用户空间工具QEMU-KVM,

尽管QEMU-KVM工具可以创造和管理kvm虚拟机,但由于QEMU工具效率不高,不易于使用,所以redhat为kvm开发了更多地工具:比如libvirt,virsh,virt-manager

libvirt不仅提供了api还自带一套基于文本的管理虚拟机的命令-virsh,可以通过使用virsh命令来使用libvirt的全部功能,但最终用户更渴望的是图形界面,这就是virt-manager,virt-manager就是利用libvirt的api实现的

2.1 install kvm

2.1.1 确认cpu是否支持虚级化技术

egrep ‘(vmx|svm)‘ --color=always /proc/cpuinfo

2.1.2 安装

yum install kvm virt-viewer virt-manager libvirt libvirt-python python-virtinst

2.1.3 确认正确加载kvm模块

modinfo kvm

2.1.4 加载kvm内核

modprobe kvm

2.1.5 查看内核是否开启

modprobe -ls |grep kvm

2.1.6 Important Configuration File

/etc/libvirt/ - Main configuration directory.

/etc/libvirt/qemu/ - Virtual machine configuration directory. All xml files regarding VMs are stored here. You can edit them manually or via virt-manager.

/etc/libvirt/qemu/networks/ - Networking for your KVM including default NAT. NAT is only recommended for small setup or desktops. I strongly suggest you use bridged based networking for performance.

/etc/libvirt/qemu/networks/default.xml - The default NAT configuration used by NAT device virbr0.

/var/log/libvirt/ - The default log file directory. All VM specific logs files are stored here.

/etc/libvirt/libvirtd.conf - Master libvirtd configuration file.

/etc/libvirt/qemu.conf - Master configuration file for the QEMU driver.

2.2 使用libvirt的xml配置文件创建虚拟机

kvm支持的镜像很多,常用的是原始镜像(*.img),还有支持动态大小扩张的qocw2格式(首选)

更优的选择是系统盘如C盘用img格式,数据盘用qcow2格式以减少服务器磁盘闲置空间

2.2.1 生成centos.xml文件(可用以下方式生成该文件,也可去网上拷贝范例模板)

先用centos_6.5_x86_64-minimal.iso生成xml文件(使用vnc连接5905端口进行系统安装),xml文件存放位置:/etc/libvirt/qemu/

#!/bin/sh

read -p "please inter your message:" pw

virt-install --name centos_$pw --ram 512 --disk /home/centos_$pw,size=20 --network bridge=br0 \

--vcpus=1 --os-type=linux --cdrom=/data0/xcloud/iso/CentOS_6.5_x86_64-minimal.iso --graphics vnc,listen=0.0.0.0,port=5905

修改centos.xml

<domain type=‘kvm‘>

<name>centos_6.5</name>                    <--- 虚拟机名称

<memory unit=‘KiB‘>524288</memory>

<currentMemory unit=‘KiB‘>524288</currentMemory>

<vcpu placement=‘static‘>1</vcpu>

<os>

<type arch=‘x86_64‘ machine=‘rhel6.5.0‘>hvm</type>

<boot dev=‘cdrom‘/>             <--- 光盘启动

</os>

<features>

<acpi/>

<apic/>

<pae/>

</features>

<clock offset=‘utc‘/>

<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‘>

<driver name=‘qemu‘ type=‘qcow2‘/>

<source file=‘/home/centos_6.5.qcow2‘/>    <--- 目的镜像位置

<target dev=‘hda‘ bus=‘ide‘/>

</disk>

<disk type=‘file‘ device=‘cdrom‘>

<source file=‘/data0/xcloud/iso/CentOS_6.5_x86_64-minimal.iso‘/> <--- 光盘镜像位置

<target dev=‘hdc‘ bus=‘ide‘/>

</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:a7:40:f7‘/>

<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>

<input type=‘mouse‘ bus=‘ps2‘/>

<graphics type=‘vnc‘ port=‘5905‘ autoport=‘no‘ listen=‘0.0.0.0‘>

<listen type=‘address‘ address=‘0.0.0.0‘/>

</graphics>

<video>

<model type=‘cirrus‘ vram=‘9216‘ heads=‘1‘/>

<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x02‘ function=‘0x0‘/>

</video>

<memballoon model=‘virtio‘>

<address type=‘pci‘ domain=‘0x0000‘ bus=‘0x00‘ slot=‘0x04‘ function=‘0x0‘/>

</memballoon>

</devices>

</domain>

2.2.2 制作虚拟机镜像

创建qcow2镜像,但是其实际占有磁盘大小仅为193K左右,而虚拟机内部显示磁盘大小为10G,也就是磁盘空间使用时才分配,即所谓动态扩张。

qemu-img create -f qcow2 centos_6.5.qcow2 10G

2.2.3 创建虚拟机

virsh define centos.xml

2.2.4 启动虚拟机

virsh start centos_6.5

2.2.5 使用vnc登陆虚拟机完成系统的安装

2.2.6 修改从硬盘启动

<os>

<type arch=‘x86_64‘ machine=‘rhel6.5.0‘>hvm</type>

<boot dev=‘hd‘/>             <--- 硬盘启动

</os>

2.2.7 删除原虚拟机,使用制作好的镜像和centos.xml启动虚拟机

virsh destroy cenots_6.5

virsh undefine centos_6.5

virsh define centos.xml

virsh start centos_6.5

3、虚拟化之openvz

pass

4、虚拟化产品

openstack

cloudstack

proxmox

基于kvm和openVZ虚拟化技术的管理平台,是基于x86_64的版本,所以运行在i386上,如果使用kvm的话,那么系统的cpu就必须支持intel vt或amd-v的硬件虚拟化技术,如果使用openvz就不需要cpu的支持了

5、libvirt

Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。Libvirt概括

起来包括一个API库、一个 daemon(libvirtd)和一个命令行工具(virsh)。

Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和 hypervisor。

Libvirt的主要功能如下:

(1) 虚拟机管理

包括不同的领域生命周期操作,比如:启动、停止、暂停、保存、恢复和迁移。

支持多种设备类型的热插拔操作,包括:磁盘、网卡、内存和CPU。

(2) 远程机器支持

只要机器上运行了libvirt daemon,包括远程机器,所有的libvirt功能就都可以访问和使用。

支持多种网络远程传输,使用最简单的SSH,不需要额外配置工作。比如:example.com运行了libvirt,

而且允许SSH访问,下面的命令行就可以在远程的主机上使用virsh命令行。

virsh --connect qemu+ssh://[email protected]/system

(3) 存储管理

任何运行了libvirt daemon的主机都可以用来管理不同类型的存储:创建不同格式的文件映像(qcow2、vmdk、raw等)、挂接NFS共享、列出现有的LVM卷组、创建新的LVM卷组和逻辑卷、对未处理过的磁盘设备分区、挂接iSCSI共享,等等等等。因为libvirt可以远程工作,所有这些都可以通过远程主机使用。(4) 网络接口管理

任何运行了libvirt daemon的主机都可以用来管理物理和逻辑的网络接口。可以列出现有的接口卡,配置、创建接口,以及桥接、vlan和关联设备等,通过netcf都可以支持。

(5) 虚拟NAT和基于路由的网络

任何运行了libvirt daemon的主机都可以用来管理和创建虚拟网络。Libvirt虚拟网络使用防火墙规则作为路由器,让虚拟机可以透明访问主机的网络

5.1 安装libvirt

yum -y install libvirt

之后virsh/virt-host-validate/virt-pki-validate/virt-xml-validate工具可用

5.2 安装libvirt tools

5.2.1 安装python-virtinst

yum -y install python-virtinst

or

yum -y install virt-install

安装该包时会自动安装libvirt-python依赖包,从而在python中可以导入libvirt,但貌似yum支持的是python2.6的版本,所以如果更新到python2.7,会导致无法导入libvirt。

之后virt-clone/virt-convert/virt-install/virt-image可用

5.2.2 安装virt-manager,基于libvirt的图像化虚拟机管理软件

yum -y install virt-manager

安装后virt-manager可用

5.2.3 安装virt-top

yum -y install virt-top

5.3 安装libvirt for python

yum -y install libvirt-python

遇到的问题:

python2.7版本无法导入libvirt

时间: 2024-07-30 19:11:25

虚拟化技术对比的相关文章

虚拟化技术对比:Xen vs KVM

恒天云:http://www.hengtianyun.com/download-show-id-68.html 一.说明 本文主要从功能方面和性能方面对Xen和KVM对比分析,分析出其优缺点指导我们恒天云产品针对不同需求.不同环境下该使用何种虚拟化技术. 二.优缺点对比 Xen 优势 作为开源的虚拟化技术,对比Xen和KVM可以看到,Xen以6个以下优势领先:更好的可用资源.平台支持.可管理性.实施.动态迁移和性能基准. 可用资源:Xen的问世要比KVM早4年之久(两者分别是2003年和2007

网络虚拟化技术对比

标题索引 追朔原因 技术对比 总结配置 本文出自 "一步一印,有印为证" 博客,谢绝转载!

虚拟化技术:Xen与KVM的对比

作为开源的虚拟化技术,对比Xen和KVM可以看到,Xen以6个无与伦比的优势领先:更好的可用资源.平台支持.可管理性.实施.动态迁移和性能基准. 可用资源:Xen的问世要比KVM早4年之久(两者分别是2003年和2007年).随着Citrix.Novell.Oracle.Sun.Ret Hat和Virtual Iron等公司在市场领域的实施,就比较容易找到精通Xen的IT技术人员,更容易让这些技术人员接受Xen相关的培训.更容易得到Xen的咨询帮助以及获得Xen证书.企业管理协会(EMA:Ent

Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换

Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格式对比 目前常用虚拟机镜像格式:raw.cow.qcow.qcow2.vmdk. 1)raw raw格式:老牌的镜像格式,用一个字来说就是裸,也就是赤裸裸,你随便dd一个file就模拟了一个raw格式的镜像.由于裸的彻底,性能上来说的话还是不错的.centos6上KVM和XEN默认的格式还是这个格式.centos7以上默认是qcow2 . 裸的好处还有就是简

虚拟化技术比较 PV HVM

XEN中pv是半虚拟化,hvm是全虚拟化,pv只能用于linux内核的系统,效率更高,hvm可以虚拟所有常见操作系统(可以使用windows),理论效率比pv略低,另外,hvm需要cpu虚拟化指令支持(CPU 必须开启Intel VT or AMD -V),pv无此要求.KVM是新兴的虚拟化项目,出售KVM的VPS商家不多,但据说KVM虚拟技术是比较强悍的.而OpenVZ是一个类似于Linux-VServer的操作系级全虚拟化解决方案,目前基于Xen和OpenVZ的VPS服务商比较多.本文就VP

Linux桌面虚拟化技术KVM介绍及其安装

KVM的简介: KVM,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使 用Linux自身的调度器迚行管理,所以相对亍Xen,其核心源码很少.KVM目前已成为学术界的主流VMM 之一.KVM的虚拟化需要硬件支持(如Intel VT技术戒者 AMD V技术).是基亍硬件的完全虚拟化.而 Xen 早期则是基亍软件模拟的 Para-Virtualization. Linux 内核的虚拟机(Kernel-based Virtual Machine).是

浅析IRF虚拟化技术增强企业网络架构的弹性

浅析IRF虚拟化技术增强企业网络架构的弹性  [摘要]随着"云"时代到来和各种虚拟化技术日趋成熟,对传统企业网络架构提出新挑战.例如:在不破坏企业原有网络架构和资产投入情况下,可以为企业网络提供更好的扩展性,其中包括简化管理.简化网络运行.降低整体投入成本.扩展端口密度和带宽容量.保护用户投资,使企业网络具备高可用性和持续的.不间断的运行效果.为了达到此效果,可利用H3C的IRF虚拟化技术在企业网络架构中增强弹性,现浅析如下. 关键词:云时代.企业网络.虚拟化技术.持续不间断.IRF.

Docker容器虚拟化技术

Docker是近十年软件工程领域最大的革命.Docker的技术可以完全存驻整个软件的开发.测试.部署和运维等软件生产的方方面面的环节. 提到Docker,也不得不提虚拟化,因为大家谈云计算的时候,也不得不提虚拟化技术.Docker所代表的虚拟化技术和我们以前谈的云计算的虚拟化技术怎么区别呢?以前我们谈云计算的虚拟化技术都是一些譬如Vmware或者是openstack,这些为代表的虚拟化技术都是比较重量级的虚拟化.以vmware举例,vmware大家都知道,他虚拟化的时候是将传统的一台计算机抽象成

VPS的虚拟化技术—-XEN,KVM,OPENVZ

市场上的VPS商家主要有 Xen ,KVM 和 OpenVZ 三种开源的虚拟化技术 Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达 100个满特征的操作系统.操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性).这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化. KVM(kernel-based Virtual Machine)的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版