OBSERVATORY ONLINE  //  STELLAR CODEX  /  EPOCH 2026

码上星辰的技术札记

DOCK-01 //星港数量
24座
檄文全数入港停泊
LINK-02 //量子拓扑延迟
—ms
本次页面完整加载耗时
NAV-03 //星系坐标
Sector-— / DS-—
MoE Tensor Flow
CHRONO-04 // 银河系时间 UTC
北京时间 · 母星时区 UTC+8
SCROLL // 下滑进入星港调度台
DOCK CONTROL // 星港调度中枢已上线

星港调度台

调度台已锁定在港檄文:上方为最新回传的文章信号,
下方为随机抽取的文章推荐航线。

ORBIT FORECAST // 星图推演航线

猜你想看

[LOG-01] NAS 飞牛qcow2磁盘空间不回收问题解决 α-001 JUMPS 466 2026-05-12
[LOG-02] NAS 使用雷池做授权登录来保护NAS α-002 JUMPS 1174 2025-04-10
DESTINATION LOCKED // 跃迁目的地已锁定

文章星港

24 篇檄文 · 持续巡航
[LOG-01]

用 rclone 把夸克网盘的电影挂到 RK3588 本地:OpenAlist WebDAV 只读挂载实践

在 RK3588 的 Ubuntu 24.04 主机上,为 Docker 运行的 OpenAlist 新增宿主机侧 rclone 只读 FUSE 挂载,把夸克网盘指定电影子目录经本机 WebDAV 挂到宿主目录,供播放器或媒体库读取,且不改动原有容器、端口和存储。挂载由 systemd 管理,关闭 VFS 落盘缓存,仅内存分段读取和 5 分钟目录缓存,并限制 CPU0–3、512MiB 内存。凭据文件权限 700/600,pass 仅混淆非加密,不可分享。已验证认证、只读、分段读取和拒绝写入,未做整机重启、完整 4K、并发或断网测试。卸载前需释放占用,归档还原不自动启动服务。
[LOG-02]

在 RK3588 盒子上重做 SMB 共享:音乐与录像目录映射到 Windows 盘符

在 RK3588 盒子(Ubuntu 24.04/Samba)上,将旧 myfiles 共享改为 music、video 两个明确共享,Windows 可映射 Z:、Y: 到 \\192.168.10.62 对应目录,直接访问外接盘;旧目录和数据未删,仅移除访问入口。共享只允许 xiaozhu 读写,禁匿名,并以 hosts allow 私网白名单和 hosts deny 兜底。smbd 还监听公网 IPv6,且本机 ufw 未启用,端口默认可达,绝不能做公网映射。改配置后用 HUP 重载;Windows 重启认证失败多因凭据被错存为 admin,删除后用 cmdkey 重建映射。testparm 通过,匿名被拒,读写 SHA256 一致,并保留备份与还原归档。
[LOG-03]

硬链接搬 134GB:Cloudreve 文件实体迁移到 Blob 目录的完整过程

Cloudreve「外置机械硬盘」策略的 101 个已登记文件已从 SMB 源目录硬链接迁入策略 Blob 目录,未复制约 133.4GiB,再以单事务更新数据库 source,保持文件名、ID、逻辑结构和容量统计不变。工具默认预演,仅适用本次任务。最终设备号、inode、大小、mtime 一致,文件属主 cloudreve、600 权限,服务恢复 HTTP 200。硬链接不是备份,Blob 文件不可手工整理,原 SMB 共享已无这批文件。
[LOG-04]

RK3588 盒子上用 NPU 跑本地嵌入:给私有网盘加中文语义搜索

RK3588 盒子通过 NPU 运行 bge-small-zh-v1.5,为 Cloudreve 提供本地语义搜索,并与 Meilisearch 混合检索。全程不调用云端 API,文本只在私网桥与宿主机服务间传输,无模型费用,也不外发正文。正式部署为宿主机 systemd 服务而非 Docker:RKNN SDK 依赖设备树,容器会遮挡平台识别。服务仅监听私网地址,并设专用用户、密钥和资源限制。CPU 负责分词与归一化,NPU 跑编码器,长文本滑窗聚合。实测 NPU 端到端中位 19.16/78.92 ms,约 CPU 的 8 倍,向量余弦最低 0.999782;但样本小,仍需混合检索。部署后 554 个分块全部向量化;未验证整机重启、功耗和网页端语义搜索效果。
[LOG-05]

一个本地向量模型,三个调用方:RK3588 上 NPU 嵌入服务的多客户接入实践

