87 lines
4.2 KiB
Markdown
87 lines
4.2 KiB
Markdown
# Server B 资产盘点
|
||
|
||
> 采集时间:2026-06-20 17:55-17:59 +08:00
|
||
> 采集方式:SSH 只读命令;未安装软件、未修改配置、未重启服务。
|
||
|
||
## 1. 定位与结论
|
||
|
||
- 规划角色:业务、缓存与监控中心,后续部署 API/Worker、Redis、MySQL、HOMER、Prometheus、Grafana 和 Web。
|
||
- 当前状态:通用 Ubuntu 桌面虚拟机,只有 Node.js 和本地 OpenClaw 进程,业务基础设施尚未安装。
|
||
- 就绪判断:容量可支持原型和小规模联调;生产化之前必须解决网络身份、失败的 NFS 挂载、防火墙和单盘故障域。
|
||
|
||
## 2. 系统与容量
|
||
|
||
| 项目 | 当前值 |
|
||
| --- | --- |
|
||
| 主机名/FQDN | YanZi / YanZi.taileedb6e.ts.net |
|
||
| 虚拟化 | KVM/QEMU |
|
||
| OS | Ubuntu 24.04.4 LTS |
|
||
| 内核 | 6.17.0-23-generic |
|
||
| CPU | 4 vCPU,QEMU Virtual CPU,1 socket/4 cores |
|
||
| 内存 | 7.8 GiB,总可用约 6.4 GiB |
|
||
| Swap | 4.0 GiB,当前未使用 |
|
||
| 系统盘 | 200 GiB ext4,根分区 196 GiB |
|
||
| 磁盘使用 | 已用 26 GiB,可用 161 GiB,使用率 14% |
|
||
| 时间 | Asia/Shanghai,systemd-timesyncd 已同步 |
|
||
| HugePages | 0 |
|
||
|
||
只有单块系统盘,数据库、Redis、录音、日志和监控数据目前没有独立磁盘或独立故障域。
|
||
|
||
## 3. 网络
|
||
|
||
| 接口 | 地址 |
|
||
| --- | --- |
|
||
| ens18 | 192.168.71.91/24、192.168.71.3/24 |
|
||
| tailscale0 | 100.90.90.91/32 |
|
||
|
||
- ens18 同时存在静态地址和 DHCP 地址。
|
||
- 同时存在经 192.168.71.253 与 192.168.71.1 的两个等 metric 默认路由。
|
||
- 项目 SSH 地址 100.90.90.91 是 Tailscale 地址。
|
||
- cloud-init instance-id 为 `iid-datasource-none`,本机未识别到阿里云实例环境。
|
||
- `/etc/fstab` 配置了 `100.120.96.71:/mnt/share` 到 `/home/hector/share`,当前 mount 单元失败。
|
||
|
||
## 4. 服务、端口与软件
|
||
|
||
### 监听端口
|
||
|
||
- TCP 22:SSH,对所有 IPv4/IPv6 地址监听。
|
||
- TCP/UDP 111:rpcbind,对所有地址监听。
|
||
- TCP 18789、18791:Node/OpenClaw,仅回环地址监听。
|
||
- UDP 41641:Tailscale。
|
||
- 当前没有 80/443、3306、6379、9060、Prometheus 或 Grafana 端口。
|
||
|
||
### 软件与服务
|
||
|
||
- Node.js 22.22.2 已安装。
|
||
- Tailscale 1.96.4 已安装并运行。
|
||
- Docker、Redis、MySQL/MariaDB、Nginx、HOMER、Prometheus、Grafana、Fail2ban 未发现。
|
||
- GNOME、GDM、CUPS、Avahi、rpcbind 等桌面/通用服务运行中。
|
||
- 失败单元:`home-hector-share.mount`。
|
||
|
||
## 5. 安全与风险
|
||
|
||
1. **高:主机防火墙未启用。** UFW inactive,nftables INPUT/FORWARD 默认 accept。
|
||
2. **高:网络出口不确定。** 双 IPv4、双默认路由会影响服务绑定、回调地址和 A/B 数据链路。
|
||
3. **高:克隆身份未清理。** 与 A/T 共享 machine-id、根文件系统 UUID 和 NetworkManager 连接 UUID。
|
||
4. **高:单盘承载全部数据。** MySQL、Redis AOF、录音、HOMER 和监控数据若共用根盘,容量竞争和故障影响过大。
|
||
5. **中:NFS 开机挂载失败。** 需确认该共享是否继续承担录音或备份;生产服务不能依赖未设超时/依赖关系的失败 mount。
|
||
6. **中:rpcbind 对所有地址监听。** 若不再使用 NFS,应移除暴露;若保留,只允许可信网段。
|
||
7. **中:开发与生产网络需分阶段管理。** 当前本地 Tailscale 配置不能直接作为未来阿里云 VPC/安全组配置。
|
||
8. **低:桌面服务会消耗业务机资源并扩大攻击面。**
|
||
|
||
## 6. 后续安装前备份清单
|
||
|
||
- A 机同类的网络、路由、DNS、SSH、防火墙、sysctl、包和 systemd 基线。
|
||
- `/etc/fstab`、NFS mount 单元状态及共享端现状。
|
||
- `/opt/`、现有 Node/OpenClaw 进程的服务定义与配置。
|
||
- MySQL/Redis 安装前的磁盘布局、I/O 基线和容量分配表。
|
||
- 部署数据库前制作虚拟机快照;后续数据库备份不得只保存在同一根盘。
|
||
- 修改 machine-id、文件系统 UUID 或 NetworkManager 连接前保留控制台恢复路径。
|
||
|
||
## 7. S02/S03 输入
|
||
|
||
- 先确定 B 的稳定业务地址、A/B 私网链路以及 Web 对外入口。
|
||
- 决定录音与数据库是新增独立磁盘、使用可靠 NFS,还是仅在 PoC 阶段共用根盘。
|
||
- 明确 NFS 失败挂载的去留。
|
||
- 建立默认拒绝防火墙;3306/6379 只绑定本地或 A/B 专用内网,不对公网/Tailscale 全网开放。
|