Table of Contents
System Images
We offer different versions of 3 Linux distributions (Debian, Ubuntu and CentOS) and 1 BSD system (FreeBSD) in 64 bits. Here, you can also run vanilla or custom versions of your favourite systems, as long as they support ACPI events and include virtio (most modern distributions do).
This article details the systems we currently support and are in the process of deprecating.
Official images
You can select among our official images whenever you are creating a new server. These images are basically vanilla images that are especially prepared by our team to make the most of our hosting platform.
Once your server is booted, everything will be up and running at its best. Optimisations range from custom kernels to custom system configuration, including the usage of Gandi's package mirrors, making downloads a lot faster.
Historically, our team has supported the widest possible range of Linux distributions on a best effort basis. Thanks to our new platform, we now focus our work on the latest stable versions of popular systems while continuing to welcome different systems.
Supported images
Image support is about offering a robust system that is fully optimized for our platform. This requires continuous improvements and bugfixes to the packages we develop, as well as adaptions and enhancements to our platform to support new system features.
Our current policy for system image support can be succinctly summed up:
- 4 supported systems (3 Linux distributions and 1BSD system)
- 2 most recent stable versions (equivalent of long term support when available)
- 64 bits architecture only
Below is a complete list of the system images that we currently support, as well as their planned transition to deprecated and EOL states.
Systems | Image label | Platform | Deprecated by | EOL |
---|---|---|---|---|
Debian | Debian 9 | Xen | Debian 10 | +6 months |
Debian 8 | Xen | Debian 9 | +6 months | |
Ubuntu | Ubuntu 16.04 LTS | Xen | Ubuntu 20.04 LTS | +6 months |
CentOS | CentOS 7 | Xen | CentOS 9 | +6 months |
FreeBSD | FreeBSD 11.0 (UFS) | Xen | FreeBSD 11.1 | +2 months |
FreeBSD 11.0 (ZFS) | Xen | FreeBSD 11.1 | +2 months | |
FreeBSD 11.1 (UFS) | Xen | FreeBSD 11.2 | +2 months | |
FreeBSD 11.1 (ZFS) | Xen | FreeBSD 11.2 | +2 months |
Deprecated images
As new versions of supported systems are released by upstream developers, we deprecate the oldest images by adding a (deprecated)
suffix to the image label.
Image deprecation does not affect running servers, nor does it prevent you from being able to create new ones with deprecated images. A deprecated image remains available for server creation for at least 6 months before finally reaching EOL (End Of Life).
Current label | Platform | Deprecation date | Label after deprecation | EOL date |
---|---|---|---|---|
Debian | Debian 8 64 bits (HVM) | HVM | Debian 10 | +6 months |
Debian 7 64 bits (HVM) | HVM | Debian 9 | +6 months | |
Ubuntu | Ubuntu 16.04 LTS 64 bits (HVM) | HVM | Ubuntu 20.04 LTS | +6 months |
Ubuntu 14.04 LTS 64 bits (HVM) | HVM | Ubuntu 18.04 LTS | +6 months | |
CentOS | CentOS 7 64 bits (HVM) | HVM | CentOS 9 (HVM) | +6 months |
FreeBSD | FreeBSD 10.3 64 bits (UFS) | HVM | FreeBSD 10.4 | Immediate |
FreeBSD 10.3 64 bits (ZFS) | HVM | FreeBSD 10.4 | Immediate |
EOL (End Of Life)
Images that reach EOL (End of Life) are removed from our public offering and are not available for server creation anymore.
Servers already running EOL images remain unaffected and can continue to run normally. System support will depend only on updates released by upstream developers. Additionally, we don't guarantee that our package mirrors will work so make sure you use the distribution's mirrors and keep your system up-to-date.
You can still create new servers with images that have gone EOL as long as you have Snapshots of supported or deprecated system images. This might be useful in a number of cases, such as a production scenario where for example you need to spawn legacy systems independently of upstream support.
Image label | Platform | EOL date |
---|---|---|
FreeBSD 10.2 64 bits (UFS) | HVM | May 19, 2016 |
FreeBSD 10.2 64 bits (ZFS) | HVM | May 19, 2016 |
ArchLinux 32 bits | Xen | June 14, 2016 |
ArchLinux 64 bits | Xen | June 14, 2016 |
Centos 5 32 bits | Xen | June 14, 2016 |
CentOS 5 64 bits | Xen | June 14, 2016 |
Centos 6 32 bits | Xen | June 14, 2016 |
Centos 6 64 bits | Xen | March 15, 2017 |
Debian 6 32 bits | Xen | June 14, 2016 |
Debian 6 64 bits | Xen | June 14, 2016 |
Debian 7 32 bits | Xen | June 14, 2016 |
Fedora 17 32 bits | Xen | June 14, 2016 |
Fedora 17 64 bits | Xen | June 14, 2016 |
OpenSUSE 12.2 32 bits | Xen | June 14, 2016 |
OpenSUSE 12.2 64 bits | Xen | June 14, 2016 |
Ubuntu 10.04 32 bits | Xen | June 14, 2016 |
Ubuntu 10.04 64 bits | Xen | June 14, 2016 |
Ubuntu 12.04 32 bits | Xen | June 14, 2016 |
Ubuntu 12.04 64 bits | Xen | March 09, 2017 |
Ubuntu 14.04 32 bits | Xen | June 14, 2016 |
Custom images
You can run systems not provided by Gandi on your servers and freely experiment with new technologies.
However, unlike with a personal computer, a user cannot go through a guided install process on first boot; the system needs to be prepared before it is run. At a minimum, networking and user configuration are needed to be able to access a server.
This section describes two methods to get your system up an running.
The first method is simpler and is great for testing out new systems. The second method enables you to create a reusable image of a custom system that you can deploy in production scenarios.
You can also visit our GRUB reference page for more information.
Requirements
- A Gandi Hosting account and some credits
- Gandi CLI, our commad line management interface(not required but recommended)
- The systems you can install must include virtio and support ACPI events.
Single server method
This method is great for testing and getting started.
You will create a server and start by using its default system to install your custom image on a “data disk”. Then, you'll simply replace the default disk with your data disk to boot the server with new system.
In this scenario, you hard-code the system configuration using the one found in the default system. Therefore, you won't have the ability to clone the disk to use with a new server automatically, as it would have the wrong.
You'll have minimal platform support, just enough to be up and running, since you won't be using any of Gandi's custom-built tools for device hot-plugging, etc.
Steps
- Create a Server with a temporary system disk
- Create a data disk to hold the custom image
- Download the tarball or installer provided by the developers
- Install the custom image on the data disk
- Copy networking and user information to the custom image
- Stop the server and detach both disks
- Re-attach the data disk as the server's system disk
- Boot the server with the custom system
- Delete the temporary system disk
Examples
- Bash script to install CoreOS: https://github.com/azediv/gnadi-coreos
Reusable system method
Setup a system image that can be used as a source image for new servers.
Gandi has created custom tools to enable its system images to detect a server's configuration automatically from the platform. Most of these tools are open source and can be used directly or as an example to achieve automatic configuration in your custom systems.
With the right configuration, you can support all platform features in your custom images. For example, use Gandi's mirrors for ultra fast access to package repositories when available for your system, or hot-detect RAM, network interfaces, CPU cores or disks.
Steps
- Create a Server with a temporary system disk
- Create a data disk to hold the custom image
- Download the vanilla tarball or installer provided by upstream developers
- Setup the custom image with custom tools
- Install the custom image on the data disk
- Detach the data disk from the server
- Change the data disk to a system disk
- Use it as a source image when creating servers
Examples
- Gandis' gandi-vm-config: https://github.com/Gandi/gandi-vm-config
- Gandi's swap-setup: https://github.com/Gandi/gandi-swapsetup
- How we created the FreeBSD image: https://wiki.gandi.net/en/iaas/references/freebsd
- How a virtual machine is setup: http://gandikitchen.net/post/2013/11/15/How-is-a-virtual-machine-set-up