美文网首页
Minisforum U820 UnRAID AIO 食用指南

Minisforum U820 UnRAID AIO 食用指南

作者: 几簟生凉 | 来源:发表于2023-01-19 22:18 被阅读0次

准备

  • Linux 5.19.17-Unraid x86_64
  • UnRAID 6.11.5

一、配置网络

AIO最难搞的就是网络部分了,在unraid里安装OpenWRT做主路由,unraid虚拟机管理OpenWRT,OpenWRT又管着unraid的网络,一旦想折腾网络就麻烦死。U820两个有线网卡:

  1. RTL8111 千兆
  2. Intel I225 v3 2.5G

基本的想法是让千兆卡做WAN口,2.5G卡做LAN口,但是UnRAID默认用第一个网卡(螃蟹8111)做管理口,如果你用虚拟机安装的OpenWRT拨号,UnRAID的DHCP服务器就是运营商提供了,会访问不到。解决办法就是交换第一个和第二个网卡(设置-网络设置-接口规则),这样2.5G卡给OpenWRT做LAN口,同时是unraid的管理口,同时可以接外置交换机或者AP,同时可以接其他虚拟机,也就是OpenWRT管理所有网络。


交换第一个和第二个网卡

有时候这个UnRAID路由表会出现错乱,访问应用商店的流量莫名其妙地会走RTL8111 ,我不清楚问题出在哪里,所以我选择将RTL8111 直通给OpenWRT(工具-系统设备-PCI 设备和 IOMMU 组-给RTL8111打勾),这样对unraid来说就只有I225 一个网卡了,也就不出错了。


直通RTL8111

二、OpenWRT

2.1 安装OpenWRT

我这里用的 supes.top 这里的固件,可以定制选择无线网卡驱动来驱动自带的Intel 7265ac,我把无线网卡直通给OpenWRT作为AP来管理OpenWRT很方便。下载下来openwrt-12.30.2022-x86-64-generic-squashfs-combined-efi.img.gz 传到unraid上,用gzip命令解压gzip -d openwrt-12.30.2022-x86-64-generic-squashfs-combined-efi.img.gz得到openwrt-12.30.2022-x86-64-generic-squashfs-combined-efi.img,添加linux虚拟机,系统盘选择openwrt-12.30.2022-x86-64-generic-squashfs-combined-efi.img,网络处选择intel网卡和直通的rtl网卡。

openwrt配置
连接OpenWRT的vnc桌面,用ifconfig命令发现直通的rtl网卡是eth1,查看/etc/config/network发现默认的wan口就是eth1。所以啥也不需要动,此时wan口RTL网卡插上网线,intel网卡接入改为AP模式的路由器,用设备连接路由器wifi就可以了。 OpenWRT 网卡

2.2 无线配置

自带的Intel 7265ac在aio里好像没什么用,就直通给openwrt做发射无线信号用来管理吧,但是我试了无数个固件,wifi5下和wifi4下的5G均不能正常使用,只有802.11n模式的2.4G可用,实测握手速率可以达到144Mbps,还挺快的。搞定了5G的还请赐教。配置如下


无线

三、共享文件给虚拟机

通过smb或者ftp共享的情况就不说了,这里介绍通过虚拟机配置中的Unraid共享实现,好处是数据不经过网卡。Unraid共享选项分为Virtiofs Mode 和 9p Mode,这俩啥区别我也不太懂,有兴趣的同学可以看我引用的《VirtFS 虚拟化技术简介》,讲的很详细。在6.11中Windows虚拟机移除了9P选项,而Linux中看到都是用的9P。所以这里也这么整。

3.1. 共享文件给Windows10

新建Windows10虚拟机,选中要共享的文件夹

共享设置-windows虚拟机
点击右上角FORM VIEW切换到XML模式,将memoryBacking项改成如下
<memoryBacking>
  <source type='memfd'/>
  <access mode='shared'/>
</memoryBacking>

启动虚拟机,到 https://winfsp.dev/rel/ 下载WinFsp并默认安装。安装完成之后在服务中将VirtIO -FS Service启动并改成自动启动。下图中的Z盘就是自动挂载的硬盘。

已挂载的驱动器
有个问题,虽然那个服务改成自动启动了,可是还是不会自动启动。知道怎么解决的同学请留言。

3.2. 共享文件给Ubuntu22.04.

新建Ubuntu22.04的虚拟机配置如下,注意这里的挂载标签(Tag)是data,系统内需要用。

共享设置-ubuntu虚拟机
进入虚拟机,输入以下命令查看是否可以挂载成功:
# 创建文件夹用于挂载
mkdir -p /mnt/data
# 挂载,第一个data是mount tag
mount -t 9p -o trans=virtio data /mnt/data
挂载成功示例-ubuntu22.04
如果成功挂载呢说明配置没问题,不过现在是手动挂载,想要开机自动挂载需要编辑/etc/fstab文件,在最后一行添加data /mnt/data 9p trans=virtio,_netdev 0 0就可以了。
可以看到这里比mount命令挂载多了一个_netdev选项,如果不加的话开机会报错要挂载的设备不存在,但是看到有人说这个命令不是必须的,甚至是不好的,可能在不联网的情况下不挂载,实测没有这个情况,有更好的方案请在评论区留言。

