Depuis plusieurs années OVH propose des serveurs dédiés via trois gammes :
Lors de la création d’un serveur dédié, on peut choisir parmi des modèles d’installation modifiables dans une certaine mesure (e.g. schéma de partition ou exécution d’un script post-installation), mais on se retrouve bloqué si besoin de quelque chose de spécial – un autre système d’exploitation, un système de fichiers spécifique, etc.
Une astuce est d’utiliser IPMI, disponible sur la plupart des serveurs OVH et permettant d’installer une image ISO [1][2]. Étant donné que SoYouStart propose essentiellement du matériel OVH à la retraite, certains de leurs serveurs ont également IPMI, et je m’attend à ce qu’il en soit de même pour Kimsufi au fil du temps.
Mais si IPMI n’est pas disponible (ou ne fonctionne pas à cause de ce satané Java) et qu’on ne souhaite pas payer pour un KVM IP, une solution consiste à démarrer une image ISO depuis le mode rescue via QEMU KVM.
Devrait marcher aussi bien chez OVH et SoYouStart que Kimsufi.
# ssh root@XXX.XXX.XXX.XXX
# uname -a
Linux rescue.ovh.net 4.19.84-mod-std-ipv6-64-rescue #1387440 SMP Fri Aug 21 12:01:09 UTC 2020 x86_64 GNU/Linux
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.9 (jessie)
Release: 8.9
Codename: jessie
Une fois connecté au mode rescue, on peut nettoyer les disques avant l’installation. La plupart des programmes d’installation peuvent repartitionner les disques donc ce n’est pas strictement nécessaire, mais on s’assure ainsi de gérer de suite les éventuels problèmes de RAID / montage.
# lsblk
# cat /proc/mdstat
md0 : active raid1 sda2[0] sdb2[1]
), démonter le RAID et l’arrêter :# umount /dev/md0
# mdadm --stop /dev/md0
En cas d’erreurs umount: /dev/md0: target is busy
ou mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?
, vérifier les volume groups via vgdisplay
et /dev/mapper/
, puis les détruire avec dmsetup remove vg-name
si nécessaire.
1M * 10
devrait être suffisant):# dd if=/dev/zero of=/dev/sda bs=1M count=10
# dd if=/dev/zero of=/dev/sdb bs=1M count=10
Les disques désormais nettoyés, on peut préparer l’installation proprement dite.
# wget http://download.proxmox.com/iso/proxmox-ve_7.0-1.iso
# sha256sum proxmox-ve_7.0-1.iso
# apt-get update
# apt-get install qemu qemu-kvm ovmf
qemu-system-x86_64
, en ajustant les paramètres suivants comme souhaité (man page) :
-enable-kvm
: activer la virtualisation KVM-nodefaults
: désactiver la création de divers périphériques par défaut (on va les spécifier nous-mêmes)-cdrom /root/proxmox-ve_7.0-1.iso
: chemin vers l’image CD-ROM-hdX /dev/sdX
: passe-plat des disques matériels-bios /usr/share/ovmf/OVMF.fd
: charger le firmware UEFI – par défaut BIOS si non fournie-smp 4 -m 4G
: configurer 4 vCPUs et 4 GB de RAM virtuelle-net nic -net user
: créer une interface réseau en mode utilisateur (fausse NIC pour la mise en place de la configuration réseau)-vga std
: émuler un écran VGA standard-vnc localhost:0
: exposer le premier écran VGA (0
) via VNC sur localhost
-usbdevice tablet
: requis pour que la session VNC prenne correctement en charge la souris-k language
: utiliser une disposition clavier spécifique (e.g. fr
) – par défaut la session VNC utilise en-us
si non fournie# qemu-system-x86_64 \
-enable-kvm \
-nodefaults \
-cdrom /root/proxmox-ve_7.0-1.iso \
-hda /dev/sda \
-hdb /dev/sdb \
-bios /usr/share/ovmf/OVMF.fd \
-smp 4 -m 4G \
-net nic -net user \
-vga std \
-vnc localhost:0 \
-usbdevice tablet \
-k fr
Maintenant que QEMU est démarré avec notre image et expose l’affichage via VNC, nous pouvons commencer l’installation.
# ssh root@XXX.XXX.XXX.XXX -L 5900:localhost:5900
localhost:5900
depuis un client VNC (e.g. TightVNC).# ip addr show eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet <SERVER_IP>/24 brd <SERVER_BROADCAST> scope global eth0
# ip route
default via <GATEWAY_IP> dev eth0
# cat /etc/resolv.conf
nameserver 213.186.33.99
En particulier :
<SERVER_IP>
) : IP du serveur dédié (e.g. 169.254.10.20
).<GATEWAY_IP>
) : trois premiers octets de l’IP du serveur avec 254
comme dernier octet (e.g. 169.254.10.254
).213.186.33.99
.Les disques sont maintenant amorcés : on peut stopper QEMU et le mode rescue.
shutdown now
depuis la session VNC sur QEMU.reboot
depuis la session SSH du mode rescue.Voilà ! À ce stade, soit :
Ne pas oublier de réactiver le monitoring à partir de l’interface web une fois satisfait 🙂