Freebox OS 4.1 : les dessous des machines virtuelles dans la Freebox Delta

Un Raspberry Pi dans la box
Freebox OS 4.1 : les dessous des machines virtuelles dans la Freebox Delta

L'idée peut paraître folle, mais l'équipe de Free a tout de même décidé de se lancer : il est désormais possible de gérer des machines virtuelles depuis le boîtier Server de la Freebox Delta, à travers la mise à jour 4.1 de Freebox OS. Quels choix ont été faits pour rendre cela possible ? Nous avons posé nos questions à l'équipe du FAI.

Cela fait quelques mois que les rumeurs se multiplient autour de l'arrivée d'une gestion des machines virtuelles au sein de la Freebox Delta. On était quasiment assuré que cela finirait par arriver, des captures d'écran ayant été diffusées. Nous avions d'ailleurs évoqué notre scepticisme sur le sujet en juillet dernier.

C'est désormais chose faite, avec la mise à jour 4.1 de Freebox OS diffusée aujourd'hui. En amont de cette annonce, nous avons pu échanger avec l'équipe de Free, et tester cette fonctionnalité sur notre Freebox Delta. L'occasion de comprendre l'objectif de ce nouveau service, mais aussi de voir comment il fonctionne en détail.

Un ordinateur dans la Freebox, une vieille idée

« Si on avait un emplacement vide dans de précédentes Freebox, c'était au départ pour pouvoir y intégrer un PC complet » nous répond Maxime Bizon, en charge du développement logiciel des boîtiers de Free, dans la maison depuis plus de 15 ans. Une réponse assez étonnante pour qu'on lui demande s'il s'agit ou non d'une blague. Ce n'est pas le cas.

Si le projet n'a jamais vu le jour, c'est finalement à travers des machines virtuelles que l'on peut désormais utiliser le boîtier Server de la Freebox Delta comme un ordinateur où l'on peut installer tout ce que l'on souhaite... dans la limite des performances de la machine. Pour l'utilisateur, la différence principale entre les deux approches est là.

Comme nous l'avions vu lors de notre analyse du boîtier, il intègre en effet un simple SoC à quatre cœurs ARMv8, l'Armada 8040 (88F8040) à base de Cortex-A72, gravé en 28 nm. Il est accompagné de 2 Go de DDR4 ECC, soit cinq puces de 512 Mo Samsung K4A4G165WE-BCRC à 2 400 MHz (timings 17-17-17) basse consommation (1,2 V).

C'est performant pour un boîtier de ce genre, mais on se retrouve avec l'équivalent d'un Raspberry Pi 4 qui intègre lui aussi un SoC à quatre cœurs Cortex-A72, jusqu'à 4 Go de mémoire et un lecteur microSD pour le stockage. L'un des intérêts de l'approche de Free est là : l'accès au stockage local de la Delta, jusqu'à quatre HDD/SSD en RAID.

Mémoire amovible

Autre bonne idée des concepteurs de cette box : avoir misé sur une barrette de mémoire amovible au format SO-DIMM. Elle peut donc être aisément remplacée par un modèle de 4, 8 ou 16 Go, pas forcément ECC. Attention, « ce n’est ni recommandé, ni supporté par Free, aucun SAV n’étant possible en cas de modification du matériel » prévient le FAI.

De quoi ne pas être limité par cette caractéristique technique. Surtout qu'1 Go sont réservés au système, nous confirme Anisse Astier, ingénieur logiciel ayant récemment rejoint l'équipe de Free notamment pour travailler sur ce projet. Autre avantage, la distribution Linux développée par Free pour ses box gère le 64 bits, ce qui est donc également le cas de son service de gestion des VM, là où Raspbian est encore limité au 32 bits. De quoi afficher de meilleures performances.

Freebox Delta ServerFreebox Delta Server

« On sait que c'est un avantage qui ne durera qu'un temps, surtout que des OS pour Raspberry Pi gèrent déjà le 64 bits » nous confie l'ingénieur, qui a tout de même réalisé quelques tests affichant de bons résultats sous Sysbench avec son équipe. Intégrer un RPi 4 dans la Freebox Delta sans surcoût, tel était donc le projet.

