9.6 KiB
9.6 KiB
BigBoy Hardware Manifest
Component specifications, UUIDs, network configuration, storage layout
System Specifications
CPU
- Model: [Not specified in deployment docs]
- Cores/Threads: [Assumed sufficient for Ollama service overhead + 4GB model inference]
- Thermal Design: [Review during Phase 11 thermal testing]
GPU (Primary)
- Model: NVIDIA GeForce RTX 5060 Ti
- Architecture: Blackwell (sm_120)
- VRAM: 4GB GDDR6
- PCIe: 4.0 x16
- Power Draw: [Typical ~70W gaming, ~50W inference]
- Driver: 550.90.07+ (precompiled open kernel modules)
- CUDA Version: 12.6+ (installed via nvidia-driver-cuda)
System RAM
- Capacity: 16GB
- Type: [DDR4 or DDR5, not specified]
- Use: OS (2GB) + Ollama service (4GB) + Open WebUI (1GB) + System buffer (9GB available)
Storage
NVMe (Primary)
| Partition | Size | Purpose | Mount | Filesystem | Compression |
|---|---|---|---|---|---|
| NVMe Partition 1 | 1GB | EFI Boot | /boot/efi | vfat | None |
| NVMe Partition 2 | ~499GB | OS Root (btrfs) | / (via @) | btrfs | zstd:3 |
NVMe UUID: 5daac1d7-10b3-498a-82b0-a4498d7e0717
Subvolumes on NVMe:
@ → / (OS root) compression: zstd:3
@home → /home (user data) compression: zstd:3
@nix → /nix (legacy, unused) compression: zstd:3
@log → /var/log (system logs) compression: zstd:1 (lighter, frequent writes)
SATA Drive 1 (RAG Library)
- Capacity: [Not specified, assume 1-2TB]
- UUID:
18b9accd-754a-46f3-b994-da3c7ae795cd - Subvolume:
@rag-library - Mount:
/srv/rag-library - Compression: zstd:3
- Mount Options: noatime, nofail (don't block boot if this drive fails)
- Purpose: Document corpus, RAG indexes, knowledge bases
SATA Drive 2 (Prompt Library)
- Capacity: [Not specified, assume 1-2TB]
- UUID:
82a240c4-390a-4167-8232-6a04ce4d84bb - Subvolume:
@prompt-library - Mount:
/srv/prompt-library - Compression: zstd:1 (frequent write patterns)
- Mount Options: noatime, nofail
- Purpose: Prompt history, cached responses, chat logs
SATA Drive 3 (Backup)
- Capacity: [Not specified, assume 2-4TB]
- UUID:
15b69400-f1f7-4cfd-82cb-4d1244951503 - Subvolume:
@backup - Mount:
/srv/backup - Compression: zstd:3
- Mount Options: noatime, nofail
- Purpose: Borgmatic backups (Phase 10, deferred), local snapshots
SATA Drive 4 (AI Logs)
- Capacity: [Not specified, assume 1-2TB]
- UUID:
1e57a52a-9c9d-44ef-a352-3cc542808d13 - Subvolume:
@ai-logs - Mount:
/srv/ai-logs - Compression: zstd:2 (middle ground: logs get compressed, reasonable speed)
- Mount Options: noatime, nofail
- Purpose: Ollama inference logs, model loading metrics, thermal data
Network
Interface
- Primary: enp4s0 (Ethernet)
- IP Address (Static): 192.168.0.240
- Netmask: 255.255.255.0 (/24)
- Gateway: 192.168.0.1
- DNS: [Configured via DHCP or static, TBD]
- MAC Address: [Pinned in Phase 9]
- Network: Fritzy bench LAN (192.168.0.0/24)
Services & Ports
| Service | Port | Network | Status |
|---|---|---|---|
| SSH | 22 | LAN + admin | Open |
| Ollama API | 11434 | localhost-only | Closed to LAN |
| Open WebUI | 8080 | LAN (if Phase 8) | Open |
| Cockpit | 9090 | LAN (optional) | Open |
Firewall Rules (Phase 9)
Default: DROP
Allow: SSH 22/tcp (LAN)
Allow: OpenWebUI 8080/tcp (LAN)
Allow: Cockpit 9090/tcp (LAN, optional)
Block: Ollama 11434 (localhost-only, reverse proxy if external needed)
Filesystem Layout (Post-Deployment)
/ (NVMe @)
├── /boot → NVMe EFI (kernel, bootloader)
├── /home (NVMe @home)
├── /var/log (NVMe @log, zstd:1)
├── /nix (NVMe @nix, legacy, unused)
├── /srv → Data drives
│ ├── /srv/rag-library (SATA Drive 1 @rag-library, zstd:3)
│ ├── /srv/prompt-library (SATA Drive 2 @prompt-library, zstd:1)
│ ├── /srv/backup (SATA Drive 3 @backup, zstd:3)
│ └── /srv/ai-logs (SATA Drive 4 @ai-logs, zstd:2)
└── /srv/deployment-log → Phase logs (on NVMe @, zstd:3)
fstab Configuration
# /etc/fstab
# NVMe OS Root (4 subvolumes, all with zstd compression)
UUID=5daac1d7-10b3-498a-82b0-a4498d7e0717 / btrfs subvol=@,compress=zstd:3,noatime 0 0
UUID=5daac1d7-10b3-498a-82b0-a4498d7e0717 /home btrfs subvol=@home,compress=zstd:3,noatime 0 0
UUID=5daac1d7-10b3-498a-82b0-a4498d7e0717 /nix btrfs subvol=@nix,compress=zstd:3,noatime 0 0
UUID=5daac1d7-10b3-498a-82b0-a4498d7e0717 /var/log btrfs subvol=@log,compress=zstd:1,noatime 0 0
# SATA Data Drives (nofail: don't block boot if drive missing)
UUID=18b9accd-754a-46f3-b994-da3c7ae795cd /srv/rag-library btrfs subvol=@rag-library,compress=zstd:3,noatime,nofail 0 0
UUID=82a240c4-390a-4167-8232-6a04ce4d84bb /srv/prompt-library btrfs subvol=@prompt-library,compress=zstd:1,noatime,nofail 0 0
UUID=15b69400-f1f7-4cfd-82cb-4d1244951503 /srv/backup btrfs subvol=@backup,compress=zstd:3,noatime,nofail 0 0
UUID=1e57a52a-9c9d-44ef-a352-3cc542808d13 /srv/ai-logs btrfs subvol=@ai-logs,compress=zstd:2,noatime,nofail 0 0
Device Mapping Reference
Storage Devices (Post-Kickstart)
/dev/nvme0n1 → NVMe (OS + system)
/dev/nvme0n1p1 → EFI (1GB vfat)
/dev/nvme0n1p2 → btrfs root (rest of NVMe)
/dev/sda → SATA Drive 1 (RAG Library)
/dev/sdb → SATA Drive 2 (Prompt Library)
/dev/sdc → SATA Drive 3 (Backup)
/dev/sdd → SATA Drive 4 (AI Logs)
Note: Device order may vary. Use UUIDs (not /dev paths) in fstab for reliability.
Performance Expectations
Storage Performance
| Metric | Expected | Tuning |
|---|---|---|
| btrfs Compression Ratio | 30-40% (text/code/logs) | zstd:3 typical |
| Compression CPU Overhead | 5-15% | Level 3 = good balance |
| Snapshot Speed | Instant (CoW) | Metadata flush only |
| NVMe Bandwidth | 3-5 GB/s | Sequential, uncompressed |
| SATA Bandwidth | 0.5-1 GB/s | Sequential, uncompressed |
GPU Performance (RTX 5060 Ti)
| Metric | Expected |
|---|---|
| Ollama Mistral 7B | ~5-10 tokens/sec (inference) |
| VRAM Usage | ~3.8 GB (near capacity) |
| GPU Utilization | 95%+ during inference |
| Idle Power | ~5W |
| Inference Power | ~50-70W |
Thermal Expectations (Phase 11)
| Component | Idle | Inference Load | Limit | Notes |
|---|---|---|---|---|
| GPU (RTX 5060 Ti) | <40°C | <65°C | <75°C | Baseline in Phase 11 |
| CPU | <35°C | <55°C | <80°C | Depends on cooling |
| Memory | <40°C | <50°C | <70°C | Rarely bottleneck |
Deployment Artifacts
Kickstart File
- Path:
/home/john/projects/bigboy-setup/alma10-minimal-bigboy.ks - Purpose: Unattended OS installation
- UUIDs Embedded: None (created by Anaconda, then mapped in Ansible)
Ansible Inventory
- Path:
/home/john/projects/bigboy-setup/ansible/inventory.ini - Host:
192.168.0.240(BigBoy on Fritzy bench LAN) - SSH: root user, key-based auth
- Python: /usr/bin/python3
Hardware Variables
- Path:
/home/john/projects/bigboy-setup/ansible/group_vars/bigboy.yml - Contents: All UUIDs, drive mappings, GPU settings, Ollama tuning
- Usage: Sourced by all Ansible roles
Maintenance & Monitoring
Monthly Checks
# Filesystem health
btrfs filesystem usage /
btrfs device stats /
# Storage space by subvolume
du -sh /srv/rag-library /srv/prompt-library /srv/backup /srv/ai-logs
# GPU health
nvidia-smi -q | grep -E "Temperature|Power Draw|VRAM"
# Compression effectiveness
btrfs filesystem usage / | grep "Unallocated"
Quarterly Actions
# Scrub btrfs (check for corruption)
sudo btrfs scrub start /
# Check SMART health
sudo smartctl -H /dev/sda /dev/sdb /dev/sdc /dev/sdd
# Defragment if needed (rare for zstd)
sudo btrfs filesystem defragment -v /srv/rag-library
Annual Review
- Update kernel
- Review thermal baseline (compare to Phase 11 baseline)
- Review backup strategy (if Borgmatic in use)
- Consider GPU driver update (if new version available)
Hardware Upgrade Path
GPU Addition (If VRAM Bottleneck)
- Slot: PCIe 4.0 x16 (secondary)
- Candidate: RTX 4070 Ti (12GB) or RTX 4090 (24GB)
- Ollama config: Set
CUDA_VISIBLE_DEVICES=0,1 - Load balancing: Requires model routing logic
Storage Addition
- NVMe: Add 2nd NVMe via M.2 slot (if available)
- SATA: Cascade to eSATA or USB 3.0 (slower, external)
- btrfs: Add device:
sudo btrfs device add /dev/new /mount/point
RAM Upgrade
- If Ollama uses >12GB: Add DIMM
- Typical: 16GB is comfortable for 4GB GPU model serving
Compliance & Documentation
For Disaster Recovery
- Keep copy of this HARDWARE.md in
/srv/backup/ - Include UUID list in Phase 14 observation runbook
- Document MAC address pinning decision (Phase 9)
For Audit Trail
- All hardware changes logged to
/srv/deployment-log/ - Kernel version tracked by systemd logs
- NVIDIA driver version in
nvidia-smioutput, logged during Phase 4
Last Updated: 2026-06-27
Next Review: After Phase 11 thermal testing (verify baseline vs. expectations)
Prepared By: Claude Code (@workbench)