为了提供虚拟机的硬盘、网络及显卡设备的性能,需要在虚拟机中安装半虚拟化驱动程序VirtIO以替换普通的驱动程序
文章目录
虚拟机硬件的类型
虚拟网卡:e100、e1000、rtl8139、VirtIO
虚拟显卡:Bochs、QXL、VGA、VirtIO
虚拟磁盘:IDE、SATA、SCSI、USB、VirtIO
内存虚拟化:对任何操作系统而言,内存都是从物理内存地址0开始;且都是连续的,或者说至少在一些大的粒度上连续
上述虚拟设备中除VirtIO外,全是全虚拟化类型的设备,用的是普通驱动程序,优点是普适型强,哪儿都可以用,缺点是访问路径长,性能差(通常在安装os时自动就安装了这类驱动,他不知道自己运行在虚拟机中)
#提醒:VMware Tools驱动和VirtIO 是一个类型的半虚拟化驱动
常见的VirtIO驱动程序
virtio-net: 虚拟机以太网卡驱动
virtio-blk: 虚拟块设备(磁盘)驱动
virtio-balloon: 用于管理虚拟机内存的气球设备
virtio-scsi: 替代和改进virtio-blk。具有更好的扩展性,可以与scsi设备直通
virtio-console: 用于虚拟机和宿主机用户空间应用程序进行数据交换的设备。
virtio-rng: 提供了高质量随机数
virtio-ring: 实现了环形缓冲区ring buffer,用于保存前端驱动和后端处理程序执行的信息,最后调用宿主机驱动实现物理上的io操作(能实现io合并,减少io操作)
[root@C20230217008125 ~]# lsmod |grep virtio
virtio_net 21970 0
virtio_balloon 4798 0
virtio_console 18993 1
virtio_blk 7132 2
virtio_scsi 10761 0
virtio_pci 7512 0
virtio_ring 8891 6 virtio_net,virtio_balloon,virtio_console,virtio_blk,virtio_scsi,virtio_pci
virtio 5639 6 virtio_net,virtio_balloon,virtio_console,virtio_blk,virtio_scsi,virtio_pci
如何安装半虚拟化VirtIO驱动
RHEL/CentOS 4.8、5.3之后的发行版都包含VirtIO驱动程序,所以这些版本在安装系统时会自动检测并安装VirtIO驱动
Windows不包含VirtIO驱动,需要手动安装
如何获取VirtIO for Windows驱动
方法一:RHEL/CentOS8的安装介质或软件仓库中包含 virtio-win软件包(The default enabled repo is virtio-win-stable)
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo
-O /etc/yum.repos.d/virtio-win.repo
方式二:从kvm项目的网站下载
https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
方式三:redhat社区下载
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
方式三:ubuntu社区下载
https://launchpad.net/kvm-guest-drivers-windows
特别介绍virtio for windows如何获取(2003 因为只能扫描软盘所以比较特殊)
windows server 2003 或者更早的系统,安装程序仅会扫描并读取软盘上的驱动程序,简单的方法是,下载包含virtio驱动程序的虚拟磁盘文件,其链接为 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.96/virtio-win_x86.vfd
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论