1. 检测linux VPS是Xen,OpenVZ还是KVM真假方法
用 Virt What 判断商家虚拟架构,是可以的,但是要额外安装这个软件
一、相关说明:
可以判断以下大多数虚拟架构,包括:VMware、
Hyper-V、VirtualPC、VirtualBox、OpenVZ / Virtuozzo、Linux-VServer、UML、IBM
PowerVM Lx86 Linux/x86 emulator、Hitachi Virtualization Manager (HVM)
Virtage logical 、partitioning、IBM SystemZ、Parallels、Xen、QEMU/KVM
二、下载
wget http://www.138vps.com/susu_download/virt-what-1.11.tar.gz
三、安装
tar zxf virt-what-1.11.tar.gz #解压缩包
cd virt-what-1.11 #进入目录
./configure #按默认设置
make && make install #编译并安装
四、使用
virt-what
懒人方法
apt-get install virt-what #debian/ubuntu安装
yum install virt-what #centos安装
virt-what #运行
参考来源:http://www.138vps.com/vpsjc/391.html
2. 检测windows vps是xen,openvz还是kvm真假方法
检测Windows系统的xen?这个还真没有听说,怎么个检查法,不过你可以搜搜“vps教程”去景安VPS技术资料站找找看,看有没有你要的答案,
3. KVM与XEN区别是什么
一、KVM简介
KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
Xen与KVM的比较
Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。
Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。
相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。
二、KVM的使用
现在以Turbolinux 11版本为基础,介绍KVM的使用方法。
在安装之前,你需要先确认,你的CPU是否支持虚拟化技术,执行:
# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
如果有输出返回,则表示你的CPU支持虚拟化技术。
1.KVM的安装
从官方网站下载KVM源码包:http://kvm.qumranet.com
我们使用KVM-33版本
# tar zxf kvm-33.tar.gz
# cd kvm-33
# ./configure --prefix=/usr/local/kvm-33
# make
# make install
make install后,kvm的模块会安装到/lib/moles/$KernelVersion/extra/目录下。其他相关文件会安装到/usr/local/kvm-33/目录下。
将kvm相关目录连接到系统目录中
# ln -s /usr/local/kvm-33/bin/* /usr/bin/
# ln -s /usr/local/kvm-33/lib/* /usr/lib/
(若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
# ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
# ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
# ln -s /usr/local/kvm-33/share/qemu /usr/share/
2.KVM的使用
a.你需要先建立一个映像文件作为虚拟系统的硬盘
# mkdir /images
# cd /images
# /usr/bin/qemu-img -f qcow gtes11.img 20G
b.创建网络配置脚本
# echo ’/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0’ > /etc/qemu-ifup
c.加载KVM模块
Intel CPU使用:
# modprobe kvm-intel
AMD CPU使用:
# modprobe kvm-amd
d.安装虚拟系统
# /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d
在另一个终端执行:
# vncviewer localhost:1
参数分析:
我们为虚拟系统分配512MB内存。使用gtes11.img作为它的第一块硬盘,使用Turbolinux10.5的disc1作为它的光盘。
并从光盘引导。它有一块rtl8139的网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡与主机的tap0接口连接。
tap0接口使用/etc/qemu-ifup脚本进行初始化。虚拟系统的输出作为一个vnc服务器,绑定在主机的localhost:1上。
注:
1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64代替qemu-i386
2.在64位系统上,可以安装32位和64位的虚拟系统。但在32位系统上,只能安装32位的虚拟系统。
qemu参数介绍:
-da 映像文件:使用映像文件作为虚拟系统的第一块硬盘。同样还可以使用hdb、hdc、hdd指定第2、3、4块硬盘。
-drom 光盘映像文件:使用光盘映像文件作为虚拟系统的光盘。
-oot [a|c|d|n]:设置虚拟系统的引导顺序。a为软驱、c为硬盘、d为光驱、n为网络。
- 内存大小:设置虚拟系统使用的内存大小,单位为MB。
- 语言:设置虚拟系统键盘类型。
-et nic[,vlan=n][,macaddr=addr][,model=type]
建立一个虚拟网卡,并把它连接到VLAN的n端口上。
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
把主机的TAP网络接口连接到VLAN的n端口上,并使用script指定的脚本进行初始化。
4. LINUX的XEN和KVM到底区别在什么地方
目前为止,虚拟技术的老大仍然是VMware,虽然被EMC收购,名义上是EMC的老二,但事实上由于技术的牛X,老二不是很摆老大,当然这只是聊天的话,不做为事实依据。
一、KVM简介
KVM是一个全虚拟化的解决方案。可以在x86架构的计算机上实现虚拟化功能。但KVM需要CPU中虚拟化功能的支持,只可在具有虚拟化支持的CPU上运行,即具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU。
Xen与KVM的比较
Xen是Linux下的一个虚拟化解决方案,但由于被Citrix收购后,变成了和红帽企业版一样了,卖服务收取费用,Redhat从rhel6.0开始已经从内核中把XEN踢出去了,全心投入开发免费的KVM,虽然市场上老用户还在用Xen,但相信kvm会逐步占领大面积的市场,必竟有redhat做为强大支持源。
Xen的实现方法是运行支持Xen功能的kernel,这个kernel是工作在Xen的控制之下,叫做Domain0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件,虚拟出多个系统。Xen的缺点是如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。
相比较,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。
二、KVM的使用
现在以Turbolinux 11版本为基础,介绍KVM的使用方法。
在安装之前,你需要先确认,你的CPU是否支持虚拟化技术,执行:
# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
如果有输出返回,则表示你的CPU支持虚拟化技术。
1.KVM的安装
从官方网站下载KVM源码包:http://kvm.qumranet.com
我们使用KVM-33版本
# tar zxf kvm-33.tar.gz
# cd kvm-33
# ./configure --prefix=/usr/local/kvm-33
# make
# make install
make install后,kvm的模块会安装到/lib/moles/$KernelVersion/extra/目录下。其他相关文件会安装到/usr/local/kvm-33/目录下。
将kvm相关目录连接到系统目录中
# ln -s /usr/local/kvm-33/bin/* /usr/bin/
# ln -s /usr/local/kvm-33/lib/* /usr/lib/
(若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)
# ln -s /usr/local/kvm-33/include/kvmctl.h /usr/include/
# ln -s /usr/local/kvm-33/include/linux/* /usr/include/linux/
# ln -s /usr/local/kvm-33/share/qemu /usr/share/
2.KVM的使用
a.你需要先建立一个映像文件作为虚拟系统的硬盘
# mkdir /images
# cd /images
# /usr/bin/qemu-img -f qcow gtes11.img 20G
b.创建网络配置脚本
# echo ’/sbin/ifconfig $1 10.0.1.1 netmask 255.255.255.0’ > /etc/qemu-ifup
c.加载KVM模块
Intel CPU使用:
# modprobe kvm-intel
AMD CPU使用:
# modprobe kvm-amd
d.安装虚拟系统
# /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\
disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup -vnc localhost:1 -boot d
在另一个终端执行:
# vncviewer localhost:1
参数分析:
我们为虚拟系统分配512MB内存。使用gtes11.img作为它的第一块硬盘,使用Turbolinux10.5的disc1作为它的光盘。
并从光盘引导。它有一块rtl8139的网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡与主机的tap0接口连接。
tap0接口使用/etc/qemu-ifup脚本进行初始化。虚拟系统的输出作为一个vnc服务器,绑定在主机的localhost:1上。
注:
1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64代替qemu-i386
2.在64位系统上,可以安装32位和64位的虚拟系统。但在32位系统上,只能安装32位的虚拟系统。
qemu参数介绍:
-da 映像文件:使用映像文件作为虚拟系统的第一块硬盘。同样还可以使用hdb、hdc、hdd指定第2、3、4块硬盘。
-drom 光盘映像文件:使用光盘映像文件作为虚拟系统的光盘。
-oot [a|c|d|n]:设置虚拟系统的引导顺序。a为软驱、c为硬盘、d为光驱、n为网络。
- 内存大小:设置虚拟系统使用的内存大小,单位为MB。
- 语言:设置虚拟系统键盘类型。
-et nic[,vlan=n][,macaddr=addr][,model=type]
建立一个虚拟网卡,并把它连接到VLAN的n端口上。
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
把主机的TAP网络接口连接到VLAN的n端口上,并使用script指定的脚本进行初始化。
5. 如何确认虚拟机是xen kvm vmware
使用dmesg查看
腾讯云的主机,为kvm虚拟化平台,ip段为182.254.0.0/16
#dmesg | egrep "kvm|xen|vmware" kvm-clock: Using msrs 4b564d01 and 4b564d00 kvm-clock: cpu 0, msr 0:1c39e41, boot clock kvm-clock: cpu 0, msr 0:28216e41, primary cpu clock [ 0.002999] kvm-clock: cpu 1, msr 0:28296e41, secondary cpu clock [ 0.002999] kvm-clock: cpu 2, msr 0:28316e41, secondary cpu clock [ 0.002999] kvm-clock: cpu 3, msr 0:28396e41, secondary cpu clock [ 0.211989] Switching to clocksource kvm-clock
阿里云的主机,为xen的虚拟化平台,ip段为120.26.0.0/16
#dmesg | egrep "kvm|xen|vmware" Switching to clocksource xen xen-platform-pci 0000:00:03.0: PCI INT A -> GSI 28 (level, low) -> IRQ 28
公司提供的内网机器,使用的是VMware产品:
# dmesg | egrep -i "kvm|xen|vmware" DMI: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 01/07/2011 ACPI: SRAT 00000000bfef045c 000B8 (v02 VMWARE MEMPLUG 06040000 VMW 00000001) ACPI: HPET 00000000bfef0424 00038 (v01 VMWARE VMW HPET 06040000 WMV 00000001) ata2.00: ATAPI: VMware Virtual IDE CDROM Drive, 00000001, max UDMA/33 scsi 1:0:0:0: CD-ROM NECVMWar VMware IDE CDR10 1.00 PQ: 0 ANSI: 5 VMware PVSCSI driver - version 1.0.1.0-k scsi2 : VMware PVSCSI storage adapter rev 2, req/cmp/msg rings: 8/8/1 pages, cmd_per_lun=64 vmw_pvscsi 0000:03:00.0: VMware PVSCSI rev 2 host #2 scsi 2:0:0:0: Direct-Access VMware Virtual disk 1.0 PQ: 0 ANSI: 2 VMware vmxnet3 virtual NIC driver - version 1.1.18.0-k-NAPI
6. kvm和Xen有何区别
kvm可使用通常的linux调度器和内存管理. 这意味着kvm更小更易使用。另外, Xen是一个外部的hypervisor程序(虚拟机管理程序);它能够控制虚拟机和给多个客户机分配资源.Xen支持全虚拟化和半虚拟化(修改过的客户机能有更好的性能). kvm当前不支持半虚拟化。
7. 如何判断自己的VPS是OpenVZ的还是Xen的
1、通过系统上的相关目录或文件判断
执行:ls /proc/ ,一般Xen的VPS,/proc目录下面会有xen的目录,openvz的会有vz目录。
2、执行:free -m 看内存,openvz的没有swap,当然也有xen的没有swap,但是xen的是可以加的,openvz不行。
3、执行:uname -a 有些xen的VPS里面会显示有xen。
4、执行:ifconfig 查看网卡,openvz的一般都是venet0:* ,xen的一般都是eth*。
5、通过VPS控制面板查看,像SolusVM、vePortal控制面板上都显示虚拟技术。
6、使用专门的软件:virt-what ,virt-what是一个判断当前环境所使用的虚拟技术的脚本,常见的虚拟技术基本上都能正常识别出来。
可以执行如下命令安装(需要安装好gcc、make):
wget http://people.redhat.com/~rjones/virt-what/files/virt-what-1.12.tar.gz
tar zxvf virt-what-1.12.tar.gz
cd virt-what-1.12/
./configure
make && make install
再运行 virt-what ,脚本就会判断出当前环境所使用的虚拟技术,VPS侦探用手头上的VPS测试成功率还是比较高的。
8. 一键检测VPS是Openvz还是KVM还是Xen
1、通过系统上的相关目录或文件判断
执行:ls /proc/ ,一般Xen的VPS,/proc目录下面会有xen的目录,openvz的会有vz目录。
2、执行:free -m 看内存,openvz的没有swap,当然也有xen的没有swap,但是xen的是可以加的,openvz不行。
3、执行:uname -a 有些xen的VPS里面会显示有xen。
4、执行:ifconfig 查看网卡,openvz的一般都是venet0:* ,xen的一般都是eth*。
5、通过VPS控制面板查看,像SolusVM、vePortal控制面板上都显示虚拟技术。
6、使用专门的软件:virt-what ,virt-what是一个判断当前环境所使用的虚拟技术的脚本,常见的虚拟技术基本上都能正常识别出来。
9. 虚拟化技术KVM和XEN的区别
虚拟化类型
全虚拟化(Full Virtualization)
全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些受保护指令必须由Hypervisor(虚拟机管理程序)来捕获处理。
图1 全虚拟化模型
全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机,因为Hypervisor需要占用一些资源
半虚拟化(Para Virtualization)
半虚拟化是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的guest操作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作。
图2 半虚拟化模型
半虚拟化需要guest操作系统做一些修改,使guest操作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原操作系统相近的性能。
虚拟化技术
KVM(Kernel-based Virtual Machine)基于内核的虚拟机
KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术(Intel VT或AMD-V)的Linux的全虚拟化解决方案。它是Linux的一个很小的模块,利用Linux做大量的事,如任务调度、内存管理与硬件设备交互等。
图3 KVM虚拟化平台架构
Xen
Xen是第一类运行再裸机上的虚拟化管理程序(Hypervisor)。它支持全虚拟化和半虚拟化,Xen支持hypervisor和虚拟机互相通
讯,而且提供在所有Linux版本上的免费产品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise
Server。Xen最重要的优势在于半虚拟化,此外未经修改的操作系统也可以直接在xen上运行(如Windows),能让虚拟机有效运行而不需要仿
真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。
图4 Xen虚拟化平台架构
QEMU
QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。
KVM和QEMU的关系
准确来说,KVM是Linux
kernel的一个模块。可以用命令modprobe去加载KVM模块。加载了模块后,才能进一步通过其他工具创建虚拟机。但仅有KVM模块是
远远不够的,因为用户无法直接控制内核模块去作事情,你还必须有一个运行在用户空间的工具才行。这个用户空间的工具,kvm开发者选择了已经成型的开源虚
拟化软件
QEMU。说起来QEMU也是一个虚拟化软件。它的特点是可虚拟不同的CPU。比如说在x86的CPU上可虚拟一个Power的CPU,并可利用它编译出
可运行在Power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。所以你会看到,官方提供的KVM下载有两
大部分(qemu和kvm)三个文件(KVM模块、QEMU工具以及二者的合集)。也就是说,你可以只升级KVM模块,也可以只升级QEMU工具。这就是
KVM和QEMU 的关系。
图5 KVM和QEMU关系
10. 如何选择Xen、KVM和其他免费Hypervisor
两者都是Linux hypervisor,但是它们进行虚拟化的方式却不尽相同。 前者是安装在X86架构电脑上的一个虚拟机(VM)监控器。通过半虚拟化技术,Xen允许hypervisor和虚拟机互相进行通讯。现在,Xen 仍然 包含在许多重要的Linux发行版本当中,比如Oracle的Unbreakable和SUSE Linux企业版服务器,但是这项技术已经落后于其他系统管理工具了,比如基于内核的虚拟机(KVM)。 Xen包含了几个内置的管理工具,可以支持多种主机和客户端环境,也包括硬件架构,使得其比KVM更加成熟。而后者,是嵌入在Linux内核当中的,一些用户认为其可以更加轻松地管理虚拟机和Linux更新。 红帽公司是Linux市场中领先的供应商,其极力倡导使用KVM。依据oVirt标准,红帽已经围绕KVM开发了一整套管理平台。 除了Xen和KVM,你还可以考虑使用Linux Containers(LXC)作为免费的hypervisor。通过在主机内核之上运行多个虚拟机容器,这款产品允许你在一个Linux内核之上运行多 个Linux实例。LXC可以结余资源并且减少IT部门的开销,但是它并不像hypervisor那样灵活。