In this topic, we expose the guidelines recommended by 3DS OUTSCALE to import your on-premises or Cloud images to the OUTSCALE Cloud. These guidelines enable you to have "Cloud ready" images and make sure everything will run smoothly on our infrastructure.

Also as a reminder you can follow our guidelines to bake an OUTSCALE machine image (OMI). For more information, see Guidelines for Baking OUTSCALE Machine Images.

This list of security guideline is non-exhaustive.

Linux procedure to have an image "Cloud ready"

  • 3DS OUTSCALE NTP Configuration
  • Apply UDEV rules for Volumes
  • Grub configuration for Console output
  • Miscellaneous but needed

3DS OUTSCALE NTP Configuration

Here is the configuration that we apply on our OUTSCALE machine images. We recommend you to do as follow to ensure compatibility with the OUTSCALE Cloud:

  • Configure your NTP:

    ntp1.outscale.net 
    ntp2.outscale.net

Configure volume devices

Failing to apply the following rules may result in a non functioning instance.

Before migrating your on-premises instances you will have to cleanup your fstab and make sure OUTSCALE udev rules are correctly applied.

Devices have a specific naming within the OUTSCALE Cloud. To be ready to see your volume devices you have to configure the following UDEV rules:

/etc/udev/rules.d/
KERNEL=="sd?*", PROGRAM="/bin/sd-xvd $env{ID_SERIAL_SHORT} %n", SYMLINK+="%c"
KERNEL=="vd[!a]*", PROGRAM="/bin/vd-sd %k %n", SYMLINK+="%c"
KERNEL=="vd[!a]*", PROGRAM="/bin/vd-xvd %k %n", SYMLINK+="%c"

You must use the /dev/vda1 device name for the root file system (root device).

You must use a /dev/xvdX device name format for any other volume.

We also recommend using UUID of your disks to link it in your fstab:

/etc/fstab
# For Root Volumes
/dev/vda1       /       ext4    defaults,noatime,nodiratime     0 0
 
# For Non-Root Volumes
/dev/xvdh   /mnt/h      ext3        defaults                    0 0
/dev/xvda   /mnt/a      ext3        defaults                    0 0

You can get information about OUTSCALE volumes. For more information, see About Volumes.

Grub Configuration

  • Redirect output to tty0 to have console output
  • Disable ipV6
  • Disable nouveau driver

Here is an example:

GRUB_CMDLINE_LINUX="ipv6.disable=1 max_loop=256 net.ifnames=0 biosdevname=0 divider=10 notsc console=tty0 console=ttyS0,115200n8 elevator=deadline SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us nouveau.modeset=0"'

Miscellaneous but needed

  • Ensure VirtIO drivers are installed
  • Ensure dhclient is running on boot
  • Disable IPv6 
  • Disable nouveau driver for GPU Compatibility