
Last week we posted about IncusOS, the new immutable operating system built around Incus, and we named the hypervisors people compare it with: Proxmox, XCP-ng, ESXi. A reader could come away thinking those four are the menu. We left out the one we have recommended, installed and run ourselves since 2007. That is KVM, the Kernel-based Virtual Machine, on Ubuntu. This post is the correction, and the reasons.
A hypervisor is the layer that lets one physical machine run several virtual machines (VMs), each with its own operating system. KVM is unusual among hypervisors because it is not a separate operating system you install under Linux. It is part of Linux. It arrived in kernel 2.6.20, released on 5 February 2007, as a driver for the hardware virtualization extensions in Intel and AMD processors, and it has shipped in every mainline kernel since. Ubuntu, Debian, Red Hat, SUSE and the rest carry it; QEMU provides the machine emulation around it. libvirt, with virsh and virt-manager, is the management layer most guides assume on top of that pair, and we will come back to it.
That placement matters more than any feature list. The virtualization code gets the same scrutiny, the same security updates and the same hardware enablement as the kernel it lives in. When a new processor generation lands, KVM support tends to land with it, in the same release. There is no second vendor to wait on and no second support contract.
This is the part the comparison lists hide. Proxmox VE runs its virtual machines on KVM and QEMU; its containers use LXC. Incus, the runtime that IncusOS exists to run, uses QEMU and KVM for its virtual machines as well. When people weigh Proxmox against IncusOS, they are choosing a management layer, an update model and a community. The hypervisor doing the work is the same kernel module in both cases. ESXi is the exception on that list: it brings its own kernel, and since the licensing changes of the last two years it is also the one people are most often asking us how to leave.
So the honest version of “which hypervisor” for most of our customers is “which management layer on top of KVM”. Proxmox gives you a web console, clustering and a large community. IncusOS gives you an appliance: an immutable image with A/B partitions for atomic updates and rollback, UEFI Secure Boot and TPM 2.0 measurements, disk encryption backed by the TPM, a stable channel that updates at least weekly and a testing channel that updates daily, and a Migration Manager for moving machines off VMware. Plain Ubuntu Server with KVM, libvirt and cockpit gives you the least opinionated option of the three: a general purpose Linux you already know how to administer, that also happens to be an excellent hypervisor host.
We build custom Linux rackmount servers, and most of them leave here as virtualization hosts of one kind or another. Our default recommendation has been Ubuntu with KVM for a long time, for reasons that have not changed much:
Most KVM guides assume libvirt, so we should say where we stand. We have never liked it. It puts an XML document between you and every machine, and the XML sit-ups1 that come with that obscure and complicate what QEMU is actually doing underneath. We prefer to talk to QEMU directly, through its monitor and console, and our own tooling does exactly that. virsh, libvirt’s command line, became somewhat useful years later, but it still drags libvirt’s baggage behind it, and by the time it did we had long since built what we needed. If you want libvirt on a machine we build, you get it, installed and tested. We will just not pretend to love it.
Because we have been doing this since the year KVM landed in the kernel, we ended up with our own small framework for it. We call it eVirt, and the current version is the fourth. It is how our own production web servers, mail servers and lab machines are defined and launched, and it has been in active use internally since 2007. We have not packaged it as a product. We would consider doing that if there is interest, and we can install it now on a consulting basis.
The idea is small on purpose. Each machine is a short YAML file kept next to the project it serves: how much CPU and memory, which disks and how large, which bridge it sits on, and its fixed address. One command turns that file into a running virtual machine: it fetches the Ubuntu cloud image, resizes the disk, seeds the first boot with cloud-init, attaches the network and starts it under KVM, speaking to QEMU’s own monitor rather than going through libvirt. Rebuilding a host is the same command run again, which is how we rehearse and then execute things like a production cutover: the new machine is one entry away, and the address moves in the file. The QEMU guest agent goes into the VMs where we want it; the rest run with no agent at all. Nothing proprietary lives in the image, so a machine built this way is an ordinary Ubuntu VM that any other tool can take over afterwards.
We mention eVirt for one reason: it is the shape of what KVM on Ubuntu makes possible. A tiny layer of automation on top of tools that are already in the distribution gets you reproducible infrastructure without adopting a platform. Plenty of shops arrive at something similar with Terraform providers, Ansible roles or cloud-init alone. The hypervisor underneath is the same.
If you order a virtualization host from us and do not specify a platform, you get Ubuntu Server LTS with QEMU and KVM installed and tested, ZFS or LVM laid out for VM images, a bridge on the interfaces you name, and the management layer you ask for: libvirt with cockpit or virt-manager, Proxmox, Incus, IncusOS or XCP-ng. Ask about eVirt if you would rather have what we run ourselves. We have no stake in which one you pick; we build the hardware and the storage underneath it, and every one of these runs on hardware we ship today. The only combination we talk people out of is the one that comes with a license invoice they did not ask for.
Questions about a virtualization build, or about moving off a platform you no longer want to pay for? Write to us at info@eracks.com, or start with a quote request.
1 “XML sit-ups” is a famous programming phrase coined around 2004 to 2005 by David Heinemeier Hansson (DHH), the well-known developer and entrepreneur who created Ruby on Rails. It headlined the framework’s original blurb: “Rails is a full-stack, open source web framework in Ruby for writing real-world applications with joy and less code than most frameworks spend doing XML sit-ups” (quoted in XML.com, August 2005). The target was the enterprise software of the day, J2EE and .NET above all, where you mapped databases, wired dependencies and configured every layer in massive, redundant, error-prone XML files before writing a line that did anything, with all the pointless parsing, generation and not-quite-valid states that XML as a configuration format brings. DHH was still using the phrase a decade on, recalling “the practice of 1000s of lines of XML configuration situps that were common at the time” in his 2016 Slashdot interview.
joe September 20th, 2026
Posted In: News, servers, Technology