将 Windows DSH graph-memory 插件和自建笔记应用接入已有的本机 NPU 嵌入服务。方案是不新起进程,复用同一 cloudreve-embedding 模型与推理锁,通过独立端口、密钥和单 IP 白名单隔离。DSH 零源码修改,仅改配置,采用带策略版本的对称编码,512 维、阈值 0.58,223 条摘要迁为 512 维且未重抽摘要,需重启 DSH 生效。笔记容器不能用 127.0.0.1,改为固定 172.24.0.2 并加入白名单,实测 512 维、约 215 毫秒。服务无 /v1/models 与 TLS,仅限可信内网,共享单 NPU 会影响排队。
[LOG-06]

不复制 133GB:用最小 ACL 让 Cloudreve 原地接管 SMB 里的旧文件

Cloudreve 社区版 4.19.1 ARM64 可把 SMB 共享中约 133.4GiB 的老文件原地登记,不复制、不移动。实现关键是给专用用户 cloudreve 加只读命名 ACL:父目录仅 --x,源树目录 r-x、文件 r--,不递归 chown,不改属主,也不改 systemd 可写范围。修复权限后新建任务 6 导入,完成后登记 101 个文件、41 个子目录,路径大小与源一致,源文件未改且可实际读取。需注意 SMB 新增文件不会自动导入,源文件改移删可能使记录失效,新上传路径也不是源目录;回滚仅恢复 ACL,不回滚数据库,归档不含数据库与业务数据。
[LOG-07]

在 RK3588 盒子上部署 Cloudreve 4.19.1:从静态二进制到内网可访问

在 RK3588 的 Ubuntu 24.04 ARM 盒子上,用 Cloudreve 社区版 4.19.1 官方 ARM64 静态二进制搭建内网私有网盘。复用已有 MySQL 容器,以 systemd 而非 Docker 运行,仅监听 192.168.10.62:5212,不做公网映射或穿透。关键配置包括 CPU 0–3 亲和性与 GOMAXPROCS=4、文件句柄上限 65535;上传目录符号链接到外接 ext4 盘,并以最小 ACL 允许服务用户穿越。启动检查会核对磁盘 UUID、文件系统、写权限和符号链接,缺盘或 UUID 变化时拒绝启动;应用成功初始化 17 张表。验证显示首页 HTTP 200、仅内网监听,线程绑定与句柄上限符合预期。数据库端口应只绑 127.0.0.1,账号按最小权限收敛;正式备份需一致性导出、加密并预演恢复,升级前先备份。未实测上传下载、分享、WebDAV、拔盘、整机重启与数据库中断。
[LOG-08]

给 Cloudreve 加上全文搜索:Tika 与 Meilisearch 的 ARM64 部署

本文记录在RK3588 ARM64上,为宿主机Cloudreve 4.19.1部署Tika和Meilisearch全文搜索,服务仅监听本机回环端口。本轮只完成依赖部署和局部验证,未开启后台开关、未重建业务索引或扫描历史文件,语义搜索暂未部署。后台需填回环端点,密钥从.env读取,最大20MB、分块1KB。已有文件不会自动入索引,需手动重建;普通Tika无OCR,扫描件和图片不能文字检索。撤销时关闭全文搜索并停止容器,down勿加-v。
[LOG-09]

缺盘也不能卡住开机:RK3588 外置 USB 存储的识别、启动与自动恢复

usb-storage-guard 解决 RK3588 盒子外接 USB 盘的缺盘阻塞开机和容器旧挂载视图问题。它按 UUID 识别盘,禁用服务直接开机入口,将外盘容器 restart 改为 no,守护无外盘依赖;盘回来自动拉起业务。守护还会复核容器内绑定,纠正盘后挂载仍见 eMMC 空目录的旧视图,并支持自动发现外盘 bind、暂停与手停持久化。实测覆盖缺盘、错误 UUID、只读和恢复,但未做真实拔插、断电或缺盘整机重启验收。
[LOG-10]

RK3588 动态调频改造:schedutil 加 80°C 温度守护的部署与实测

针对 RK3588 主机 ztl A588,文章把厂商长期 performance 的 CPU 调频改回内核 schedutil 动态策略,并叠加 80°C 温度守护:监测全部热区,≥80°C 时把所有 CPU 策略最高频率限至 1.2 GHz,≤75°C 连续三次后恢复原上限。改动于 2026-10-08 完成,未修改内核、设备树、固件、GPU/NPU 与硬件加速链路。守护管理三个 policy,小核 408 MHz–1.8 GHz、大核 408 MHz–2.256 GHz,轮询 2 秒;传感器异常或启动温度过高时保守限频。20 项单元测试及实机升降频、回滚验证通过。它不是温度恒定器,且未做整机重启、真实 80°C 长时烤机和功耗测量。
[LOG-11]

