Posts

Case Study: Upgrading OMV Storage & Architectural Design of a Resilient Mini HA Cluster with Proxmox & NUT

Image
Recently, I executed a planned infrastructure upgrade to enhance the storage performance, storage capacity, and power resilience of my homelab. The primary objective was to migrate my OpenMediaVault (OMV) operating system from a budget 128GB NVMe SSD to a high-performance 512GB Samsung PM981 NVMe SSD installed in an HP t740 Thin Client , while seamlessly maintaining Proxmox High Availability (HA) and Peanut (NUT) UPS integration. Below is a detailed breakdown of the migration workflow, hardware considerations, and overall system architecture. 1. NVMe Upgrade: SK Hynix BC711 (128GB) vs. Samsung PM981 (512GB) Hardware Analysis: Power Loss Protection vs. Throughput Prior to migration, I evaluated the trade-offs between the two solid-state drives: SK Hynix BC711 (128GB): Features firmware-level Power Loss Protection (PLP) ( Pyrite ). While beneficial for mitigating data-at-rest corruption during unexpected power outages, its limited capacity and write performance becom...

Dynamic Thermal Governance in Local AIOps: Automated GPU Offloading via n8n, Open WebUI, and Ollama

Image
Running local LLMs (Large Language Models) on home server infrastructure or small-form-factor GPUs offers privacy and lower latency, but passive cooling or compact GPU enclosures often face thermal throttling under heavy or sustained prompt workloads. To solve this, we can design an automated AIOps dynamic thermal governance pipeline using n8n , Open WebUI , and Ollama . This architecture intercepts user prompts, checks live GPU core temperatures via an endpoint, and intelligently routes execution to the GPU runtime or automatically falls back to a CPU runtime when heat thresholds are exceeded. Architecture & Workflow Overview [ Open WebUI ] │ (Webhook POST) ▼ [ n8n Workflow ] │ ├─► Extract Payload ├─► Check GPU Temp (HTTP GET to Exporter) ├─► Evaluate Temperature Threshold (e.g., > 60°C) │ ├───► [Temp Normal] ──► Ollama API (GPU) ──► Format Response ──┐ │ │ ...

Stabilizing Multi-WAN Load Balancing in RouterOS v7: Fixing the "Local Subnet Blindspot"

Image
In our previous article , we successfully implemented a Server Name Indication (SNI) bypass mechanism using dynamic wildcard TLS matching ( tls-host="*.gov.ph" ) to stabilize session persistence for sensitive production portals like the PRC CPDAS platform. This allowed network administrators to retain aggressive multi-WAN load balancing across local client subnets without introducing authentication session drops. However, moving the policy-based routing enforcement from the firewall mangle table over to the native RouterOS v7 /routing rule lookup system introduces an unintended structural anomaly: The Local Subnet Blindspot . 1. The Symptom of the "Local Blindspot" Immediately after activating client-subnet-to-ECMP routing rules, inter-VLAN communications collapse. Clients localized within the production subnets (e.g., UniFi Management, Hotspot Bridges, or standard LANs) abruptly lose access to critical internal corporate resources. Local infrastructure assets—suc...

Resolving PRC Portal Session Drops in MikroTik Dual-WAN Environments Without Sacrificing Aggregated Bandwidth

Image
Category: MikroTik RouterOS / Network Engineering • ROS Version: RouterOS v7 1. Executive Summary & Problem Statement In Dual-WAN RouterOS configurations utilizing Per Connection Classifier (PCC) with the both-addresses-and-ports classifier, network operators can successfully deliver aggregated bandwidth ("Combined Speed") across multi-threaded applications, video streaming, and speed tests. However, sensitive local infrastructure—specifically the Professional Regulation Commission (PRC) CPDAS portal ( cpdas.prc.gov.ph ) —frequently fails to load, returning ERR_CONNECTION_REFUSED or persistent HTTP connection timeouts. Root Cause Analysis Modern web portals enforce strict IP Session Tracking to prevent session hijacking. Under the both-addresses-and-ports PCC scheme, individual client HTTP/HTTPS requests (such as fetching static assets, scripts, or authentication tokens)...

Why Didn't I Know? The Manifesto of the Exhausted "Messenger" From Friend Groups to Work Contracts

Image
There are days you'll wake up and realize: You aren't a partner in planning. You were just made a human secretary, a messenger, and a stress shock-absorber. Whether it's a friend group, a project, or your actual day job (especially if you're stuck in the sub-contracting system), the story is always the same. You're the one catching the lists, you're the one grilled when things change, but when it comes to actual decisions and budgets? Total silence. 1. The Endless Loop of Lists and Commands It's easy to bark orders when you aren't the one doing the heavy lifting. Every single day, you get ambushed by a mountain of requests: "List this down." "Update the changes" (with zero in-game adjustments to their actual plans). "Why do you have no idea what's going on?" Why on earth do I have no idea? Simple: Not because you're too lazy to find out, but because you know you don't h...