初探KVM-第一个虚拟机

2015/10/10 time 9:38

一、准备环境主板是否支持虚拟化技术:egrep '(vmx|svm)' --color=always /proc/cpuinfo检查kvm是否加载:# lsmod |grep kvm关闭selinux# setenforce  0# sed -i 's/=enforcing/=disabled/g' /etc/selinux/config管理方式1)安装vnc用GUI工具(Virtual Machine Manager)管理:Virtual Machine Manager 由 Red Hat 使用 Python 语言开发,用于控制虚拟机的生命周期,包括配给、虚拟网络管理,统计数据收集和报告,以及提供对虚拟机本身的简单图形访问。http://www.ibm.com/developerworks/cn/cloud/library/cl-managingvms/2)命令行工具3)图形化工具二、配置配置vnc服务1. 安装包# yum install tigervnc-server# yum groupinstall "Desktop"2. 配置vnc密码:# vncpasswd3. 更新vnc配置:# vim /etc/sysconfig/vncservers新增内容如下:VNCSERVERS="1:root"VNCSERVERARGS[1]="-geometry 1280x960"4. 启动服务# service vncserver start5. 调整防火墙配置,放行端口:5901:5902-A INPUT -p tcp -m state --state NEW -m tcp --dport 5901:5902 -j ACCEPT 其中:5900:用来后续连接到vm5901:用来连接到宿主机n866. 如果在win下使用vncviewer连接异常,一直黑屏,调整下面的参数:options->Expert->ColorLevel,value=full                            三、尝试安装一个虚拟机1、配置kvm环境[root@200-70 ~]# yum groupinstall -y "Virtualization Client" "Virtualization Platform" "Virtualization Tools"启动服务:[root@200-70 ~]# service libvirtd start2、增加网桥br0		+-----+        +-----+       +-----+KVM ->  |<--->|  eth0  |<--->|  br0  |<--->|  em1 -> LAN		+-----+        +-----+       +-----+                            10.0.x.y/24                            [root@200-70 ~]# cd /etc/sysconfig/network-scripts[root@200-70 network-scripts]# cat <<'_EOF' >ifcfg-br0DEVICE=br0TYPE=BridgeONBOOT=yesNM_CONTROLLED=noBOOTPROTO=noneIPADDR=10.0.200.70PREFIX=24GATEWAY=10.0.200.1DELAY=0DEFROUTE=yes_EOF[root@200-70 network-scripts]# mv ifcfg-em1 bak.ifcfg-em1 \&& cat <<'_EOF' >ifcfg-em1DEVICE=em1BRIDGE=br0ONBOOT=yesMTU=1500NM_CONTROLLED=no_EOF[root@200-70 network-scripts]# service network restart[root@200-70 network-scripts]# brctl showbridge name     bridge id               STP enabled     interfacesbr0             8000.f8bc124de980       no              em1virbr0          8000.525400288c45       yes             virbr0-nic        4、第一个虚拟机[root@200-70 ~]# mkdir /data/kvm/{p_w_picpaths,iso}[root@200-70 ~]# cd /data/kvm1)创建一个磁盘镜像[root@200-70 kvm]# qemu-img create -f qcow2  /data/kvm/p_w_picpaths/test01/vm_os.qcow2 20G   2)创建一个虚拟机[root@200-70 ~]# virt-install --name test01 \--ram 1024 \--vcpus=1 \--cdrom  /data/kvm/iso/CentOS-6.5-x86_64-bin-DVD1.iso \--disk path=/data/kvm/p_w_picpaths/test01/vm_os.qcow2,device=disk,bus=virtio,size=40,format=qcow2 \--network bridge:br0 \--graphics vnc,port=5902,listen=0.0.0.0 \--hvm \--arch x86_64 \--os-type=linux \--os-variant=rhel6 \--noautoconsoleStarting install...Creating domain...                                    |    0 B     00:00     Domain installation still in progress. You can reconnect to the console to complete the installation process.Starting install...Creating domain...                                                                                                                                                                                                    |    0 B     00:00     Domain installation still in progress. You can reconnect to the console to complete the installation process.上面提示要重新连接到console来继续完成安装os的过程(通过vnc方式)3)用VNC连接10.0.200.70:5900 在VNC下安装虚拟机(略)4)启动这个虚拟机[root@200-70 kvm]# virsh start test01Domain test01 started[root@200-70 kvm]# virsh list Id    Name                           State---------------------------------------------------- 4     test01                         running  四、管理1、如何删除该虚拟机取消定义:[root@200-70 kvm]# virsh undefine test01 Domain test01 has been undefined销毁:[root@200-70 kvm]# virsh destroy test01Domain test01 destroyed2、如何导出xml配置[root@200-70 kvm]# virsh dumpxml test01 >test01/test.xml

本文仅作为入门测试,生产环境通常是通过平台来管理,例如,下面是kvm群里的一个小调查: