KVM 虚拟化Word文档格式.docx
- 文档编号:21348177
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:11
- 大小:22.46KB
KVM 虚拟化Word文档格式.docx
《KVM 虚拟化Word文档格式.docx》由会员分享,可在线阅读,更多相关《KVM 虚拟化Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
UML很久以前就将Linux内核转换成一个系统管理程序了。
使用内核作为一个系统管理程序,您就可以启动其他操作系统,例如另一个Linux内核或Windows系统。
安装KVM之后,您可以在用户空间启动客户操作系统。
每个客户操作系统都是主机操作系统(或系统管理程序)的一个单个进程。
图2提供了一个使用KVM进行虚拟化的视图。
底部是能够进行虚拟化的硬件平台(目前指的是IntelVT或AMD-SVM处理器)。
在裸硬件上运行的是系统管理程序(带有KVM模块的Linux内核)。
这个系统管理程序与可以运行其他应用程序的普通Linux内核类似。
但是这个内核也可以支持通过kvm工具加载的客户操作系统。
最后,客户操作系统可以支持主机操作系统所支持的相同应用程序。
图1.使用KVM的虚拟化组件【见附件】
记住KVM只是虚拟化解决方案的一部分。
处理器直接提供了虚拟化支持(可以为多个操作系统虚拟化处理器)。
内存可以通过kvm进行虚拟化(这在下一节中将会讨论)。
最后,I/O通过一个稍加修改的QEMU进程(执行每个客户操作系统进程的一个拷贝)进行虚拟化。
KVM向Linux中引入了一种除现有的内核和用户模式之外的新进程模式。
这种新模式就称为客户模式,顾名思义,它用来执行客户操作系统代码(至少是一部分代码)。
回想一下内核模式表示代码执行的特权模式,而用户模式则表示非特权模式(用于那些运行在内核之外的程序)。
根据运行内容和目的,执行模式可以针对不同的目的进行定义。
客户模式的存在就是为了执行客户操作系统代码,但是只针对那些非I/O的代码。
在客户模式中有两种标准模式,因此客户操作系统在客户模式中运行可以支持标准的内核,而在用户模式下运行则支持自己的内核和用户空间应用程序。
客户操作系统的用户模式可以用来执行I/O操作,这是单独进行管理的。
在客户操作系统上执行I/O的功能是由QEMU提供的。
QEMU是一个平台虚拟化解决方案,允许对一个完整的PC环境进行虚拟化(包括磁盘、图形适配器和网络设备)。
客户操作系统所生成的任何I/O请求都会被中途截获,并重新发送到QEMU进程模拟的用户模式中。
KVM通过/dev/kvm设备提供了内存虚拟化。
每个客户操作系统都有自己的地址空间,并且是在实例化客户操作系统时映射的。
映射给客户操作系统的物理内存实际上是映射给这个进程的虚拟内存。
为了支持客户物理地址到主机物理地址的转换,系统维护了一组影子页表(shadowpagetable)。
处理器也可以通过在访问未经映射的内存位置时使用系统管理程序(主机内核)来支持内存转换进程。
以上信息摘自:
5宿主机环境
5.1宿主机硬件配置
硬件名称规格型号
CPUIntel(R)Core(TM)2QuadCPUQ9300@2.50GHz
内存KingstonDDR310664G
主板华硕P5G41T-MLX3
硬盘西部数据1T
网卡AtherosAR8151PCI-EGigabitEthernetController(单)
5.2宿主机软件环境
操作系统:
CentOSLinuxrelease6.0(Final)x86_64
内核版本:
Kernel-3.0.0
5.3CPU支持KVM
KVM需要有CPU的支持(IntelVT或AMDSVM)
[root@CentOS6~]#egrep'
(vmx|svm)'
/proc/cpuinfo
flags:
fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushdtsacpimmxfxsrssesse2sshttmpbesyscallnxlmconstant_tscarch_perfmonpebsbtsrep_goodnoplaperfmperfpnidtes64monitords_cplvmxsmxesttm2ssse3cx16xtprpdcmsse4_1lahf_lmdtstpr_shadowvnmiflexpriority
6安装KVM
6.1yum安装
[root@CentOS6~]#yum-ygroupinstallVirtualization
[root@CentOS6~]#yum-ygroupinstall“VirtualizationClient”
[root@CentOS6~]#yum-ygroupinstall“VirtualizationPlatform”
[root@CentOS6~]#yum-ygroupinstall“VirtualizationTools”
6.2安装软件列表
Group:
Virtualization
Description:
Providesanenvironmentforhostingvirtualizedguests.
MandatoryPackages:
qemu-kvm
OptionalPackages:
qemu-kvm-tools
vios-proxy
VirtualizationClient
Clientsforinstallingandmanagingvirtualizationinstances.
python-virtinst
virt-manager
virt-viewer
DefaultPackages:
virt-top
VirtualizationPlatform
Providesaninterfaceforaccessingandcontrollingvirtualizedguestsandcontainers.
libvirt
libvirt-client
virt-who
fence-virtd-libvirt
fence-virtd-multicast
fence-virtd-serial
libvirt-cim
libvirt-java
libvirt-qmf
libvirt-snmp
perl-Sys-Virt
VirtualizationTools
Toolsforofflinevirtualimagemanagement.
libguestfs
libguestfs-java
libguestfs-mount
libguestfs-tools
virt-v2v
6.3检查KVM
安装完成后,重启机器,确认一下是否安装成功、模块是否正常加载:
[root@CentOS6~]#lsmod|grepkvm
kvm_intel543670
kvm3652441kvm_intel
[root@CentOS6~]#
[root@CentOS6~]#ll/dev/kvm
crw-rw-rw-1rootkvm10,232Mar2313:
34/dev/kvm
7安装虚拟机
这里以WAF-500AG(瑞传5532,6电口)为例。
7.1创建桥
/etc/rc.local中添加:
#UsedforWAF’sadmin_portandIN_port;
/usr/sbin/brctladdbrbr0
/usr/sbin/brctladdifbr0eth0
/sbin/ifconfigbr0192.168.25.60
/sbin/iprouteadddefaultvia192.168.25.1devbr0
#UsedforWAF’sProtect1andwebserver;
/usr/sbin/brctladdbrbr1
/sbin/ifconfigbr10.0.0.0
#UsedforWAF’sProtect2andwebserver;
/usr/sbin/brctladdbrbr2
/sbin/ifconfigbr20.0.0.0
7.2安装Windows2003
WindowsServer2003SP2x86_64
安装脚本:
#!
/bin/bash
/usr/bin/virt-install\
--connectqemu:
///system\
--networkbridge=br1,model=e1000\
--nameWindows2003_ASP\
--ram=1024\
--vcpus=4\
--diskpath=/home/VM/Windows2003_ASP.img,bus=ide,size=5\
--cdrom/home/iso/cn_win_srv_2003_r2_enterprise_x64_with_sp2_vl_cd1_X13-47314.iso\
--vnc--vncport=9409\
--vnclisten=192.168.25.60\
--os-variant=win2k3
7.3安装某专业设备系统
--networkmac=01:
01:
01,bridge=br2,model=e1000\
--networkmac=02:
02:
02,bridge=br0,model=e1000\
--networkmac=03:
03:
03,bridge=br1,model=e1000\
--networkmac=04:
04:
04,bridge=br0,model=e1000\
--networkmac=05:
05:
05,bridge=br0,model=e1000\
--networkmac=06:
06:
06,bridge=br0,model=e1000\
--nameAAF_OSbak\
--ram=2048\
--diskpath=/home/VM/AAF_OSbak.img,bus=ide,size=20\
--cdrom/home/iso/CentOS-5.6-x86_64-bin-DVD-1of2.iso\
--vnc--vncport=9401\
--os-variant=rhel5.4
7.4virt-install用法说明
7.4.1--connect=
xen
IfrunningonahostwiththeXenkernel(checksagainst/proc/xen)
qemu:
///system
Ifrunningonabaremetalkernelasroot(neededforKVMinstalls)
///session
Ifrunningonabaremetalkernelasnon-root
7.4.2--name=
虚拟机名称
7.4.3--ram=
虚拟机内存大小
7.4.4--vcpus=
虚拟机使用的虚拟CPU数
7.4.5--network
虚拟机网络接口类型
附带两个事例:
01,network=default,model=e1000\
7.4.6--disk
虚拟机镜像文件
7.4.7--cdrom
系统镜像文件
7.4.8--os-variant=
虚拟机操作系统
7.4.9VNC相关
--vnclisten=192.168.25.60
不做太多解释,监听主机、监听端口。
7.4.10其他
详细的请”manvirt-install”
8虚拟机操作
8.1查看虚拟机列表
virshlist--all
8.2启动虚拟机
virshstartAAF_OSbak
附录1.VNC加密
加密前:
<
graphicstype='
vnc'
port='
9409'
autoport='
no'
listen='
192.168.25.60'
>
listentype='
address'
address='
/>
/graphics>
加密后:
passwd='
aaftest.123'
附录2.镜像克隆
virt-clone--connect=qemu:
///system-oAAF_OSbak-nWAF_3_0-f/data/VM/AAF_1_0.img
///system-oAAF_OSbak-nWAF_3_1-f/data/VM/AAF_1_1.img
附录3.删除虚拟机
删除虚拟机:
virshundefineAAF_1
然后删除镜像文件:
rm-f/data/VM/AAF_1.img
附录4.虚拟机配置文件
虚拟机配置文件:
/etc/libvirt/qemu/
network配置文件:
/etc/libvirt/qemu/networks/
network自启动文件:
/etc/libvirt/qemu/networks/autostart/
附录5.Nomodulevirtio_pcifound问题解决
没有initrd-2.6.27.img
执行:
mkinitrd--builtin=ahci/boot/initrd-2.6.27.img2.6.37
mkinitrd/boot/initrd-2.6.27.img2.6.27
均报错:
Nomodulevirtio_pcifoundforkernel2.6.27,aborting.
RedHat官方提供的解决方案(mkinitrd--withvirtio_pci--withvirtio_blk-f/boot/initrd-2.6.27.img2.6.27)也不行
解决办法:
1.安装脚本中,指定bus=ide;
--diskpath=/home/VM/AAF_OSbak.img,bus=ide,size=20
2.编辑虚拟机配置文件
修改前:
memballoonmodel='
virtio'
修改后:
none'
附录6.创建network
1.创建配置文件
cp/etc/libvirt/qemu/networks/default.xml/etc/libvirt/qemu/networks/virbr1.xml
2.编辑配置文件
network>
name>
virbr1<
/name>
<
---需要修改;
uuid>
17e0185e-1111-4d17-2222-a8e2c27cffe6<
/uuid>
forwardmode='
nat'
bridgename='
virbr1'
stp='
on'
delay='
0'
/>
macaddress='
52:
54:
00:
0A:
9F:
FF'
ipaddress='
192.168.123.1'
netmask='
255.255.255.0'
dhcp>
rangestart='
192.168.123.2'
end='
192.168.123.254'
/dhcp>
/ip>
/network>
3.定义network
virshnet-define/etc/libvirt/qemu/networks/virbr1.xml
4.查看network列表
[root@CentOS6~]#virshnet-list--all
NameStateAutostart
-----------------------------------------
defaultactiveyes
virbr1inactiveno
5.设置自定义network自启动
[root@CentOS6~]#virshnet-autostartvirbr1
Networkvirbr1markedasautostarted
6.启动自定义network
[root@CentOS6~]#virsh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- KVM 虚拟化 虚拟
![提示](https://static.bdocx.com/images/bang_tan.gif)