Almost three years ago I migrated to a virtual server at HostEurope.de. It was a real relief to not care for any hardware anymore, and I’m really satisfied with their service which includes monitoring and restoreable snapshots. The only major problem I had was when I once tried to upgrade the C-library on an incompatible kernel version—I learned to use Debian Stable on servers. Minor problems however arose once in a while when I hit the privvmpages (private memory) limit. As only 256 MB RAM were guaranteed for my package in their 2.0 line at €15/month, I upgraded to the 512 MB package for €20/month a few months ago, which was a smooth single-click task. As they now already introduced their 4.0 line, I upgraded to 1024 MB for only €13/month. But I had to do the migration to a parallel machine and had only one week to accomplish this. I’ll never do it this way again, however, rather pay for two servers for a short time and decide when to finally switch. And as the monthly fee has now decreased, I had to pay €10 for this “downgrade” anyway.
I had planned to simply sync /etc, /usr, /var and /home to the new system to have a nonetheless smooth migration. But the new system turned out to be on 64-bit. So it took me more time to do a migration by hand, although I had asked their service in advance if that were possible. A further drawback was that I couldn’t keep the system’s RRD-files, as they seem to be platform-specific as well; that meant that all system log counters were starting freshly, as I was too lazy to export/import their data.
A WTF-situation arose when I noticed that the system had various server packages installed but was missing their symlinks in /etc/rc*.d and cron tabs in /etc/cron.*. I had to compare those with my old system.
phpMyAdmin wasn’t working anymore as it suddenly needed a localhost directive for MySQL in the config. That took me some time to find out.
Finally, ajaxterm didn’t launch in --daemon mode. That took me some time as well. As a quick hack I now start it without --daemon but with /usr/bin/nohup to the background.
I also had to take care that /etc/hosts is now dynamically created/overwritten at boot time. In my /etc/init.d/hostname_vps I now copy it from /etc/my.hosts.
For TCP forwarding I used rinetd and set up Postfix relaying like previously.
An interesting detail is that I moved from a 2×1500 MHz machine to one with 16×141 MHz.