Hetzner - DokuWiki




What is the difference between local and ceph disks for servers?

Servers with local disks keep all data on a local RAID mirror on the host system. They are optimized for high I/O performance and low latency and are especially suited for applications which require fast access to disks with low latency, such as databases.

Servers with ceph disks store their data on a remote filesystem. Each block is stored on three different servers. They are especially suited for higher availability needs: If the local host hardware fails, we will boot the server on a different machine.

Can I use Cloud-Init when creating servers?

While creating your server, you can inject cloud-init user data. This means you can make your server execute special commands while booting, like creating users or running a shell command.


touch /tmp/cloudinit_was_here

For more examples see https://help.ubuntu.com/community/CloudInit and http://cloudinit.readthedocs.io/en/latest/topics/examples.html

In order for cloud-init to work, you must use the system images we provide as they include a special cloud-init datasource.

What are floating IPs and how do they work?

Floating IPs help you to create highly flexible setups. You can assign a floating IP to any server. The server can then use this IP. You can reassign it to a different server at any time, or you can choose to unassign the floating IP from servers all together.

Floating IPs can be used globally. This means you can assign a floating IP to a server in one location and later reassign it to a server in a different location. For optimal routing and latency, floating IPs should be used in the location they were created in.

For floating IPs to work, you must configure them inside the operating system of the server you use.

To temporarily configure a floating IPv4 "", you can run

ip addr add dev eth0

Please note that this configuration will not survive a reboot.

To configure the first IPv6 address of floating IPv6 netblock 2a01:4f8:2c17:2c::/64, you should run:

ip addr add 2a01:4f8:2c17:2c::1/128 dev eth0

For permanent configuration, please see the documentation of your Linux distribution.

What are snapshots and backups?

Snapshots and backups are copies of your server's disks.

You can create snapshots when you need them and keep them forever until you decide to delete them. We at Hetzner Online will store the snapshots even if you delete the server of which the snapshot was taken. We invoice for snapshots on a per Gigabyte per month basis. See here in the billing FAQ

Backups are nightly copies of your server. Our system will automatically create them for every server that you have enabled them on. They are invoiced with a flat fee per server. See here in the billing FAQ. Backups are bound to a single server and will automatically be deleted if you delete the server. For every server there are seven slots for backups. If all slots are full and you create an additional one, then the oldest backup will be deleted.

To access a snapshot or a backup, you will need to either:

  • Use the Cloud Console to create a new server and choose the snapshot or backup as a source image. Or
  • Rebuild an existing server using the snapshot or backup as a source image. Note that this will overwrite the contents of the server's disk.

When creating snapshots or backups, we recommend that you power down your server to ensure data consistency on the disks. You may, however, also create them from a running system. In this case we will try to flush the disk caches of your operating system using Qemu Guest Agent before snapshotting. However in this case we cannot guarantee data consistency.

What are projects, and how can I use them?

You can group your servers and other resources into projects. For each project you can invite other users to join and therefore work with you on the project via Cloud Console. To invite a user select "Access; Members; Add Member".

Add member.png

You can then enter the email address of the person you want to invite and choose their role, which determines their access level in this project.

Add member 2.png

The invitee will get an email containing a special link. After clicking it he can log in with his existing Hetzner Account details or create a new account. On completion he can accept the invitation and work together with you in your project.

You can always revoke access to the project or change the role of another member by going to "Access; Members in your Cloud Console".

Each member's role in a project determines what they are allowed to do:

Role Permissions
Owner Highest access level. Can do everything an admin can do. Will be invoiced for all resources in the project, regardless of who created them. Each project can only have one owner.
Admin Can do everything a member can do. Additionally can manage project members (add/remove/change role) and API tokens.
Member Can create, modify and delete all resources in the project, such as servers, floating IPs, images, etc.
Restricted Can create, modify and delete all resources in the project except for:
  • creating or deleting servers
  • creating snapshots
  • deleting snapshots or backups
  • converting backups into snapshots
  • switching on or off backups for a server
  • creating floating IPs
  • changing server types

Are there limits to the number of resources I can get?

