Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

前言

很久没折腾过Hetzner杜甫了,尤其在EX44投入生产环境之后,基本求稳定没怎么折腾了。就在前几天,Hetzner上架了i5-12500的拍卖机,月付仅30欧,站长随即购买了一台,发现这台拍卖机使用的还是两块全新的三星PM9A1硬盘,这下EX44可以退掉了,所有项目都可以转移到这台拍卖机上,毕竟这台拍卖机和EX44只是CPU不同一个12500一个13500,价格却差了14欧,太香了。

站长之前在EX44上安装PVE的时候,debian12还没发布,PVE也是7.4,所以在这台拍卖机上要安装debian12,并在debian12上安装PVE8.0。基本就是重装了,正好有时间折腾一下核显直通

过程

bios设置

在开始折腾前,需要去Hetzner控制面板申请IPMI,然后修改部分bios设置。

1.bios里默认核显是关闭的,需要打开。

按F1(Delete)进bios--选择初始化IGPU--enbale

首选显卡选择 CPU graphics (一定要选这个)

Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  1. 打开vd-t以及IOMMU

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  2. 打开bios里SR-IOV

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

安装PVE

安装debian12和检查IGPU

首先需要安装debian12,截至站长写文,Hetzner控制面板还没提供debian12镜像,需要去Hetzner的救援模式里用Installimage安装debian12.

Hetzner社区的Installimage使用教程:Installimage

在bios里打开核显之后,安装完debian12后默认就打开IGPU的,若IGPU没打开,需手动打开debian的IGPU,相关教程可以参考站长之前的教程:

Hetzner独服折腾日记二—安装PVE

检验IGPU是否开启:

shell输入:

ls -la /dev/dri

若返回类似下面即GPU已打开

drwxr-xr-x  3 root root       100 Mar  2 17:57 .
drwxr-xr-x 20 root root      4400 Mar  2 17:57 ..
drwxr-xr-x  2 root root        80 Mar  2 17:57 by-path
crw-rw----  1 root video 226,   0 Mar 16 19:55 card0
crw-rw----  1 root video 226, 128 Mar 16 19:55 renderD128

安装PVE

debian12安装PVE可以参考PVE官方教程:

Install Proxmox VE on Debian 12 Bookworm

也可以参考站长之前的文章:Hetzner独服折腾日记二—安装PVE

  1. 修改hosts和hostname

    如果您的 IP 地址是192.168.15.77,您的主机名是prox4m1,那么您的/etc/hosts文件可能如下所示:

    127.0.0.1 localhost.localdomain localhost 
    192.168.15.77 prox4m1.proxmox.com prox4m1 
    
    # 以下行适用于支持 IPv6 的主机
    ::1 localhost ip6-localhost ip6-loopback 
    ff02::1 ip6-allnodes 
    ff02::2 ip6-allrouters

    重启后输入

    hostname --ip-address 
    192.168.15.77 # 

    应该在这里返回你的IP地址

  2. 调整sources.list

    添加 Proxmox VE 存储库

    echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

    将 Proxmox VE 存储库密钥添加为 root(或使用 sudo):

    wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
  3. 更新存储库和系统

    apt update && apt full-upgrade
  4. 安装 Proxmox VE 内核

    apt install pve-kernel-6.2 
    systemctl restart
  5. 安装 Proxmox VE 软件包

    apt install proxmox-ve postfix open-iscsi chrony
  6. 删除 Debian 内核

    apt remove linux-image-amd64 'linux-image-6.1*'

    更新grub

    update-grub
  7. 删除 os-prober 软件包

    apt remove os-prober

    到此PVE安装完成,关于网络配置可以参考站长之前的文章:

    Hetzner独服折腾日记三—PVE网络配置

编译SR-IOV

