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文件

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

virsh命令来创建虚拟机的更多相关文章

  1. virsh 命令行管理虚拟机

    重用命令和选项 1:查看运行的虚拟机 virsh list   2:查看所有的虚拟机(关闭和运行的虚拟机) virsh list --all   3:连接虚拟机 virsh console +域名(虚 ...

  2. Linux KVM创建虚拟机

    原博文(https://www.cnblogs.com/supermao12/p/16382767.html) 开启虚拟化 KVM需要64位操作系统 [root@localhost 4.18.0-19 ...

  3. 使用命令virsh管理网络设备,创建桥设备 和 使用virt-manager创建虚拟机

    # 1:查看网卡接口 virsh iface-list Name State MAC Address ------------------------------------------------- ...

  4. 命令行创建KVM虚拟机

    qemu命令创建虚拟机: qemu-img create -f qcow2 /home/ubuntu.img 20G   qemu-system-x86_64 -m 2048 -enable-kvm ...

  5. virsh命令管理虚拟机

    virsh命令管理虚拟机 libvirt有两种控制方式,命令行和图形界面. 1.图形界面:通过执行名virt-manager,启动libvirt的图形界面,在图形界面下可以一步一步的创建虚拟机,管理虚 ...

  6. Openstack命令行创建不同vlan段虚拟机

    默认使用nova-network的vlan模式,但是在使用默认的dashboard的时候,不能指定创建的虚拟机的使用网段,固定IP地址. 实际上该功能是在存在的,只是openstack的dashbbo ...

  7. virsh命令和虚拟机克隆

    virsh 命令 virsh list  //列出正在运行虚拟机 virsh list --all     //列出所有虚拟机 virsh  console sunhao-1  //进入名字为sunh ...

  8. 命令行利用KVM创建虚拟机

    一,实验环境 OS:CENTOS6.5 X86_64 二,KVM宿主环境配置 1.cat /proc/cpuinfo | egrep 'vmx|svm'  //查看是否支持虚拟技术 2.安装KVM相关 ...

  9. 05.virsh命令的常用操作(kvm)

    注:以下命令均可在virsh的man手册页中找到   KVM虚拟机管理常用命令(domain):   virsh命令参数 功能 用法举例 list 查看已经存在的domain信息(可以带参数) vir ...

随机推荐

  1. 【Qt编程】Qt版扫雷

    学习要学会举一反三.在以前的<用matlab扫扫雷>一文中,我用matlab简单的编写了一个扫雷小程序.当然,与Windows自带的扫雷程序自然是不敢相提并论.今天我就用c++来写个扫雷程 ...

  2. android Timer与TimerTask的相关操作

    项目上面的部分操作需要使用到定时器进行周期性的控制.网络上面对于定时器的操作通常有三种实现方法. 我是通过Timer与TimerTask相结合实现的定时器功能.具体实现过程如下: 第一步,得到Time ...

  3. Android中SQLiteOpenHelper类的onUpgrade方法浅谈

    public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 这个方法在实现时需要重写. onUpg ...

  4. Oracle Applications DBA 基础(一)

    1.引子 2014年9月13日 20:33 <oracle Applications DBA 基础>介绍Oracle Applications R12的系统架构, 数据库后台及应用系统的基 ...

  5. 谈谈final

    用final修饰类 这种情况很简单,这个类不能被继承.它"绝后"了. 用final修饰方法 这里可以分两种情况. 用final修饰private方法.其实也不能这么说,因为私有方法 ...

  6. 算法精解:最小二乘法C实现

    计量经济学研究的直接目的是确定总体回归函数Yi=B1+B2Xi+ui,然而能够得到的只是来自总体的若干样本的观测值,要用样本信息建立的样本回归函数尽可能"接近"地去估计总体回归函数 ...

  7. Smali语法汇总(一)

    Opcode 操作码(hex) Opcode name 操作码名称 Explanation 说明 Example 示例 00 nop 无操作 0000 - nop 01 move vx, vy 移动v ...

  8. DB Query Analyzer has been downloaded more than 100,000 times

                           DB Query Analyzer has been downloaded more than 100,000 times Today I am very ...

  9. MQ队列与哪些机器连接

    1.使用MQ安装用户登录Linux,例如:su - mqm 2.runmqsc Qm1 #Queue 代表要查询的队列3.DISPLAY CONN(*) WHERE(OBJNAME EQ Queue) ...

  10. 深入了解Collections

    在 Java集合类框架里有两个类叫做Collections(注意,不是Collection!)和Arrays,这是JCF里面功能强大的工具,但初学者往往会忽视.按JCF文档的说法,这两个类提供了封装器 ...