Our cloud services are designed in a way so that you can tap into additional resources easily.

In order to prevent abuse, we put some limits on the number of resources a single account can create. If you reach any resource limits and would like us to increase the resources, please contact our support team via Cloud Console.

How can I reinstall a server?

Our recommended way to do this is to delete your old server and create a new one instead. This way you can ensure that all settings -- e.g. regarding ssh access keys and other things -- are fresh and up-to-date. There is also a high chance that your new server will get the same ip address your old, deleted server had.

If you really want to keep your server, you can replace its disk with a fresh install by using the rebuild server tool in the Cloud Console. However rebuilding your server using a different Linux distribution than the one it was created with can have unexpected consequences. Since cloudinit data only gets created one time upon server creation, your server might have cloudinit settings that are unfit for the Linux distribution your are using. For example, when rebuilding a server that was created with Ubuntu using Debian, your apt sources file may need manual adjustment.

How do I access the server I rebuilt?

Assume you rebuilt your Server "Server1" from a snapshot called "Snap1".

Case 1: Server1 was originally created without selecting a SSH-Key

After rebuild a new root-password for Server1 will be generated and mailed to you. It will be set on first boot using the cloud-init mechanism.

If Snap1 contained injected SSH keys these will also continue to work.

Case 2: Server1 was created with selecting your SSH-Key key1

After rebuild the key key1 will be injected into Server1 on first boot using the cloud-init mechanism. You can use key1 to access your server.

If Snap1 contained any more keys in its authorized_keys file you can also still use these to access Server1.

In any case Server1 cannot be accessed using a root-password directly after the rebuild, even if one was set in Snap1.

Case 1 and Case 2 only apply if you restore a snapshot that was taken from our officially provided images. If you used the rescue-system or other means to install your server it will not be fit for reconfiguration via cloud-init and its behaviour might be different.

The keyboard mapping in the console window seems to be wrong. How can I fix this?

All of our images come with keyboard mapping set for a US keyboard. If you have something different, you need to configure it yourself within your server.

For example, on Ubuntu you can do so by running

sudo dpkg-reconfigure keyboard-configuration

and selecting the keyboard layout you are using on your local PC. After a reboot, the keyboard mapping in the console will be correct.


How do you bill your servers?

Servers have both a monthly price cap and a price per hour. Your server's bill will never exceed its monthly price cap. If you choose to use the server for less than a month, you will be billed at the hourly rate.

Mathematically speaking, you will be billed the minimum amount, whether that is the monthly price cap OR the hourly price multiplied by the number of hours you used the server.

Hourly usage of a server is always rounded up: If you create a server just for a few minutes you will still be billed for one whole hour. This reflects the additional load on your systems that is caused by the server's creation.

Do you bill servers that are off?

Yes. All servers that have finished their creation process will be billed until they are deleted, regardless of their state.

This is because, internally, we allocate full resources to servers regardless of their power state. And it enables rapid startup and boot times for you, the customer.

How do you bill for floating IPs?

Floating IPs are billed monthly. If you use your floating IP for less than a month, you will be billed for the appropriate fraction of it.

How do you bill for traffic?

We only bill for outgoing traffic. Incoming and internal traffic is free. Internal traffic includes other Hetzner Cloud servers, other Hetzner Online dedicated root servers, and other Hetzner Online servers, services, or web hosting packages.

If you exceed the traffic included in your package, we will bill you for every TB of over usage. If you only consume a fraction of a TB, it will be rounded up to the next full TB.

Example: Your server has 20TB included traffic. Within a month you use 20.8TB. You will be billed for 1 TB of over usage.

How do you bill for snapshots and backups?

Snapshots are billed per gigabyte per month. If a snapshot only exists for a fraction of a month, then it will only be billed for this fraction. We will only bill you for the space the compressed snapshot uses in our storage system. So if you create a snapshot of a disk of 40GB, you will be billed for 40GB or less - depending on how the data on your disk compresses.

Backups are billed as a monthly flat price which is 20% of the price of the server you activate them for. So if you activate backups for a server that costs €2.49 per month, you will be billed an additional €2.49 * 0.2 = €0.498/month. For this price you will get a total of 7 backup slots.

