linux服务器一台(支持虚拟化)
虚拟机存放目录/home/kvm/images建立存储池目录mkdir -p /home/kvm/images;chown root:root /home/kvm/images;chmod 755 /home/kvm/images;创建存储池virsh pool-define-as StoragePool --type dir --target /data/kvm;virsh pool-build StoragePool;virsh pool-start StoragePool;virsh pool-autostart StoragePool;验证查看存储池信息virsh pool-info StoragePool;查看创建的所有存储池[root@local images]# virsh pool-listStoragePool存储池中创建一个卷,这个卷是用来做虚拟机的硬盘[root@local ~]# virsh vol-create-as --pool StoragePool --name node6.img --capacity 10G --allocation 1G --format qcow2# 创建卷 node6.img,所在存储池为vmware_pool,容量10G,初始分配1G,文件格式类型qcow2[root@local ~]# virsh vol-info /home/kvm/images/node6.img#查看卷信息名称: node6.img类型: 文件容量: 10.00 GB分配: 136.00 KB
创建vhost虚拟机目录mkdir -p /vhost定义虚拟机池virsh pool-define-as vmspool --type dir --target /vhost建立虚拟池virsh pool-build vmspool启动虚拟机池virsh pool-start vmspool创建win7虚拟机virt-install --name win701 --ram 1024 --vcpus=2 --os-type=windows --accelerate -c /ISO/en_windows_7_professional_x86_dvd_x15-65804.iso --disk path=/vhost/win701.img,size=30,bus=virtio,format=qcow2 --network bridge=br0,model=virtio --force --autostart --vnc --vncport=5991 --vnclisten=0.0.0.0创建centos7虚拟机virt-install --name centos7_2_246 --ram 1024 --vcpus=2 --os-type=linux --accelerate -c /data/CentOS-7-x86_64-Minimal.iso --disk path=/data/kvm/centos6.5_2_246.img,size=30,bus=virtio,format=qcow2 --network bridge=br0,model=virtio --force --autostart --vnc --vncport=5994 --vnclisten=0.0.0.0
(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/virsh -help查看所有kvm虚拟机状态# virsh list --all列出在线运行的主机# virsh listvirsh关机虚拟机# virsh shutdown oeltest01(2) 强制关闭电源# virsh destroy wintest01
5. 配置开机自启动虚拟机# virsh autostart oeltest017. 添加与删除KVM虚拟机(1) 删除kvm虚拟机# virsh undefine wintest01 说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件# virsh undefine web1 --managed-save8. 编辑KVM虚拟机配置文件# virsh edit wintest01virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。
10. 其它virsh命令(1) 挂起服务器# virsh suspend oeltest01(2) 恢复服务器# virsh resume oeltest0111、虚拟机重命名关闭重命名的虚拟机virsh shutdown vm01导出xml文件cd /etc/libvirt/qemu/virsh dumpxml vm01 > test.xml编辑test.xml 包括name 包括img文件名 重新定义虚拟机 virsh undefine vm01 virsh define test.xml 修改文件名 mv vm01.img test.img启动虚拟机 virsh start test 12. 本机虚拟机直接克隆virt-clone -o oeltest01 -n oeltest02 -f /data/test02.img说明:以oeltest01做为源,克隆oeltest01虚拟机,并创建名称为oeltest02虚拟机,使用磁盘文件/data/test02.img13、kvm 虚拟机VNC下鼠标不同步问题解决方法关闭虚拟机,在虚拟机的配置文件中增加:(该句位于
KVM 是实现拦截虚机的 I/O 请求的原理: 现代 CPU 本身了对特殊指令的截获和重定向的硬件支持,甚至新的硬件会提供额外的资源来帮助软件实现对关键硬件资源的虚拟化从而提高性能。以 X86 平台为例,支持虚拟化技术的 CPU 带有特别优化过的指令集来控制虚拟化过程。通过这些指令集,VMM 很容易将客户机置于一种受限制的模式下运行,一旦客户机视图访问物理资源,硬件会暂停客户机的运行,将控制权交回给 VMM 处理。VMM 还可以利用硬件的虚级化增强机制,将客户机在受限模式下对一些特定资源的访问,完全由硬件重定向到 VMM 指定的虚拟资源,整个过程不需要暂停客户机的运行和 VMM 的参与。由于虚拟化硬件提供全新的架构,支持操作系统直接在上面运行,无需进行二进制转换,减少了相关的性能开销,极大简化了VMM的设计,使得VMM性能更加强大。从 2005 年开始,Intel 在其处理器产品线中推广 Intel Virtualization Technology 即 IntelVT 技术