Centos6.3安装KVM
一、安装kvm 1 在安装CentOS6.3时可以选择安装好kvm 2 如果未安装好kvm,请按照下列方式安装 [创建本地yum源] 挂载iso文件 mount -o loop -t iso9660 CentOS-6.3-x86_64-bin-DVD1.iso /mnt 设置本地yum源 在/etc/yum.repos.d/创建 “任意文件名.repo" 文件 vi 刚才新建的文件名编辑 【localyum】任意名称 ,不能有空格。 name= local yum 任意名称 baseurl=file:////mnt/Packages 这个路径是自定的。Server为光盘中的Server目录 ,Packages与Server放在同一目录下。即/software目录下 enabled=1 代表 生效 0为不生效 gpgcheck=1 检查gpgkey 1 生效 0不生效 gpgkey=file:///software 安装光盘里有这个文件 不指定 安装时,可能提示没有注册 保存退出 执行命令 yum clean all (1) kvm需要有 CPU 的支持(Intel VT 或 AMD SVM) [root@moniter ~]#egrep '^flags.*(vmx|svm)' /proc/cpuinfo 如果有返回值说明cpu支持虚拟化 (2) 安装kvm libvirted yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst (3) 启动libvirted service messagebus start service haldaemon start service libvirtd start chkconfig messagebus on chkconfig haldaemon on chkconfig libvirtd on (4)检查kvm是否安装成功 [root@jiayuan ~]# virsh -c qemu:///system list Id 名称 状态 ---------------------------------------------------- 1 redhat6.3 running (5)kvm模块 [root@myKVM ~]# lsmod | grep kvm kvm_intel 52570 0 kvm 314739 1 kvm_intel 二、配置网桥 vi /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=static BROADCAST=10.207.20.255 IPADDR=10.207.20.200 NETMASK=255.255.255.0 NETWORK=10.207.20.0 ONBOOT=yes b、 vi /etc/sysconfig/network-scripts/ifcfg-eth0 # Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet DEVICE=eth0 BOOTPROTO=none ONBOOT=yes BRIDGE=br0 c、 重起网络服务生效 service network restart d、 echo 1 > /proc/sys/net/ipv4/ip_forward #虚拟机上网 e、 检查桥接网络 [root@moniter ~]# brctl show bridge name bridge id STP enabled interfaces br0 8000.842b2b74e1b6 no eth0 virbr0 8000.000000000000 yes br0是我们配置的桥接网卡,virbr0是系统脚本自动配置的NAT网卡 三、安装vnc 注意:CentOS6.3 VNC的命名rpm为tiggervnc-server (1) yum install tiggervnc-server (2) vi /etc/sysconfig/vncservers #加一行 VNCSERVERS="1:root" (3) vncpasswd 创建密码 (4) /etc/init.d/vncserver start (5) # netstat -nulpt | grep vnc tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 29167/Xvnc tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 29167/Xvnc tcp 0 0 :::6001 :::* LISTEN 29167/Xvnc 表示vnc可以使用了 修改 qemu.conf 配置,把下面几个地方的注释去掉,然后把 dynamic_ownership 的值改成0,禁止 libvirtd 动态修改文件的归属: # vi /etc/libvirt/qemu.conf ... user = "root" group = "root" dynamic_ownership = 0 ... 重启 libvirtd 服务再用上面的 virt-install 命令安装就应该可以了。这个时候 vnc 默认绑定的是本机 127.0.0.1,如果其他机器想用 vnc 客户端访问这台 kvm 服务器正在安装的 ubuntu 的话需要把 vnc 绑定到服务器的 IP 地址或者绑定到全局 0.0.0.0. 修改 qemu.conf 文件取消 vnc_listen 一行前面的注释,记得重启 libvirtd: # vi /etc/libvirt/qemu.conf ... vnc_listen = "0.0.0.0" 四、创建kvm虚拟机 virsh-install 1、输入虚拟机名称 2、分配多少内存 3、处理器的个数 4、此步可以直接输入iso的位置或是url 5、虚拟机类型KVM 6、定义虚拟机磁盘映像的位置 7、磁盘的大小 6、指定哪个桥或者可以指定多个桥 7、额外的控制台和KS文件 8、连接到系统参数 参数说明注意每行都要空格 -n 虚拟机名称 -r 分配虚拟机内存大小 --vcpus 分配虚拟cpu个数 -c 镜像文件位置 --vnc --vncport=5901 --vnclisten=0.0.0.0 启动图形安装界面 --virt-type 虚拟机模式 -f 虚拟机系统文件存储目录 -s 分配磁盘大小(GB) -w 联网方式(birdge bridge:br0/nat bridge:virbr0) --os-type='windows' --os-variant=win2k3 安装windows最好加上这个否则会报错 virt-install工具安装虚拟机后,在目录/etc/libvirt/qemu/下生成xml配置文件 -s 用来指定虚拟磁盘的大小单位为GB -m 指定虚拟网卡的硬件地址默认virt-install自动产生 -p 以半虚拟化方式建立虚拟机 -l 指定安装来源 -x EXTRA, --extra-args=EXTRA当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序。 -v, --hvm 设置全虚拟化 virt-install --name=centos6.3 --ram 1024 --vcpus=2 --disk path=/data0/centos-6.3.x86_64.img.img,size=20 --accelerate --cdrom /data0/CentOS-6.3-x86_64-bin-DVD1.iso --graphics vnc,listen=0.0.0.0,port=5920, --network bridge=br0 --force --autostart 执行后,netstat -nulpt | grep 5920 看端口启用否 五、用vnc连接5920完成安装 IP:5920 六、管理kvm虚拟机 virsh --connect qemu:///system a、如果你修改了一个客户机的xml文件(位于/etc/libvirt/qemu/ 目录),你必须重新定义客户机: define /etc/libvirt/qemu/vm10.xml b、启动和停止客户机,运行: start vm10 c、停止一个客户机,运行 shutdown vm10 d、立即中断一个客户机(类似直接关电源),运行 destroy vm10 e、挂起一个客户机: suspend vm10 f、恢复客户机: resume vm10 七、克隆 virt-clone --connect=qemu:///system -o 原虚拟机 -n 新虚拟机 -f /data0/centos5.4/新虚拟机镜像 新虚拟机配置文件需要注意:虚拟机克隆完毕后,需修改vnc端口;MAC地址也是需要注意的。 八、加载磁盘空间 #qemu-img create -f qcow2 disk1.img 50G #vi /etc/libvirt/qemu/centos1.xml 增加的部分为: <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/root/disk3.img'/> <target dev='hdb' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> 使配置文件生效 virsh --connect qemu:///system virsh #define /etc/libvirt/qemu/winxp.xml 重起虚拟机生效 virsh # shutdown centos1 virsh # start centos1 进入虚拟机: mkfs.ext3 /dev/hdb mkdir /data mount /dev/hdb /data virt-install --name xp1 --hvm --ram 512 --vcpus 1 --disk path=/root/xp1.img,size=20 --network network:default --accelerate --vnc --vncport=5901 --cdrom /root/xp.iso -d virt-install --name=wintest01 --ram 512 --vcpus=2 --disk path=/data/wintest01.img,size=8 --accelerate --cdrom /data/iso/Windows2003.iso --vnc --vncport=5911 --vnclisten=0.0.0.0 --network bridge=br0 --force --autostart ##换iso镜像文件 [root@localhost ~]#virsh change-media win3test hdc /home/iso/virtio-win-0.1-52.iso succeeded to complete action update on media ##弹出镜像文件 [root@localhost ~]#virsh change-media win3test hdc --eject 格式转换 qemu-img convert -f raw -O qcow2 disk2.img disk2.qcow2 -f 源镜像的格式 -O 目标镜像的格式