De notre côté nous avons effectués quelques relevés via OpenSSL (RSA 4096 bits) :

openssl speed rsa4096
openssl speed --multi $(nproc) rsa4096

Sur la Freebox Delta, nous avons utilisé l'image Cloud de Debian 10 (Buster), configurée avec le maximum de CPU et de mémoire possible par défaut :

  • Freebox Delta (64 bits) - 1 CPU :
    • 32 signatures/s
    • 2 169 vérifications/s
  • Freebox Delta (64 bits) - 2 CPU :
    • 63 signatures/s
    • 4 314 vérifications/s

Comparons à une instance virtualisée de type ARM64-2GB proposée par Scaleway pour 2,99 euros par mois. Pour rappel, elle propose quatre cœurs, 2 Go de mémoire et 50 Go de stockage, se reposant sur des processeurs Cavium ThunderX 88XX de Marvell. Nous avons configuré l'instance sous Debian 10 (Buster) dans son édition 64 bits :

  • Scaleway ARM64-2GB (64 bits) - 1 CPU :
    • 41 signatures/s
    • 2 810 vérifications/s
  • Scaleway ARM64-2GB (64 bits) - 4 CPU :
    • 164 signatures/s
    • 11 246 vérifications/s

Si l'on passe maintenant à un produit physique sans virtualisation, tel qu'un Raspberry Pi 4 sous Raspbian Buster qui se limite à 32 bits :

  • Raspberry Pi 4 (32 bits) - 1 CPU :
    • 10 signatures/s
    • 653 vérifications/s
  • Raspberry Pi 4 (32 bits) - 4 CPU :
    • 38 signatures/s
    • 2 618 vérifications/s

Enfin, effectuons un test avec un NAS DS416play de Synology à base de Celeron N3060 à deux cœurs, afin de voir ce que la Freebox Delta vaut par rapport à un NAS complet :

  • Synology DS416play (64 bits) - 1 CPU :
    • 29 signatures/s
    • 1 925 vérifications/s
  • Synology DS416play (64 bits) - 2 CPU :
    • 57 signatures/s
    • 3 763 vérifications/s

La solution de Free est donc en l'état plus intéressant qu'un Raspberry Pi en 32 bits, au niveau d'un NAS correct et sous les performances de la plus petite instance proposée par Scaleway, sans surcoût. Ceux ayant besoin de plus de puissance auront donc toujours intérêt à se tourner vers un hébergeur tiers, mais c'est une bonne entrée en matière.

Quelques limitations « by design »

Les cas d'usages évoqués par Free pour cette fonctionnalité sont divers : héberger des systèmes de Cloud personnel tels que Yunohost ou Cozy Cloud, des serveurs multimédia comme Plex, pour Minecraft, des pages web, de la domotique maison via Jeedom, ou tout simplement découvrir le monde Linux à travers un petit serveur. 

Il ne faut en effet pas espérer monter une machine pour du rendu 3D ou trop multiplier les serveurs, mais bien disposer d'un système minimal pour des usages légers, sans avoir à trouver une place pour un micro PC tel qu'un Raspberry Pi. Il sera effet intégré dans le Server de la Freebox Delta, déjà présent sur le réseau local et allumé 24/7.

L'équipe a néanmoins fait des choix afin de limiter les problèmes potentiels. Outre les 1 Go de mémoire réservés au système, prioritaire en termes de performances, cette fonctionnalité ne permet pour le moment que de gérer trois cœurs virtuels pour l'ensemble des VM active, deux par VM.

« Des chiffres qui pourront évoluer par la suite » nous confie Anisse Astier. L'équipe de Free semble vouloir avancer pas-à-pas, en fonction de la manière dont la communauté s'emparera de cette fonctionnalité et des premières demandes qui seront faites par les clients au sein du bug tracker maison

