kvm linux,kvm服务器

今天给各位分享kvm linux的知识,其中也会对kvm服务器进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

VMware和kvm哪个作为linux的虚拟机更好

物理环境

内存4G,CPU4个,动态硬盘120G

KVM:

硬盘测试

瞬间读取速度

Timing cached reads: 23668 MB in 2.00 seconds= 11858.17 MB/sec

Timing buffered disk reads: 294 MB in 3.02 seconds= 123.37 MB/sec

读取硬盘1G数据速度

1024000000 bytes(1.0 GB) copied, 87.253 seconds, 11.7 MB/s

写入硬盘1G数据速度

1024000000 bytes(1.0 GB) copied, 10.5519 seconds, 97.0 MB/s

CPU测试

二级缓存

Cat/proc/cpuinfo

cache size: 32 KB

运行一个shell运算脚本用时13分钟

Cpu(s): 5.5%us, 0.6%sy, 0.0%ni, 93.3%id, 0.1%wa, 0.4%hi, 0.1%si, 0.0%st

Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 98.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu使用量在 0.1%~~5.5%,比较均匀的增减;内存和交换分区都比较稳定

内存使用测试

执行一个耗费内存的程序,运行时间 3分钟,立即消耗内存到最大

Mem: 3945756k total, 2854516k used, 1091240k free, 288700k buffers

Swap: 1020088k total, 8k used, 1020080k free, 2278948k cached

Mem: 3945756k total, 3919740k used, 26016k free, 12188k buffers

Swap: 1020088k total, 100k used, 1019988k free, 3645968k cached

Vmware:

瞬间硬盘读取:

Timing cached reads: 24068 MB in 2.00 seconds= 12058.10 MB/sec

Timing buffered disk reads: 790 MB in 3.00 seconds= 263.06 MB/sec

读取硬盘1G数据速度

1024000000 bytes(1.0 GB) copied, 70.1827 seconds, 14.6 MB/s

写入硬盘1G数据速度

1024000000 bytes(1.0 GB) copied, 4.5338 seconds, 226 MB/s

CPU二级缓存

Cat/proc/cpuinfo

cache size: 8192 KB

运行一个shell运算脚本用时10分钟

Cpu(s): 4.9%us, 0.7%sy, 0.0%ni, 94.1%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st

Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu利用量

Cpu使用量在 0.1%~~4.9%,有不大的起伏;内存和交换分区都比较稳定

内存使用

执行耗费内存程序,执行时间5分钟,缓慢消耗内存到最大

Mem: 4044464k total, 2974892k used, 1069572k free, 56892k buffers

Swap: 1020088k total, 16k used, 1020072k free, 2605660k cached

Mem: 4044464k total, 4016472k used, 27992k free, 12296k buffers

Swap: 1020088k total, 116k used, 1019972k free, 3692420k cached

综上所述:

Kvm内存使用效率比较高,硬盘的写入速度很慢,CPU利用量稳定,也比较低

VMware内存使用效率不高,硬盘读写速度很快,CPU利用量高

Kvm与Vmware整体性能从数据上一次数据上看不出来,多次测试后,vmware就稍微明显地比RedHat的kvm性能好很多。

但是这比较的仅仅是性能,而在开发过程中,开发工具或者环境的专业性和便捷性更为重要

KVM提供的虚拟化需要硬件的支持,是基于硬件的完全虚拟化。自Linux 2.6.20之后集成在Linux的各个主要发行版中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

而且KVM是GPL的自由开源软件,这一点与Linux的相得益彰。所以,基于我个人认为在Linux开发这一块,KVM相对要专业一些,这个是在实际使用中切身体会到的。

如何在Linux中用命令行工具管理KVM虚拟环境

在Linux中用命令行工具管理KVM虚拟环境的步骤:

第一步:配置存储池

Virsh命令行工具是一款管理virsh客户域的用户界面。virsh程序能在命令行中运行所给的命令以及它的参数。本节中,要用它给KVM环境创建存储池。想知道关于这个工具的更多信息,用以下这条命令。

