Table des matières
GRUB
Cet article vous expliquera comment utiliser le noyau grub-x86_64 (xen)
pour démarrer vos serveurs. Il contient des instructions pour changer le noyau hébergé d'un serveur Xen existant et utiliser le noyau officiel de système, ainsi que des instructions pour migrer un serveur de la plateforme HVM à la plateforme Xen avec GRUB.
Actuellement, grub-x86_64 (xen)
est le moyen de démarrage par défaut pour tous les nouveaux serveurs qui sont créés avec les images système officiellement supportées sur Gandi Cloud. Les noyaux fournis par ces distributions sont utilisés pour faire fonctionner les serveurs, plutôt que des noyaux hébergés par Gandi. Auparavant, les nouveaux serveurs étaient créés par défaut sur la plateforme HVM avec le noyau grub
, qui est maintenant déprécié.
1 - Migrer un serveur Xen existant vers GRUB
Suivez ces instructions pour facilement migrer un serveur Xen existant vers le moyen de démarrage grub-x86_64 (xen)
et utiliser le noyau officiel de votre système, plutôt qu'un noyau hébergé par Gandi.
Vous devrez installer ou mettre à jour le package gandi-hosting-vm2
, qui adaptera la configuration de votre serveur en fonction de la distribution utilisée, installer le noyau et les modules de votre distribution, puis finalement modifier le moyen de démarrage vers grub-x86_64 (xen)
, avant d'arrêter puis démarrer votre serveur.
sudo
). Nous vous recommandons de suivre les étapes dans le bon ordre.
1.1 - Migrer un serveur Debian 7 Xen ou Ubuntu 14.04 LTS Xen
Tout d'abord, connectez-vous à votre serveur par SSH. Dans nos exemples, nous appelons le serveur xenpv-server
:
local $> gandi vm ssh xenpv-server
Ensuite, mettez à jour le package gandi-hosting-vm2
, installez le package grub2
et le noyau de votre système :
xenpv-server #> apt-get update
xenpv-server #> apt-get install --only-upgrade gandi-hosting-vm2
xenpv-server #> apt-get install grub2-common
xenpv-server #> apt-get install linux-image-amd64
Une fois que tous les packages sont installés, éditez la configuration de GRUB dans le fichier /etc/default/grub
en utilisant la valeur suivante pour la clé GRUB_CMDLINE_LINUX
:
GRUB_CMDLINE_LINUX='console=hvc0 root=/dev/xvda1 nomce'
Ensuite, exécutez la commande suivante pour que GRUB prenne en compte la nouvelle configuration.
xenpv-server #> update-grub2
Vous avez maintenant installé les packages et effectué les configurations nécessaires sur votre serveur. Maintenant référez-vous à la section 3 de ce document pour compléter la migration.
1.2 - Migrer un serveur CentOS 7 Xen
Tout d'abord, connectez-vous à votre serveur par SSH. Dans nos exemples, nous appelons le serveur xenpv-server
:
local $> gandi vm ssh xenpv-server
Ensuite, mettez à jour le package gandi-hosting-vm2
, installez le noyau de votre système et les packages relatifs à grub2
:
xenpv-server #> yum install gandi-hosting-vm2
xenpv-server #> yum install kernel
xenpv-server #> yum install grub2-efi grub2-tools
Une fois que tous les packages sont installés, éditez la configuration de GRUB dans le fichier /etc/default/grub
en utilisant la valeur suivante pour la clé GRUB_CMDLINE_LINUX
:
GRUB_CMDLINE_LINUX="console=hvc0 root=/dev/xvda1 nomce"
Si le fichier /etc/default/grub
n'existe pas, créez-le et insérez le contenu suivant :
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=CentOS
GRUB_CMDLINE_LINUX_DEFAULT="console=hvc0 nomce loglevel=5 net.ifnames=0 selinux=1 enforcing=0"
GRUB_CMDLINE_LINUX=""
GRUB_GFXPAYLOAD_LINUX=text
GRUB_TERMINAL=console
Sauvegardez le fichier et executez la commande suivante pour finir la configuration :
xenpv-server #> grub2-mkconfig -o /boot/grub/grub.cfg
Vous avez maintenant installé les packages et effectué les configurations nécessaires sur votre serveur. Maintenant référez-vous à la section 3 de ce document pour compléter la migration.
1.3 - Migrez des distributions plus vieilles vers GRUB
Les distributions plus anciennes que celles listées dans les sections précédentes peuvent ne pas supporter grub2
officiellement. En fonction du système que vous utilisez, il est possible que vous deviez installer et configurez vous-mêmes les logiciels, sans avoir recours à des packages officiels.
Vous pourrez trouver de la documentation sur ce processus dans les sites et forums relatifs à votre système. Nous recommandons vivement de créer un nouveau serveur avec un système récent et de migrer les données de votre vieux serveur vers le nouveau serveur.
Si vous souhaitez tout de même migrer un vieux système vers GRUB, les principes généraux que vous devrez suivre sont les suivants :
- installez le package “gandi-hosting-vm2”
- installez “grub2”
- installez le noyau de votre distribution
- ajoutez cette définition à la configuraiton de GRUB pour avoir accès à la console d'urgence:
GRUB_CMDLINE_LINUX=“console=hvc0 root=/dev/xvda1 nomce”
- mettez à jour votre configuration GRUB en éxecutant la bonne commande, comme par exemple
update-grub2
orgrub2-mkconfig -o /boot/grub/grub.cfg
– chaque distribution peut avoir une commande spécifique
Une fois que aurez complété ces étapes, référez-vous à la section 3 de ce document pour compléter la migration.
2 - Migrer un serveur HVM vers Xen en utilisant GRUB
Votre serveur ou disque système utilise la plateforme HVM s'il est attaché à l'un des noyaux suivants: “3.12-x86_64 (hvm)”, “3.18-x86_64 (hvm)”, “grub” ou “raw”.
Nous avons créé un script, disponible avec les dernières versions du package gandi-hosting-vm2
, qui effectue la configuration nécessaire pour migrer un serveur HVM sur la plateforme Xen. Le script installe tous les packages nécessaires, dont le noyau, et effectue les modifications requises dans les fichiers de configuration.
Suivez les étapes de cette section pour préparer la migration d'un serveur de la plateforme HVM à la plateforme Xen. Ensuite référez-vous à la section 3 pour compléter la migration.
/dev/sdX
(ex: /dev/sdb
) à /dev/xvdX
(ex: /dev/xvdb
). Veillez à modifier votre fstab
ou équivalent, après avoir utilisé le script de migration détaillé ci-dessous.
2.1 Migrer un serveur HVM avec Debian 7, Debian 8, Ubuntu 14.04 LTS ou Ubuntu 16.04 LTS
Tout d'abord, connectez-vous à votre serveur par SSH. Dans nos exemples, nous appelons le serveur hvm-server
:
local $> gandi vm ssh hvm-server --login root
Ensuite, executez les commandes suivantes en tant que root
ou en les prefixant avec sudo
:
hvm-server #> curl -s https://mirrors.gandi.net/gandi/pubkey | apt-key add -
hvm-server #> apt-get update
hvm-server #> apt-get install -y gandi-hosting-vm2
hvm-server #> /usr/share/gandi/kvm_to_xen_migration.sh
hvm-server #> exit
À ce stade, vous avez installé les packages requis et effectué les configurations nécessaires pour changer de plateforme. Suivez maintenant les étapes de la Section 3 pour compléter la migration vers Xen.
2.2 Migrer un serveur CentOS 7 de HVM à Xen
Tout d'abord, connectez-vous à votre serveur par SSH. Dans nos exemples, nous appelons le serveur hvm-server
:
local $> gandi vm ssh hvm-server --login root
Ensuite, executez les commandes suivantes en tant que root
ou en les prefixant avec sudo
:
hvm-server #> wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-Gandi https://mirrors.gandi.net/gandi/pubkey
hvm-server #> yum install -y gandi-hosting-vm2
hvm-server #> /usr/share/gandi/kvm_to_xen_migration.sh
hvm-server #> exit
À ce stade, vous avez installé les packages requis et effectué les configurations nécessaires pour changer de plateforme. Suivez maintenant les étapes de la Section 3 pour compléter la migration vers Xen.
2.3 Migrer un système personnalisé de HVM à Xen
Chaque distribution (ou famille) aura potentiellement ses propres packages, chemins et configurations pour pouvoir démarrer avec GRUB. Les principes généraux que vous devrez suivre sont les suivants :
- installez le package “gandi-hosting-vm2”
- installez “grub2”
- installez le noyau de votre distribution
- ajoutez cette définition à la configuration de GRUB pour avoir accès à la console d'urgence:
GRUB_CMDLINE_LINUX=“console=hvc0 root=/dev/xvda1 nomce”
- mettez à jour votre configuration GRUB en exécutant la bonne commande, comme par exemple
update-grub2
orgrub2-mkconfig -o /boot/grub/grub.cfg
– chaque distribution peut avoir une commande spécifique
Une fois que aurez complété ces étapes, référez-vous à la section 3 de ce document pour compléter la migration.
3 - Démarrer votre serveur avec GRUB
3.1 - Changer le noyau de votre disk système
Cet exemple utilise Gandi CLI pour effectuer le changement de noyau de votre disk système. Notez que vous pouvez également effectuer cette modification dans l'interface web depuis la page de gestion de votre serveur.
local $> gandi disk update --kernel 'grub-x86_64 (xen)' --cmdline 'console=hvc0 root=/dev/xvda1 ro nosep' myserver_system
local $> gandi vm stop myserver
local $> gandi vm start myserver
Une fois le serveur démarré, votre système utilisera GRUB avec le noyau que vous avez installé auparavant. Vous pouvez maintenant mettre à jour vos packages et, si nécessaire, installer les modules du noyau que vous utilisez.
3.2 - Mettre à jour le système
Connectez-vous à votre serveur par SSH à nouveau:
local $> gandi vm ssh myserver
Ensuite éxecutez les commandes suivantes en tant que root
, ou en les préfixant avec sudo
:
Sur Ubuntu / Debian:
xenpv-server #> apt-get update
xenpv-server #> apt-get upgrade
xenpv-server #> reboot
Sur CentOS / Fedora / Mandriva / Mageia:
xenpv-server #> yum update
xenpv-server #> reboot
Note: Avec Mageia / Mandriva, utilisez urpmi –auto-select
si vous n'utilisez pas yum
.
Pour terminer, si vous utilisez des modules noyau spécifiques, vous devez les installer en suivant les instructions contenues dans cet article :
https://wiki.gandi.net/fr/iaas/references/server/kernel_modules
Et voilà ! Votre serveur utilise désormais GRUB et le noyau officiel de votre distribution, sur notre plateforme Xen.
4 - Utiliser une image système personnalisée avec GRUB
Vous pouvez soit utiliser des images système officielles, soit utiliser des images et noyaux personnalisés et les démarrer avec GRUB.
Consultez notre guide pour apprendre à préparer une image système personnalisée (au format VMDK dans l'exemple utilisé) et l'utiliser sur Gandi Cloud: https://wiki.gandi.net/fr/iaas/tutorials/images/vmdk.
5 - Résolution de problèmes et support
5.1 - Mon serveur ne démarre plus
Si votre serveur ne démarre plus après la migration, vous pouvez remettre le noyau utilisé précédemment et recommencer la configuration. Autrement, vous pouvez détacher le disk système et l'attacher à un autre serveur pour faire du débogage:
- Détachez le disk système de votre serveur (
$ gandi disk detach my_boot_disk
) - Créez un serveur qui servira temporairement à deboguer votre système (
$ gandi vm create –hostname temphvmfix
) - Attachez le disk système à ce nouveau serveur (
$ gandi disk attach my_boot_disk –vm temphvmfix
) - Montez le disk pour pouvoir consulter les logs et modifier les fichiers de configuration
- Détachez le disk du serveur temporaire (
$ gandi disk detach my_boot_disk
) - Attachez le disk au serveur original (
$ gandi disk attach my_boot_disk –vm my_original_vm
) - Testez à nouveau
5.2 - Support
Vous pouvez contacter notre équipe de Support Hébergement en cas de besoin.
Vous pouvez également vous joindre à nos développeurs et d'autres clients sur le canal IRC #gandi, sur le réseau Freenode (irc.freenode.net).