Autre choix qui a des implications lourdes : seules des images ARM64 (AARCH64) gérant l'EFI (Extensible Firmware Interface) peuvent être utilisées. Ainsi, ne comptez pas y installer votre ISO Windows 10 classique. Ce serait à la limite possible avec celle pour sa déclinaison destinée aux machines ARM, comme cela a été fait pour les Raspberry Pi, mais il faudrait y intégrer tous les éléments annexes comme les pilotes VirtIO... pour un résultat forcément décevant.

Bonne nouvelle pour ses adeptes : FreeBSD 13 fonctionne.

Machines virtuelles, un choix « plus souple »

Au cœur de cette fonctionnalité, on retrouve l'habituel duo KVM/QEMU avec EDK II pour la partie firmware. Les systèmes préinstallés proposés par Free sont ainsi des images ARM64 « Cloud » au format Qcow2 qu'il suffit de télécharger et d'utiliser comme périphérique de stockage. L'utilisateur peut les redimensionner comme il le souhaite dès leur mise en place.

C'est ce qui explique que certains OS comme Debian, Fedora, Jeedom ou Ubuntu sont présents, mais pas d'autre. Leurs images sont stockées sur les serveurs de Free et téléchargées à chaque installation, ce qui ne sera pas sans peine pour ceux ayant de petites connexions qui auront plutôt intérêt à gérer leurs images localement.

Les fonctionnalités sont nombreuses, le FAI ayant voulu jouer la touche « geek » à fond les manettes sur ce service, qui est au final assez bien pensé et pratique à prendre en main lorsque l'on a déjà touché à une interface de gestion de machines virtuelles. On peut ainsi accéder à celles actives à travers la console ou un affichage de type bureau distant dans l'interface web (Xterm.js/NoVNC), mais aussi via un client SSH comme celui intégré à votre OS (Windows 10 compris), utiliser un script cloud-init maison, les ports USB de la Freebox, rediriger facilement ses ports pour un accès depuis l'extérieur, etc. 

Freebox OS 4.1 Delta VMFreebox OS 4.1 Delta VM

On aurait presque envie de voir Free s'associer avec ses cousins de chez Scaleway pour proposer une interface de gestion commune : soit des VM locales dans la Freebox Delta, soit dans les serveurs de l'hébergeur.

Lorsque nous avions analysé la venue de cette fonctionnalité, nous nous étions demandé pourquoi Free miserait sur une gestion de machines virtuelles, forcément assez complexe, plutôt que des conteneurs qui peuvent être installés et gérés de manière plus simple pour peu que la bonne interface soit mise en place. 

« Pour cela nous aurions de toute façon dû isoler l'OS avec les conteneurs dans une machine virtuelle » nous confie Anisse Astier, évoquant des questions de sécurité qui nous paraissent légitimes. Le choix a donc été fait de proposer une gestion de machines virtuelles, où ceux qui le souhaitent peuvent mettre en place Docker ou Kubernetes s'ils le souhaitent. Et pourquoi pas des images communautaires intégrant nativement ces services ? Une piste à creuser.

Ce contenu est en accès libre

Il a été produit grâce à nos abonnés, l'abonnement finance le travail de notre équipe de journalistes.

ou choisissez l'une de nos offres d'abonnement :

31 commentaires
Avatar de crocodudule Abonné
Avatar de crocodudulecrocodudule- 08/10/19 à 08:42:39

Plutôt séduit (et c'est vraiment une première pour moi s'agissant de la delta...).

Par contre, je ne comprends pas un passage: "Toutes les images sont stockées sur les serveurs de Free et téléchargées à chaque installation, ce qui ne sera pas sans peine pour ceux ayant de petites connexions qui auront plutôt intérêt à gérer leurs images localement." ?!?

Ca veut dire que l'on a pas le choix, on doit récupérer l'image depuis les serveurs de free ou malgré tout on peut conserver l'image en local et l'installer sur la delta (ce qui est pas seulement préférable à cause des petites connexions, mais tout simplement nécessaire pour pouvoir faire facilement des tests en local et des sauvegardes, puis mettre la VM en "production" sur la delta). Si la 2° option n'est pas possible alors ça fait perdre l'essentiel de l'intérêt de passer par des VM (ou alors à la limite debian en vm avec pour seule modification docker, et on fait ses propres conteneurs en local sur lesquels on bidouille).

