KVM实例应用
一、需求 公司近一台DELL T460机器回来,虚拟30台来跑hadoop集群测试的,虚拟化用的KVM技术,这当中第一次使用,在部署安装过程,入了不少坑。故把整个过程写下来。 二、部署步聚 1、所需要软件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@KVMqemu] #rpm-qa|grep-E'qemu|libvirt|virt' virt-what-1.11-1.2.el6.x86_64 libgovirt-0.3.2-1.el6_7.2.x86_64 libvirt-0.10.2-54.el6_7.6.x86_64 virt-viewer-2.0-7.el6.x86_64 libvirt-python-0.10.2-54.el6_7.6.x86_64 qemu-kvm-0.12.1.2-2.479.el6_7.4.x86_64 virt-manager-0.9.0-29.el6_7.1.x86_64 virt- top -1.0.4-3.15.el6.x86_64 python-virtinst-0.600.0-29.el6.noarch gpxe-roms-qemu-0.9.7-6.14.el6.noarch qemu-kvm-tools-0.12.1.2-2.479.el6_7.4.x86_64 libvirt-client-0.10.2-54.el6_7.6.x86_64 qemu-img-0.12.1.2-2.479.el6_7.4.x86_64 在KVM环境上,以上rpm包都是必需的。 2、安装图形化其他组件 1 2 3 4 5 6 #yumgroupinstall"Desktop""DesktopPlatform""DesktopPlatformDevelopment""Fonts""GeneralPurposeDesktop""GraphicalAdministrationTools""GrahicsCreationTools""InputMethods""XWindowSystem""ChineseSupport[zh]""InternetBrowser" #yuminstalllibvirt-client #yuminstallgpxe-roms-qemu-y #yuminstalllibvirt-pythonpython-virtinstqemu-kvm 3、安装桥工具并配置桥接网卡 1 yum install bridge-utils 1 2 3 4 5 6 7 8 9 10 root@KVM~] #cat/etc/sysconfig/network-scripts/ifcfg-br0 DEVICE= "br0" ONBOOT= "yes" NM_CONTROLLED=no BOOTPROTO= "static" TYPE= "Bridge" IPADDR=10.1.2.218 NETMASK=255.255.255.0 GATEWAY=10.1.2.254 DNS1=114.114.114.114 1 2 3 4 5 6 7 8 9 [root@KVM~] #cat/etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 HWADDR=14:18:77:54:2F:A4 TYPE=Ethernet UUID=9183c4ff-432c-4141-ae6a-74c40d58732d ONBOOT= yes NM_CONTROLLED=no BOOTPROTO=none BRIDGE=br0 3、安装VNC 1 2 #yuminstall-ytigervnc #yuminstall-ytigervnc-server 在这里注意了,安装tigervnc,那么用到pc连接过去时,自然也需要要安装tigervnc电脑版 配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [root@KVM~] #cat/etc/sysconfig/vncservers #TheVNCSERVERSvariableisalistofdisplay:userpairs. # #UncommentthelinesbelowtostartaVNCserverondisplay:2 #asmy'myusername'(adjustthistoyourown).Youwillalso #needtosetaVNCpassword;run'manvncpasswd'toseehow #todothat. # #DONOTRUNTHISSERVICEifyourlocalareanetworkis #untrusted!ForasecurewayofusingVNC,seethisURL: #https://access.redhat.com/knowledge/solutions/7027 #Use"-nolistentcp"topreventXconnectionstoyourVNCserverviaTCP. #Use"-localhost"topreventremoteVNCclientsconnectingexceptwhen #doingsothroughasecuretunnel.Seethe"-via"optioninthe #`manvncviewer'manualpage. #VNCSERVERS="2:myusername" #VNCSERVERARGS[2]="-geometry800x600-nolistentcp-localhost" VNCSERVERS= "1:root" VNCSERVERARGS[1]= "-geometry800x600-depth32" 4、创建磁盘 1 qemu-imgcreate-fqcow2-osize=200G,preallocation= "metadata" /data1/hadoop/images/kvmhadoop222.qcow2 5、使用virt-install创建虚拟机并安装GuestOS 1 virt- install --virt- type kvm--namekvmhadoop222-- ram 16384--cdrom= /root/CentOS-6 .7-x86_64-LiveDVD.iso--diskpath= /data1/hadoop/hadoop2/kvmhadoop202 .qcow2--graphicsvnc,listen=0.0.0.0,port=5903--noautoconsole--os- type =linux--os-variant=rhel6--networkbridge=br0,model=virtio 6、用vnc连接 7、接下来就是安装操作系统了(省略) 注意了,安装完操作系统,然后关闭再重启启动 1 virshdestroykvmhadoop222 1 virshstartkvmhadoop222 8、虚拟机列表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@KVM~] #virshlist IdNameState ---------------------------------------------------- 19kvmhadoop223running 21kvmhadoop228running 22kvmhadoop229running 23kvmhadoop230running 24kvmhadoop231running 25kvmhadoop232running 30kvmhadoop221running 31kvmhadoop222running 36kvmhadoop233running 37kvmhadoop234running 38kvmhadoop235running 39kvmhadoop236running 40kvmhadoop224running 9、修改端口号,到配置文件 1 2 3 4 5 [root@KVMqemu] #pwd /etc/libvirt/qemu [root@KVMqemu] #ls kvmhadoop202.xml.bakkvmhadoop222.xmlkvmhadoop223.xmlkvmhadoop228.xmlkvmhadoop230.xmlkvmhadoop232.xmlkvmhadoop234.xmlkvmhadoop236.xml kvmhadoop221.xmlkvmhadoop222.xml.bakkvmhadoop224.xmlkvmhadoop229.xmlkvmhadoop231.xmlkvmhadoop233.xmlkvmhadoop235.xmlnetworks 10、修改端口,记得从XML配置文件定义一个domian,相当于注册一个domain但是不启动。 1 #virshdefine/etc/libvirt/qemu/kvmhadoop222.xml 11、然后就是启动了 12、宿主机开机自动启动虚拟机设置 1 2 3 4 5 6 7 8 9 10 #/bin/bash #Program #Automaticvirtualmachinecommand #History #2016/04/1qingyunfirstrelease Array=(222223224228229230231232233234235236) for i in ${Array[@]} do virshautostartkvmhadoop$i done 13、开机启动虚拟机脚本 1 2 3 4 5 6 7 8 9 10 #/bin/bash #Program #Automaticvirtualmachinecommand #History #2016/04/1qingyunfirstrelease Array=(222223224228229230231232233234235236) for i in ${Array[@]} do virshstartkvmhadoop$i done 本文转自 zouqingyun 51CTO博客,原文链接:http://blog.51cto.com/zouqingyun/1758928,如需转载请自行联系原作者