您好,欢迎访问三七文档
KVM虚拟化主讲人:钟塔2/35目录虚拟化定义虚拟化架构KVM虚拟化特点KVM部署安装管理迁移3/35虚拟化定义虚拟化虚拟化技术•使用软件方式重新定义划分硬件资源,实现硬件资源的动态分配、跨系统共享,提高资源利用率,降低成本通过虚拟化技术将一台计算机虚拟为多台逻辑计算机•同时运行多个不同的操作系统•相互独立运行•可以相互通信4/35虚拟化架构架构应用程序客户操作系统虚拟硬件Hypervisor虚拟化层宿主操作系统物理硬件全虚拟化对物理硬件的访问效率有损耗不用修改客户操作系统内核虚拟硬件并不存在,由虚拟化层转化为对物理硬件的访问5/35虚拟化架构架构应用程序客户操作系统虚拟化层宿主操作系统物理硬件OS层半虚拟化6/35虚拟化架构架构应用程序客户操作系统虚拟化层物理硬件硬件层半虚拟化7/35虚拟化架构架构半虚拟化•ESXi、Xen全虚拟化•VmwareWorkstation、KVM8/35KVM虚拟化特点KVM虚拟化模块集成到Linux内核中,效率更高支持全虚拟化和半虚拟化KVM模块Linux(Host)硬件系统输入输出设备处理器内存虚拟硬件虚拟机1虚拟硬件虚拟机29/35KVM部署KVM部署检查CPU是否支持虚拟化技术•IntelVT-x•AMD-VBIOS开启CPU虚拟化功能10/35KVM部署KVM部署确认Linux内核已经支持虚拟化技术•如果没有输出YES,请先确认BIOS中已经开启虚拟化功能grep“vmx”/proc/cpuinfo&&echo“yes”grep“svm”/proc/cpuinfo&&echo“yes”11/35KVM部署KVM部署安装KVM相关软件•KVM、python-virtinst、libvirt、bridge-utils、virt-manager、qemu-kvm-tools、virt-viewer、virt-v2vyum–yinstallkvmpython-virtinstlibvirtbridge-utilsvirt-managerqemu-kvm-toolsvirt-viewervirt-v2v12/35KVM部署KVM部署关闭防火墙和SElinuxchkconfig--level2345iptablesoffserviceiptablesstopvi/etc/sysconfig/selinuxrebootSELINUX=disabled13/35KVM部署KVM部署设置QEMU侦听VNCIP地址vi/etc/libvirtd/qemu.confvnc_listen=“0.0.0.0”14/35KVM部署KVM部署设置libvirtd服务开机启动chkconfig--level2345libvirtdonservicelibvirtdrestart15/35KVM部署KVM部署加载虚拟化模块modprobekvmmodprobekvm-intellsmod|grep“kvm”kvm_intel534840kvm3165061kvm_intel16/35KVM部署KVM部署建立桥接网卡vi/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0TYPE=EthernetHWADDR=XX:XX:XX:XX:XX:XXBRIDGE=br0BOOTPROTO=noneONBOOT=yesvi/etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0TYPE=BridgeBOOTPROTO=staticIPADDR=xxx.xxx.xxx.xxxNETMASK=255.255.255.0ONBOOT=yes17/35KVM部署KVM部署重启网络服务,查看桥接网卡是否正常工作serviceNetwork-ManagerstopservicenetworkrestartbrctlshowbridgenamebridgeidSTPenabledinterfacesbr08000.0021cc6b6f2cnoeth0virbr08000.525400ac7ebeyesvirbr0-nic18/35KVM部署KVM部署准备安装ISO镜像mkdir/isoddif=/dev/cdromof=/iso/xxxxx.iso19/35KVM部署安装虚拟机使用virt-install工具创建一个guest系统virt-install--name=winxp--ram256--vcpus=2\--diskpath=/vdisk/winxp.img,size=30--cdrom/iso/winxp.iso\--boothd,cdrom,network–os-typewindows–os-variantwinxp\--graphicsvnc,password=123456,port=5910--networkbridge=br0\--autostart--name虚拟机名称--ram内存大小--vcpus虚拟CPU数量--diskpath=虚拟硬盘文件,size=虚拟硬盘大小--cdrom虚拟光盘文件--graphics图形显示方式,password=连接密码,port=连接端口--networkbridge=桥接网卡--autostart自动开机--os-type系统类型--os-variant发行版本--boot引导顺序20/35KVM部署安装虚拟机使用VNC连接guest系统进行系统安装Linux:virt-viewwinxpWindows:21/35KVM部署管理虚拟机使用virsh命令完成对虚拟机的管理virshlist--all显示所有虚拟机列表virshstartwinxp启动虚拟机virshshutdownwinxp关闭虚拟机virshdestroywinxp强制关闭虚拟机virshundefinewinxp删除虚拟机virshresetwinxp重启虚拟机virshsuspendwinxp挂起虚拟机virshresumewinxp恢复虚拟机virsheditwinxp修改虚拟机配置文件virshdefinexxxx.xml从一个xml配置文件生成一个虚拟机virshvncdisplaywinxp显示虚拟机的VNC连接信息22/35KVM部署管理虚拟机修改内存大小•关闭虚拟机–virshshutdownwinxp•修改内存大小–virshsetmemwinxp512--current•开启虚拟机–virshstartwinxp对当前域进行修改23/35KVM部署管理虚拟机在线更换光盘镜像•卸载光盘–virshattach-diskwinxp“”hdc--typecdrom•装载光盘–virshattach-diskwinxp/iso/winxp.isohdc--typecdrom虚拟机名称光盘ISO文件挂载目标设备类型24/35KVM部署管理虚拟机添加新磁盘•获取virtio驱动镜像ISO文件–•挂载virtio驱动ISO文件至虚拟机–virshattach-diskwinxp/iso/virtio-win-0.1-100.isohdc--typecdrom•生成新虚拟磁盘–qemu-imgcreate-fraw/vdisk/newdisk1.img5G•挂载新虚拟磁盘至虚拟机–virshattach-diskwinxp/vdisk/newdisk1.imgvdb25/35KVM部署管理虚拟机添加新磁盘•安装virtio驱动•格式化新磁盘26/35KVM部署管理虚拟机删除新磁盘•virshdetach-diskwinxp/vdisk/newdisk1.img27/35KVM部署管理虚拟机修改引导顺序•关闭虚拟机–virshdestroywinxp或者shutdownwinxp•修改虚拟机配置文件–virsheditwinxp•运行虚拟机–virshstartwinxp28/35KVM部署管理虚拟机制作快照•先关闭虚拟机–virshshutdownwinxp•转换虚拟磁盘raw格式至qcow2格式–qemu-imgconvert-fraw-Oqcow2/vdisk/winxp.img/vdisk/winxp.img.qcow2•验证虚拟磁盘格式为qcow2–qemu-imginfo/vdisk/winxp.img.qcow2•删除raw格式磁盘,重命名qcow2格式磁盘–rm–rf/vdisk/winxp.img–mv/vdisk/winxp.img.qcow2/vdisk/winxp.img•编辑虚拟机配置文件,修改raw格式为qcow2格式–virsheditwinxp29/35KVM部署管理虚拟机制作快照•启动虚拟机–virshstartwinxp•制作快照–virshsnapshot-create-aswinxpwinxp.snapshot1虚拟机名称(域名)快照名称30/35KVM部署管理虚拟机恢复快照virshsnapshot-revertwinxpwinxp.snapshot1--running--force--paused强制还原还原后挂机还原后运行31/35KVM部署管理虚拟机克隆虚拟机•暂定/关闭虚拟机–virshshutdownwinxp•克隆虚拟机–virt-clone-owinxp-nwinxp2-f/vdisk/winxp2.img•开启新虚拟机–virshstartwinxp232/35KVM部署管理虚拟机在线迁移虚拟机TLSSSHTCP192.168.1.51192.168.1.5233/35KVM部署管理虚拟机在线迁移虚拟机•KVM1和KVM2上设置静态解析/etc/hosts•KVM1和KVM2重启netowrk服务–/etc/init.d/NetworkManagerstop–/etc/init.d/networkrestart•设置临时域名–在KVM1计算机上执行hostnamekvm1–在KVM2计算机上执行hostnamekvm2•在KVM1上执行动态迁移–virshmigrate--livewinxpqemu+ssh://kvm2/system192.168.1.51kvm1192.168.1.52kvm234/35KVM部署管理虚拟机在线迁移虚拟机•在KVM2上保存且注册虚拟机XML配置文件–virshdumpxmlwinxp/etc/libvirt/qemu/winxp.xml–virshdefine/etc/libvirt/qemu/winxp.xml•注销KVM1上的虚拟机–virshdestroywinxp–virshundefinewinxp
本文标题:KVM虚拟化
链接地址:https://www.777doc.com/doc-1875818 .html