利用 virsh 和 xml 文件创建虚拟机

分类专栏: 云计算虚拟化

最后发布: 2017-09-03 22:18:37 首发: 2017-09-03 22:18:37

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_15437629/article/details/77827033

版权

virsh 命令来创建虚拟机步骤

(1)生成硬盘镜像文件:
格式:raw 或 qcow2

  1. # qemu-img create -f raw fdisk.img 10G
  2. # qemu-img info fdisk.img

(2)编写 xml 配置文件,这一步在后面做详细介绍
(3)创建并运行虚拟机

  1. # sudo apt-get install qemu-kvm
  2. # virsh define vm0.xml //导入虚拟机配置
  3. # virsh start vm0 //开启vm0
  4. # virsh list --all // 显示所有虚拟机状态
  5. # virsh destroy vm0 //销毁虚拟机
  6. # virsh undefine vm1 //删除虚拟机配置
  7. # virsh dumpxml vm0 //显示虚拟机xml配置

其中 “vm0.xml” 是步骤(2)中创建的 xml 文件。

虚拟机 XML 文件

  1. <domain type='kvm'> //如果是Xen,则type=‘xen’
  2. <name>vm0</name> //虚拟机名称,同一物理机唯一
  3. <uuid>fd3535db-2558-43e9-b067-314f48211343</uuid> //同一物理机唯一,可用uuidgen生成
  4. <memory>524288</memory>
  5. <currentMemory>524288</currentMemory> //memory这两个值最好设成一样
  6. <vcpu>2</vcpu> //虚拟机可使用的cpu个数,查看物理机可用CPU个数:cat /proc/cpuinfo |grep processor | wc -l
  7. <os>
  8. <type arch='x86_64' machine='pc-i440fx-vivid'>hvm</type> //arch指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64 -M ?
  9. <boot dev='hd'/> //启动介质,第一次需要装系统可以选择cdrom光盘启动
  10. <bootmenu enable='yes'/> //表示启动按F12进入启动菜单
  11. </os>
  12. <features>
  13. <acpi/> //Advanced Configuration and Power Interface,高级配置与电源接口
  14. <apic/> //Advanced Programmable Interrupt Controller,高级可编程中断控制器
  15. <pae/> //Physical Address Extension,物理地址扩展
  16. </features>
  17. <clock offset='localtime'/> //虚拟机时钟设置,这里表示本地本机时间
  18. <on_poweroff>destroy</on_poweroff> //突发事件动作
  19. <on_reboot>restart</on_reboot>
  20. <on_crash>restart</on_crash>
  21. <devices> //设备配置
  22. <emulator>/usr/bin/kvm</emulator> //如果是Xen则是/usr/lib/xen/binqemu-dm
  23. <disk type='file' device='disk'> //硬盘
  24. <driver name='qemu' type='raw'/>
  25. <source file='/opt/vm/vmdev/fdisk.img'/>
  26. <target dev='vda' bus='virtio'/>
  27. <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> //域、总线、槽、功能号,slot值同一虚拟机上唯一
  28. </disk>
  29. <disk type='file' device='disk'>
  30. <driver name='qemu' type='raw'/>
  31. <source file='/opt/vm/vmdev/fdisk2.img'/>
  32. <target dev='vdb' bus='virtio'/>
  33. </disk>
  34. <disk type='file' device='cdrom'>//光盘
  35. <driver name='qemu' type='raw'/>
  36. <source file='/opt/vm/vmiso/ubuntu-15.10-server-amd64.iso'/>
  37. <target dev='hdc' bus='ide'/>
  38. <readonly/>
  39. </disk>
  40. /* 利用Linux网桥连接网络 */
  41. <interface type='bridge'>
  42. <mac address='fa:92:01:33:d4:fa'/>
  43. <source bridge='br100'/> //配置的网桥网卡名称
  44. <target dev='vnet0'/> //同一网桥下相同
  45. <alias name='net0'/> //别名,同一网桥下相同
  46. <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> //注意slot值唯一
  47. </interface>
  48. /* 利用ovs网桥连接网络 */
  49. <interface type='bridge'>
  50. <source bridge='br-ovs0'/>
  51. <virtualport type='openvswitch'/>
  52. <target dev='tap0'/>
  53. <model type='virtio'/>
  54. </interface>
  55. /* 配置成pci直通虚拟机连接网络,SR-IOV网卡的VF场景 */
  56. <hostdev mode='subsystem' type='pci' managed='yes'>
  57. <source>
  58. <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
  59. </source>
  60. </hostdev>
  61. /* 利用vhostuser连接ovs端口 */
  62. <interface type='vhostuser'>
  63. <mac address='fa:92:01:33:d4:fa'/>
  64. <source type='unix' path='/var/run/vhost-user/tap0' mode='client'/>
  65. <model type='virtio'/>
  66. <driver vringbuf='2048'/>
  67. <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  68. </interface>
  69. <interface type='network'> //基于虚拟局域网的网络
  70. <mac address='52:54:4a:e1:1c:84'/> //可用命令生成,见下面的补充
  71. <source network='default'/> //默认
  72. <target dev='vnet1'/> //同一虚拟局域网的值相同
  73. <alias name='net1'/>
  74. <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> //注意slot值
  75. </interface>
  76. <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0' keymap='en-us'/> //配置vnc,windows下可以使用vncviewer登录,获取vnc端口号:virsh vncdisplay vm0
  77. <listen type='address' address='0.0.0.0'/>
  78. </graphics>
  79. </devices>
  80. </domain>

https://blog.csdn.net/qq_15437629/article/details/77827033