Cloudreve 离线下载 panic 修复:在 RK3588 上自建 aria2 组件

Cloudreve 4.19.1 离线下载报错,根因是主节点只配 provider=aria2,缺少 aria2 子配置且未装下载器,导致空指针 panic。修复不升级、不重启本体,在 RK3588/Ubuntu 24.04 新建独立 aria2 1.37.0 容器,仅回环发布 6800,随机 RPC 令牌,非 root、只读 rootfs、资源受限,并配合 usb-storage-guard 与外盘挂载;再用 manage.py 经官方 API 补全节点配置。验证 API 返回 1.37.0,认证 RPC 正常,未认证和局域网访问被拒,真实下载 LICENSE 35146 字节且 SHA256 一致,原有失败任务未重试。回退须先关闭主节点离线下载再停容器,不能清空子配置却保留 provider。未实测 BT、大文件、断电与缺盘重启。
[LOG-12]

HDMI-IN 接不进 OBS?从 V4L2 根因到 HPD 卡顿的完整修复

RK3588板载HDMI-IN OBS黑屏Unable to set input -1。因rk_hdmirx不实现输入ioctl,OBS强制set_input。解决:用v4l2loopback建虚拟摄像头,ffmpeg将/dev/video52的NV12透传进去,OBS采集,先桥接后开OBS。无信号时重启会风暴,脚本改为等信号锁定并退避;HPD导致Windows5.73秒卡顿,音频恢复后需重开OBS。稳定采集4KNV12与HDMI音频。
[LOG-13]

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

文章对比 Linux Bridge 与 OVS,并给出飞牛NAS(Debian 12)嵌套虚拟机桥接教程。Linux Bridge 内核原生、简单稳定、性能好,适合 KVM/libvirt 和嵌套场景,但功能少,不支持 SDN、VXLAN/GRE 等;OVS 支持 OpenFlow、VLAN、VXLAN/GRE、QoS、流表与 sFlow,适合 OpenStack、SDN 和多租户,但部署复杂、有性能损耗且排障难。教程用 NetworkManager 创建 br0 并绑定物理网卡,配置 libvirt 桥接网络,再为 VM 添加 virtio 网卡,使嵌套 VM 直接获得局域网 IP;Windows VM 需装 VirtIO 驱动。该场景推荐 Linux Bridge,生产 KVM 也优先;大型云平台、SDN 研究、跨主机 Overlay 或精细 QoS 再选 OVS。
[LOG-14]

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

文章介绍为虚拟机开启磁盘空间回收(TRIM)。先用virsh list查看运行中的虚拟机,再用virsh edit虚拟机名称,在driver行添加discard='unmap',保存后开机。Linux执行fstrim -av回收空闲空间;Windows安装virtio驱动后,通过碎片整理和优化驱动器,确认媒体类型并优化。若仍不回收,需删除快照后重试。Linux用fstrim.timer,Windows每天运行。
[LOG-15]

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

KSM内存去重适合虚拟化场景,多个VM运行同一OS时,内存几乎只占用一个虚拟机多一点;代价是频繁扫描带来CPU开销,内存越大开销越大。它要求内存相同才能合并,因此对克隆尤其链式克隆的虚拟机效果最好,实测链式克隆的12G虚拟机内存可合并到2G。开启时可设置运行参数并关闭smart_scan以跳过未命中页;若内存未降,可提高扫描强度至2000、间隔10,约10-30秒见效。永久生效可写入脚本并由systemd开机启动。
[LOG-16]

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

飞牛NAS(fnOS)在GPT分区、MD RAID、LVM及ext4/btrfs架构下,可将磁盘从50G在线扩容到55G。扩容前需在虚拟化平台扩盘并让系统识别,先确认RAID模式、VG/LV名称和文件系统类型。流程依次修复GPT、扩展分区、扩展MD RAID、pvresize、lvextend和扩展文件系统;ext4与btrfs都支持在线扩容,最后一步命令不同。RAID1可在线扩展,Linear需停阵列、卸载后重组装,也可经网页卸载简化。在线扩容通常安全但仍应备份,缩容更危险;飞牛默认禁用root,需sudo。
[LOG-17]

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

本教程介绍在 FnOS 上用 virtio-9p 将宿主机目录共享给 KVM 虚拟机。无需网络配置,经 virtio 总线传输,性能优于 NFS/Samba,适合共享模板、大容量存储和多虚拟机共用目录。操作需确保共享目录及整条路径权限正确;关闭虚拟机后用 virsh 修改 XML,添加 filesystem 设备,target 标签须与虚拟机内挂载名一致;启动后加载 9p 模块并挂载,可写 fstab 自动挂载。passthrough 性能最佳,权限异常可改 mapped-xattr,多目录用不同标签。常见问题有标签不匹配、路径权限和无法写入;删除时卸载并移除 XML 设备。
[LOG-18]

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

飞牛NAS(FnOS)可用qcow2 backing file实现KVM虚拟机链式克隆。克隆仅存与模板的差异,创建秒级完成,初始约256KB至数百KB,适合批量部署。创建并配置源虚拟机,Windows先执行sysprep并关机;用virsh确认名称和磁盘,复制源qcow2为模板镜像并设为444只读;用qemu-img create -b基于模板生成克隆盘,再在飞牛中新建虚拟机导入qcow2开机。模板不可修改或删除,否则克隆无法启动;克隆与模板共享hostname、MAC、SSH密钥等,首次启动应改hostname并重新生成SSH密钥。
[LOG-19]

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

内核级升级可能导致自装显卡驱动无法加载。应先确认原安装驱动的确切版本,可从驱动源文件名读取版本号,并据此替换后续命令。随后用DKMS完全移除现有模块,再重新添加、构建和安装。接着更新initramfs,手动加载nvidia、nvidia_uvm、nvidia_drm、nvidia_modeset模块。最后运行nvidia-smi验证驱动信息能正常输出,再重启系统,让飞牛正确识别显卡。
[LOG-20]

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

DG1驱动挂掉后,先用lspci确认DG1/Iris Xe已被识别,再用dmesg和lshw排查;若i915提示设备4908未正确支持且显示UNCLAIMED,说明驱动未认领设备。原因是内核按已知设备ID白名单加载,DG1的4908与force_probe=7d55不匹配,导致拒绝加载。修复:编辑/etc/default/grub,将force_probe改为4908,或改为*强行加载所有驱动,再更新grub并重启飞牛。注意稳定性风险。
[LOG-21]

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

教程针对飞牛英伟达560驱动卸载不彻底:会导致开机加载报错,影响后续vGPU等驱动安装,即使删除文件仍会加载。作者经GPT-5分析脚本并双重测试,给出清理方法。需先在应用商店卸载560,再以root SSH执行:停止相关服务并结束占用/dev/nvidia*进程,清除nvidia-driver-trim及库包,卸载并删除nvidia内核模块文件,重建模块依赖和initramfs,删除nouveau blacklist、包数据及/var下残留nvidia文件。重启后不再报错即成功,之后可安装其他显卡驱动。
[LOG-22]

Docker调用英伟达GPU标准方案

NVIDIA Container Toolkit 是桥接容器运行时与主机 GPU 驱动的工具集,使 Docker、containerd、Podman、Kubernetes 能运行 GPU 容器。它支持 --gpus all 启用 GPU,保证 CUDA 与驱动兼容、避免冲突,并可精细控制 GPU。安装前需装驱动并配置科学上网或全局代理;添加仓库密钥和包源后安装 nvidia-container-toolkit,按需将 Docker 配置为默认 NVIDIA 运行时。测试运行 CUDA 容器并执行 nvidia-smi,显示显卡信息即成功。
[LOG-23]

使用雷池做授权登录来保护NAS

文章讲飞牛有公网IP时的单机模式:添加站点、配置授权登录,并添加局域网IP组后启用授权登录。使用公网IP加雷池监听端口访问,非局域网需身份验证,局域网免验证。若只能网页访问、无法使用飞牛APP,可添加当前公网IP解决。安全上应关闭路由器对飞牛5666、5667端口的转发,只转发雷池监听端口;IPv6可在飞牛防火墙阻止,因飞牛默认防篡改不能直接改默认规则。内网穿透自建Frp方法相同,但雷池装在Frpc上,站点反代到内网穿透监听端口,并阻止其余端口,只允许走雷池监听端口。
[LOG-24]

Windows全版本开启远程远程桌面连接服务

文章指出,Windows主要依赖图形化,除VMware外的虚拟机在VNC下可能出现画面延迟、卡顿,因图像渲染需消耗性能;VNC主要用于故障排除,只要虚拟机上电就有画面输出。内容按系统分为Windows10、Server2019及以上,以及Windows7、Server2016、2012版本,后者可通过“此电脑”右键或控制面板操作。远程连接时,被控端用Win+R运行cmd并输入ipconfig查看IP;控制端输入该IP,账户一般为administrator或安装系统设置的用户名,密码为自设密码。传输文件或复制文本时,可在远程端复制,再到被控端直接粘贴。