IONOS provides a variety of operating system block storage images and different versions of it that are ready to be used on any block storage type.
All images get updated frequently to include the latest updates, patches, and security fixes. IONOS will not inform about image updates separately. Once a new patch or update is provided, a new image is built and provided while the previous version is removed from the software catalog. The currently available version number is displayed in the image name that you can retrieve from the image selection within the block storage selection.
For more information about using public images for your Block Storage, see Set Up a Block Storage.
The following list provides an overview of the operating systems and their corresponding distributions supplied by IONOS.
Open Source Linux
Alma Linux
CentOS Linux (deprecation announced for June, 30th 2024)
Debian Linux
Rocky Linux
Ubuntu Linux
Enterprise Linux
Red Hat Enterprise Linux. For more information, see Red Hat Enterprise Linux.
Microsoft Server
Microsoft Windows Server
Cloud-init is a software package that automates the initialization of servers during system boot. When you deploy a new Linux server from an image, cloud-init gives you the option to set default user data.
User data must be written in shell scripts or cloud-config directives using YAML syntax. You can modify IONOS cloud-init's behavior via user-data. You can pass the user data in various formats to the IONOS cloud-init at launch time. Typically, this happens as a template, a parameter in the CLI, etc. This method is highly compatible across platforms and fully secure.
Compatibility: This service is supported on all public IONOS Cloud Linux distributions. You may submit user data through the DCD or via Cloud API. Existing cloud-init configurations from other providers are compatible with IONOS Cloud.
Limitations: Cloud-init is available on all public Linux images supplied by IONOS Cloud. If you wish to use your own Linux image, please make sure that it is cloud-init supported first. Otherwise, there is no guarantee that the package will function as intended. Windows images are currently out of scope; adding them may be considered at a later stage.
Provisioning: Cloud-init can only be set at initial provisioning. It cannot be applied to instances that have already been provisioned. Settings cannot be changed once provisioned.
Laptops: When using a laptop, scroll down the properties panel of the block storage volume that you want to create and configure, as additional fields are not immediately visible on a small screen. Clout-Init may only become visible when an supported image has been selected.
The following table demonstrates the use of cloud-config and user-data scripts. However, the cloud-init package supports a variety of formats.
Data Format | Description |
---|---|
Log in to the DCD with your username and password.
In the Workspace, create a new virtual instance and attach any storage device to it.
Select the storage device and from the Inspector pane associate an Image with it.
To associate a private image, select Own Images from the drop-down list.
To associate a public image, select IONOS Images from the drop-down list. Once you choose an image, additional fields will appear in the Inspector pane.
Enter a Password. It is required for Remote Console access. You may change it later.
(Optional) Upload a new SSH key or use an existing file. SSH Keys can also be injected as user data utilizing cloud-init.
(Optional) Add a specific key to the Ad-hoc SSH Key field.
Select No configuration for Cloud-Init user data and the Cloud-Init User Data window appears.
Enter your User Data either using a bash script or a cloud-config file with a YAML syntax. For sample scripts, see Use shell scripts, Use cloud-config directives, and Configure user data via API.
To complete setup, return to the Inspector pane and click Provision Changes.
Result: At boot, Cloud-Init executes automatically and applies the specified changes. The DCD returns a message when provisioning is complete, indicating that the infrastructure is virtually ready. However, bootstrapping, which includes the execution of cloud-init data, may require additional time. The message that DCD returns does not mention the additional time required for execution. We recommend allowing extra time for task completion before testing.
Using shell scripts is an easy way to bootstrap a server. The code creates, installs, and configures our CentOS web server in the following example. It also rewrites the default index.html file.
Note: Allow enough time for the instance to launch and run the commands in your script, and later verify if your script has completed the tasks you intended.
To test if the cloud-init bootstrapped your VM successfully, you can open the corresponding IP address in your browser. You will be greeted with a “Hello World” message from your web server.
You can also bootstrap cloud-init images using cloud-config directives. The cloud-init website outlines all the supported modules and provides examples of basic directives.
The following script is an example of how to create a swap partition with second block storage using a YAML script:
The following script is an example of how to resize your file system according to the chosen size of the block storage. It will also create a user with an SSH key using a cloud-config YAML script:
The cloud-init output log file (/var/log/cloud-init-output.log
) captures console output. Depending on the default configuration for logging, a second log file exists within /var/log/cloud-init.log
. This provides a comprehensive record based on the user data.
The cloud API offers increased convenience if you want to automate the provisioning and configuration of cloud instances. Enter the following details:
Name: Enter the userData.
Type: Enter the type in the form of a string.
Description: The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either public image
or imageAlias
that has cloud-init compatibility in conjunction with this property.
Cloud-init is configured on the volume resource for cloud API V6 or later versions. For more information, see CLOUD API (6.0).
The following script is an example of how to configure userData using curl:
IONOS offers a wide range of readily available public images that you can use instantly. In addition, you can also use your private images by uploading them into the IONOS Cloud infrastructure via the . Your IONOS account supports numerous block storage and ISO image types using an emulated CD-ROM drive, from which you can install an operating system or software directly.
Furthermore, you can create snapshots of provisioned block storage. Each snapshot is a separate instance, representing the state of the source block storage device while capturing the snapshot.
For Linux images, IONOS supports Cloud-Init to automate software package installations and instance configurations.
Get started with images and snapshots via the DCD.
IONOS is a certified partner of Red Hat and is entitled to offer and operate Red Hat Enterprise Linux (RHEL) within the IONOS public cloud.
Currently, the entitlement is valid for RHEL 8 and RHEL 9 public images that IONOS provides.
Currently, IONOS does not provide any Bring-Your-Own-Subscription (BYOS) option for subscription-based operating systems like Red Hat Enterprise Linux. You still need an IONOS subscription if you want to use your images. IONOS will charge you each time a boots from the private RHEL image. For more information about the charges, see .
Please ensure not to subscribe to or unsubscribe from sources of third-party subscription services to avoid duplicate charges for your Red Hat deployment. The subscription fee also includes access to the IONOS Red Hat Update Infrastructure (RHUI) instance.
IONOS operates its own instance of a Red Hat Update Infrastructure (RHUI). It is accessible by all public IONOS IP addresses. IONOS public RHEL images are preconfigured to access the IONOS RHUI setup as long as the VM has access to the internet.
With the entitlement, RHUI enables IONOS to provide the following services to end-users with an RHEL deployment:
Mirror repositories hosted by Red Hat.
Provide repositories with custom content supplied by IONOS.
Publish content to VMs running RHEL workloads.
that is connected to a public LAN. The network interface has a public IP address. If you have a firewall configured, you may need to allow access to the subscription endpoint and service port.
that is connected to a private LAN containing other VMs that could act as a proxy to the public internet. Connectivity must be configured manually via the routing settings within the VM.
An RHEL image supplied by IONOS can be selected and configured like any other Linux-based public image. You can define the root password and specify SSH keys during provisioning. For more information about how to use RHEL images for your Block Storage, see .
You can access the internet using one of the following options when the VM contains a :
that is connected to a private LAN which is capable of accessing a . The NAT Gateway must be configured to access the public internet endpoint of the subscription service.
This section is in creation and IONOS apologizes for any inconvenience this may cause. Please contact the for any information.
Base64
If the user data is base64 encoded, cloud-init verifies whether the decoded data is one of the supported types. It decodes and handles the decoded data appropriately if it comprehends it. If not, the base64 data is returned unaltered.
User-Data Script
Begins with #!
or Content-Type: text/x-shellscript
. The script is run by /etc/init.d/cloud-init-user-scripts
during the first boot cycle. This occurs late in the boot process after the initial configuration actions are performed.
Include File
Begins with #include
or Content-Type: text/x-include-url
. The include
file is the content. It contains a collection of URLs, one in each line. Each URL is read, and its content passes through the same set of rules. The content read from the URL can be MIME-multi-part or plaintext.
Cloud Config data
Begins with #cloud-config
or Content-Type: text/cloud-config
. For a commented example of supported configuration formats, see the examples.
Upstart Job
Begins with #upstart-job
or Content-Type: text/upstart-job
. This content is stored within a file in /etc/init
, and upstart uses the content similar to other upstart jobs.
Cloud Boothook
Begins with #cloud-boothook
or Content-Type: text/cloud-boothook
. The boothook
data is the content, which is stored in a file within /var/lib/cloud
and executed immediately. This becomes the earliest hook
and does not have any mechanism for executing it only one time. The must be handled by the boothook itself. It is provided with the instance ID in the environment variable INSTANCE_ID
. Use this variable to provide a once-per-instance set of boothook data.
Snapshots are images generated from any block storage that have already been provisioned. You can use snapshots on any block storage type, regardless of the storage type from which the snapshot was created.
You can also use snapshots for other storages. This feature is useful, for example, if you want to quickly roll out multiple Virtual Machines (VMs) with the same or similar configuration or when you need a recovery point.
You can create snapshots from provisioned Hard Disk Drive (HDD) and Solid-State Drive (SSD) storages, regardless of the underlying storage type (HDD or SSD). After creation, a snapshot utilizes the complete HDD storage space assigned to your IONOS account. Therefore, ensure that you have enough HDD quotas available before you create a snapshot.
A snapshot covers the entire capacity of the block storage device. It will also contain the volume part with no data written to it. For example, if you have a block storage with a volume of 100GiB containing 10GiB of data written to it and the remaining volume is empty, the snapshot will still be for the entire 100GiB volume. Consequently, a new block storage volume must at least be the same size as the snapshot. If the new block storage volume is large, you may need to extend the partition manually after booting the VMs and mounting the respective volume to the VM.
Snapshots are not incremental. Each snapshot is a separate instance representing the state of the source block storage device during the snapshot creation.
Snapshots can be shared with groups so that the users in that specific group can receive access to the snapshot. However, snapshots are limited to use only at the data center location where they were originally created. They can be utilized in several Virtual Data Centers (VDCs) as long as they operate at the exact data center location as the snapshot creation.
Snapshots have no usage quota and can be used as often as you want. Furthermore, snapshots do not have a retention period; hence, they are not deleted automatically.
Security Advice: Snapshots are stored within the exact location of the block storage volume. Using the IONOS Backup Service solution, you can create redundancy by having your data backed up in different locations. Alternatively, you could also use a S3-capable storage solution and back up your data to any IONOS S3 Object Storage.
Only contract administrators, owners, and users with the Create Snapshot permission can create a snapshot. Ensure that you have the necessary permission and sufficient memory available.
You can create snapshots from provisioned block storage volumes only. It includes the authentication you specified during the creation of the snapshot. IONOS does not modify snapshots at any time. If you want to change the authentication configurations, we recommend doing it before reusing the snapshot on a new block storage device.
You can create snapshots from any provisioned block storage, regardless of the underlying storage type. After creation, a snapshot utilizes the complete HDD storage space assigned to your IONOS account. Therefore, ensure that you have enough HDD quotas available before you create a snapshot.
The VM can be switched on or off when creating a snapshot. If you want to ensure that data that is still in the RAM of the VM is included in the snapshot, it is recommended that you synchronize the data (with sync
under Linux) or shut down the guest operating system (with shutdown -h now
under Linux) before creating the snapshot.
To create a snapshot, follow these steps:
Open the required data center.
(Optional) Shut down the server. Creating a snapshot while the server is running takes longer.
Open the context menu of the storage element and select Create Snapshot.
(Optional) Change the name and the description of the snapshot.
Click Create Snapshot to start the process.
Result: The snapshot is created and can be access from the following locations:
Menu > Management > Images & Snapshots > Snapshot tab.
My own Images > Snapshots.
If you no longer need a snapshot and want to save your resources, you can delete it. You cannot restore a snapshot after it is deleted.
To delete a snapshot, follow these steps:
Log in to the DCD with your username and password.
Go to Menu > Management > Images & Snapshots.
Open the Snapshots tab and select the snapshot you would like to delete.
Click Delete.
In the dialog that appears, confirm your action by entering your password and clicking OK.
Result: The selected item is deleted and cannot be restored.
Learn how you can use operating systems supplied by IONOS. |
Upload your block storage or ISO images. |
Create and use Snapshots from your own block storage device. |
Install software packages and apply configuration automatically. |
You can migrate your images into the IONOS cloud infrastructure by uploading them via the FTP. For more information, see Block Storage FAQs. Your IONOS account supports many types of block storage images as well as ISO images, using an emulated CD-Rom drive, from which you can install an operating system or software directly.
The following image types are supported; hence, you can upload any of these:
The list below contains the FTP access endpoints for corresponding locations:
Alternatively, you can also find the FTP addresses on the DCD. To retrieve the details, log in to the DCD with your credentials, and click:
Menu > Help (Question Mark icon) > FTP Image Upload
Menu > Management > Images & Snapshots > FTP Upload Image
Currently, IONOS does not support the Bring-Your-Own-License (BYOL) option for license or subscription based operating systems like Microsoft Windows Server or Red Hat Enterprise Linux. If you want to use one of these two options for private images, IONOS will still grant you the license and charge you when a virtual machine boots from the private image.
Private images inherit the same authentication defined during their creation. Therefore, the option to set an administrator password or apply an SSH key is not displayed when using a private image.
You can create snapshots from provisioned block storage volumes only. It includes the authentication you specified during the creation of the snapshot. IONOS does not modify snapshots at any time. If you want to change the authentication configurations, we recommend doing it before reusing the snapshot on a new block storage device.
IONOS offers you FTP access to each data center location so you can upload your own images. Access to images is location-specific, meaning if you have uploaded an image from location A, it can be accessed only from that specific location. You can also set access rights to only allow authorized users to access and use them. Only images and snapshots to which you have access are displayed.
To upload an image, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Resource Manager > Images & Snapshots.
Set up a connection from your computer to the IONOS FTP server. You can use an FTP client such as FileZilla or tools from your operating system to establish a connection.
Upload the image via the appropriate FTP URL to the corresponding IONOS data center location.
After uploading, the image is converted to a RAW format. As a result, dynamic HDD images are always used at their maximum size. A dynamic image, for example, whose file size is 3 GB, but which comes from a 50 GB hard disk, will be a 50 GB image again after conversion to the IONOS format. The conversion process generally takes a few minutes based on the size of your image.
Result: You will be notified by an email when your image is available. Only images and snapshots to which you have access are displayed.
Note:
The disk space required for an uploaded image will not affect the resources of your IONOS account and you will not be charged.
Image file names can contain any of the following special characters: a-z A-Z 0-9 - . / _ ( ) # ~ + = blanks.
Images created from UEFI boot machines cannot be uploaded. Only MBR boot images are supported.
In Windows 10, you can upload an image, without additional software. To establish an FTP connection, follow these steps:
Open Windows Explorer.
Select Add a network location from the context menu.
Enter the IONOS FTP address as the location of the website. Example: ftps://ftps-fkb.ionos.com. An image is only available at the location where it was uploaded.
Select Log on anonymously in the next dialog box that appears.
Enter a name for the connection in the following dialog box. The name will later be visible in Windows Explorer. Example: upload_fkb
.
Click Finish to confirm your action.
Result: The FTP connection is available in Windows Explorer.
Open the FTP access on your local computer.
In the login dialog box, enter the credentials of your IONOS account.
Copy the image from your local computer and paste it to a folder in the data center. The image type must be, either HDD or iso.
Result: As soon as the upload begins, you will receive a confirmation e-mail from IONOS. After the upload has been completed, the image can be accessed via the Manage Images and Snapshots window and also when you choose a private image from the Own Images drop-down list when associating a Storage.
After completing the upload and conversion process, you can manage your uploaded images via the DCD.
To access and manage your images, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Management > Images & Snapshots.
Modify the following details, if necessary:
Name: Rename the image, if required.
Live Vertical Scaling: Enable this option if your image supports live vertical scaling, so that the Virtual Machine (VM) boots from this image.
License Type: Specify the license type of the image that will be propagated to the VM when booting from this image.
You can delete your private image if you no longer need it, thus saving resources.
To delete an image, follow these steps:
Log in to the DCD with your username and password.
Go to the Menu > Management > Images & Snapshots.
Open the Image tab and select the private image you would like to delete.
Click Delete.
In the dialog that appears, confirm your action by entering your password and clicking OK.
Result: The selected image is deleted and cannot be restored.
HDD images:
VMWare disk image
Microsoft disk image
RAW disk image
QEMU QCOW image
UDF file system
Parallels disk image
ISO images:
ISO 9660 CD-ROM
Location
FTP access endpoint
Frankfurt am Main (DE)
ftps://ftp-fra.ionos.com
Karlsruhe (DE)
ftps://ftp-fkb.ionos.com
Berlin (DE)
ftps://ftp-txl.ionos.com
London (GB)
ftps://ftp-lhr.ionos.com
Paris (FR)
ftps://ftp-par.ionos.com
Logroño (ES)
ftps://ftp-vit.ionos.com
Las Vegas (US)
ftps://ftp-las.ionos.com
Lenexa (US)
ftps://ftp-mci.ionos.com
Newark (US)
ftps://ftp-ewr.ionos.com