V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
0x663
V2EX  ›  NAS

这几天折腾 PVE AIO 有点上头了

  •  
  •   0x663 · 1 天前 · 3676 次点击
    从周六开始一直到昨天晚上,基本每天都折腾到凌晨
    主板 MSI B660M 迫击炮
    CPU i5 12500
    sata ssd *2
    sata hhd *2
    m2 nvme *2

    前两天是折腾核显,主板开启了 VT-D 和 Intel SRIOV
    通过 i915-sriov-dkms 虚拟出来 7 个
    完成了以后尝试直通硬盘

    因为主板有两个 sata 控制器,我想着是两块 sata ssd 组 zfs(raid1)做系统盘,然后另一个 sata 控制器直通给 Truenas 虚拟机。然后我就直接去根据 iommu 的编号去找到这俩 sata 控制器,尝试把 b660 芯片组的 sata 控制器直通给 Truenas 虚拟机,然后就直接死机了,第二次安装发现是因为 iommu 分组没拆开

    然后就一通检索去看相关问题,后来发现一个强制拆分 iommu 分组,但是要改源码并且评论区说这是掩耳盗铃遂弃,然后就去折腾 BIOS 看到有一个“集成外围设备”的选项,关闭这个之后可以正常拆分 iommu 了。

    我原本以为会很顺利美滋滋的去直通 sata 控制器并开启虚拟机,又有问题了
    这里我的系统盘最初插到的是 sata7 和 sata8 ,因为这两个口离其他的比较远所以我认为是另一个单独的 sata 控制器控制的。这就是不认真阅读文档的代价吧。

    开主机重新插 sata 接口调整好以后再去尝试 SRIOV ,又不行了。
    45 条回复    2025-04-30 13:38:43 +08:00
    ererrrr
        1
    ererrrr  
       1 天前
    尝试过一次 unraid 拆分核显,个个都说 unraid 虚拟机多好用
    结果我一用,真的很费劲
    现在已经不喜欢这些了,直接买两台算了
    esee
        2
    esee  
       1 天前
    你这主板居然有两个 sata 控制器?
    Radeon
        3
    Radeon  
       1 天前   ❤️ 1
    为什么非要把 Disk IO 直连?用软件作 Disk IO 中间层有很多好处呀,比如可以设非常高的 buffer ,或者非常低的 flush 频次。不香吗?
    yusha
        4
    yusha  
       1 天前
    看这个板子, 是微星 mag mortar b660m?
    这个板子好像是 SATA_A 和 SATA_B 走的额外附加的 sata 控制器,方便直通。
    dilidilid
        5
    dilidilid  
       1 天前   ❤️ 4
    PCIE 直通 raw 设备根本不是虚拟化的正常使用方式,你 PCIE 直通越多遇到问题的机会越大,属于是要实现一些功能不得已的妥协,不知道为啥现在各种乱七八糟的教程喜欢把这玩意儿当成灵丹妙药。虚拟化的一个重要目的就是迁移+容灾,PCIE 直通之后一不小心虚拟机直接带崩宿主机一起死机,还容个屁的灾。

    很多消费级硬件不支持真正的虚拟化,只能直通一把梭,问题是很多厂家(比如黄狗)一开始就没有给你直通预留兼容性,出什么问题完全是不可预料的。不是发烧友没必要浪费时间跟厂家对抗
    fuckfaker
        6
    fuckfaker  
       1 天前
    你有空余的 pcie 插槽的话,可以买个 sas 直通卡,LSI2308 就行,然后把 sas 卡直通给 truenas ,或者虚拟机,比你这样折腾靠谱一点
    vhisky
        7
    vhisky  
       1 天前
    1 、系统盘没必要组 raid1,pve 只要备份好虚拟机,系统坏了,重装后再恢复虚拟机就行。有的人甚至把系统装进 U 盘里。
    2 、可以把系统盘装在 m.2 的一个盘上,直通 SATA 控制器准没问题。一般一个主板都是一个 SATA 控制器。
    3 、SRIOV 没折腾过,折腾过 8 代 cpu 直通核显用的 GVTg
    4 、也可以试试飞牛 nas ,也能搞
    swordsmile
        8
    swordsmile  
       1 天前
    试试在 /etc/default/grub 添加 pcie_acs_override 参数,看分组是否多一些

    GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction"

    update-grub
    0x663
        9
    0x663  
    OP
       1 天前
    @esee 是的
    0x663
        10
    0x663  
    OP
       1 天前
    @dilidilid 是的,我这就纯瞎折腾。
    wuyadaxian
        11
    wuyadaxian  
       1 天前   ❤️ 1
    m.2 装系统,sata 直通就行。sata 崩了不会影响系统,不要怕。
    0x663
        12
    0x663  
    OP
       1 天前
    @swordsmile 加了 /etc/default/grub /etc/kernel/cmdline
    0x663
        13
    0x663  
    OP
       1 天前
    @fuckfaker 有两条空余的 PCIe 插槽。本来是想买的,但感觉自己的硬盘不多就直接用的主板自带的两个 sata 控制器了。
    0x663
        14
    0x663  
    OP
       1 天前
    @vhisky unraid 就是
    0x663
        15
    0x663  
    OP
       1 天前
    @wuyadaxian
    @vhisky
    m2 的那块 250G 的三星 970evo 0e 了。所以没敢做系统盘,只把它拿来用作缓存盘。
    0x663
        16
    0x663  
    OP
       1 天前
    @ererrrr 哈哈哈,我其实是就喜欢折腾这些,所以不嫌烦。消磨时光的手段之一。
    marquina
        17
    marquina  
       1 天前   ❤️ 1
    pve 直通 sata 设备的标准姿势:

    [Passthrough Physical Disk to Virtual Machine (VM) - Proxmox VE]( https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM))

    按设备直通就行,不需要直通 sata 控制器
    marquina
        18
    marquina  
       1 天前
    laminux29
        19
    laminux29  
       23 小时 52 分钟前
    PVE 群主说过,不建议直通,因为直通是一种反虚拟化的方式,会阻碍备份、迁移与容灾,除非你不需要这些功能。
    0x663
        20
    0x663  
    OP
       23 小时 48 分钟前
    @laminux29 老哥哪个群?
    ExplodingFKL
        21
    ExplodingFKL  
       22 小时 58 分钟前   ❤️ 3
    为什么要跑 kvm ?
    要解决什么需求?
    什么情况下必须要 kvm 而不是 lxc ?
    直通核显后如果宿主机出现灾难性错误如何排错?

    关于媒体:lxc 做 qsv / vaapi 简直就是开箱即用,而且还不影响宿主机显示
    关于存储:用 proxmox 来管理磁盘也是开箱即用,zfs raid 在 web 端即可完成所有操作,还有原生的快照支持,如果需要文件共享自行部署 nfs server / smb server / wevdav / s3(minio)
    关于 Windows: 别在 nas 上面跑 windows 了,all in one == all in boom

    与其折腾这个不如把监控、ups 、备份配置好,数据安全比什么都重要
    0x663
        22
    0x663  
    OP
       21 小时 12 分钟前
    @ExplodingFKL 你说的有道理,应该先整理需求再折腾机器。
    gunner168
        23
    gunner168  
       19 小时 6 分钟前 via Android
    为啥系统盘要做 raid1 ,装好系统做个备份不就行了,出问题直接还原
    Angus007
        24
    Angus007  
       18 小时 2 分钟前   ❤️ 1
    俺是 unraid
    存储池 1:两条 m.2 1T 做的 raid1 用来放虚拟机、docker 、热文件,目的是挂了一个盘直接替换,省去恢复备份的麻烦,每隔 6 个小时自动快照,目前是 btrfs 格式,以后有空换成 zfs 格式
    存储池 2:三块 12T 组的 zfs z1 ,用途是存放片子和备份
    存储池 3:一块 1T 的盘做 PT 下载盘,其实可以加块盘,两块盘做 raid0
    存储池 4:虚拟 debian 直通了一块 4T 做冷备,定时自动开机用 rsync 做增量备份,备份后自动快照,然后关机
    每个池都做了快照,防止勒索病毒,目前个人认为比较完美的方案,重要文件也加密压缩上云了
    YsHaNg
        25
    YsHaNg  
       17 小时 52 分钟前
    @ererrrr unraid 虚拟机从来没好用过 lxc 了事 还能好多个容器共享硬件 压根不折腾直通
    metory
        26
    metory  
       17 小时 42 分钟前 via Android   ❤️ 1
    乐趣就在于折腾,折腾好累就退烧了
    14
        27
    14  
       16 小时 32 分钟前
    还有一个思路,买一个 PCIe 转 SATA 的扩展卡,然后这个 PCI 设备可以整体直通,亲测可用
    GobyHsu
        28
    GobyHsu  
       16 小时 22 分钟前
    @vhisky 如果你在宿主机进行了很多个性化配置,重新折腾宿主机是很麻烦的。写配置脚本、Ansible Playbook 之类的也不一定可靠,因为没有条件妥善地对这些脚本的可靠性进行测试
    k9982874
        29
    k9982874  
       16 小时 10 分钟前
    不直通,硬盘 mount 到 pve 宿主机,开 nfs 共享给 vm ,不过 nfs 的性能有时候有点拙计
    spike1123
        30
    spike1123  
       16 小时 6 分钟前 via iPhone
    用的什么机箱
    bao3
        31
    bao3  
       15 小时 30 分钟前   ❤️ 1
    把 pve 安装到 usb 盘上,不是普通的 U 盘,是那种 MLC 的 16G 足够。买 2 个,然后 pve 用 ZFS 方式,把 2 个 USB MLC 盘做成 mirror 。
    这样一来,你的系统稳如狗,你只要在 ssd 上随便找个位置,弄个 4G 、8G 给前面的 ZFS mirror 做 缓存,可以设置为 ZFS 的 special (需要 2 个 ssd 上)或者 cache (一个 ssd ),这样你的 pve 就飞快。

    当你要做系统设置时,你就先用 zfs 拍个快照。万一你把系统搞挂了,你就 zfs 恢复快照就可以了。

    由于只是使用了 usb 2.0 口,所以你所有的硬盘都可以随意折腾,而不必担心系统崩了。
    ryd994
        32
    ryd994  
       14 小时 50 分钟前 via Android
    我是直接装 truenas scale ,就不需要考虑直通的问题。truenas scale 可以跑 docker 可以跑虚拟机。

    我用的是洋垃圾,不存在 iommu 拆不开的问题。以前折腾过虚拟化的 freenas ,其实没什么意思。搞虚拟化无非是为了跑点应用,基础设施不应该虚拟化。不要为了 PVE 而 PVE

    我同意楼上的观点,而且更激进:系统盘只用一颗 U 盘,我用的是 SATA SSD 加硬盘盒。正规服务器用 raid0 是为了保在线率。家里自用不需要考虑 sla 。定期备份配置文件就足够了。

    @GobyHsu #28 那也不需要备份系统盘。定期导出配置文件就好了。如果无法导出,那是系统没选好。

    @marquina #17 不推荐这样用。这样用只是 PVE 的虚拟储存驱动直接读写硬盘。缺点是无法检测温度和 smart 信息。而且性能有影响,hdd 问题不大不是瓶颈,SSD 这样直通就不行了。
    X_Del
        33
    X_Del  
       13 小时 59 分钟前
    @ExplodingFKL nfs / smb / webdav 是由宿主机提供还是 VM 提供?一台 AIO ,各种服务是应该由 VM 提供还是应该由宿主机提供?

    @laminux29 如果有得选谁想直通呢,PVE 自身对 smart 信息的展示有限,很多玩家不想在 PVE 本体上跑各种服务,或者有监控磁盘状态的需求,那就只能在 VM 上 跑 NAS ,让 VM 直接管理硬盘。
    dilidilid
        34
    dilidilid  
       10 小时 47 分钟前
    @X_Del PVE 主机直接管理硬件相关的部分(比如 smart 、ups 之类的),剩下比如 smb 、webdav 、各种 docker 啥的全交给 VM 管理,硬盘用 PVE 的虚拟存储半直通给 VM 就可以了。虽然像楼上说的确实有性能损耗,但 99%的人的 AIO 用途(说白了就是跑个 NAS )来说完全过剩
    ruidoBlanco
        35
    ruidoBlanco  
       8 小时 36 分钟前   ❤️ 2
    @dilidilid 是的,很多人动不动就要求「极致性能」其他全部不管了。然而大部分时候根本用不上这样压榨性能也够了,压榨性能造成的额外维护的复杂度,往往就不提了。

    「做人留一线,日后好相见」

    直通对比直接用虚拟盘,就是个例子。

    还有 xfs 对比 ext4 的,不知道都是看了哪年的黄历说 xfs 性能好过 ext4 的,很多人就执着于 xfs ,我估计他们是不知道 xfs 出事之后比 ext4 麻烦多了。

    还有 LVM volume group 分 LV 的,动不动就用全部剩余空间。既然可以随时扩容,为什么要一开始就全给分了?留一些空间,将来万一有个什么需求也灵活啊。
    zaaad
        36
    zaaad  
       5 小时 44 分钟前
    @marquina 这种直通方式在 vm 里看不到 smart 信息,在宿主机里才能看到
    totoro625
        37
    totoro625  
       5 小时 32 分钟前   ❤️ 1
    @ruidoBlanco #35 总结的很对
    折腾多年 NAS 总结的经验教训:
    1 、不要在乎性能、虚拟化损失、最重要的是简单易于维护、可备份、高容灾
    千兆网络当做 800M 玩,不用纠结为何跑不满 1000M ,能节省 99%的烦恼
    磁盘阵列当做单机械硬盘看,能跑 80M/s 就足够,不需要追求极致性能,能节省 99%的烦恼
    2 、SSD 尾部不要全部用完
    PVE 系统盘,坚决尾部预留几个 G ,因为分完用全部剩余空间真的会导致有 BUG (我吃过亏)
    如果是 ZFS 的 cache/logs 磁盘,尾部更加要留一点空间,没必要全部占上,不需要极致的占用

    我的 NAS 也是 AIO /t/979429
    提前规划好:
    PVE 系统盘独占一块 M2 NVME
    数据盘全部都是 SATA ,由 PVE 负责 ZFS
    PVE 的 SWAP ,虚拟机的 SWAP ,ZFS 的 slog+l2arc 共享一块 M2 NVME
    ZFS 的 slog+l2arc 额外共享一块 M2 NVME ,便于 slog 的 mirror
    虚拟机全部用 lxc ,尽量不用 vm
    数据全部存储在 ZFS
    在宿主机 PVE 上设置定时备份任务,备份到异地、云端
    xbin
        38
    xbin  
       5 小时 26 分钟前
    @ExplodingFKL #21 请教一下,文件共享部署在宿主机还是 VM 或者 LXC?
    waifu2x
        39
    waifu2x  
       5 小时 0 分钟前
    @xbin 个人感觉 lxc 就行了, 宿主机把硬盘挂在 lxc 里,然后 lxc 里开 smb
    Kiriya
        40
    Kiriya  
       4 小时 48 分钟前
    直接用 win10 做宿主机,其他系统运行在 vmware 上,免折腾
    0x663
        41
    0x663  
    OP
       4 小时 12 分钟前
    @spike1123 银欣 CS382
    vczyh
        42
    vczyh  
       3 小时 58 分钟前
    @0x663 这个机箱做工太烂了
    laminux29
        43
    laminux29  
       3 小时 39 分钟前
    @0x663 K 佬的群,你加他微信,让他拉你进 PVE 群,KernerX
    esile
        44
    esile  
       1 小时 27 分钟前
    搞直通和 aio 推荐用 z 系列或者 x 系列的平台,之前我用 b 系列搞了好几次都每成功,用 z 和 x 的轻轻松松直通显卡和硬盘。
    ExplodingFKL
        45
    ExplodingFKL  
       1 小时 9 分钟前
    @X_Del #33 @xbin #38

    nfs / smb / webdav 是由 lxc 提供 , 这样可以利用到页面的快照功能 (虽然 cli 也可以)

    只不过我我只用到了 minio ,其他的用不上, 代码备份靠 gitea , 照片视频备份用 immich
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5254 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:48 · PVG 14:48 · LAX 23:48 · JFK 02:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.