• 前言

    前段时间用了windows server下的hyper-v直通显卡来给室友用来串流游戏,但是发现串流带来的鼠标延迟会给人一种微妙的感觉,尤其是玩CSGO这样的fps游戏时更加严重。但是hyper-v虚拟机并不支持外置usb设备,鼠标和键盘都没办法直通,而且性能上的损耗也更大。因此还是决定换为pve来做虚拟化,但是我有很长一段时间没用过pve了,配置起来还有点生疏,踩了不少坑,因此来记录一下。

Step0:准备工具

  • 服务器主机一台
    • CPU:e5 2650 v2(双路)
    • GPU:GTX 750Ti,GTX 1050Ti
    • 内存:64G ECC
    • 硬盘:2T酷鱼作为直通盘,牙膏厂128g的MLC SATA作为系统盘,一组8T的Raid5,一组40T的Raid0
    • 其他基本设备若干
  • U盘一个,烧录好PVE官网镜像

Step1:系统安装

这个过程没什么好说的,一路装下来一般都没问题。

Step2:基础环境配置

  1. 网络配置
    我的局域网搭建是所有设备都由一台路由器来负责DHCP分配地址,因此只需要一个物理接口接入交换机就可以了。
    在pve中建立一个网桥,桥接那一个物理接口,然后所有的虚拟机都连接到网桥即可。
  2. 直通显卡配置
    这篇文章讲得很详细了。
  3. 其他pci设备直通
    	lspci // 查看pci设备
    	记下pci设备id
    	cd /etc/pve/qemu-server/<vmid>.conf //每台虚拟机的配置文件
    	修改配置文件
    

    如下图
    image.png

  4. 硬盘直通
    	ls /dev/disk/by-id //查看硬盘id,记下来
    	qm set $number -sata1 /dev/disk/by-id/$id//$number替换为虚拟机编号,$id为硬盘的id
    
  5. 硬盘挂载
    	fdisk /dev/sdb //使用fdisk打开某个硬盘
    	//输入n新建分区,输入p建立主分区,输入1创建一个分区
    	mkfs -t ext4 /dev/sdb1 //格式化分区
    	mount /dev/sdb1 /mnt/sdb //挂载分区
    	最后在webUI磁盘管理中添加目录到pve环境
    

Step3:虚拟机系统安装

  1. 对于需要直通显卡的系统,参照之前的显卡直通即可,其他系统安装与普通虚拟机无太大差别。
  2. 配置好一个系统之后可以转换为模板,便于复制和迁移。
  3. usb等设备直通可以直接在webUI中设置,非常方便了,对于鼠标键盘,声卡,游戏手柄都能很好兼容。

最后贴一个我的虚拟机分配
image.png


What is broken can be reforged.