For thirty years the answer to “my machine needs more memory” was the same: open the case, push a stick into an empty slot. That answer is splitting three ways, and the split matters more than the speeds.
Sealed. High Bandwidth Memory (HBM) is not a module at all. DRAM dies are stacked on top of each other, wired vertically through the silicon, and mounted on an interposer (a thin silicon layer that carries the wiring) millimeters from the processor, inside the same package. The bus is a thousand bits wide instead of 64, the distance is a fraction of an inch instead of several, and the result is the bandwidth that makes an AI accelerator an AI accelerator. NVIDIA’s H100 and Blackwell parts are built this way, and Intel put HBM on a Xeon (the Xeon Max) for the same reason. The trade is absolute: the memory is soldered into the package, so the amount you buy on day one is the amount you own on day one thousand. The industry name for this kind of assembly, several chips from several processes glued into one package, is System in Package (SiP). Your watch is one. So is the processor in the largest AI clusters.
Flat. JEDEC, the standards body behind every DIMM you have ever installed, published the CAMM2 standard (JESD318) in December 2023. A CAMM2 (Compression Attached Memory Module) is a flat card that screws down onto a bed of contacts instead of standing in a slot, which puts the memory closer to the processor and keeps the signal clean at higher speeds. The low-power version, LPCAMM2, is the interesting one: laptop makers used to solder LPDDR memory to the board to get its speed and battery life, and that killed upgrades. LPCAMM2 puts the same memory on a replaceable card. Lenovo’s ThinkPad P1 Gen 7 ships with up to 64GB of LPCAMM2 at LPDDR5X-7500, and it can be changed with a screwdriver. Desktop CAMM2 boards have been shown by the motherboard makers; volume is still small. The catch is that a CAMM2 is one module carrying both memory channels, so an upgrade means replacing it rather than adding a second stick.
Fabric. In servers, memory is leaving the motherboard. Compute Express Link (CXL) runs over the same physical lanes as PCIe and lets a system treat memory the way it treats a drive: something you add in a slot. A CXL memory expander is a card, or a box, of ordinary DDR5 that the processor sees as more RAM. Current AMD EPYC and Intel Xeon platforms support it, controller silicon is shipping, and the standard has kept moving; the CXL Consortium’s current specification is 4.0. Later revisions describe pooling, where a rack shares one large bank of memory and hands it to whichever server needs it, so capacity stops being stranded inside boxes that are not using it.
We track memory prices every day because we quote servers every day. Measured as the best street price per gigabyte across the major memory lines, March 2026 to September 2026:

Two things follow. First, the memory you did not buy in March costs a third more today, and the cheap end of the market has closed up. Second, the previous generation is being liquidated: DDR4 server memory now costs a seventh of DDR5 per gigabyte. For a file server, a backup target, or a build server, where capacity matters and bandwidth does not, a DDR4 platform with its slots filled is the best value on the table this year.
In a sealed design none of this is available to you. You pay the day-one price for the day-one capacity, and a shortage or a glut in the memory market changes nothing about the machine you own. In a slotted design, or a fabric design, the market is your friend as often as your enemy: you buy the slots now, you fill them when the price is right.
Every quote we write shows the board’s slot count next to what the configuration fills, so the upgrade path is visible before the order rather than discovered after it. Some customers max the memory on day one, which is the right call for a machine with a known job; the AMD EPYC 9005 boards we build on carry 24 DIMM slots and up to 6TB, so there is usually room either way. The memory line in every quote is priced at that day’s street price from the same tracking above, so a customer who asks for 256GB today and 512GB in six months pays the market twice, not our guess once. And as CXL memory expanders reach the channel, they are quotable on the EPYC 9005 and Xeon 6 platforms as a third way to add capacity without touching a socket.
Sealed memory is the right design for an accelerator, where bandwidth is the whole point. For everything else, we would rather sell you the slots.
Prices are our own daily tracking of the lowest street price per gigabyte for each major memory line at Newegg, taken as the median across lines in each class; March 2026 versus September 2026.
joe September 17th, 2026
Posted In: News, servers, Technology
Tags: CAMM2, CXL, DDR4, DDR5, ECC RDIMM, EPYC 9005, HBM, memory price tracking, server memory prices, upgradeability

