diff --git a/docs/tech/OPNsense-26-1-Install-and-Configuration.md b/docs/tech/OPNsense-26-1-Install-and-Configuration.md new file mode 100644 index 0000000..68875f0 --- /dev/null +++ b/docs/tech/OPNsense-26-1-Install-and-Configuration.md @@ -0,0 +1,175 @@ +# 安装与配置 OPNsense 26.1 + +## 局域网设备安排 + +| IP | 设备 | MAC | +| :----------: | :----------------------: | :---------------: | +| 192.168.1.1 | CatTomServer0 - OPNsense | \ | +| 192.168.1.2 | CatTomServer0 - Proxmox | \ | +| 192.168.1.3 | \ | \ | +| 192.168.1.4 | \ | \ | +| 192.168.1.5 | CatTomServer1 | 54:f6:c5:f4:98:b0 | +| 192.168.1.6 | \ | \ | +| 192.168.1.7 | CatTomServer2 | 24:5E:BE:69:90:C9 | +| 192.168.1.8 | CatTomServer3 | (vmbr0) | +| 192.168.1.9 | CatTomServer3-2 | \ | +| 192.168.1.10 | CatTomServer3-1 | \ | + +## 环境 + +- 幻网 N5000 +- Proxmox 9.1 + +## 镜像下载 + +[Download - OPNsense](https://opnsense.org/download/) + +- System architecture: `amd64` +- Select the image type: `dvd` +- Mirror Location: `Peking University open source software mirror` +- 哈希算法: `SHA256` +- 解压缩算法: `BZIP2` + +## 虚拟机创建 + +### 常规 + +- 名称: (随意) +- 开机自启动: True +- 启动/关机顺序: 0 +- 启动延时: 0 + +### 操作系统 + +- ISO 镜像: `OPNsense-26.1.2-dvd-amd64.iso` + +### 系统 + +- 显卡: 默认 +- 机型: `q35` +- BIOS: `OVMF (UEFI)` + - 添加 EFI 磁盘: True + - 格式: `QEMU 映像格式 (qcow2)` + - 预注册密钥: True +- Qemu 代理: True + +### 磁盘 + +- 总线/设备: `SCSI` `0` +- 缓存: 默认 (无缓存) +- IO thread: True +- 磁盘大小(GiB): 50 +- 格式: `QEMU 映像格式 (qcow2)` +- SSD 仿真: True +- 备份: True + +### CPU + +- 插槽: 1 +- 核心: 4 +- 类别: `host` +- Extra CPU Flags: + - `aes`: On + +### 内存 + +- 内存(MiB): 4096 +- 最小内存(MiB): 2048 +- Ballooning 设备: True + +### 网络(WAN) + +- 桥接: `vmbr0` +- 模型: `VirtIO (半虚拟化)` +- **防火墙: False** +- Multiqueue: (与 CPU 核心数相同) + +### 网络(LAN) + +- 桥接: `vmbr1` +- 模型: `VirtIO (半虚拟化)` +- **防火墙: False** +- Multiqueue: (与 CPU 核心数相同) + +## 安装 OPNsense + +### 分配网络接口 + +> Press any key to start the manual interface assignment + +此时,系统正在等待用户决定是否手动分配网口,需要在倒计时结束之前,按下键盘任意按键进入网口分配流程。 + +> Do you want to configure LAGGs now? + +系统提示是否配置 LAGGs ,输入 n 并回车 + +> Do you want to configure VLANs now? + +系统提示是否配置 VLANs ,输入 n 并回车 + +> Enter the WAN interface name or 'a' for auto-detection: + +系统等待输入 WAN 对应的网口名称,或输入 a 进行自动探测。 + +此时,需要根据 Valid interface 列表中的信息,选择 WAN 对应的网口。 + +WAN 口分配完成后,系统会提示如下信息: + +> Enter the LAN interface name or 'a' for auto-detection +> NOTE: this enables full Firewalling/NAT mode. +> (or nothing if finished): + +表示系统等待输入 LAN 对应的网口名称,或输入 a 进行自动探测。 + +而且一旦分配了 LAN ,OPNsense 将默认激活 防火墙 和 NAT 相关功能。 + +如果不想指定任何 LAN ,留空即可。 + +LAN 口分配完成后,系统会提示如下信息: + +> Enter the Optional interface 1 name or 'a' for auto-detection +> (or nothing if finished): + +表示系统等待用户输入 OPT1 (可选网口)对应的网口名称,或输入 a 进行自动探测。 + +如果用户不想指定任何 OPT1 ,留空即可。 + +本文后续将会创建内部网桥,因此不对其分配网口,直接按 回车键 结束网口分配流程。 + +> Do you want to proceed? + +系统将展示当前网口分配结果,并询问是否执行,输入 y 并回车。 + +### 登录安装账户 + +使用账户 installer 和默认密码 opnsense 进行登录,进入系统安装流程。 + +与 Linux 系统一样,输入密码时不会有任何提示符出现。 + +### 配置文件系统 + +OPNsense 从版本 24.7 开始,默认使用 ZFS 作为文件系统,保持默认选择的 Install (ZFS) ,按 回车键 继续。 + +由于只有一块硬盘,因此 ZFS 冗余模式选择 `stripe` 。 + +### 安装完成 + +选择 Complete Install ,按 回车键 继续。 + +## qemu-guest-agent 插件 + +## Mihomo + +https://wiki.metacubex.one/startup/service/ + +https://github.com/MetaCubeX/mihomo/releases/download/v1.19.21/mihomo-linux-amd64-v3-v1.19.21.gz + +gzip -d mihomo-linux-amd64-v3-v1.19.21.gz + +mv mihomo-linux-amd64-v3-v1.19.21 mihomo + +sudo mv mihomo /usr/local/bin/ + +## 参考 + +[CallMeR/opnsense_configuration_notes: OPNsense 防火墙的安装以及折腾手记](https://github.com/CallMeR/opnsense_configuration_notes) \ No newline at end of file diff --git a/docs/tech/Proxmox-9-Install-and-Configuration.md b/docs/tech/Proxmox-9-Install-and-Configuration.md index 2004c54..52cc3c4 100644 --- a/docs/tech/Proxmox-9-Install-and-Configuration.md +++ b/docs/tech/Proxmox-9-Install-and-Configuration.md @@ -1,15 +1,183 @@ # 安装与配置 Proxmox 9 -## 制作 USB 启动介质 +## 环境 -## UEFI +- 幻网 N5000 + +## 制作 USB 启动盘 + +- [Rufus](https://rufus.ie/zh) +- [Ventoy](https://www.ventoy.net/cn/index.html) + +## 安装 + +按 `` 进入启动项菜单。 + +选择 `Install Proxmox VE (Graphical)`。 + +点击 `I agree`。 + +选择服务器的系统盘,点击 `Options` 可以选择文件系统 `ext4`,下面进一步设置分区: + +- hdsize (硬盘总容量): (保持默认) +- swapsize (虚拟内存): `4` +- maxroot (local(系统分区)最大容量): (按实际情况 `30`) +- maxvz (local-lvm(数据分区)的最大容量): (按实际情况,可不填) +- minfree (预留的未分配空间): `2` + +选择所在国家、时区和键盘布局。 + +输入密码和邮箱地址(建议填写真实地址)。 + +选择 Proxmox 的管理网卡,输入主机名、IP、网关和 DNS 服务器。 + +检查配置内容,点击 `Install`。 ## 软件源 -## 硬盘 +``` bash +sudo nano /etc/apt/sources.list +``` + +``` title="/etc/apt/sources.list" +Types: deb +URIs: https://mirrors.tuna.tsinghua.edu.cn/debian +Suites: trixie trixie-updates trixie-backports +Components: main contrib non-free non-free-firmware +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg + +Types: deb +URIs: https://security.debian.org/debian-security +Suites: trixie-security +Components: main contrib non-free non-free-firmware +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg + +Types: deb +URIs: https://mirrors.ustc.edu.cn/proxmox/debian/pve +Suites: trixie +Components: pve-no-subscription +Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg +``` + +## 关闭订阅提示弹窗 + +来源: [Proxmox VE Helper Scripts](https://community-scripts.org/categories?category=proxmox-and-virtualization&preview=post-pve-install) + +``` bash +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)" + +Disabled subscription nag Yes +``` + +## 存储 + +增加 NFS 存储以存放备份: + +- ID: nas +- 服务器: `nfs-server-ip` +- Export: `/your-nfs-directory` +- 内容: 备份 ## 修改 SSH 配置 -## 内核调优 +参照[此处](https://blog.cattom.site/tech/Commands-for-Server-Operation-and-Maintenance/#ssh)完成。 -## Tailscale \ No newline at end of file +## Tailscale + +``` bash +curl -fsSL https://tailscale.com/install.sh | sh + +tailscale up --authkey [tailscale-auth-key] +``` + +## LVM 存储扩容 + +### 将旧硬盘的数据迁移到新硬盘 + +下载 **Clonezilla(再生龙)** 的 ISO 镜像,并用 Rufus 将其刻录到 U 盘中,制作成启动盘。 + +1. 将全新的 2T NVMe SSD 装入 USB 硬盘盒,插到零刻 SEi12 的 USB 接口上。 +2. 插上做好的 Clonezilla U 盘,重启设备,进入 Boot Menu,选择从 U 盘启动。 +3. 进入 Clonezilla 系统后,按照提示选择: + - 选择 `device-device`(硬盘到硬盘克隆)。 + - 选择 `disk to local disk`(克隆整个本地硬盘)。 + - **关键步骤**:源盘(Source)选择你的旧盘(通常是内部的 NVMe),目标盘(Target)选择你的新盘(通常显示为 USB 设备),**千万别选反了!** + - 选择 `-k1` 参数(可选,但推荐):在克隆时按比例扩大分区表,或者选择默认(后续我们手动扩容,更安全)。 + - 确认并开始克隆。 +4. 克隆完成后,关机。把旧硬盘取下,将装新硬盘换到主板上。 +5. 开机,你的 PVE 应该会和之前一模一样地完美启动。 + +### 扩容 LVM 存储 + +#### 前置步骤: 扩展物理分区和 PV (物理卷) + +1. **确定分区情况**: + + ``` bash + lsblk + ``` + +2. **修复 GPT 分区表**: + + ``` bash + sgdisk -e /dev/nvme0n1 + ``` + +3. **扩展分区** + + ``` bash + cfdisk /dev/nvme0n1 + ``` + + *用上下方向键选择最大的那个分区(通常是 `/dev/nvme0n1p3`),用左右键在底部菜单选择 `[ Resize ]` (调整大小),按回车,它会自动填入最大可用容量,再按回车。然后选择 `[ Write ]` (写入),输入 `yes` 并回车。最后选择 `[ Quit ]` 退出。* + +4. **刷新 LVM 的物理卷(PV)**: + + ``` bash + pvresize /dev/nvme0n1p3 + ``` + +#### 仅有 `local` (系统分区) 的情况下如何扩容? + +如果你的硬盘所有空间都给了 `local`(即 PVE 中的 `/dev/pve/root`),那么只需要把刚刚获得的 1T 空间全部分配给它。 + +1. **扩展逻辑卷 (LV)**: + + ``` bash + lvextend -l +100%FREE /dev/pve/root + ``` + +2. **刷新文件系统**: + + ``` bash + resize2fs /dev/mapper/pve-root + ``` + +#### 在有 `local` 和 `local-lvm` 的情况下如何扩容? + +如果你保留了双分区结构,那么多出来的空间,你通常有两种选择。 + +**方案 A: 把所有新空间全给 `local-lvm`** + +`local-lvm` 的底层名称叫 `/dev/pve/data`,而且它是一个 LVM-Thin 池,**它不需要执行 `resize2fs`**,只要分配了空间立马生效。 + +``` bash +lvextend -l +100%FREE /dev/pve/data +``` + +**方案 B: 雨露均沾** + +如果你觉得旧的 `local` 也不太够用了,想分一部分给它存镜像,剩下的给虚拟机,可以这么操作: + +1. **先给 `local` (root) 增加 100G,并刷新文件系统**: + + ``` bash + lvextend -L +100G /dev/pve/root + resize2fs /dev/mapper/pve-root + ``` + +2. **再把剩下的所有空间都给 `local-lvm` (data)**: + + ```bash + lvextend -l +100%FREE /dev/pve/data + ``` \ No newline at end of file diff --git a/docs/tech/Snippets.md b/docs/tech/Snippets.md index abfb138..080b2fe 100644 --- a/docs/tech/Snippets.md +++ b/docs/tech/Snippets.md @@ -151,6 +151,12 @@ services: [或者: 手动安装所需驱动](https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers#Manual_Installation) +### 启用 QEMU Guest Agent + +- 虚拟机 - (Windows 虚拟机) - 选项 - QEMU Guest Agent +- 使用 QEMU Guest Agent/在备份时冻结/解冻来宾文件系统以实现一致性: True +- Type: 默认 (VirtIO) + ### 参考 [Windows VirtIO Drivers - Proxmox VE](https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers) diff --git a/mkdocs.yml b/mkdocs.yml index b836cf8..fc6c838 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -99,6 +99,7 @@ nav: - "Redmi 4X (santoni)": tech/Redmi4X(santoni).md - "2026年3月18日事故": tech/2026-3-18.md - "定制 Debian 13 镜像": tech/Customize-Debian-13-Image.md + - "安装和配置 Proxmox 9": tech/Proxmox-9-Install-and-Configuration.md - "PicoKeys: YubiKey 的开源平替": tech/Picokeys.md - "手把手教你备份和还原 Docker 卷": tech/Backup-and-Restore-of-Docker-Volumes-A-Step-by-Step-Guide.md - "在 Ubuntu 24.04 上添加交换空间": tech/How-to-Add-Swap-Space-on-Ubuntu-2404.md