# man virsh

1、用virsh带pool-define-as的命令来定义新的存储池,需要指定名字、类型和类型参数。本例中,将名字取为Spool1,类型为目录。默认情况下可以提供五个参数给该类型:

source-host

source-path

source-dev

source-name

target

对于目录类型,需要用最后一个参数“target”来指定存储池的路径,其它参数项可以用“-”来填充。

# virsh pool-define-as Spool1 dir----"/mnt/personal-data/SPool1/"

2、查看环境中所有的存储池,用以下命令。

# virsh pool-list--all

3、现在来构造存储池了,用以下命令来构造刚才定义的存储池。

# virsh pool-build Spool1

4、用带pool-start参数的virsh命令来激活并启动刚才创建并构造完成的存储池。

# virsh pool-start Spool1

5、查看环境中存储池的状态,用以下命令。

# virsh pool-list--all

会发现Spool1的状态变成了已激活。

6、对Spool1进行配置,让它每次都能被libvirtd服务自启动。

# virsh pool-autostart Spool1

7、最后来看看新的存储池的信息吧。

# virsh pool-info Spool1

恭喜,Spool1已经准备好待命,接下来试着创建存储卷来使用它。

第二步:配置存储卷/磁盘映像

现在轮到磁盘映像了,用qemu-img命令在Spool1中创建一个新磁盘映像。获取更多细节信息,可以查看man手册。

# man qemu-img

8、应该在qemu-img命令之后指定“create, check,…”等等操作、磁盘映像格式、想要创建的磁盘映像的路径和大小。

# qemu-img create-f raw/mnt/personal-data/SPool1/SVol1.img 10G

9、通过使用带info的qemu-img命令,你可以获取到你的新磁盘映像的一些信息。

查看存储卷信息

警告:不要用qemu-img命令来修改被运行中的虚拟机或任何其它进程所正在使用的映像,那样映像会被破坏。

现在是时候来创建虚拟机了。

第三步:创建虚拟机

10、现在到最后一个环节了,在最后一步中,将用virt-install命令来创建虚拟机。virt-install是一个用来创建新的KVM虚拟机命令行工具,它使用“libvirt”管理程序库。想获取更多细节,同样可以查看man手册。

# man virt-install

要创建新的KVM虚拟机,需要用到带以下所有信息的命令。

Name:虚拟机的名字。

Disk Location:磁盘映像的位置。

Graphics:怎样连接VM,通常是SPICE。

vcpu:虚拟CPU的数量。

ram:以兆字节计算的已分配内存大小。

Location:指定安装源路径。

Network:指定虚拟网络,通常是virbr0网桥。

virt-install--name=rhel7--disk path=/mnt/personal-data/SPool1/SVol1.img--graphics spice--vcpu=1--ram=1024--location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso--network bridge=virbr0

创建新的虚拟机

11、会看到弹出一个virt-vierwer窗口,像是在通过它在与虚拟机通信。

kvm安装linux系统kvm安装linux

Windows系统能装KVM吗?

因为KVM广泛的兼容性,支持Windows,Linux,和Sun等主流操作系统,并兼容联想、曙光、浪潮、华为、宝德、HP、IBM、戴尔和思科等主流服务器。

所以Windows系统能装KVM。

裸机(服务器)可以直接安装KVM(虚拟机)吗?怎么安装?

两种最流行的裸机开源虚拟化技术是KernelVirtualMachine(KVM)和Xen,所以KVM可以直接在裸机上运行,不需要什么操作系统。KVM几乎支持任何操作系统:Linux、MacOS、Unix、Windows以及你所采用的其他任何操作系统。

KVM怎么连接?