Édité par crocodudule le 08/10/2019 à 08:43
Avatar de David_L Équipe
Avatar de David_LDavid_L- 08/10/19 à 08:47:14

(quote:43344:crocodudule) ...

Je parle des images proposées par défaut par Free, qui sont hébergées sur leurs serveurs. Comme dit et affiché dans les captures, tu peux aussi utiliser tes propres ISO ou images Qcow2/Raw.

Avatar de crocodudule Abonné
Avatar de crocodudulecrocodudule- 08/10/19 à 08:49:02

(quote:43345:David_L) Je parle des images proposées par défaut par Free, qui sont hébergées sur leurs serveurs. Comme dit et affiché dans les captures, tu peux aussi utiliser tes propres ISO ou images Qcow2/Raw.

Parfait :)

Avatar de brazomyna Abonné
Avatar de brazomynabrazomyna- 08/10/19 à 08:49:34

le côté geek est sympa, ça faisait un bout de temps que free avait perdu son 'adn' de ce côté là.

Maintenant, l'intérêt réel rest quand même faible ; perso je préfèrerais encore avoir mon propre raspberry à côté, indépendant de mon fai, plutôt que me créer une dépendance avec la box de mon fai pour une histoire de quelques euros économisés.

la valeur ajoutée que je vois pour ce genre de service, c'est si free propose une forme de 'store de vm toutes prêtes', qui permettrait au quidam moyen d'ajouter des fonctionnalités à sa bix tout en étant néophyte.

Avatar de AymKdn INpactien
Avatar de AymKdnAymKdn- 08/10/19 à 09:04:36

Est-il envisageable de voir cette fonctionnalité sur Freebox Révolution, ou alors elle n'est pas assez performante pour ça ?

Avatar de David_L Équipe
Avatar de David_LDavid_L- 08/10/19 à 09:10:39

(quote:43350:AymKdn) ...

Je doute que ce soit prévu, ne serait-ce que parce que c'est plutôt une box en fin de cycle où il n'y a pas d'intérêt à lancer de grosses nouveautés logicielles. Surtout que ça ne devrait pas être suffisant en termes de performances sur l'ancien Server utilisé notamment par la Révolution (mais aussi la Mini 4K et une partie de la One).

Avatar de Digaboy Abonné
Avatar de DigaboyDigaboy- 08/10/19 à 09:16:23

pas mal mais vite gourmand en ressource !

une approche type docker aurait p-e été plus souple et moins cher en ressource mais je ne crois pas que ce soit supporté par les proc Armada

Avatar de David_L Équipe
Avatar de David_LDavid_L- 08/10/19 à 09:16:59

(quote:43352:Digaboy) ...

Sinon on peut lire un article avant de le commenter :D

Avatar de crocodudule Abonné
Avatar de crocodudulecrocodudule- 08/10/19 à 09:21:56

(quote:43352:Digaboy) pas mal mais vite gourmand en ressource !une approche type docker aurait p-e été plus souple et moins cher en ressource mais je ne crois pas que ce soit supporté par les proc Armada

Cf. l'article, proposer docker impliquait dans tous les cas de passer pas un os virtualisé. Tu peux donc le faire en partant d'une debian dans une VM, puis installer docker (ou mieux à mon gout OMV + plugin docker) et utiliser des conteneurs (attention néanmoins l'offre est moindre pour ARM).

Édité par crocodudule le 08/10/2019 à 09:23
Il n'est plus possible de commenter cette actualité.
Page 1 / 4

Votre commentaire

Avatar de lecteur anonyme
Avatar de lecteur anonyme

2000 - 2019 INpact MediaGroup - SARL de presse, membre du SPIIL. N° de CPPAP 0321 Z 92244.

Marque déposée. Tous droits réservés. Mentions légales et contact