System Images

Gandi currently operates two hosting platforms, each offering a selection of Linux and BSD distributions especially prepared by our teams. Users are also able to install vanilla or custom systems on their own and leverage the power and flexibility of our offering with great freedom.

On our new HVM platform, available since late 2014, we offer different versions of 3 Linux distributions (Debian, Ubuntu and CentOS) and 1 BSD system (FreeBSD). 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).

On our legacy Xen platform, in production since 2007, we have run hundreds of thousands of servers with many different flavours of Linux over the years, in 32 and 64 bits architectures. All systems are selected and adapted by our team and run patched kernels optimised for our platform.

As we transition from Xen to HVM, we are focusing on supporting the systems that are most used by our customers and continue to encourage diversity through DIY.

This article details the systems we currently support and are in the process of deprecating. You will also find examples of how to get started running your own systems on our new HVM platform.

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
  • preference for the HVM platform (future default)

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 8 64 bits (HVM) HVM Debian 10 +6 months
Debian 7 64 bits (HVM) HVM Debian 9 +6 months
Debian 7 64 bits Xen HVM migration +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
Ubuntu 14.04 LTS 64 bits Xen HVM migration +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

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
None

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

Our HVM platform allows you to 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.

Requirements

  1. A Gandi Hosting account and some credits
  2. Gandi CLI, our commad line management interface(not required but recommended)
  3. 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

  1. Create a Server with a temporary system disk
  2. Create a data disk to hold the custom image
  3. Download the tarball or installer provided by the developers
  4. Install the custom image on the data disk
  5. Copy networking and user information to the custom image
  6. Stop the server and detach both disks
  7. Re-attach the data disk as the server's system disk
  8. Boot the server with the custom system
  9. Delete the temporary system disk

Examples

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

  1. Create a Server with a temporary system disk
  2. Create a data disk to hold the custom image
  3. Download the vanilla tarball or installer provided by upstream developers
  4. Setup the custom image with custom tools
  5. Install the custom image on the data disk
  6. Detach the data disk from the server
  7. Change the data disk to a system disk
  8. Use it as a source image when creating servers

Examples

Last modified: 03/15/2017 at 17:45 by Richard M. (Gandi)