开源项目:https://github.com/strongtz/i915-sriov-dkms

  1. 安装dmks

    apt install build-* dkms
  2. 安装PVE headers 以及firmware

    首先查看PVE内核

    uname -r
    
    6.2.16-14-pve

    安装同内核headers

    apt install pve-headers-6.2.16-14-pve  -y

    安装firmware

    apt install -y pve-firmware
  3. 拉取项目

    若没安装git,先安装git

    apt install -y git
    git clone https://github.com/strongtz/i915-sriov-dkms.git

    编辑dkms.conf

    PACKAGE_NAME="i915-sriov-dkms"
    PACKAGE_VERSION="6.2"

    PACKAGE_VERSION和PVE内核版本一致

    修改完后,将i915-sriov-dkms复制到/usr/src

    cp -r /root/i915-sriov-dkms/ /usr/src/i915-sriov-dkms-6.2

    进入i915-sriov-dkms-6.2目录

    cd /usr/src/i915-sriov-dkms-6.2

    编译

    dkms install -m i915-sriov-dkms -v 6.2

    编译后检查状态

    dkms status
    
    i915-sriov-dkms/6.2, 6.2.16-14-pve, x86_64: installed
  4. 修改grub

    编辑/etc/default/grub,修改为:

    GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on i915.enable_guc=3 i915.max_vfs=7"

    更新grub

    update-grub
  5. 编辑/etc/modules,添加:

    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd

    更新:

    update-initramfs -u
  6. 安装sysfsutils

    apt install sysfsutils -y

    检查pci设备

    lspci | grep "VGA"
    
    00:02.0 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c) VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)

    00:02.0 即你的显卡

  7. 修改sysfs来启用VF

    echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
  8. 重启

    reboot
  9. 检查是否成功:

    lspci | grep "VGA"
    
    00:02.0 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
    00:02.1 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
    00:02.2 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
    00:02.3 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
    00:02.4 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
    00:02.5 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
    00:02.6 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)
    00:02.7 VGA compatible controller: Intel Corporation Alder Lake-S GT1 [UHD Graphics 770] (rev 0c)

    ‘若出现7个显卡设备,即成功。

安装Windows

  1. 添加Windows镜像

    微软官网下载Windows11 iso镜像:

    官网:https://www.microsoft.com/zh-cn/software-download/windows11

PVE里 local-iso镜像-从URL下载:

中文镜像:https://software.download.prss.microsoft.com/dbazure/Win11_22H2_Chinese_Simplified_x64v2.iso?t=1917cf45-78a4-43e4-ba31-b93249a06876&e=1696394904&h=ad3656b879305e82597afcc85e6fc84068c723cac404a475182ca0cd7b164605

  1. 安装Windows VirtIO Drivers驱动

    官方下载链接:https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers

    驱动链接:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  2. 创建虚拟机

    选择下载的Windows镜像

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  3. 机型选择q35 ,SCSI 选择VirtIO SCSI, Qemu代理打勾,BIOS选择OVEF,Windows还要添加TPM2.0。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  4. 硬盘--总线选择SCSI,缓存选择回写,丢弃打勾。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  5. CPU要选择host 类别。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  6. 网络选择VirtIO(半虚拟化)

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  7. 创建虚拟机之后添加cd/dvd驱动器,选择下载的Windows VirtIO Drivers驱动。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  8. 启动虚拟机要安装Windows VirtIO Drivers驱动,否则找不到硬盘,读不到网卡。

    安装balloon、NETKVM、vioscsi三个驱动

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  9. 安装过程中,若需要离线安装,在网络配置界面,按shift+F10,调出CMD,输入 OOBEBYPASSNRO,然后系统会自动重启。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  10. 系统安装完之后,配置完网络,开启远程连接(一定)

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  11. 关机Windows虚拟机。

    在Windows虚拟机--硬件--添加PCI设备--Raw Device-会看到7个显卡设备,随便选中一个,所有功能不要打勾--开机。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  12. Windows开机--打开设备管理器--发现已经识别核显

    等待系统自动更新安装英特尔核显驱动

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

  13. 确认远程连接开启之后,再次关闭Windows虚拟机。

    在刚才添加的显卡设备里主GPU打勾

    硬件--显示--修改为

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

    Windows虚拟机开机之后,PVE的控制台已经无法连接上Windows虚拟机,只能通过RDP协议 3389端口连接上虚拟机。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

    通过远程桌面连接上Windows虚拟机后--打开任务管理器--性能栏里--若出现GPU0,并且工作,表示核显直通完成。

    Hetzner独服折腾日记七—debian12安装PVE创建Windows实例并且核显直通

