BEACON LOCKED // 已锁定信标

# NAS

飞牛 NAS(FnOS)等家庭与小型实验室 NAS 系统的部署、配置与运维

10 段信号带此信标
[LOG-01]

无法开启OVS的情况下使用原生Linux Bridge网络实现创建虚拟机

文章对比 Linux Bridge 与 OVS,并以飞牛NAS(Debian 12)为例演示嵌套 VM 桥接。Linux Bridge 内核原生、简单稳定、性能与资源开销好,适合家庭/小型实验室、KVM 生产和嵌套测试,但功能单一,缺少 SDN、Overlay、QoS 和监控。OVS 支持 OpenFlow、流表、VXLAN/GRE、QoS、sFlow 等,适合 OpenStack、SDN 与跨主机 Overlay,但部署复杂、性能有损耗、排障和学习成本高。通过 NetworkManager 创建 br0、绑定物理网卡,配置 libvirt 桥接网络并为 VM 添加 virtio 网卡,可让其直接获得局域网 IP,读者可按场景选型并完成配置。
[LOG-02]

飞牛qcow2磁盘空间不回收问题解决

文章介绍为虚拟机开启磁盘空间回收(TRIM/UNMAP),以释放宿主机存储。先在宿主机运行 sudo virsh list 确认虚拟机已启动,再用 sudo virsh edit 替换虚拟机名称,在 <driver .../> 行添加 discard='unmap',保存后重启。Linux 虚拟机执行 sudo fstrim -av,可回收所有已挂载且支持 TRIM 文件系统的空闲空间;Windows 需安装 virtio 驱动,在“碎片整理和优化驱动器”中确认媒体类型后点击优化。若仍不回收空间,应检查并删除快照后重试。Linux 和 Windows 都会定时释放空间,Linux 可用 systemctl status fstrim.timer 确认服务,Windows 默认每天自动运行。
[LOG-03]

开启KSM内存去重技术,大幅度降低多个虚拟机内存实际占用宿主机

KSM是Linux内核内存去重技术,适合虚拟化场景,多台虚拟机运行同一系统时,内存占用可接近单台虚拟机多一点。它依赖扫描合并相同内存,代价是CPU开销随内存增大而上升。只有克隆,尤其链式克隆的虚拟机合并效果突出,实测12G内存可降至约2G。开启可临时将run设为1,并调整扫描强度、间隔、跨NUMA、zero page和smart_scan等参数;若内存未降,可用更激进参数。永久开启可创建调优脚本和systemd服务,开机自动执行,启动虚拟机后约10秒内存明显下降。
[LOG-04]

飞牛ext4和btrfs存储空间扩容实操保姆级教程视频,适用于虚拟机的飞牛扩容磁盘。

本文记录飞牛NAS(fnOS)在GPT分区、MD RAID、LVM架构下,将磁盘从50G在线扩容到55G的完整流程。扩容前须确认磁盘、分区、RAID模式、VG/LV及文件系统类型,管理命令需用sudo。依次修复GPT、扩展分区、扩展RAID、pvresize、lvextend和文件系统;ext4与btrfs最后一步命令不同。RAID1可在线扩容,Linear模式须停阵列并用--update=devicesize重组。操作安全但建议先备份。
[LOG-05]

虚拟机共享宿主机文件夹,仅限Linux

FnOS 等 KVM 环境可用 virtio-9p 将宿主机目录共享给虚拟机,无需网络配置,经 virtio 总线传输,性能优于 NFS/Samba。关键是确保 QEMU 用户对共享目录整条路径链有可执行权限;关机后用 virsh 注入 filesystem 设备,指定宿主机 source 目录与 target 标签;启动后虚拟机内加载 9p 模块,并以该标签挂载,可写 fstab 加 _netdev 自动挂载。accessmode 建议 passthrough,权限异常可换 mapped-xattr;标签须与 target 完全一致,否则报 no channels available。
[LOG-06]

链式克隆虚拟机,实现一秒开十台,每台虚拟机占用只有256K!

本文记录在飞牛NAS(FnOS)上用 qcow2 backing file 实现 KVM 虚拟机链式克隆。先创建并配置源虚拟机,Windows 需执行 sysprep 后关机;用 virsh 确认信息,复制源磁盘为模板基础镜像并设为只读 444;再用 qemu-img create -f qcow2 -F qcow2 -b 模板路径 生成克隆盘,最后在飞牛中新建虚拟机并导入 qcow2 开机。克隆创建快、节省空间,示例模板 4.5GB,克隆初始仅 256KB,适合批量部署。注意模板不可修改或删除,否则所有克隆无法启动;克隆与模板共享 hostname、MAC、SSH 密钥,首次启动应修改主机名并重新生成 SSH 密钥。
[LOG-07]

飞牛升级内核导致vgpu驱动加载错误解决方案

当内核级升级导致自行安装的NVIDIA显卡驱动无法正常加载时,先确认原始驱动的确切版本,最好依据安装源文件,后续命令均替换为对应版本号。接着完全移除现有DKMS模块,再重新执行add、build、install,以重建该版本模块。然后更新initramfs,手动加载nvidia、nvidia_uvm、nvidia_drm、nvidia_modeset。最后运行nvidia-smi验证驱动信息正常输出,随后重启系统,使飞牛能正确识别显卡。
[LOG-08]

飞牛升级内核导致英特尔DG1驱动加载错误解决方案

DG1 在系统升级后可能出现驱动不加载:显卡已被主板和 PCI 识别,但 i915 拒绝支持。可用 lspci 确认 DG1,dmesg 查看设备 4908 不受支持,lshw 显示 UNCLAIMED。原因是 i915 采用设备 ID 白名单,DG1 的 4908 未默认支持,而内核参数仍为 i915.force_probe=7d55,ID 不匹配。解决方法是在 /etc/default/grub 中将 force_probe 改为 4908;也可用 * 强制加载所有驱动,但会带来稳定性和安全风险。之后执行 sudo update-grub 并重启飞牛。
[LOG-09]

彻底卸载飞牛应用商店中英伟达560驱动,让你后续安装其它驱动一次性成功

飞牛应用商店的英伟达560驱动卸载不彻底,残留会使开机继续加载并报错,影响后续安装vGPU等驱动。作者分析飞牛驱动脚本后发现其卸载存在遗留,提供经双重测试有效的彻底清理方法:先在应用商店卸载560驱动,再通过SSH以root停止相关服务、结束占用GPU进程,卸载包和内核模块,删除内核目录模块文件、包数据及nouveau黑名单,重建模块依赖和initramfs,并全量清除残留nvidia。重启后若不再出现驱动加载报错即成功,之后可安装其他驱动。