📢 wakeOnStorage : Service sobre, lowtech de stockage à froid (sauvegarde, archivage)

Bonjour Ă  toutes et Ă  tous,

Je voulais vous présenter un petit projet que j’ai développé depuis quelques temps déjà : wakeOnStorage.

Le stockage à froid consiste à conserver des données (sauvegardes, archives, etc.) sur un support qui n’est alimenté et allumé qu’en cas de besoin. Contrairement à un serveur classique qui tourne en continu 24h/24, un système à froid reste hors tension la majeure partie du temps. Concrètement selon le cas :

  • Service de sauvegarde : le serveur est dĂ©marrĂ© uniquement lors des opĂ©rations de sauvegarde ou de restauration, puis Ă©teint dès qu’il a fini son travail. On Ă©vite ainsi de faire tourner des disques et des serveurs inutilement le reste du temps.
    • Vous disposez d’une interface pour allumer manuellement celui-ci pour restaurer des donnĂ©es au besoin
  • Service d’archivage : le serveur est Ă©teint systĂ©matiquement et vous l’allumez sur demande via une interface web ou un protocole standard pour accĂ©der Ă  vos donnĂ©es, en ajouter, en supprimer…

Chez retzo.net :

  • :earth_africa: Les serveurs matĂ©riels utilisĂ©s sont très basses consommations (architecture ARM type Raspberry pi, disque SSD)
  • :recycle: Les serveurs (hors disque dur) sont issus du rĂ©-emploi
  • :sunny: L’énergie utilisĂ©e prioritairement est le solaire
    • Et exclusivement si vous le souhaitez
  • :lock: DonnĂ©es sont en sĂ©curitĂ©, le service Ă©tant hors ligne la majoritĂ© du temps, la surface d’attaque est bien moindre
    • Chiffrement du disque possible
    • Serveur dĂ©diĂ© possible
  • :hourglass_flowing_sand: L’accès Ă  vos donnĂ©es, l’allumage du serveur est possible via une interface web (filestash) et/ou des protocoles standard (SFTP, RSYNC (over ssh), BORG) authentification par mot de passe ou par clĂ©
  • :open_book: Le dĂ©veloppement du projet est open source (le dĂ©pĂ´t du code)

Pour en savoir plus :

Le projet est déjà utilisé par 3 CHATONS depuis plus de 2 ans, et je serais ravi d’en accueillir d’autres, j’ai de la place :slight_smile:

C’est un petit pas vers des infrastructures plus sobres et modulaires, où l’énergie est utilisée uniquement quand c’est nécessaire.

:point_right: https://retzo.net/wakeonstorage/

N’hésitez pas à me faire des retours, poser des questions…

David (Retzo.net)

Une n’image pour finir :

12 Likes

J’ai opté pour une solution très similaire pour mon serveur de backups : il embarque une Rasp, dont on peut se servir pour allumer le gros serveur par un WakeOnLan quand il y a besoin.
Et le serveur s’éteint de lui-même après 10 min sans user connecté·e.

C’est super chouette de voir une solution plus aboutie basée sur ces principes !

Edit: j’aimerais bien faire la même chose pour des applis web, qui ne soient allumées qu’au besoin. Mais ça ne changerait rien au fait que le serveur derrière serait toujours allumé, donc en pratique ça n’aurait pas beaucoup d’intérêt.

1 Like

C’est intéressant.

  • Chiffrement du disque possible

Comment le déchiffrement au démarrage est-il géré ?

Par exemple, Raoull chiffre toutes ses machines au niveau du disque, OS compris, ce qui nécessite l’action d’un administrateur système pour le (re)démarrage.

On sait qu’il existe des solutions pour automatiser cela, dont j’ai oublié le nom, mais suis curieux de savoir comment c’est résolu par wakeOnStorage.

Pour tout te dire je n’ai pas eu à le faire car personne ne me l’a réclamé. Certain sont sur Borg par exemple ce qui fait que les données sont chiffrés sur le disque.

Mais je peux te dire ce que j’ai envisagé si j’avais à le faire pour un storage dédié

  • dropbear-initramf (pour l’instant je partirai lĂ  dessus) en gros ça dĂ©marre un mini serveur SSH avant le dĂ©verrouillage du disque donc tu peux lui envoyer la clĂ© par ce biais.
  • GitHub - latchset/clevis: Automated Encryption Framework qui demande a avoir un serveur tiers de disponible

De mon cĂ´tĂ© c’est plus « facile Â» parce que j’ai mon API local (sur un Pi ZĂ©ro) qui reçoit dĂ©jĂ  les ordres pour dĂ©marrer/arrĂŞter (dĂ©clencher des relais pour allumer Ă©lectriquement) des serveurs, donc je peux facilement lui demander d’attendre X secondes pour envoyer une requĂŞte pour dĂ©verrouiller.

Note : j’envisage que ce soit l’utilisateur qui souhait accéder à son disque chiffré qui envoi son fichier de clé de déverrouillage via l’interface, que celle-ci soit communiqué par l’API… mais pas stocké… ) J’ai pas encore développé ça, je le ferai quand il y aura le besoin (j’ai appris à limiter mon côté tout feu tout flamme… je le fais ça servira certainement un jour… et pi non… mince j’ai fais ça pour rien…)

David

1 Like