PVE 9 全盘加密:LUKS2 + TPM2 + USB Key
本文记录了如何为 Proxmox VE 9 部署全盘加密系统。相较于之前的文章,这次我们将实现 TPM2 和 USB Key 等多种自动解锁方式,特别适合需要加密保护的边缘节点部署场景。
注意这篇文章会涉及到大量的mermaid图表加载会比较慢。
本文记录了如何为 Proxmox VE 9 部署全盘加密系统。相较于之前的文章,这次我们将实现 TPM2 和 USB Key 等多种自动解锁方式,特别适合需要加密保护的边缘节点部署场景。
注意这篇文章会涉及到大量的mermaid图表加载会比较慢。
自建 Kubernetes 最烦的一件事,是 Service type=LoadBalancer 没有云厂商给你分配 VIP。MetalLB 能补上 L2/BGP 通告,但数据面还是走内核协议栈;LoxiLB 换了个思路,把转发逻辑放进 eBPF,由 kube-loxilb 监听 Service 和 EndpointSlice,把规则下发给 LoxiLB。
我以前访问 Homelab 的方式很典型:WireGuard 连回内网,再从一台跳板机 SSH 到其他机器。能用,但有几个绕不过去的问题:
零信任的思路反过来:不因为你在内网就信任你,每次连接都要重新验证身份,并且只授权到具体的 Target。HashiCorp Boundary 就是做这件事的:用户先通过认证方法(密码、OIDC、LDAP 等)登录,再按 Role/Grant 决定能不能连接某个 Target;实际的连接由 Worker 代理,用户不需要拿到目标机器的网络位置或长期凭据。
我有两台比较重的笔记本,每天背来背去不太现实;轻便机器的性能又不够,尤其是同时开几十个网页、再跑几个实验环境的时候,内存很快见底。
与其在本地堆硬件,不如把桌面和应用放到 Homelab,用浏览器按需开一个容器化工作区。Kasm Workspaces 正好符合这个思路:每个会话是一个 Docker 容器,底层用 KasmVNC 把桌面串流到浏览器,支持多用户、组权限和 SSO。
当团队需要把分散的计算资源统一管理,无论是要管科研课题组的 GPU 服务器、跑生物信息的批量分析,还是给 AI 训练集群做算力调度,Slurm 都是常见选择。它在资源分配、公平调度和记账审计上已经过大规模验证。
Slurm 的文档很多,但从零搭一套生产可用的集群,还是要自己在官方手册、邮件列表和各种博客之间拼。这篇把单节点验证到多节点部署的过程串起来,重点补官方文档里讲得少的运维部分:cgroup v2 资源隔离的实际行为、slurmctld 主备切换怎么测试、节点健康检查脚本、多租户 QoS,以及学校场景里的 Lmod 和 LDAP/SSSD。
本文在以下环境做过实际验证:
22.05.8-4+deb12u3,安装命令见下文StateSaveLocation,多节点调度、cgroup、记账、QoS、主备切换、Lmod、LDAP/SSSD 登录、CephFS 共享目录、pam_slurm_adopt 都实际跑过,结果见文末“实测环境与结果”slurmfs,实际部署时把它换成你的文件系统名,cephx cap 也要跟着改如使用 SchedMD 官方源安装 23.02+ 或 24.05+ 版本,部分参数名称可能有差异;25.05 起 select/cons_res 插件已移除,要改用 select/cons_tres。请对照对应版本的官方文档。
文章按部署、使用、多租户、运维、实测的顺序展开,篇幅较长;只看结果的读者可以直接跳到文末“实测环境与结果”。