On September 4, Anthropic published the first complete, computer-checked proof of Fermat’s Last Theorem. Claude wrote it in Lean, a programming language built so a computer can verify every step of a mathematical argument instead of a human reviewer. Eleven days, largely on its own, 13 million lines, about 29,500 intermediate theorems along the way, and nothing assumed beyond Lean’s three standard axioms. Andrew Wiles’s 1995 proof ran 129 pages and took months of expert review to check.
I read that as a hardware story.
The interesting part is not that a model knew number theory. It is that a machine did eleven days of sustained, structured work, and another machine checked every line of it. That is the shape of job we spec servers for now: long-running agents that read, write, test and retry against your own documents and code, not a question-and-answer box.
The frontier models live in their makers’ datacenters. What you can own is the open-weight class right behind them (Qwen, Llama, DeepSeek, Gemma), running on hardware you control, on your own documents, with no per-token bill and nothing leaving the building.
On our bench, a dual Intel Arc Pro B70 server runs Qwen3-14B at 54 tokens per second and Qwen3.6-27B at 26 (a token is about three quarters of a word), with the models resident in 64GB of GPU memory. The measurements, the software stack and the three power-management fixes it took to get there are in our benchmark write-up.
Run the arithmetic our public rent-versus-own calculator uses (24 hours a day, 15 cents per kWh, $1,200 a year of overhead, a three-year payback) and an eRacks/AINSLEY at $21,395 pencils out against an AI bill of about $800 a month. A team of ten on $100 seats is $1,000 a month, forever. The calculator takes your own numbers, and every field is editable.
Every eRacks server is built to order, burned in, and benchmarked before it ships, with the numbers in the box. If you are sizing a machine for this kind of work, the AINSLEY configurator is the place to start, and a quote request gets a reply within one business day.
Joseph Wolff, Founder and CTO, eRacks Open Source Systems
joe September 9th, 2026
Posted In: AI Servers, News
Tags: AI server cost, eRacks/AINSLEY, Fermat's Last Theorem, formal verification, Intel Arc Pro B70, Lean, on-premise LLM, private AI, Qwen3

A sale landed in our feed this week: thirty dollars off an 8TB Barracuda. Nice, if you need one drive. It is also completely the wrong number to be watching.
We price storage servers every week, so we track drive street prices daily and keep the results on a public page. The metric that matters is not the sticker on any one drive, it is dollars per terabyte, and over the last six months it has gone one direction.

