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

什么是虚拟化技术软件


一、网络虚拟化技术

从虚拟机到物理机处理数据文件:

>半虚拟化技术可以让QEMU绕过虚拟网卡,直接从虚拟机到虚拟层。
虚拟网卡性能顺序:

简化虚拟环境中的交换网络,取代传统的LinuxTAP设备配置和设备桥接
MacVTap设备有几种操作模式:

创建MacVTap端口进程

KVMMacVTap虚拟机使用网络
配置xml文件如下

虚拟机开启后,主机系统会自动创建MacVTap虚拟机使用物理网卡的设备

检查网卡是否支持RSS:
ls/sys/class/net/eth0/queues/

2.

N1-8最多支持8个队列。在虚拟机上运行此命令以启用它。小于或等于N

PCIPassthrough配置
1。配置信息pci_0000_02_00_0
virshnodedev-dumpxmlpci_0000_02_00_0

3.

SR-IOV标准可以实现与PCI-E设备的高效通信,具有以下优点:

2.-IOV必须首先在主机PF上配置,然后它仅将子网卡用于虚拟机。
(1)通过modprobload命令加载SR-IOV核心模块
Igb模块。
modprobeigb
实际加载时,必须激活虚拟功能(VF)。
modprobeigbmax_vfs=7

如果需要重置VF,可以删除该模块并重新加载。
modprobe-rigb
将配置永久写入配置文件中。
echo"optionsigbmax_vfs=7">>/etc/modprobe.d/
您可以通过lspci命令查看许多主要网络配置文件和子网配置文件。

(2)使用子网卡
虚拟机卡只能使用每个网卡的子网。
virshnodedev-list|grep0b
虚拟机网卡xml配置文件如下:

正确的机器需要网卡动才能在Linux系统上自动使用子网卡检测子网卡。
Windows系统必须是Windows2008或更高版本,并且必须安装最新的Intel网卡驱动。


二、LINUX的XEN和KVM到底区别在什么地方到目前为止,虚拟化技术的领先者仍然是VMware。虽然被EMC收购了,但名义上是EMC的老二只是说说而已,并非事实依据。
1KVM简介
KVM是一种全虚拟化解决方案。虚拟化功能可以在x86架构的计算机上实现。不过,KVM需要CPU中虚拟化功能的支持,并且只能运行在支持虚拟化的CPU上,即具有VT功能的IntelCPU和具有AMD-V功能的AMDCPU。
Xen与KVM的比较
Xen是Linux下的虚拟化解决方案,但被Citrix收购后就变得和RedHat企业版一样销售服务和收费,Redhat从rhel6.0开始就将XEN踢出了核心,全身心投入到免费KVM的开发中,虽然市场上的老用户还在使用Xen,但相信kvm会逐渐占据市场的大面积。一定有redhat作为强大的支持源。
Xen是通过运行支持Xen功能的内核来实现的。该核心在Xen的控制下运行,称为Domain0。使用这个内核启动机器后,就可以在本机上使用qemu软件,虚拟出多个系统。Xen的缺点是,如果需要更新Xen的版本,就必须重新编译整个内核,而且如果设置稍不小心,系统就无法启动。
相比之下,KVM要简单得多。它不需要重新编译内核或对当前内核进行任何修改。只有少数.ko模块可以动态加载。结构更加精简,代码量更小。所以出错的机会就更少了。并且在某些方面性能比Xen更好。
2KVM的使用
现在基于Turbolinux11版本,介绍KVM的使用。
安装前请确认您的CPU是否支持虚拟化技术,运行:
#egrep'^flags.*(vmx|svm)'/proc/cpuinfo
如果有返回,则说明您的CPU支持虚拟化技术。
安装
从官网下载KVM源码包:
我们使用KVM-33版本
#
#cdkvm-33
#./configure--prefix=/usr/local/kvm-33
#make
#makeinstall
makeinstall后,kvm模块将安装在目录/lib/modules/$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
a首先要创建一个镜像文件作为虚拟系统的硬盘
#mkdir/images
#cd/images
#/usr/bin/20G
b创建网络配置脚本
#echo'/sbin/ifconfig$110.0.1.1netmask255.255.255。0'>/etc/qemu-ifup
c加载KVM模块
IntelCPU使用率:
#modprobekvm-intel
AMDCPU-使用率:<。br/>#modprobekvm-amd
d安装虚拟系统
#/usr/bin/qemu-i386-m512-ken-us-Mpc-hda/images/。-cdrom/iso/zuma-SP3-rc3-6-\
-netnic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01-nettap,vlan=1,ifname=tap0,\
script=/etc/qemu-ifup-vnclocalhost:1-bootd
在另一个终端中运行:
#vncviewerlocalhost:1
参数分析:
我们为虚拟系统分配512MB内存。使用作为你的第一个硬盘,并使用Turbolinux10.5的disc1作为你的CD。
并从CD开始。它有一个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来指定第二、第三和第四硬盘驱动器。
-drom磁盘镜像文件:使用磁盘镜像文件作为虚拟系统的磁盘。
-oot[a|c|d|n]:设置虚拟系统的启动顺序。a是软盘驱动器,c是硬盘驱动器,d是光驱,n是网络。
-内存大小:输入虚拟系统使用的内存大小(以MB为单位)。
-Language:设置虚拟系统键盘类型。
-ethnic[,vlan=n][,macaddr=addr][,model=type]
创建虚拟网卡并将其连接到VLAN上的n端口。
-nettap[,vlan=n][,fd=h][,ifname=name][,script=file]
将主机的TAP网络接口连接到n端口VLAN并使用脚本指定的脚本进行初始化。