一安装VNC1.安装VNC服务端(1)在Linux系统上安装VNCyum-yinstallvnc-serveryum-yinstalltigervnc-server(2)设置远程登录所需要的密码输入vncserver后会提示输入密码注:此密码是远程登录时所需要输入的密码(3)进行vncserver配置vi/etc/sysconfig/vncservers设置以下配置值VNCSERVRES=10000:root(其中10000为桌面号、root为用户名)VNCSERVERARGS=geometry800x600_nolistentcp_localhost(4)进行防火墙配置允许远程连接VNC服务器vi/etc/sysconfig/iptables_AINPUT_mstate_stateNEW_mtcp_ptcp_dport5901_jACCCEPT(5)重启VNC和防火墙服务servicevncserverrestartserviceiptablesrestart2.安装VNC客户端在Linux上安装vncviewer在Windows上安装TigerVNC软件二创建KVM虚拟机1.创建Linux虚拟机(1)通过qemu-img创建一个7G的映像文件qemu-imgcreate_fqow2Ubuntu1204.img7G(2)创建一个Linux虚拟机qemu-kvm_m1024_cdromubuntu-12.04-desktop-i386.iso_drivefile=Ubuntu1204.img;boot=on_bootd_nographic_vnc:

2注:-vnc与:2之间有空格在另外一台机器上启动TigerVNC,输入192.168.0.123:5902进行连接来进行安装操作和观察安装进度注:192.168.0.123为本机IP,5902为相应端口号(5900+2)2.创建Windows虚拟机(1)制作包含virtio驱动的映像安装UltraISO软件下载win7.iso,virtio-win-1.1.16.vfd,virtio-win-0.1-30.iso将virtio-win-0.1-30.iso解压成文件夹使用UltraISO打开win7.iso,并将virtio-win-0.1-30复制到对应路径将添加了virtio驱动文件夹的新win7.iso文件另存为新的ios文件win7_virtio.isoqemu-imgcreate_frawwin7_virtio.img30Gqemu-kvm_m1024_cdromwin7_virtio.iso_drivefile=win7_virtio.img,if=virtio,boot=on_fdavirtio-win-1.1.6.vfd_bootd_nographic_vnc:

3注:-vnc与:3之间有空格在另外一台机器上启动TigerVNC,输入192.168.0.123:5903进行连接来进行安装操作和观察安装进度注:192.168.0.123为本机IP,5903为相应端口号(5900+3)三远程桌面虚拟化连接在另外一台机器上启动TigerVNC,输入192.168.0.123:593进行win7虚拟机登录

KVM、QEMU和KQemu有什么区别?

KVM只基于内核的虚拟化Qemu本身就是一种虚拟化,也是一种硬件仿真模拟器KQemu是Qemu针对于KVM做优化后和KVM的结合,性能比Qemu本身好很多。。。我们目前说的KVM其实就是qemu-kvm在linux中是以一个/dev/kvm的块设备和qemu-kvm的一个进程存在的

kvm三个组件及应用?

KVM虚拟化架构及三种模式

1、客户模式(guestOS):VM中的OS为GuestOS

客户机在操作系统中运行的模式,客户机分为内核模成和用户模式

2、用户模式:

为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu工作在此模式下(Qemu的主要功能)

3、linux内核模式

模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

KVM原理

1、Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O设备驱动等)

被KVM置于一种受限制的CPU模式下运行。

2、KVM内核模块模拟处理器和内存以支持虚拟机运行

3、Qemu主要处理I/O以及为客户提供一个用户空间/dev/kvm工具libvirt来进行虚拟机管理

ioctl(定义)专用于设备输入输出操作的系统调用

libvirt:KVM管理工具

以上构成一个完整的虚拟化平台

简单理解:

KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后,交由Qemu处理

Qemu利用接口libkvm调用(ioctl)虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机

KVM工作流程

用户模式的Qemu利用接口libkvm通过ioctl系统调用进入内核模式。KVM驱动为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH指令进入客户模式,装载GuestOS并运行。GuestOS运行过程中如果发生异常,则暂停GuestOS的运行并保存当前状态同时退出到内核模式来处理这些异常。

内核模式处理这些异常时如果不需要V/O则处理完成后重新进入客户模式。如果需要V/O则进入到用户模式,则由Qemu来处理I/O,处理完成后进入内核模式,再进入客户模式

阅读剩余
THE END