virsh命令来创建虚拟机步骤

(1)生成硬盘镜像文件:

格式:raw或qcow2

# qemu-img create -f raw fdisk.img 10G qemu-img convert resize qcow2 vpc --->vhd
# qemu-img info fdisk.img

(2)编写xml配置文件,这一步在后面做详细介绍

(3)创建并运行虚拟机

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

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

虚拟机XML文件

//如果是Xen,则type=‘xen’
vm0 //虚拟机名称,同一物理机唯一
fd3535db-2558-43e9-b067-314f48211343 //同一物理机唯一,可用uuidgen生成
524288
524288 //memory这两个值最好设成一样

2 //虚拟机可使用的cpu个数,查看物理机可用CPU个数:cat /proc/cpuinfo |grep processor | wc -l

hvm //arch指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64 -M ?
 //启动介质,第一次需要装系统可以选择cdrom光盘启动
 //表示启动按F12进入启动菜单
 //Advanced Configuration and Power Interface,高级配置与电源接口
 //Advanced Programmable Interrupt Controller,高级可编程中断控制器
 //Physical Address Extension,物理地址扩展
 //虚拟机时钟设置,这里表示本地本机时间
destroy //突发事件动作
restart
restart
 //设备配置
/usr/bin/kvm //如果是Xen则是/usr/lib/xen/binqemu-dm
 //硬盘
 
  //域、总线、槽、功能号,slot值同一虚拟机上唯一 
 
//光盘
/* 利用Linux网桥连接网络 */
 //配置的网桥网卡名称
 //同一网桥下相同
 //别名,同一网桥下相同
 
  //注意slot值唯一 
 
/* 利用ovs网桥连接网络 */
/* 配置成pci直通虚拟机连接网络,SR-IOV网卡的VF场景 */
 
  
 
/* 利用vhostuser连接ovs端口 */
 
  
 
 //基于虚拟局域网的网络
 //可用命令生成,见下面的补充
 //默认
 //同一虚拟局域网的值相同
 
  //注意slot值 
 
 //配置vnc,windows下可以使用vncviewer登录,获取vnc端口号:virsh vncdisplay vm0

virsh 命令行管理虚拟机