These are the best prices we found in each month, not averages, so they are the floor rather than the typical ask:
| Drive line | Class | March 2026 | August 2026 | Change |
|---|---|---|---|---|
| Seagate Barracuda | Desktop | $16.25 | $31.25 | +92% |
| WD Red Pro | NAS | $24.84 | $41.22 | +66% |
| Seagate IronWolf Pro | NAS | $21.78 | $33.75 | +55% |
| WD Gold | Enterprise | $29.79 | $44.17 | +48% |
| Toshiba MG | Enterprise | $22.17 | $30.64 | +38% |
| Seagate Exos SATA | Enterprise | $24.33 | $27.92 | +15% |
The consumer line moved most, which is the tell. Desktop drives are the shock absorber of the storage market: they are the first to get discounted when supply is loose and the first to be repriced when it is tight. The enterprise lines with long supply contracts behind them moved least.
The same squeeze that took DDR5 memory prices up this year is reaching spinning storage. AI datacenter buildouts are consuming manufacturing capacity and inventory across the board, and hard drives are being pulled into it as the cheap tier behind all those flash arrays. Meanwhile the drives most people actually buy, the 8TB to 16TB middle, are the ones the shortage bites hardest, because that is where consumer and datacenter demand overlap.
Watch $/TB, not the discount. Thirty dollars off an 8TB drive that has already gone up sixty dollars per terabyte since spring is not a deal, it is a smaller increase. Divide the price by the capacity, every time, and compare that number to what the same class cost you last quarter.
The sweet spot moves. The cheapest terabyte is not always in the biggest drive, and in a shortage it moves around by the week. We publish the current best price per TB by capacity and by line, updated daily, at eracks.com/sweet-spots/drives, with the trend lines at the trends view. It is the same data we quote from, so you can check our arithmetic.
Buy the array you need now, not the one you will need in three years. The usual advice, buy extra capacity because it is cheap, assumes prices fall. They are not falling right now. Size the array for real growth, leave bays free, and add capacity when the market gives you a better number rather than paying today’s price for tomorrow’s data.
Fewer, larger drives still wins on the other costs. Even with prices up, a 24TB drive costs less per terabyte to power, cool, and rack than three 8TB drives, and it leaves bays open. The capacity ceiling keeps moving too: the largest drive in our catalog was 14TB in 2019, and it is 32TB today.
A scraper walks the drive lines we actually build with, several times a day, records what each capacity costs from real listings, and computes price per terabyte. Every server quote we send is priced from that table on the day we send it, which is also why our quotes carry a refresh note: in a market moving this fast, a four-week-old number is fiction.
If you are sizing a storage server, a rackmount NAS, an all-flash array, or a media and video server, tell us the usable capacity you need and how fast it grows. We will size it against today’s numbers, show you the per-TB math, and tell you if waiting a quarter is the better move.
Should I buy now or wait? Prices are not falling right now, so waiting is a bet, not a saving. Size the array for the growth you can actually forecast, leave bays free, and add capacity when the per-terabyte number improves.
Are enterprise drives worth the premium in a shortage? The gap narrowed: Toshiba MG enterprise at $30.64 per TB is now close to what a consumer Barracuda costs at $31.25, and the enterprise drive carries the longer warranty and the workload rating. When consumer pricing catches up to enterprise, buy enterprise.
Do these numbers include the drives in your servers? Yes. Every storage server we quote is priced from this same table on the day we quote it.
Scope note: our own daily tracking began in March 2026, so the chart is six months of first-hand data rather than a multi-year index. The capacity figures come from our catalog history.
joe September 3rd, 2026
Tags: component pricing, Exos, hard drive prices, NAS storage, price per TB, Seagate IronWolf, Storage Server, Toshiba MG, WD Gold, WD Red Pro, ZFS NAS

This week we ran a dual Intel Arc Pro B70 server through our full AI provisioning pass: burn-in, GPU bring-up, model deployment, and benchmarks. Not a spec-sheet estimate, not a vendor slide: a production machine on our bench, running the models our customers actually ask for. Here are the numbers, and the three undocumented problems we had to solve to get them.
Serving stack: llama.cpp’s official Intel build (SYCL, Intel’s open GPU compute layer), running rootless under Podman (containers with no root daemon), exposing the standard OpenAI-compatible API on localhost. Models in GGUF format, 4-bit quantization, 16K context window.
Both models run entirely in GPU memory. One card serves the model; the second card is free to carry a second model, an embedding model for document search, or headroom for more users. No API fees, no per-token metering, no data leaving the building.
The B70 gives you 32GB of VRAM (the GPU’s onboard memory, the hard limit on what models fit) per card. Two cards put 64GB of GPU memory in a server at a price that undercuts a single big-name datacenter GPU by a wide margin. In 2026’s GPU market, with datacenter cards on allocation and prices climbing, that ratio of memory to dollars is the story. If your workload is private AI inference (running models on your own hardware, on your own data), the B70 class is the value play right now.
And the density curve is still bending: board partners are already building single-slot 32GB B70 variants (Sparkle’s 160W blower design, shown at Computex). Eight single-slot cards put 256GB of GPU memory in one chassis, enough to serve 200B-parameter-class models, and exactly the direction our 8-GPU platforms are built around.
Getting those numbers took more than racking cards. Three real problems, none of them in any manual:
We solved all three on the bench, wrote them into our provisioning playbook, and bake the fixes into every AI build we ship. That is bench time you do not spend, and downtime your team never sees.
Every machine below is configured online, priced live, and ships benchmarked:
And the work described in this post is a product: eRacks AI Provisioning & Setup. We install the serving stack, deploy and benchmark your chosen models on your actual hardware, apply every fix above, and hand you the numbers and the rebuild notes: $1,495, or $2,495 with a private RAG stack (retrieval-augmented generation: a chat interface plus a vector database that lets the models answer from your own documents, entirely offline). Included at no charge on flagship orders.
Renting this class of GPU in the cloud runs thousands of dollars a month, forever, with your data on someone else’s disks. Run your own numbers in our TCO calculator: for daily AI workloads, ownership typically pays for itself inside a year.
Configure a machine online, or request a quote and tell us what models you want to run: we will spec the memory, the cards, and the stack to match. Questions first? Call us at 408-455-0010.
joe August 26th, 2026
Posted In: AI Servers, News
Tags: AI server benchmarks, GPU server, Intel Arc Pro B70, llama.cpp, local LLM, open source AI, Podman, private AI, Qwen3, rootless containers