Hetzner provides a console access (aka kvm ip) on cheap virtual servers which is really a cool thing. While it's not possible to mount a custom iso image, they have a library with multiple choices. The openSUSE project has iso images for aarch64 but unfortunately they are missing on hetzner.
Fortunately it is possible to boot another iso and install openSUSE anyway.
- Provision an aarch64 virtual machine with any system.
- Mount the Alpine iso, reboot the virtual machine and open console / kvm ip.
- Login as "root" (no password) and run "setup-alpine". Set your keyboard, configure Network, and press CTRL+C to cancel.
Find the latest "Generic" KVM/Xen aarch64 image on openSUSE's website and grab it:
curl -O https://fr2.rpmfind.net/linux/opensuse/distribution/leap/15.5/appliances/openSUSE-Leap-15.5-Minimal-VM.aarch64-kvm.qcow2
Edit /etc/apk/repositories then add:
http://dl-cdn.alpinelinux.org/alpine/v3.19/main
http://dl-cdn.alpinelinux.org/alpine/v3.19/community
Install qemu-img and convert the qcow2 image to raw:
apk update && apk add qemu-img
qemu-img convert \
openSUSE-Leap-15.5-Minimal-VM.aarch64-kvm.qcow2 \
openSUSE-Leap-15.5-Minimal-VM.aarch64-kvm.raw
Now you can dd the raw image to disk (make sure /dev/sda is the main disk):
dd if=openSUSE-Leap-15.5-Minimal-VM.aarch64-kvm.qcow2 of=/dev/sda bs=1M
Unmount iso & restart the virtual server. You should see the openSUSE cloud image initial setup :)
Security warning: /etc/ssh/sshd_config has "PermitRootLogin yes". Copy your SSH public key to /root/.ssh/authorized_keys then quickly change the config file to "PermitRootLogin prohibit-password".
Bonus: to extend the root partition:
zypper install growpart
growpart /dev/sda 2
Le blog vient de passer sous un sku cax11 chez Hetzner:
- 2 vCPU Arm64 Ampere® Altra®.
- 4 GB RAM.
- 40 GB SSD.
- 20 TB trafic.
- NixOS vanilla.
Soit à peu près le double de la version x86 pour le même prix.
Et oui, j'ai bien mentionné NixOS vanilla, ou upstream. Contrairement à l'immense majorité des "bidules" en ARM qui nécessitent un OS spécialement modifié pour pouvoir booter, on a affaire ici à une machine virtuelle QEMU avec un firmware UEFI Tiano Core, qui permet de faire tourner n'importe quelle distribution Linux compilée en aarch64 ! L'installation a été réalisée avec nixos-infect. Voici le résultat d'un uname -a
:
Linux prd-web-1 6.1.57 #1-NixOS SMP Tue Oct 10 20:00:46 UTC 2023 aarch64 GNU/Linux
Si j'en ai le courage, je m'attaquerai à la migration de mon serveur Yunohost actuellement en x86. Cela promet d'être laborieux puisque cela nécessite de copier tous mes e-mail, mais cela en vaut la peine.
Je loue des Virtual Private Server (VPS) chez Scaleway depuis 2016 et j'en ai toujours été globalement satisfait. Les performances sont correctes et c'est un hébergeur qui malgré ses tarifs lowcost a su prendre le virage du Cloud en ajoutant toujours plus de services indépendants, et en proposant une bonne intégration avec Terraform.
Et puis les choses ont changé:
- L'été 2020, Scaleway a augmenté ses tarifs. Moi qui utilisait les instances DEV1-S, cela se traduisit par +40% !
- A l'automne 2020, Scaleway a mis fin à la limite mensuelle. De base, la facturation se faisait à l'heure, mais au delà d'un certain seuil le tarif était bloqué à une valeur fixe (comme une sorte de forfait au mois). Ce n'est désormais plus le cas.
Au final, le DEV1-S que je payais 2,99€ HT / mois me coûte maintenant 7,30€ HT / mois soit une augmentation de +144%, aïe.
Puisque mes besoins sont croissants (deux nouveaux VPS à venir) j'ai décidé de regarder ce qui se faisait à côté, et je suis tombé sur Hetzner qui jouit d'une réputation plutôt correcte tout en proposant des tarifs lowcost. Comparons les prix :
- 2 vcpu, 2GB de RAM, 20GB stockage: Hetzner CX11 (2,96€ / month), Scaleway DEV1-S (7,30€ / month).
- 4 vcpu, 8GB de RAM, 80GB stockage: Hetzner CPX31 (14,76€ / month), Scaleway DEV1-L (29,20€ / month).
La migration a donc commencé, le blog est maintenant hébergé chez Hetzner (toujours en Kubernetes) à Helsinki.