Weird hosting

There's a large number of hosting providers out on the Internet, offering everything from website space only to racks you can put your own machines in.

Strato dedicated (physical) servers

I have some physical servers hosted by http://strato.de The machines are supplied by, and rented from, Strato. You can get some pretty decent deals on price if you look out for their special offers - they do contracts for slightly older machines, or ones they don't have many of any more, and the discount is permanent.

They're called "dedicated servers" because you have the hardware all to yourself, but you're responsible for managing the system, unlike Strato's "managed servers" where they look after some aspects for you.

Some of the things Strato does, however, are most odd, and pretty customer-unfriendly.

DNS

If you get a domain name with your server (extra cost, but quite reasonably priced), then by default Strato runs the Name Servers for you. So far, so good. You can populate DNS with your own A records, AAAA, MX records and so on. You get no control over the TTL, and subdomains cost extra (!).

Fortunately, Strato allows you to specify your own Name Servers for the domain, which gives you complete flexibility over the zone files.

Changing Strato's Name Servers for your own is apparently simple, but often doesn't work, gives you no indication that it's not going to work, and tells you that you should wait 24 hours for the change (which isn't going to happen) to take place.

During these 24 hours (or however long you're prepared to wait in frustration), you will get no email to the domain.

The reason you will get no email is that Strato requires you to delete all entries from their Name Servers before you can change to your own Servers. Actually, that's not quite right - you can change to your own name Servers any time you like, and the customer portal will tell you it's been successful, but if you then read the very lengthy support page about changing DNS, it tells you that if you didn't delete all the other records first, what you just did will be ignored.

The reason it probably won't work is that once you've changed the Name Servers on Strato's portal (and been told that it's successful), Strato sends the new Name Servers to the domain registrar (http://denic.de if you're managing a German domain), and if the registrar rejects it for whatever reason, Strato shows nothing about this on the portal and doesn't send you any notification to say that there's no point in waiting because nothing is going to happen.

In my case, Denic rejected the new name servers because they didn't like the refresh and retry TTLs I had set on the domain - they thought they were too long (even though there are no limits specified in the relevant RFCs). It's only if you know about the Denic "pre-delegation check" service at https://nast.denic.de/ that you can find this sort of thing out. Strato gives you no pointers to this service at all, and doesn't provide a "front-end" on their own portal which allows you to find out the results.

Strato virtual servers

I also have some virtual machines I rent from http://strato.de and it's interesting to see some of the surprising things they do - in my opinion to make you upgrade to something more expensive when you find out.

I have two physical servers from them; the most recent comes with out-of-band access to its console, which is good for recovering from boot problems, or for installing operating systems they don't officially support.

I also have two virtual servers from them, and I keep getting surprised when I find something weird about them.

For example, you get 2 CPU cores, 4Gbytes RAM and 300Gbytes of disk for €8/month.

Sounds good, but - can you actually use these machines for anything real?

inodes

Well, in the case of the disk space in particular, it's hard (to use the machines for something meaningful).

They give you 300Gbyte disk with only 800,000 inodes. (What's an inode? Basically, it's the thing in a disk filesystem which stores a filename or a directory name, so this means I can have up to 800,000 files and/or directories on my machine.)

To find out how many inodes you have, and are using, on a file system, the command is df -i

I tried using the machine as a backup server - it's got some useful space on it which I'm not using for the installed applications, so why not keep a backup of my data there?

Simply put - because it won't fit - and not because the data is more than 300Gbytes in size.

I have about 25Gbytes of email folders, which are important to me, because I do all my business correspondence by email. I thought "I can rsync my email up to the server, use some of its spare capacity, and rest happy knowing I have another copy of my emails somewhere" (no, it's not my only backup…).

However, my emails consist of 1,559,299 files & directories using 1,559,313 inodes (I haven't bothered to investigate where the discrepancy of 14 comes from) - or approximately twice the total number of inodes I have on the entire virtual server.

So I can't copy 25Gbytes of data to a 300Gbyte disk because Strato have restricted the number of inodes available.

RAM

4Gbytes of RAM seems good (in fact it's the maximum I can use, considering that they still, in 2017, provide a 32-bit version of Debian to run on it), however some applications might get a bit enthusiastic and need more.

# free -m
             total       used       free     shared    buffers     cached
Mem:          4096       1187       2908          0          0        986
-/+ buffers/cache:        201       3894
Swap:            0          0          0

Hm, no swap space…

Oh well, no worries, I can soon fix that…

# dd if=/dev/zero of=/swapfile bs=1048576 count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 28.5415 s, 75.2 MB/s
# mkswap /swapfile 
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=debf0af4-276f-476b-b74c-11ccc8789f10
# vi /etc/fstab
/swapfile       none            swap    sw              0       0
# swapon -a
swapon: /swapfile: swapon failed: Operation not permitted

So, I can't use any of that 300Gbytes of disk to add some swap space, either.

dmesg

Sometimes, things go wrong.

dmesg can be a useful tool to see what recently happened in the kernel.

Except when someone's disabled it, of course…

# dmesg --help

Usage:
 dmesg [options]

.... etc

# dmesg
#

Yes, that's right, dmesg gives no output whatsoever on these machines.

Extra mounts

Oh, and in case any of you have thought about using some of the 300Gbyte disk capacity by offering an iSCSI mount, or creating a file containing an ext3 filesystem and doing a loopback mount, or using LVM, or… well, any of a number of creative solutions I've tried for using 300Gbytes of space with less than 800,000 inodes available - forget it.

The kernel provided by Strato does not allow any modules to be loaded, and doesn't allow any file systems to be mounted.

# dd if=/dev/zero of=/trymount bs=1048576 count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 28.5415 s, 75.2 MB/s
# mkfs.ext3 /trymount
-bash: mkfs.ext3: command not found

Okay, let's create an ext3 FS in a file on another machine, then rsync it over here…

# file /trymount
trymount: Linux rev 1.0 ext3 filesystem data, UUID=3d3ab946-f9c7-4eea-ab64-4b8ca4eac292 (large files)

# mount -o loop /trymount /mnt
mount: Could not find any loop device. Maybe this kernel does not know
       about the loop device? (If so, recompile or `modprobe loop'.)

# modprobe loop
libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file '/lib/modules/3.2.41-042stab120.20/modules.dep.bin'

# ls /lib/modules
ls: cannot access /lib/modules: No such file or directory

So, I can't format it, I can't mount by formatting it elsewhere, and I can't load the module needed to mount it.

That means I can't use iSCSI or LVM either, because they need modules too…

32 bit !?

I mentioned above that Strato provide a 32-bit version of Debian in 2017.

That's if you ask for Debian 7 "Wheezy". It actually turns out that it's running on 64-bit hardware:

# uname -a
Linux red.ac.ted 3.2.41-042stab120.20 #1 SMP Fri Mar 10 16:52:50 MSK 2017 i686 GNU/Linux

# getconf LONG_BIT
32

# grep "model name" /proc/cpuinfo 
model name      : Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
model name      : Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz

# lscpu
Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                64
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Stepping:              4
CPU MHz:               1998.828
BogoMIPS:              5600.28
Virtualization:        VT-x

If you reinstall the same machine with Debian 8 "Jessie" instead, you get a 64-bit system…

systemd

However, Strato supply that (Debian 8) with systemd thoroughly installed, which I prefer not to use, however if you follow either Debian's or an alternative documentation on how to remove systemd, you end up with a machine which doesn't boot.

These servers have no GRUB bootloader installed, so it's not possible to change the kernel boot commands either.

Summary

All in all, these machines are cheap. That's not necessarily the same as good value for money.


Go up
Return to main index.