从零搭建企业虚拟化平台——序章:背景、目标架构与全虚拟实验的可行性
从零搭建企业虚拟化平台——序章:背景、目标架构与全虚拟实验的可行性 本系列尝试以一个完整的工程项目为脉络,从零搭建一套企业级虚拟化平台:以 VMware vSphere 为计算与调度核心,辅以共享存储与高可用机制,并由 Active Directory 支撑统一身份与基础服务(DNS、NTP)。为使每一项技术选择都有据可依,全系列围绕一家虚构企业的真实诉求展开——架构中的每一个组件,都对应着这家企业必须解决的某个具体问题,而非为部署而部署。 需要先行说明的是,整套实验将完全在一台笔记本电脑上、以嵌套虚拟化(nested virtualization)的方式完成,不依赖任何额外的物理服务器。本篇作为序章,先交代背景设定与目标架构,并就「全虚拟是否可行」这一前提性问题给出结论。 背景设定 砚行物流是一家约三百人规模的区域仓配与电商企业(为贯穿实验而虚构)。其信息系统在多年自然生长之后,积累了若干典型的结构性问题。 业务系统分散运行于数台独立的物理服务器之上,彼此缺乏冗余,任意一台宕机都可能导致一条业务线停摆;全公司没有统一的身份体系,每台服务器各自维护一套本地账号,权限难以集中管控...
YubiKey 5 实践指南——用一把硬件密钥统管 FIDO2、SSH、PIV、OpenPGP 与 TOTP
YubiKey 5 实践指南——用一把硬件密钥统管 FIDO2、SSH、PIV、OpenPGP 与 TOTP 买 YubiKey 之前我一直觉得硬件密钥(hardware security key)是种偏执的东西——密码管理器加上手机验证器,难道还不够安全吗。真正让我改主意的不是某次安全事件,而是一个朴素的认识:我所有的「第二因素」其实都长在同一台手机里,验证器 App、短信、Passkey 全在那块屏幕后面。手机一旦丢失或被攻破,这层防线是同时塌的。YubiKey 5 解决的就是这件事——它把私钥这种最敏感的材料锁在一块独立的、无法被软件读出的芯片里,让认证这一步必须有「物理在场」才能完成。 这篇文章是我围绕一把 YubiKey 5 NFC 把日常认证逐项迁移过去的完整记录,覆盖四种主要用途:用 FIDO2 登录网站、用它做 SSH 认证、用 OpenPGP 加密与签名、以及替代手机上的验证器 App 生成 TOTP 验证码。命令以 ArchLinux 为主,Windows 的差异之处会单独标出来。 YubiKey简介 YubiKey 不是一个「U 盘」,把它理解成一张装了好几...
GPG 多设备提交签名——离线主 key + 每台设备独立 subkey
GPG 多设备提交签名——离线主 key + 每台设备独立 subkey 我有五个工作环境——两台 Windows、各自的 WSL、外加一台 ArchLinux 笔记本——都要往同一个仓库推代码。需求是:让 GitHub 上每个 commit 都显示 Verified,同时多台机器之间的密钥要好管理、好吊销。如果图省事把同一把私钥拷到每台机器,丢一台就等于整个身份泄露,得吊销后所有机器重新配置一遍——这正是要避免的。 这篇是整个配置过程的完整记录,供以后加设备、续期、处理设备丢失时翻阅,也供想搭同样结构的人参考。文中的密钥指纹(fingerprint)、key ID、keygrip 都不是机密,可以照抄;唯一的机密是主 key 的密码,只存在密码管理器里,不写进任何文件。 1 为什么是这套结构 后面所有操作都是从三个设计选择推出来的,先把它们讲清楚,比直接抄命令重要得多。 为什么用 GPG,而不是 SSH 签名。 Git 现在也支持用 SSH key 签 commit,配置更省事。但我选 GPG 图的是一个长期独立性(long-term independence):GPG 签名只...
坎特伯雷大学机械工程硕士课程介绍——基于本人所选课程(Semester 1)
本文中的课程评价均为本人在Semester 1修读期间的个人体会,带有主观性,不代表课程的客观水平。坎特伯雷大学的授课内容、考核方式与任课教授每年都可能调整,本文所述未必与你将来实际遇到的情况一致。以下内容仅供选课参考,具体请以学校官方课程大纲及最新通知为准。 坎特伯雷大学机械工程硕士课程介绍——基于本人所选课程(Semester 1) ENME603-26S1 — Advanced Linear Systems Control and System Identification 课程内容 本课程包含两条主线:线性系统控制(Linear Systems Control) 为讲授与考试的主体,系统辨识(System Identification) 则以课后 Quiz 的形式单独考核,Test 与 Exam 不涉及。 在 26S1,本课程尝试将全部学习内容录制为视频并上传至 Learn 平台,线下课堂则用于讲解学生提出的疑问、共性问题以及作业。教授最后对学生进行了相关调研,但此后的授课形式尚不确定。 线性控制部分以状态空间(State Space)方法为主线,依两次 Test 分...
Archlinux安装——UEFI 全盘加密(btrfs LUKS) 安全启动(systemd-boot UKI) TPM2自动解锁 基于ThinkPad X1 Carbon Gen 9(2021)
作者声明:本文整理自在 ThinkPad X1 Carbon Gen 9(2021)上的一次完整安装与日常使用过程,带有个人取舍,不代表唯一或最佳实践。详细信息请参考https://wiki.archlinuxcn.org/ Archlinux安装——UEFI 全盘加密(btrfs LUKS) 安全启动(systemd-boot UKI) TPM2自动解锁 基于ThinkPad X1 Carbon Gen 9(2021) 0 这套架构在解决什么问题 在动手之前,有必要先理清整套配置的逻辑。全盘加密、安全启动、UKI 与 TPM2 这四样东西并不是各自独立的功能堆叠,而是环环相扣、彼此补位的: LUKS 全盘加密 解决的是"设备丢失或被盗"——硬盘一旦离开本机,就只是一堆无法读取的密文。代价是每次开机都要手动输入一长串解密密码。 TPM2 自动解锁 把这把密码交给主板上的 TPM 芯片保管,开机自动放行,省去手输。但它随即带来一个新问题:如果有人物理接触机器、替换了内核或往引导链里塞了东西,TPM 是否还会乖乖交出钥匙? 安全启动 + UKI(Measure...
PCB设计注意事项——MOSFET的不同封装
PCB设计注意事项——MOSFET的不同封装 在最近的PCB设计中,我遇到了一个典型但极易被忽略的硬件错误,特此记录以作备忘。这个项目涉及到一个基础的低侧开关(low-side switch)电路,使用 N 沟道 MOSFET 来驱动一个 LED 负载。 1 现象与问题诊断 不同的 MOSFET 封装有着截然不同的引脚排列。 我使用的MOSFET型号是2N7002,其引脚示意图如图1所示。 图1 2N7002引脚示意图 图2为原理图,MOSFET选择了正确的引脚布局,其中控制信号(Signal_In)连接到引脚1,地(GND)连接到引脚2,负载(LED D1 和限流电阻 R6)连接到引脚3。这对应的是 G-S-D 的引脚顺序: 引脚1:栅极(Gate),接收驱动信号; 引脚2:源极(Source),接地参考; 引脚3:漏极(Drain),接入负载。 图2 使用正确引脚布局的原理图 但第一次绘制原理图时,我错误地套用了一个 D-G-S 排列的封装符号。此时的等效原理图如图3所示。 图3 错误引脚分配的等效原理图 错位...
在Ubuntu24.04上部署LNMP并安装WordPress
作者声明:在本文发布时间,本人完整测试了以下所有指令均可正常使用,所有服务能够成功部署。但软件更新迭代速度较快,如软件配置与本文存在差异,以其官方手册为准。 在Ubuntu24.04上部署LNMP并安装WordPress LNMP系统架构: Linux:操作系统————Ubuntu24.04 Nginx:Web服务器————Nginx1.24.0 MySQL:数据库————MySQL8.0.45 PHP:后端运行环境————PHP8.3 1 安装前的准备 使用root用户登录服务器,如果没有root权限,需要在命令前加上sudo 1 更新软件源 1apt update 2 更新软件包并应用安全更新 1apt upgrade 注意: 时再次执行apt update我们可能发现还有软件包可以升级 但是执行apt upgrade或apt dist-upgrade会提示这些软件包会被保持原版本 此时我们可以执行apt list --upgradable列出这些软件包并执行apt install 软件包名来将这些软件包强制更新至最新 2 安装PHP 1ap...
线性系统控制1——状态空间模型
线性系统控制1——状态空间模型 在分析动态系统时,我们通常会面对一个核心问题:如何用数学语言准确描述物理世界的行为?无论是机械系统中的振动控制,还是电路系统中的信号处理,我们最开始接触的工具往往是微分方程。然而,随着系统复杂度的提升,状态空间表示法逐渐成为了现代控制理论的核心。 1 经典视角:高阶微分方程 微分方程是我们描述物理系统动态特性的直观工具。它通过系统变量及其各阶导数之间的关系,揭示了系统是如何随时间演化的。 以一个经典的机械系统——质量-弹簧-阻尼系统为例。其示意图如图1所示。 图1 质量-弹簧-阻尼系统示意图 根据牛顿第二定律,我们可以写出如下的二阶常微分方程: my¨(t)+cy˙(t)+ky(t)=u(t)m\ddot{y}(t) + c\dot{y}(t) + ky(t) = u(t) my¨(t)+cy˙(t)+ky(t)=u(t) 其中: y(t)y(t)y(t) 是系统的位移输出 u(t)u(t)u(t) 是外部施加的力(输入) m,c,km, c, km,c,k 分别代表质量、阻尼系数和弹簧刚度 这个系统是一个经典...
Hello World——建站时间戳
Hello World——建站时间戳 本站以该文章创建时间作为站点上线时间 2026-03-26 20:01:01 (UTC+13) 2026-03-26 15:01:01 (UTC+8)