三、 核显相关

到此,无论如何我都建议你详细读一下核显相关的第一篇参考,里面介绍了很多基本概念和实现原理,这里不复述。

3.1 Jellyfin硬件加速

unraid中执行下面两个命令,如果出现renderD128设备说明成功

# 加载intel gpu 驱动模块
modprobe i915
# 查看可用设备
ls /dev/dri

设置开机启动:编辑/boot/config/go,在最后面添加命令modprobe i915。安装Jellyfin,添加额外设备,名字随意,值填写/dev/dri。进入jellyfin,在播放设置中硬件加速选择VAAPI。

3.2 核显直通Win10,外接显示器

首先在Main>Boot Device>Syslinux Configuration中添加内核启动参数video=vesafb:off video=efifb:off,解除vesafb 或 efifb 对 IGD 的绑定,其实这里只需要video=efifb:off,这个小机器就不能从传统BIOS启动。

添加启动参数

然后在tools>system devices中,将IGD和vfio绑定。
新建windows10虚拟机,机型必须是q35,bios选ovmf,添加两个显卡,一个vnc,一个直通的iris plus 655。保存配置,然后在xml模式下编辑,找到IGD选项,将下图中椭圆位置从0x02改成0x05,保存。

修改硬件地址
启动虚拟机,安装引用部分中的驱动文件intel_vga_26.20.100.7262.zip就可以看到显卡正常加载。注意禁用windows自动更新,26.20.100.7262版本的驱动是可以正常工作的,自动更新之后就会出现代码43或者任务管理器中不显示GPU,如果已经更新了,到设备管理器里卸载驱动设备重启就好。
虚拟机内显卡正常工作
但是此时并不能从物理视频接口输出信号,我看了几篇文章都说需要x-igd-opregion参数,但是我添加了也没有成功,HDMI始终没有信号(type-c也没有,手上暂时没有dp接口的显示器没有尝试),大家自己试试吧,有成功的评论区讨论。具体操作是xml模式修改虚拟机配置,添加从物理视频接口输出和解决内存占用高的代码,修改配置文件的两部分:
  1. 修改domain结点的开始标签为如下,避免声明问题保存失败
<domain xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' type='kvm'>
  1. domain结点内( devices结点后面)添加如下qemu:override子结点
  <qemu:override>
    <qemu:device alias='hostdev0'>
      <qemu:frontend>
        <qemu:property name='x-igd-opregion' type='bool' value='true'/>
        <qemu:property name='x-igd-gms' type='unsigned' value='1'/>
      </qemu:frontend>
    </qemu:device>
  </qemu:override>

四、其他

显示温度CPU

6.11之前需要先安装nerdpack插件,然后在nerdpack中安装perl,6.11之后unraid中集成了perl,所以不需要安装这俩,直接安装Dynamix System Temperature。然后在设置》System Temp中设置。

Unraid 管理虚拟机的命令

virsh是虚拟机管理命令

virsh list --all

参考

  1. UnRAID 文件共享给虚拟机

  2. 直通核显

  3. 相关文件

相关文章

  • Unraid 6.8.2 升级步骤及注意事项【Unraid 6.

    Unraid 6.8.2 升级步骤及注意事项【Unraid 6.8.1升级到Unraid 6.8.2】 如果安装了...

  • 《毒液》食用指南

    毒液是什么? 它是一种呈现为粘液态的共生体 诞生在距离地球几光年之外的克林特星 它可以和宿主结合成一种全新的生物 ...

  • 人类食用指南

    一夜之间,谁能想到,动物竟成了世界的主宰,人类却沦为了它们的食物,它们也不再像刚开始那样生吞活剥,渐渐的讲求精细化...

  • cmder食用指南

    开箱 在官网http://cmder.net/下载,解压即可打开包装食用 把Cmder.exe所在的文件目录加入环...

  • Unraid安装Macos不完全指南

    http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=181365...

  • NginxProxyManager实现unraid反向代理

    最近从黑群晖转到了unraid,然后再unraid里面虚拟了黑群晖,通过acme脚本申请泛域名证书,反向代理依然用...

  • 即时通讯框架——技术选型参考

    1、即时通讯框架talent-aio http://www.talent-aio.com/talent-aio/

  • Git 简易食用指南

    写在前面 一开始我们先聊一聊版本控制,什么是版本控制呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定...

  • 青皮核桃食用指南

    今天路过一处公园,偶然发现了一棵高大的核桃树。现在正是青皮核桃上市的时节。站在这棵核桃树下,一抬头就能看到不少乒乓...

  • 低端物种食用指南

    敲门声响起时,我吓得差点将身体对折过去。 我站在门后面歪着脑袋,破开的喉咙不时发出一阵怪声,像破塑料袋在风中拉扯延...

网友评论

      本文标题:Minisforum U820 UnRAID AIO 食用指南

      本文链接:https://www.haomeiwen.com/subject/jmqxcdtx.html