When will I get my invoice?

When you sign up for our offer, we will create the first invoice earlier than usual. We will only do this for the very first invoice. We find that it helps prevent abuse.

You can manage your open invoices at any time, regardless of when we create your invoice, via your account on Cloud Console by going to "Account; Billing".

After the first invoice, we will create invoices based on full calendar months. To space out invoices, we may create them up to 28 days after the last month was completed.

How do I keep my costs under control?

You can set alerts that will send you an email if you exceed a certain cost limit. To set an alert, go to "Account; Billing" in your Cloud Console.

Billing alert.png

You can set values per project by clicking on the numbers.

How are small amounts handled in invoices?

All amounts within an invoice are added to the total sum with high precision.

Example: You use multiple servers with a price of 0.004€ for just one hour. On invoice creation all of these amounts will be added to the total sum of the invoice with high precision and only after that the total sum will be rounded to two digits using commercial rounding rules.

Technical details

What hardware do my servers run on?

Hetzner Cloud servers run on the latest generation of Intel Xeon CPUs (Skylake) with ECC RAM. For local storage we use NVMe SSDs.

What hypervisor and NIC/disk drivers do you use?

We are running KVM as a hypervisor. We use virtio for both virtual NICs and disks.

Is there any way to get a custom configuration?

Customized virtual servers (additional RAM, additional/larger drives etc.) are not currently available.

How are your images set up?

The images we provide use cloud-init to set up networking and other options.

They come with qemu-guest agent preinstalled. It is used for:

  • force flushing of disk caches before snapshots and backups are created
  • resetting the root password on your request

If you do not want to have qemu guest agent running, feel free to uninstall it. However you will lose the functionality mentioned above.

Can I install Windows?

Right now we are focusing on support for Linux as an operating system. You can install Windows manually on your own using an ISO image. For more information, please see here.

Please note that we will not provide any support for Windows.

Are you patched against Meltdown and Spectre?

All currently released stable patches are applied. We expect to apply more patches as they get released by our vendors over the new few days and weeks.

Future plans

Do you plan to add x feature?/Will you add more features?

We started Hetzner Cloud with the minimal feature set we think is necessary to enter the market. However we intend to continually add new features and services. We have designed our internal development methods and systems to allow us to add more features.

Unfortunately we cannot provide you with a precise roadmap of the things we are working on. However you can stay up to date by following us on Twitter at https://twitter.com/hetzner_online

Will you add additional locations in different geographic regions?

We are actively looking into this option right now.


Can I access your Service through an API?

Of course! You can find current the api docs under https://docs.hetzner.cloud.

If you develop something against our API we appreciate feedback through the support form of your Cloud Console.

Do you sponsor efforts to integrate Hetzner Cloud into Open Source libs?

Yes we do: If you are developing integrations based on our API and your product is Open Source you may be eligible for a free one time €50 (excl. VAT) credit on your account. Please contact us via the support page on your Cloud Console and let us know the following:

  • The type of integration you would like to develop
  • Link to the GitHub repo you will use for the project
  • Link to some other Open Source work you have already done (if you have done so)

A list of integrations that are already done or being worked on can be found here:


We'd love to hear from you! :)

Is there a command line (CLI) tool to access Hetzner Cloud?

Yes. It is provided as an Open Source Project here: https://github.com/hetznercloud/cli

If you would like to contribute or extend it, please do so by opening pull requests.

Is there a library to access Hetzner Cloud from my programming language?

We currently provide a library for Go as Open Source under https://github.com/hetznercloud/hcloud-go.

You can find inofficial libraries for many languages at our integrations list: https://github.com/hetznercloud/awesome-hcloud

Since our API is very easy to use you may not even need a full lib and a quick HTTPS request may be enough; check out our API documentation at https://docs.hetzner.cloud

Work for us

We are looking for new developers. So if you like our product and would like to work for Hetzner Online, please take a look at https://career.hetzner.com

© 2020. Hetzner Online GmbH. Alle Rechte vorbehalten.