Hetzner - DokuWiki




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

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.

What are the dedicated vCPU server plans?

Every dedicated vCPU instance has its own dedicated CPU resources (1 vCPU = 1 hyper-thread), so these CCX servers offer you predictably high CPU performance. We recommend them for systems with high production loads and CPU intensive applications. They are only available with local (NVMe SSD) storage. They utilize the same high performance hardware as our other Hetzner cloud servers, with a generous allocation of I/O and network power.

Of course all the other Hetzner Cloud features you know and love are are also available for these dedicated vCPU instances. Using the rescale feature on the administration interface Cloud Console, you can up- and downgrade the CCX servers depending on how many resources you require.

Please note that our System Policies at https://www.hetzner.com/rechtliches/cloud-server/ also apply to our dedicated vCPU instances.

At the moment dedicated vCPU instances are available in Nuremberg and Helsinki.

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

How to permanently configure a floating ip?

To learn how to permanently configure a floating ip read our tutorial.

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.

Can I pick my backup window?

When enabling backups you were able to pick a backup window of your choice. However on Sept 24th 2018 we deprecated this feature. It it will be disabled soon altogether. Instead we will automatically assign a backup window whenever you enable backups.

This allow us to better spread the additional load caused by running backups throughout the day. This was necessary because many users picked the same window, causing performance repercussions and negatively impacting server performance during certain times of the day.

Please use our snapshot feature if you want to precisely control when your disk gets saved.

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.

These limits can be found on the "Limits" tab in your overview page. If you would like us to increase the resource limits use the "Request limit change" button on the "Limits" tab.

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.

How can 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 all cases, 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 the server snap1 was taken from, it will not be fit for reconfiguration via cloud-init, and its behavior might be different.

While creating a new server, I have selected a snapshot as source image. How can I access this server?

Assume you created your server server1 from a snapshot called snap1.

Case 1: You did not select a ssh key while creating server1:

After server creation, a root password for access will be generated and mailed to you. It will be set using the cloud-init mechanism.

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

Case 2: You selected ssh key key1 while creating server1:

After server creation, the key key1 will be injected into server1 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 all cases server1 cannot be accessed using a root-password directly after it creation, even if one was set in snap1.

Case 1 and Case 2 only apply if you use a snapshot that was taken from our officially provided images. If you used the rescue system or other means to install the server snap1 was taken from, it will not be fit for reconfiguration via cloud-init, and its behavior 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 I protect my server from being deleted by accident?

Servers, Snapshots and Floating IPs can be protected in the Cloud Console and API.

Before you can delete a protected resource, you have to first deactivate the deletion protection. This provides an additional safeguard for accidental deletion.

Protected resources are indicated by a lock icon on the Server, Snapshot and Floating IP overview page. You can't use the "Rebuild" feature to reinstall a protected server.


What are the Hetzner Cloud Volumes?

It is a feature for fast, flexible, and cost-effective (SSD based) block storage which you can attach to your Hetzner Cloud Server.

Are volumes available in all locations?

Volumes are available at the Nuremberg and Helsinki locations. We expect to bring them online in Falkenstein before the end of 2018.

Can I resize Volumes?

You can resize a Volume up to 10 TB. You can only up size a Volume, not down size.

How can I mount a volume on the server?

When you attach the volume to your server using the Cloud Console, you will see the commands you can use to mount the Volume.

Attaching a volume fails. Why does this happen?

Servers which have run for quite some time may need a power off and power on cycle. This is a one time only requirement and will trigger our cloud management system to enable Volume support for this server. Please note, a soft reboot is not enough.

How does Hetzner Online store the data in volumes?

Every block of data is stored on three different physical servers (triple replication).

Is there a limit on the number of attached volumes?

You can mount up to five volumes on each of your Hetzner Cloud Servers.

Are there size limits for volumes?

Volumes can be between 10 GB and 10 TB.

Can I also mount Hetzner Cloud Volumes on a Hetzner dedicated root server?

Unfortunately not: Volumes only work with cloud servers.

What do the volumes cost?

During the beta test, volumes are free. After the beta test, the price will be € 0.04 / GB per month (excl. VAT).

Will Hetzner Online delete my volumes at the end of the beta test?

No. All the volumes that you create during the beta test will remain. But after the beta test is over, we at Hetzner Online will begin to invoice you for all remaining Volumes. We will send you an email to remind you about this before the beta test is over.

Which limits apply during the beta test?

During the beta test, you can have up to 10 Hetzner Cloud Volumes. The minimum size per Volume is 10 GB. Each customer can have a maximum of 100 GB storage on all their Volumes total.


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.

Example: You use multiple servers with a price of 0.004€ for just one hour. When we create an invoice, all of these amounts will be added to the total sum of the invoice only after that the total sum will be rounded to two digits using commercial rounding rules. This gives us a higher level of precision than if we used the commercial rounding rules on the sub-totals.

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. However, you can mount additional disks, called Volumes, which are flexible disks with up to 10 TB storage.

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.

How are API tokens stored?

In order to access our API you will need to generate an API token, which is a 64 byte string. The last 32 bytes of this key are secret. The first 32 bytes are a prefix which is used for identification, similar to a username. On Token creation we will display the full version only once.

After that your token cannot be retrieved in full again since the secret portion is stored in a hashed format only. The prefix can be retrieved again to identify the token, for example in the list of account activities.

The prefix part itself does not enable access to the API since the secret part is needed as well.

For your Debian and Centos Images: What is the minor version?

We automatically update our images to be the latest minor version within two weeks after the release. That means that our existing Debian 9 image will always contain the latest Debian 9.X version within two weeks after its release.

More detail:

For Debian and Centos the versioning scheme is MAJOR.MINOR, e.g. Debian 9.1 is Debian with major version 9 and minor version 1.

For both Debian and Centos updating a minor Version (e.g. Debian 9.3 -> 9.4) is done implicitly when updating your software packages. Therefore the minor version will change during the lifetime of your server. To avoid confusion our Image descriptions do not contain the minor version but only the major (e.g. "Debian 9" instead of "Debian 9.1")

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

© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.