Skip to content

Instantly share code, notes, and snippets.

@luohao-brian
Last active September 28, 2018 09:27
Show Gist options
  • Save luohao-brian/5286333 to your computer and use it in GitHub Desktop.
Save luohao-brian/5286333 to your computer and use it in GitHub Desktop.
qemu-kvm usages
#!/bin/bash
# 创建虚拟交换机:
ovs-vsctl add-br br-int
# 创建TAP设备:
ip tuntap add tap0 mode tap
ip tuntap add tap1 mode tap
# 将设备连接到虚拟交换机:
ip link set up tap0
ip link set up tap1
# 创建虚拟机
qemu-system-x86_64 -cpu host -enable-kvm -m 1024 -smp 2 -vnc :0 -drive file=/root/hluo/vm/cirros-0.4.0-x86_64-disk-1.img,if=virtio,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:05:11:12 -net tap,vhost=on,ifname=tap0,script=no,downscript=no -name vm0 -serial none
qemu-system-x86_64 -cpu host -enable-kvm -m 1024 -smp 2 -vnc :1 -drive file=/root/hluo/vm/cirros-0.4.0-x86_64-disk-2.img,if=virtio,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:05:11:13 -net tap,vhost=on,ifname=tap1,script=no,downscript=no -name vm1 -serial none
# Create ovs br0
ovs-vsctl add-br br0
# cat /etc/ovs-ifup
#!/bin/sh
switch='br0'
/sbin/ifconfig $1 0.0.0.0 up
ovs-vsctl add-port ${switch} $1
# cat /etc/ovs-ifdown
#!/bin/sh
switch= 'br0'
ovs-vsctl del-port ${sw/sbin/ifconfig $1 0.0.0.0 down
itch} $1
# Create VM
kvm -m 512 -net nic,macaddr=00:11:22:33:44:55 -net \
tap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown -drive \
file=/path/to/disk-image,boot=on
        
kvm -m 512 -net nic,macaddr=11:22:33:44:55:66 -net \     
tap,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown-drive \
file=/path/to/disk-image,boot=on
# Boot a typical VM (VNC, virtio-blk, virtio-nic, vhost)
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/vm/centos.img,if=virtio,format=qcow2 -boot c -monitor stdio -net nic,model=virtio,macaddr=52:54:00:05:11:12 -net tap,vhost=on,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown
# Boot from a livecd with spice enabled
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/litevirt-livecd/litevirt.iso -vga qxl -spice port=5902,disable-ticketing
# Boot from a livecd with VNC and stdin monitor
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/litevirt-livecd/litevirt.iso -monitor stdio
# Boot from a livecd with pv eoi disabled
qemu-kvm -cpu host,-kvm_pv_eoi -enable-kvm -m 1024 -smp 2 -drive file=/root/litevirt-livecd/litevirt.iso -vga qxl -spice port=5902,disable-ticketing
# Boot from a livecd together with a virtio net
qemu-kvm -enable-kvm -cpu host -m 1024 -smp 2 -drive file=/root/litevirt-livecd/litevirt.iso -net nic,model=virtio,macaddr=52:54:00:05:11:12 -vga qxl -spice port=5902,disable-ticketing
# Boot from a qcow2 image
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/vm/winxp/winxp.img,if=none,id=drive0,format=qcow2,cache=directsync -device virtio-blk-pci,scsi=off,drive=drive0,id=disk0 -boot c -monitor stdio
# Enable dataplane support
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/vm/winxp/winxp.img,if=none,id=drive0,format=qcow2,cache=directsync -device virtio-blk-pci,scsi=off,drive=drive0,id=disk0 -boot c -vga qxl -spice port=5900,disable-ticketing -drive if=none,id=drive1,cache=none,aio=native,format=raw,file=/root/vm/winxp/test.img -device virtio-blk-pci,drive=drive1,scsi=off,x-data-plane=on,config-wce=off,id=disk1
# QMP, livecd & an attached block image device:
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/litevirt-livecd/bos.iso -vga qxl -spice port=5902,disable-ticketing -drive file=/root/vm/livecd/data.img,if=none,id=drive0,format=qcow2,cache=directsync -device virtio-blk-pci,scsi=off,drive=drive0,id=disk0 -qmp tcp:localhost:4444,server
# Qemu Guest Agent
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/litevirt-livecd/bos.iso -vga qxl -spice port=5902,disable-ticketing -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtio-serial -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0
# or:
qemu-kvm -cpu host -enable-kvm -m 1024 -smp 2 -drive file=/root/litevirt-livecd/bos.iso -vga qxl -spice port=5902,disable-ticketing -chardev socket,id=qga0,path=/tmp/qga.sock,server,nowait -device virtio-serial -device virtserialport,bus=virtio-serial-bus.0,chardev=qga0,name=org.qemu.guest_agent.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment