惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
Martin Fowler
Martin Fowler
H
Help Net Security
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
Kaspersky official blog
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 最新话题
S
Schneier on Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
AI
AI
The Hacker News
The Hacker News
Latest news
Latest news
D
Darknet – Hacking Tools, Hacker News & Cyber Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
GbyAI
GbyAI
SecWiki News
SecWiki News
C
Check Point Blog
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
V2EX - 技术
V2EX - 技术
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
U
Unit 42
Attack and Defense Labs
Attack and Defense Labs
Security Latest
Security Latest
Help Net Security
Help Net Security
博客园 - Franky
L
LINUX DO - 热门话题
N
News and Events Feed by Topic
Cloudbric
Cloudbric
P
Proofpoint News Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园 - 【当耐特】
Schneier on Security
Schneier on Security
Google Online Security Blog
Google Online Security Blog
C
Cisco Blogs
Webroot Blog
Webroot Blog
C
CERT Recently Published Vulnerability Notes
Simon Willison's Weblog
Simon Willison's Weblog
A
Arctic Wolf
O
OpenAI News
T
Threat Research - Cisco Blogs
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Last Watchdog
The Last Watchdog

WAYJAM

告别 NPM Token:迁移到 Trusted Publishing 全记录 Sing-box:IPv6 优先出站与 Netflix 强制 IPv6 分流 [All In One] HomeLab 虚拟化 iKuai + Mihomo - IPv6 支持 [All In One] HomeLab 虚拟化 iKuai + Mihomo LiteLLM 多模型 API 中转 MacOS Bootstrp with Nix Fluency Support Full Rss Tabby 终端配置以及配置全平台同步 Cloudflare Tunnel + Nginx Proxy Manager:服务穿透 PVE 7 升级 8 笔记 PVE 安装 Android x86 & 安装 Magisk Fly.io 部署 Artalk 评论系统 [All In One] HomeLab 2023 搭建总结 [All In One] 轻量的文件 & 媒体服务器配置 [All In One] R71s 主机散热改造 [All In One] PVE LXC 安装 OpenWrt 软路由以及网络规划 [All In One] 安装 Proxmox VE 7.4 从零开始配置Rime - 2023 Self Hosted Bitwarden + Cloudfare HTTPS Debian NFS Server 以及 MacOS Client AdguardHome 和 Clash 透明代理配合使用 使用 Kind 部署 Prow 手记 BackBlaze B2 + Cloudfare Worker 图床 PicGo Amazon S3 插件 自动给模板生成 Inline-Svg Hugo Theme WeUI 发布! Hugo Theme Fluency 发布! Docker Clash 和 透明代理 有限状态机与分布式熔断器 「家庭娱乐」N1刷 EmuELEC 做游戏盒子 「家庭娱乐」N1刷 Armbian 做家庭服务器 分布式限流器之令牌桶实现 Kustomize 管理 Kubernetes 集群 Mixedpaper 主题发布到 Hugo 官方仓库 About 优化 Docker 构建时间 解决 etcd 与 grpc 不兼容问题 Kubernetes 部署 ElasticSearch7 集群 从零开始配置Rime - 2019 转移域名,更换评论系统,更换图床 搭建 NPM Proxy 之预编译包 搭建 NPM Proxy 美区Apple ID终于绑定PayPal成功 无可奈何的页面增强方案 LogStash的调试 GitLab Shell如何通过SSH工作 Python打开类 荒原 [Theme] Bitcron主题Mixedpaper发布! Ngrok端口转发 故事之五 - 柠檬茶 故事之四 - 我是天才 故事之一 Arch滚挂了怎么办? OpenWrt内网IPv6之二 某次更新后Primusrun不能启动Dota2 OpenWrt的DNS智能解析方案 替换Google CDN库 使用Privoxy将socks代理转化为http代理 ArchLinux之软件篇 再次安装ArchLinux手记 博客再次重生 搞了个Minecraft服务器 【LnV工作室荣誉出品】小苹果MV华农大版 雨梦 醉臥石中笑人間 路由器内网IPV6地址分配 OPENWRT安装软件的两个问题 路由器上进行锐捷认证 改了BIOS的LOGO Windows下搭建我的C/C++的开发环境 Linux下用Mentohust认证校园网 Archlinux+Windows 双系统安装手记(UEFI+GPT) Google-code-prettify代码高亮 《末世迷踪》 Hello Net World!
[All In One] PVE 中 OpenWrt LXC 重启问题
2024-08-18 · via WAYJAM

从去年开始,我的 OpenWrt 是安装在 PVE 中的 LXC 容器中,但一直以来都有一个问题,OpenWrt 关机后就无法再次启动了。

我是将 enp6s0(有线网卡)、wlp2s0(无线网卡)硬件直通给 LXC 容器:

lxc.net.0.type: phys
lxc.net.0.link: enp6s0
lxc.net.0.flags: up
lxc.net.1.type: phys
lxc.net.1.link: wlp2s0
lxc.net.1.flags: up

查看 LXC 的启动日志发现网卡重命名失败:

faile to rename network device physNBNrWC to enp6s0
lxc_network_move_created_netdev_priv: 3549 invalid argument - Failed to move network device "wlp2s0" with ifindex 11 to network namespace 539922 and rename to physxAAvs5
lxc_spawn: 1840 failed to create the network

通过 dmesg 也是发现重命名失败的信息,尝试给 LXC 配置中网卡增加明确的命名 lxc.net.0.name: wan 后,有线网卡不再出现重命名失败。

但是无线网卡 PVE 依然无法操作成功。通过 ip link show 发现,LXC 关闭后,原有物理接口 wlp2s0 也消失了,网卡丢失一段时间,然后大概 5-10 分钟之后,接口重新出现,并且正常使用。怀疑是否是设备出现了问题

root@pve:~# lspci -k | grep -i wire -A 2
02:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
        Subsystem: Foxconn International, Inc. MT7922 802.11ax PCI Express Wireless Network Adapter
        Kernel driver in use: mt7921e
        Kernel modules: mt7921e

另外通过lsmod |grep 7921(网卡驱动),发现驱动加载正常,即便 modprobe mt7921e 重新加载驱动也没有效果。怀疑是否是电源管理导致设备进入了某种状态。在 PVE 主机和 OpenWrt 内部使用 iw 将无线网卡的电源管理禁用也没有效果。

使用 rfkill 查看是否有被 软/硬 禁用,也正常:

root@pve:~# rfkill list
0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
1: hci0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

最终无奈之下尝试将设备重置,竟然成功了!

echo /sys/bus/pci/devices/02:00.0/remove # 设备号使用 lspci 获取
echo "1" > /sys/bus/pci/rescan

解决方案

LXC 容器的配置增加关机后置脚本:

root@pve:~# vi /usr/local/bin/pcie_hot_reset.sh # (脚本内容)
root@pve:~# chmod +x /usr/local/bin/pcie_hot_reset.sh

root@pve:~# tail /etc/pve/lxc/100.conf
lxc.hook.post-stop: /var/lib/lxc/openwrt_post_stop.sh

root@pve:~# cat /var/lib/lxc/openwrt_post_stop.sh
/usr/local/bin/pcie_hot_reset.sh 02:00.0

脚本参考@alex.forencich 的回答 https://unix.stackexchange.com/questions/73908/how-to-reset-cycle-power-to-a-pcie-device