结尾

11代之后的核显直通还是有一丢丢麻烦的,杜甫的话,也可以直接使用Windows做宿主机系统的,对核显的支持也更好,不过玩机嘛,折腾最大啦。

文章版权归作者所有。发布者:白嫖怪,转转请注明出处:https://c7pai.com/1386/

(0)
白嫖怪白嫖怪
上一篇 2023年7月17日 下午5:56
下一篇 2023年11月1日 下午8:13

相关推荐

  • Hetzner独服折腾日记一

    前言 Hetzner 一般也喊HZ,德国大厂,非常稳。拥有数十万台服务器,是欧洲最大的数据中心运营商之一。自 1997 年成立以来,Hetzner 一直为私人和企业客户提供强大的托管产品和可靠的 IT 基础架构。通过结合其在创新技术、有吸引力的价格、专家支持和灵活的客户服务方面的优势,Hetzner 扩大了其在德国和欧洲国内外的市场。Hetzner 是一家德…

    2023年2月28日
    1.2K00
  • virmarch官方Looking Glass和SpeedTest启用

    Looking Glass 链接:https://lg.virmach.com/ Tokyo, Japan https://tyo.lg.virmach.com/ Secaucus (NYC) https://nyc.lg.virmach.com/ Frankfurt, Germany https://ffm.lg.virmach.com/ Amsterda…

    2022年10月9日
    27400
  • Hetzner独服折腾日记五—核显直通和搭建jellyfin私人影音库

    前言 站长购买的这台Hetzner杜甫是有核显的,要怎么利用起来呢?站长准备用之前购买的Google one和薅的微软E5开发者账号来搭建一个私人影音库。 关于核显直通 站长搜了众多教程,目前只搞定了LXC容器的显卡映射。老实说,13代酷睿的直通还是没搞定。 英特尔在11代之后的核显升级为锐炬Iris Xe核显,GPU虚拟化由iGVT-g更改为SR-IOV,…

    2023年3月23日
    2.4K00
  • Hetzner独服折腾日记二—安装PVE

    前言 之前在使用荷兰商家Worldstream的杜甫时,采用的是Windows Server宿主机系统,hyper-V虚拟化的方案。详情可以看: Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射 其实这次的Hetzner杜甫更适合win做宿主机的方案,因为: 但是为什么这次选择P…

    2023年2月28日
    1.7K00
  • Worldstream 食用小记2:Windows Server做宿主机系统,hyper-V安装Linux以及端口映射

    前言 其实Windows可以直接建站的,IIS比nginx也好用,完全的图形化界面,只是因为Windows系统搭建php环境太过繁琐,而且日常备份和日后迁移的话可能会有兼容问题。最终还是决定Windows Server做宿主机系统,hyper-V安装Linux搭建LNMP环境建站。 为什么选择Hyper-V 商家的面板是提供各种系统的,包括PVE和EXSI等…

    2022年9月13日
    34300

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

评论列表(2条)

  • Laizer
    Laizer 2023年10月7日 下午5:43

    我看到站长的推荐也试水了一下, 由于已经有一台pve了, 所以我通过kvm安装了windows server 2022, 发现这款机器使用的网卡驱动I219-V不会自动安装, 要提前下载驱动从磁盘手动安装, 不然无法识别网卡设备

    • O2
      白嫖怪 2023年10月12日 下午9:25

      @Laizer是的,消费级别的网卡,windows server是不带驱动的,要自己打。