初探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密码: # vncpasswd 3. 更新vnc配置: # vim /etc/sysconfig/vncservers 新增内容如下: VNCSERVERS="1:root" VNCSERVERARGS[1]="-geometry 1280x960" 4. 启动服务 # service vncserver start 5. 调整防火墙配置,放行端口:5901:5902 -A INPUT -p tcp -m state --state NEW -m tcp --dport 5901:5902 -j ACCEPT 其中: 5900:用来后续连接到vm 5901:用来连接到宿主机n86 6. 如果在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 start 2、增加网桥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-br0 DEVICE=br0 TYPE=Bridge ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPADDR=10.0.200.70 PREFIX=24 GATEWAY=10.0.200.1 DELAY=0 DEFROUTE=yes _EOF [root@200-70 network-scripts]# mv ifcfg-em1 bak.ifcfg-em1 \ && cat <<'_EOF' >ifcfg-em1 DEVICE=em1 BRIDGE=br0 ONBOOT=yes MTU=1500 NM_CONTROLLED=no _EOF [root@200-70 network-scripts]# service network restart [root@200-70 network-scripts]# brctl show bridge name bridge id STP enabled interfaces br0 8000.f8bc124de980 no em1 virbr0 8000.525400288c45 yes virbr0-nic 4、第一个虚拟机 [root@200-70 ~]# mkdir /data/kvm/{p_w_picpaths,iso} [root@200-70 ~]# cd /data/kvm 1)创建一个磁盘镜像 [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 \ --noautoconsole Starting 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 test01 Domain 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 test01 Domain test01 destroyed 2、如何导出xml配置 [root@200-70 kvm]# virsh dumpxml test01 >test01/test.xml
本文仅作为入门测试,生产环境通常是通过平台来管理,例如,下面是kvm群里的一个小调查: