Wener Site

Virtio

约 2 分钟阅读

Virtio

bash
qemu-system-x86_64 \
# vda - 存储
-drive file=alpine.qcow2,if=virtio \
# 网络
-netdev user,id=user.0,hostfwd=tcp::4287-:22 \
-device virtio-net,netdev=user.0

# PCI 10 GbE virtio-net-pci
-net nic,model=virtio

# libvirt <memballoon model='virtio' autodeflate='on'>
-device virtio-balloon,deflate-on-oom=on

# Linux AIO
-drive file=disk.qcow2,if=virtio,aio=native,cache.direct=on

# RNG/Random Number Generator
# =========================
# 默认
# 支持限速 例如 512 bytes/s -> max-bytes=512,period=1000
-device virtio-rng-pci
# UNIX 环境
-object rng-random,filename=/dev/random,id=rng0
# 硬件 rng
-object rng-random,filename=/dev/hwrng,id=rng0
# 网络 RNG
-chardev socket,host=10.199.13.151,port=9000,id=chr0 -object rng-egd,chardev=chr0,id=rng0
xml
<domain>
  <!-- 单线程 -->
  <iothreads>1</iothreads>
  <disk type='file' device='disk'>
    <!-- 单线程 -->
    <driver name='qemu' type='raw' cache='none' iothread='1'/>
    <!-- virtio -->
    <target dev='vda' bus='virtio'/>
  </disk>
  <devices>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <!-- 单线程 -->
      <driver iothread='1'/>
    </controller>
  </devices>
</domain>
bash
# cluster_size 提高性能
qemu-img create -f qcow2 -o cluster_size=2M my.qcow2 100G

# 设置 cache-size 提高性能
qemu-system-x86_64 -drive file=my.qcow2,if=none,id=drive0,aio=native,cache=none,cache-size=16M

# mode
# off - 不预先申请
# falloc - 使用 posix_fallocate() 预留空间
# full - 填 0 预留
qemu-img create -f $fmt -o preallocation=$mode test.img 100G

virtio-fs

bash
# 启动 daemon
virtiofsd --socket-path=/var/run/vm001-vhost-fs.sock -o source=/var/lib/fs/vm001

# -virtfs local,path=/tank/storage,mount_tag=host0,security_model=passthrough,id=host0

# QEMU
qemu-system-x86_64 \
  -chardev socket,id=char0,path=/var/run/vm001-vhost-fs.sock \
  -device vhost-user-fs-pci,chardev=char0,tag=myfs \
  -object memory-backend-memfd,id=mem,size=4G,share=on \
  -numa node,memdev=mem
# Guest 挂载
mount -t virtiofs myfs /mnt


# virtfs-proxy-helper

ref

www.linux-kvm.org/page/9p_virtio blog.csdn.net/gatieme/article/details/82912921 wiki.libvirt.org/page/VirtioLinkwiki.libvirt.org/page/Virtiovirtio-net · 使用中断和 DMA 技术实现的 PCI 设备 · 可以使用 lspci 查看信息 - Red Hat, Inc Virtio network device · virtio-blk · /sys/block/vda笔记:Virtio www.linux-kvm.org/page/VirtioLinkwww.linux-kvm.org/page/Virtiovirtio-net · 使用中断和 DMA 技术实现的 PCI 设备 · 可以使用 lspci 查看信息 - Red Hat, Inc Virtio network device · virtio-blk · /sys/block/vda笔记:Virtio wiki.osdev.org/VirtioLinkwiki.osdev.org/Virtiovirtio-net · 使用中断和 DMA 技术实现的 PCI 设备 · 可以使用 lspci 查看信息 - Red Hat, Inc Virtio network device · virtio-blk · /sys/block/vda笔记:Virtio www.ibm.com/developerworks/library/l-virtio fedoraproject.org/wiki/Windows_Virtio_Drivers en.wikibooks.org/wiki/QEMU/Devices/VirtioLinken.wikibooks.org/wiki/QEMU/Devices/Virtiovirtio-net · 使用中断和 DMA 技术实现的 PCI 设备 · 可以使用 lspci 查看信息 - Red Hat, Inc Virtio network device · virtio-blk · /sys/block/vda笔记:Virtio wiki.qemu.org/Features/VirtioVsock fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso cloud.google.com/compute/docs/machine-types events19.lfasiallc.com/wp-content/uploads/2017/11/Storage-Performance-Tuning-for-FAST-Virtual-Machines_Fam-Zheng.pdf

Block format 'raw' does not support the option 'boot'

关联信息

反向链接和本文引用的外部资料。

References

GitHub

1 条

其他外链

17 条

另有 9 个未显示 references。

另有 9 个 references 未显示。

最近更新commit 1728932Edit

On this page