Blog.Iglou.eu

/ Home / 

[Scaleway] Avoir un OpenBSD (ou autre) sur les serveurs Scaleway

Cet article est issu d’une importation historique.
Il fut fait sans correcteur orthographique et grammaticale, il est aussi fort probable que des images et liens soient indisponible.

Scale my BSD 🐡

Moi: Vous savez quoi ?
Vous: Non, mais tu vas nous le dire !
Moi: En serveur, je préfÚre grandement un OpenBSD à un GNU/Linux
Vous: Et pourquoi donc ?
Moi: Pour pleins de raisons, comme son PF, HTTPD, SMTPD …
Vous: MouĂ©, enfin SMTPD il est aussi sur d’autres os, puis OpenBSD n’est pas disponible de base, et les solutions trouvĂ©es jusque-lĂ  sur le net ne sont pas pratiques, et c’est compliquĂ© et blabla bla …

Je fais trop bien les questions et les rĂ©ponses avec moi-mĂȘme, quelle discussion constructive incroyable

Image de presentation
Je ne suis pas aussi confiant que Barney pour le coup


[Musique de Rocky]

But

* C’est la win
** C’est la loose pour le moment

Observations

xxx IP xxx > 169.254.42.42.http: Flags [P.], seq 1225680221:1225680383, ack 1681506505, win 229, options [nop,nop,TS val 6113219 ecr 329066878], length 162: HTTP
E...".@.@...
.B...**.z.PI.e]d9......!......
.]G...)~PATCH /state HTTP/1.1
Host: 169.254.42.42
User-Agent: curl/7.52.1
Accept: */*
Content-Type: application/json
Content-Length: 26

{"state_detail": "booted"}
17:13:11.459660 IP 169.254.42.42.http > xxx: Flags [P.], seq 1:164, ack 162, win 235, options [nop,nop,TS val 329067003 ecr 6113219], length 163: HTTP: HTTP/1.1 200 OK
E.....@.;.4...**
.B..P.zd9..I.e............
..)..]G.HTTP/1.1 200 OK
Server: Tengine
Date: Tue, 08 May 2018 17:13:11 GMT
Content-Type: text/plain
Content-Length: 20
Connection: keep-alive

STATE_DETAIL=booted

Solution

  1. Créer un serveur x86 64 avec un volume 50G pour OpenBSD
  2. Installer qemu et Dl miniroot**.fs
  3. New VM miniroot**.fs et en utilisant le volume prévu qemu-system-x86_64 -curses -drive file=miniroot**.fs -drive file=/dev/vdb -net nic -net user
  4. Installer OpenBSD comme vous voulez, sauf pour :
    • IPv4 address for em0? (or ‘dhcp’ or ’none’) [dhcp]
    • Change the default console to com0? [no] yes_(Pour utiliser la console en ligne)_
    • Which disk is the root disk? (’?’ for details) [wd0] wd1
    • Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole] G (Partition GTP pour EFI)
    • Installez BSD.mp affin d’Ă©tre en kernel MultiProcessor (il fonctionne aussi en sigle core)
    • À la fin de l’install, copiĂ© le hostname pour l’interface vio0 (nom de l’interface des vps sous OpenBSD) # cp /etc/hostname.em0 /etc/hostname.vio0
  5. Quand c’est fini on Ă©teint tout, on fait un snapshot du volume et crĂ©ation d’un nouveau serveur avec ce snapshot
  6. /*ATTENTION le serveur hard reboot aprĂšs quelques minutes, temps que l’on n’envoie pas la validation, pour finir en erreur */
  7. Une fois le serveur boot, il faut installer curl (et wget d’aprĂšs moi), puis mettre en place le script scw-signal-state (j’ai hĂ©bergĂ© les scripts, car je ne les ai pas trouvĂ©s en ligne)
  8. Vous pouvez Ă©teindre le serveur et OpenBSD afin de faire un snapshot stable.

À ce moment-lĂ , vous pouvez rĂ©aliser une image d’installation dans votre interface avec le snapshot prĂ©cĂ©demment crĂ©e.

Vous trouverez ici : https://git.iglou.eu/NonIgImport/Scaleway-scripts/tree/master le repos ou j’ai upload deux scripts scw-*, celui qui envoie le “booted” et un autre qui vous renvois toutes les informations relatives au serveur. J’ai aussi mis une version modifiĂ©e de scw-signal-state, qui fait un loop temps qu’elle n’a pas pu effectuer l’envoi du signal, car j’avais de temps en temps un signal envoyĂ© avant que le serveur soit connectĂ©.

Image de presentation

Et ça ne fonctionne que sur la gamme start, donc un petit fail quand mĂȘme !

Pour les serveurs BareMetal et Pro, n’ayant pas la possibilitĂ© d’accĂ©der au local boot, grub ou iPXE … Ce n’est pas gagnĂ©. Mais je reste en recherche !

Rien ne devrait empĂȘcher cette “technique” de fonctionner avec n’importe quel Os.

Si vous avez des questions ou des améliorations à me proposer, je reste disponible :)

Ă©a, les amis.