tnr.cc

2003  —  2026


Here rested Linode #128, provisioned in Dallas on 15 July 2003, weeks after Linode itself began selling them — back when a Linode was a User Mode Linux process on a shared box. Its configuration profile still said Debian 3.0r1 on the day it was switched off.

The virtualisation was swapped out from under it twice, to Xen in 2008 and to KVM in 2015, and it never noticed. It was upgraded in place to Debian 5 “lenny” and stayed there for seventeen years. It served a wedding video, a church website, a telephone exchange, and two hundred thousand other things nobody asked it for. It carried a 256 MB swap disk, sized two-to-one against the memory it had in 2003, and never once mounted it. Its filesystem was last checked in 2011. It never complained.

#128
Linode ID
23
years in service
3
hypervisors outlived
217,335
files
832 MB
RAM, 0 B swap used
5,411
days since fsck
$ uname -a Linux tnr.cc 7.1.9-x86-linode196 #1 SMP PREEMPT_DYNAMIC i686 GNU/Linux $ cat /etc/issue Debian GNU/Linux 5.0 # a 2026 kernel carrying a 2009 userland on a 2003 machine, # which is exactly as sturdy as it sounds

Survived by

  • Apache 2, six vhosts
  • Zope 2.10 & Plone
  • Asterisk PBX
  • PostgreSQL 8.3
  • MySQL 5.0.51a
  • Squid, exim4, vsftpd

Interred

  • One 21 GB disk image
  • Verified five ways
  • sha256 d5122a8a…
  • Encrypted, in cold storage
  • Retrieval time: 12 hours
  • Cost: about 1¢ a month

A note on io tokens

Nine months into this machine’s life, in April 2004, Christopher Aker — caker — wrapped a token bucket filter around User Mode Linux’s asynchronous block driver. On a host shared by dozens of these, one neighbour with a runaway find could sink everyone else, and there was no other lever. So disk operations were made to cost something. One I/O, one token. You were refilled 512 a second, you could burst against whatever had accumulated in the bucket, and when the bucket hit zero the disk simply stopped being fast. Best of all, you could read your own balance:

$ cat /proc/io_status io_count=203884 io_rate=0 io_tokens=800000 token_refill=512 token_max=800000

Empty it often enough and someone lowered your refill by hand for a few days until you learned. Xen took the patch away in 2008 and handed everyone CFQ and ionice instead, which was better in every way except the one that mattered: nothing since has been so legible. One file, one cat, and you knew exactly how much machine you had left.


The machine is gone. The bytes are not.