{"id":211,"date":"2011-01-13T19:27:20","date_gmt":"2011-01-13T19:27:20","guid":{"rendered":"http:\/\/sburke.eu\/blog\/?p=211"},"modified":"2022-07-25T23:27:41","modified_gmt":"2022-07-25T22:27:41","slug":"hetzner-vserver-vps","status":"publish","type":"post","link":"http:\/\/sburke.eu\/blog\/2011\/01\/hetzner-vserver-vps\/","title":{"rendered":"Hetzner vServer (VPS)"},"content":{"rendered":"<p><a href=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/hetzner_screen.gif\"><img loading=\"lazy\" class=\"alignright size-full wp-image-223\" title=\"hetzner_screen\" src=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/hetzner_screen.gif\" alt=\"\" width=\"160\" height=\"36\" \/><\/a>Hetzner recently started offering VPS (Virtual Private Servers) since October 2010. Being a Hetzner customer and avidly interested in virtualization, I was keen to find out what setup they had in place and what functionality they offered VPS customers (I&#8217;m thinking of moving from Xen to KVM myself). While they did offer 1 month free during their testing phase back in May 2010, I found out a little too late. Over the Christmas I had some time,\u00a0so I said I&#8217;d try the <a href=\"http:\/\/www.hetzner.de\/en\/hosting\/produkte_vserver\/vq7\" target=\"_blank\" rel=\"noopener\">VQ7<\/a> for a month. Below is the information I gleaned from the VPS itself and the <a href=\"http:\/\/forum.hetzner.de\/\" target=\"_blank\" rel=\"noopener\">Hetzner Forums<\/a>. Note the VPSs and (host) setup may have been changed since. This information is valid for a VQ7 obtained in December2010-January2011.<\/p>\n<h3>VQ7 VPS\u00a0General Information<\/h3>\n<ul>\n<li>Single Core (see setup information below for MHz)<\/li>\n<li>1 IP Address<\/li>\n<li>512MB Ram<\/li>\n<li>20GB Hard Disk<\/li>\n<li>100Mbit Network Card<\/li>\n<li>1TB Traffic per Month (If exceeded the speed is reduced to 10Mbps)<\/li>\n<li>\u20ac7.90 per month (<del>setup of \u20ac19.90 <\/del>Doesn&#8217;t seem to be\u00a0a setup fee anymore. July2011)<\/li>\n<\/ul>\n<h3>Tools to Manage VPS<\/h3>\n<ul>\n<li>VNC Console Available<br \/>\nThe control panel opens a VNC applet connecting to the KVMhostIP on VNCssl (159XX)<br \/>\nAfter the applet was open, the URL address bar showed the KVMhostIP I was connected to.<br \/>\n<span style=\"text-decoration: line-through;\">I found that you can connect manually using a VNC client over non ssl to the KVMhostIP on port 59XX<br \/>\nWith a quick telnet test, I found there were 25 listening VMs on the KVMhostIP (5900 &#8211; 5925)<br \/>\n<\/span>With a quick test of URLs, browsing to http:\/\/188.40.x.xx\/##\/ (I found there were 27 VMs, where ## = VM number).<br \/>\nThe VNC Password in the control panel did not change (even if the VPS was stopped and started).<\/li>\n<li>Bandwidth Usage Graphs<\/li>\n<li>Optional Traffic Warning emails if Bandwidth exceeds X amount hourly, daily or monthly<\/li>\n<li>Start\u00a0| Stop\u00a0(equivalent to turning off the power supply)| Reset\u00a0(Stop and Start in succession) VPS<br \/>\nStop gave the warning: &#8220;Do you really want to stop the vServer? In most cases it is better to shutdown the vServer via Remote Konsole than stopping it. You should only stop it if it does not respond anymore.&#8221;<\/li>\n<li>Rescue System<br \/>\nSame system as for dedicated servers. Boots off Network to a LiveCD environment allowing mounting of disks and also to reinstall the OS using &#8220;installimage&#8221; a scripted hetzner installer to install debian, ubuntu, centos, fedora\u00a0etc. Uses same IP, and gives a new root password for the temporary LiveCD session.<\/li>\n<li>Monitoring System with email notifications<\/li>\n<\/ul>\n<h3>Setup Information<\/h3>\n<ul>\n<li>Uses KVM Virtualization<\/li>\n<li>KVM Host connected to 1Gbit Lan\u00a0(via forum.hetzner)<\/li>\n<li>Not using Virtio (via lspci and forum.hetzner)<br \/>\nThe reason for this is incase people want to install different OS&#8217;s, that they don&#8217;t have to require paravirtualized drivers.<\/li>\n<li>SAS Hard Drive in the KVM Host (unconfirmed, but fast IO\u00a0results in the VPS)<\/li>\n<li>KVM host running nginx on port 80 (for vncssl applet)<\/li>\n<li>KVM host SSH responds: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu4 (i.e. running: Ubuntu 10.04.1 LTS ?)<\/li>\n<li>traceroute in and from the VPS did not reveal the KVM host IP. The HostIP was determined from the VNC Applet address in the Control Panel<\/li>\n<li><del>No IPv6<\/del>. No additional IPv4 options.<\/li>\n<li>IPv6 subnet available (\/64)<\/li>\n<li>lspci<br \/>\nDebian-50-lenny-64-minimal:~# lspci<br \/>\n00:00.0 Host bridge: Intel Corporation 440FX &#8211; 82441FX PMC [Natoma] (rev 02)<br \/>\n00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma\/Triton II]<br \/>\n00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma\/Triton II]<br \/>\n00:01.2 USB Controller: Intel Corporation 82371SB PIIX3 USB [Natoma\/Triton II] (rev 01)<br \/>\n00:01.3 Bridge: Intel Corporation 82371AB\/EB\/MB PIIX4 ACPI (rev 03)<br \/>\n00:02.0 VGA compatible controller: Cirrus Logic GD 5446<br \/>\n00:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139\/8139C\/8139C+ (rev 20)<br \/>\n00:04.0 RAM memory: Qumranet, Inc. Device 1002<\/li>\n<li>cat \/proc\/cpuinfo<br \/>\nDebian-50-lenny-64-minimal:~# cat \/proc\/cpuinfo<br \/>\nprocessor\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 0<br \/>\nvendor_id\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : GenuineIntel<br \/>\ncpu family\u00a0\u00a0\u00a0\u00a0\u00a0 : 6<br \/>\nmodel\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 2<br \/>\nmodel name\u00a0\u00a0\u00a0\u00a0\u00a0 : QEMU Virtual CPU version 0.12.5<br \/>\nstepping\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 3<br \/>\ncpu MHz\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 2806.922<br \/>\ncache size\u00a0\u00a0\u00a0\u00a0\u00a0 : 4096 KB<br \/>\nfpu\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : yes<br \/>\nfpu_exception\u00a0\u00a0 : yes<br \/>\ncpuid level\u00a0\u00a0\u00a0\u00a0 : 4<br \/>\nwp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : yes<br \/>\nflags\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good pni cx16 popcnt lahf_lm<br \/>\nbogomips\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 5638.24<br \/>\nclflush size\u00a0\u00a0\u00a0 : 64<br \/>\ncache_alignment : 64<br \/>\naddress sizes\u00a0\u00a0 : 40 bits physical, 48 bits virtual<br \/>\npower management:<\/li>\n<li>Hard Disk setup<br \/>\nDebian-50-lenny-64-minimal:~# cat \/etc\/fstab<br \/>\nproc \/proc proc defaults 0 0<br \/>\nnone \/dev\/pts devpts gid=5,mode=620 0 0<br \/>\n\/dev\/hda1 none swap sw 0 0<br \/>\n\/dev\/hda2 \/boot ext3 defaults 0 0<br \/>\n\/dev\/hda3 \/ ext3 defaults 0 0<br \/>\nfdisk \/dev\/hda:<br \/>\n\/dev\/hda1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 262\u00a0\u00a0\u00a0\u00a0 2102562\u00a0\u00a0 82\u00a0 Linux swap \/ Solaris<br \/>\n\/dev\/hda2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 263\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 295\u00a0\u00a0\u00a0\u00a0\u00a0 265072+\u00a0 83\u00a0 Linux<br \/>\n\/dev\/hda3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 296\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2610\u00a0\u00a0\u00a0 18595237+\u00a0 83\u00a0 Linux<\/li>\n<\/ul>\n<h3>Initial VPS Tests<\/h3>\n<p>Tests and results varied. This is in no way complete. Results were slightly higher when I got the VPS first (with ~8000 Requests Per Second with Apache, and ~19 Seconds for compress-gzip).<\/p>\n<ul>\n<li>Network Speed: Full 100Mbps. Tested with wget.<\/li>\n<li>phoronix-test-suite benchmark apache<br \/>\nPhoronix Test Suite v2.8.2<br \/>\nInstalled: apache [v1.1.0]<br \/>\n&#8230;&#8230;.<br \/>\nAverage: 6794.33 Requests Per Second<br \/>\n<a href=\"http:\/\/global.phoronix-test-suite.com\/?k=category&amp;u=apache\" target=\"_blank\" rel=\"noopener\">Compare Results<\/a><\/li>\n<li>phoronix-test-suite benchmark compress-gzip<br \/>\nInstalled: compress-gzip [v1.1.0]<br \/>\n&#8230;&#8230;.<br \/>\nAverage: 22.38 Seconds<br \/>\n<a href=\"http:\/\/global.phoronix-test-suite.com\/?k=category&amp;u=compress-gzip\" target=\"_blank\" rel=\"noopener\">Compare Results<\/a><\/li>\n<\/ul>\n<h3>Update &#8211; Feb 2011<\/h3>\n<p>So people were asking about uptime of the VPS. As I host a number of VPSs I was also keen to find out how uptime and kernel updates to the host would be applied and handled by hetzner.<\/p>\n<p>During the week, I came back to find the following in a screen session I had running on my main server:<\/p>\n<pre>Debian-50-lenny-64-minimal:~#\r\nBroadcast message from root@Debian-50-lenny-64-minimal (Mon Feb 14 13:13:40 2Power button pressed\r\nThe system is going down for system halt NOW!\r\nConnection to 88.xxx.xxx.xxx closed by remote host.<\/pre>\n<p>Clearly the host had went down for a reboot. I checked <a href=\"http:\/\/www.hetzner-status.de\">www.hetzner-status.de<\/a> and sure enough the reboot was scheduled. I&#8217;m not sure how much notice was given. I should have received an email but it was my own fault I wasn&#8217;t subscribed. The downtime was 10 minutes. I was suprised that it was done during the middle of a weekday (as opposed to out of office hours). Below is the image of the scheduled downtime notice from the hetzner-status.de website. This was the first downtime in 60 days.<\/p>\n<p><a href=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/VPS-Hetzner-Scheduled-Maintenance.jpg\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-235\" title=\"VPS-Hetzner-Scheduled-Maintenance\" src=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/VPS-Hetzner-Scheduled-Maintenance-300x236.jpg\" alt=\"\" width=\"300\" height=\"236\" srcset=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/VPS-Hetzner-Scheduled-Maintenance-300x236.jpg 300w, http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/VPS-Hetzner-Scheduled-Maintenance.jpg 758w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>Update &#8211; April 2011<\/h3>\n<p>After keeping an eye on <a href=\"http:\/\/www.hetzner-status.de\">http:\/\/www.hetzner-status.de<\/a> I found that Hetzner\u00a0was now &#8220;pausing&#8221; VPSs when the KVM host had to go down for a reboot. This has pros and cons. The advantage been that services will remain running on the VPS when unpaused\/started. If\u00a0the KVM host reboot is quick, connections\u00a0to your VPS may remain alive.\u00a0The disadvantage been that you\u00a0might never know if there were issues and that the KVM host had to\u00a0be rebooted. Thus typing &#8220;uptime&#8221; may not reflect an accurate figure.<\/p>\n<p>I also found that ports 59XX on the KVMhostIP\u00a0were no longer accessible from the Internet or from an internal\u00a0Hetzner IP (crossed out text above to reflect this).<\/p>\n<p><strong>An accurate reflection of uptime?<\/strong><\/p>\n<pre>Debian-50-lenny-64-minimal:~# uptime\r\n\u00a013:07:49 up 73 days, 22:44,\u00a0 1 user,\u00a0 load average: 0.00, 0.00, 0.00<\/pre>\n<p>Hetzner\u00a0do seem to be\u00a0listing all reboots and pauses of VPSs on their status website so you know if anything did happen. You can also subscribe for email and news\u00a0alerts.<\/p>\n<p><strong>Screenshots of hetzner-status showing &#8220;pause&#8221; of Vservers:<\/strong><\/p>\n<div id=\"attachment_267\" style=\"width: 160px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/hetzner-vserver-kvm-pause-en.jpg\"><img aria-describedby=\"caption-attachment-267\" loading=\"lazy\" class=\"size-thumbnail wp-image-267 \" title=\"hetzner-vserver-kvm-pause-en\" src=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/hetzner-vserver-kvm-pause-en-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><p id=\"caption-attachment-267\" class=\"wp-caption-text\">English Text<\/p><\/div>\n<div id=\"attachment_267\" style=\"width: 160px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/hetzner-vserver-kvm-pause-de.jpg\"><img aria-describedby=\"caption-attachment-267\" loading=\"lazy\" class=\"size-thumbnail wp-image-267 \" title=\"hetzner-vserver-kvm-pause-en\" src=\"http:\/\/sburke.eu\/blog\/wp-content\/uploads\/2011\/01\/hetzner-vserver-kvm-pause-de-150x150.jpg\" alt=\"\" width=\"150\" height=\"150\" \/><\/a><p id=\"caption-attachment-267\" class=\"wp-caption-text\">German Text<\/p><\/div>\n<h3>Update &#8211; July 2011<\/h3>\n<p>IPv6 Subnet (\/64) is now available for free. Simply log into the hetzner robot, and you can request it automatically (automated setup).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hetzner recently started offering VPS (Virtual Private Servers) since October 2010. Being a Hetzner customer and avidly interested in virtualization, I was keen to find out what setup they had in place and what functionality they offered VPS customers (I&#8217;m &hellip; <a href=\"http:\/\/sburke.eu\/blog\/2011\/01\/hetzner-vserver-vps\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,42],"tags":[43,44],"_links":{"self":[{"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/posts\/211"}],"collection":[{"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/comments?post=211"}],"version-history":[{"count":23,"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/posts\/211\/revisions"}],"predecessor-version":[{"id":694,"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/posts\/211\/revisions\/694"}],"wp:attachment":[{"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/media?parent=211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/categories?post=211"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/sburke.eu\/blog\/wp-json\/wp\/v2\/tags?post=211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}