Archives de catégorie : Logiciels libres

Abandon de mon serveur dell poweredge

J’utilisais jusqu’à présent et depuis 7 ans un serveur Dell PowerEdge T310 après avoir utilisé pendant 5 ans un PowerEdge 840. Dans un récent article j’indiquais que j’avais passé mes services réseau sur un mini PC Lenovo ThinkCenter M92p pour des considérations économiques mais que j’avais conservé mon serveur Dell pour le stockage des fichiers multimédia et que j’allumais que quand j’avais besoin d’y accéder.

Il se trouve que j’ai décidé d’abandonner le serveur Dell car ayant mis en place les redondances nécessaires pour mes fichiers multimédia, je ne voyais plus la nécessité de conserver une machine gourmande en énergie, bruyante et encombrante. D’autant que j’avais de temps à autre à reconstruire mon espace RAID5 qui devenait capricieux pour un gain du RAID5 de plus en plus discutable.

Voilà donc la nouvelle architecture que j’ai mise en place pour l’archivage longue durée des données froides, celles qui évoluent peu et prennent beaucoup de place et la sauvegarde des données chaudes, celles qui évoluent rapidement et qui prennent assez peu de place disque.

Architecture réseau local d’archivage et de sauvegarde

Les données chaudes sont essentiellement mes données de bureautique les fichiers systèmes et les mails. Les données froides sont les fichiers multimédia, comme les photos et les vidéos. J’ai réussi à me passer de mon serveur Dell en mettant en place les redondances nécessaires pour sauvegarder mes données froides.

Pour résumer les données chaudes présentes sur le mini serveur M92p nommé Ultra sont sauvegardées sur 4 supports différents à savoir :

Les données froides se trouvent physiquement sur le PC Predator et sont sauvegardées sur:

  • un TerraMaster D5-300C de 5 disques en dispatchant sur plusieurs disques, sachant que je compte le booster avec les 4 disques de 4To que je vais récupérer du RAID5 de mon Dell, la sauvegarde est manuelle et se fait via Unison
  • kdrive d’infomaniak manuellement (via un navigateur) mais seulement pour les photos

Pour les données froides il existe dont trois supports de sauvegarde pour les photos et deux pour les vidéos, mais à terme je rajouterai un troisième disque dans le terramaster dédié à la sauvegarde des vidéos.

A partir de toutes ces considérations, j’estime que mon serveur Dell ne sert plus à rien et que je peux maintenant m’en débarrasser sans regret. J’ai considérablement allégé mon réseau local, par ailleurs en déportant la sauvegarde à distance j’ai amélioré sensiblement les risques de perte de données.

Maintenant pour mon serveur Dell, il me reste à voir qui voudra encore le récupérer pour qu’il ne finisse pas dans la benne à métaux.

Commander et envoyer du son avec ssh sous linux

Admettons que vous ayez un poste doté d’un système audio de qualité et que vous aimeriez piloter le son à distance d’un autre poste via une connexion sécurisée SSH. Il y a deux moyens de le faire que je vais vous présenter dans ce post. Pour la suite des explications on appellera le poste sur lequel on joue le son, le poste serveur et le poste contrôleur le poste client. Les deux utilisent le système de son pulseaudio.

Le premier moyen consiste simplement à se connecter au serveur avec une connexion SSH et le paramètre X11 forwarding activé à partir du poste client. Pour lancer de la musique sur le poste serveur, il faudra du poste client lancer dans le terminal la commande suivante

pax11publish -r

Il suffit ensuite de lancer votre lecteur audio favori (Clementine, Audacious, Lollypop …). C’est tout !

La deuxième méthode consiste à lancer votre lecteur sur le poste client mais d’envoyer le son vers le poste serveur. Pour cela on se logue sur le poste serveur via SSH et on tapera :

paprefs

Dans la fenêtre qui s’affiche on coche les cases ci-dessous

Fenêtre de paprefs

On copiera maintenant le fichier ~/.config/pulse/cookie du compte du poste serveur au même endroit sur le compte du poste client. Maintenant à partir du poste client on lancera le lecteur audio en donnant l’adresse IP du serveur, comme ceci:

PULSE_SERVER=192.168.1.11 audacious

192.168.1.11 étant l’adresse IP du serveur.

Pour plus d’informations sur le sujet, voir cette page dans le documentation de pulseaudio.

bascule du serveur Poweredge T310 vers le thinkcenter M92P

Ça y est c’est fait, comme annoncé dans mon précédent post, j’ai basculé de mon gros serveur Dell PowerEdge T310 vers un mini PC Lenovo ThinkCenter M92p, cela m’a pris quand même quelques heures de travail étalées sur trois jours. J’ai installé Mageia 8 sans grande difficulté et il m’a fallu également installer et paramétrer les services de:

  • Authentification utilisateur basée sur OpenLDAP
  • Serveur de fichiers basé sur NFS avec la copie des données hors multimédia qui restent sur le serveur Dell
  • Serveur de mail basé sur fetchmail, dovecot, sendmail, spamassassin, ClamAV anti virus et roundcube webmail
  • Serveur LAMP (Apache+PHP+MySQL/MariaDB) pour travailler en local sur mes sites, pour l’interface à roundcube webmail et divers outils accessibles via le web

Sans compter les opérations nécessaires pour configurer le firewall shorewall et remettre les routes en place sur mon routeur et la box pour que roundcube webmail soit accessible d’un mobile ou d’un ordinateur portable non connecté au réseau local.

Maintenant le nouveau serveur se trouve dans la cuisine entre l’onduleur et la box en face du routeur TP-Link qui vient compléter les misérables fonctionnalités de la box.

Serveur Lenovo ThinkCenter M92p

A vrai dire ce qui m’a pris le plus le temps dans cette histoire a été de remettre en place les connexions chiffrées au niveau des échanges de mail entre le serveur et les postes clients. J’ai eu beaucoup de mal avec Thunderbird qui refusait de reconnaitre le nouveau certificat et je n’ai pas trouvé le moyen d’effacer l’ancien certificat correspondant à l’ancien serveur pour qu’il prenne en compte le nouveau. J’ai dû recréer un nouveau compte de mail pour pouvoir le faire, finalement cette création n’a pas posé de problème particulier pour retrouver mes mails vu que j’utilise que mon serveur de mail utilise IMAP.

Mon Dell PowerEdge ne part pas pour autant au rebut, je le garde comme serveur de fichiers pour les données multimédia qui nécessitent beaucoup de stockage disque et auxquelles j’accède de temps à autre. Mais dans l’histoire je devrais faire une belle économie de consommation électrique.

Suite à toutes ces manipulations, j’ai mis à jour mon site Funix avec la modification des pages suivantes :

pages divers
– page trucs et astuces, rajout d’un astuce (rajout d’une police personnalisée)
– page ma configuration, présentation du nouveau serveur Thinkpad M92p qui va remplacer le PowerEdge T310 gros consommateur en énergie

pages réseau et système
– page installation de l’annuaire OpenLDAP, grosse mise à jour la dernière datant de 5 ans
– page authentification des utilisateurs avec OpenLDAP, grosse mise à jour, la dernière datant de 5ans
– page outils de sauvegarde du système et des données, modification de l’installation de borg

pages LAMP
– page installation d’un serveur LAMP avec les sources, passage à MariaDB 10.8.3, Apache 2.4.54, PHP 8.1.18 et phpMyAdmin 5.2

pages gestion des mails
– page réception des courriers et mise à disposition, passage à roundcubemail 1.6.0
– page filtrer les mails, passage à ClamAV 0.105.1

page de téléchargement, mise à jour des documents
– Installation d’un serveur LAMP
– Envoyer et recevoir du courrier pour un réseau multi utilisateurs

– Mise en place d’OpenLDAP et d’une authentification utilisateu

Nouveau serveur basse consommation

Alors que la sobriété énergétique devient une nécessité, j’ai des scrupules à laisser mon serveur Dell PowerEdge T310 tourné en permanence 24h/24 et 7j/7. Si je devais estimer sa consommation, sachant que l’alimentation fait 375W, au doigt mouillé on va dire qu’il consomme 150W par heure, soit 0,15kwh. Sachant que le coût du kwh est de 0,1740 € (tarif réglementé). Sur une journée, le coût est de 0,15x24x0,1740=0,62€. Sur un mois le coût est de 0,62€x30=18,8€ et sur un an 225€ tout de même, c’est assez conséquent. Alors bien sûr ce chiffre pourrait être affiné avec les heures creuses, heures pleines et mieux encore avec un contrôleur de consommation, mais ça donne un ordre de grandeur qui ne parait pas trop délirant.

Mon serveur Dell dans le garage

Or en y regardant de plus près, je fais tourner plusieurs services dessus, dont certains sont permanents, c’est à dire que je m’en sers régulièrement à plusieurs moments de la journée et d’autres beaucoup plus intermittents, il s’agit notamment de :

En résumé, mon serveur est taillé avec ses disques durs en RAID hard (2 disques SAS en RAID 1 et 4 disques SATA en RAID) pour des services intermittents notamment pour l’accès mes fichiers multimédia, vidéos et photos essentiellement. Il m’est donc venu l’idée de m’équiper d’un petit serveur basse consommation pour les services permanents et garder mon serveur Dell que j’allumerai uniquement quand j’aurai besoin d’accéder à mes fichiers multimedia.

J’ai tout de suite penser à bricoler un serveur sur la base d’un Raspberry PI 4, mais il s’avère que le coût et la puissance de l’engin n’est pas forcément très compétitif par rapport à un mini PC. Mon choix s’est donc porté sur un Lenovo M92p d’occasion à 119€ frais de port compris sur ebay.

Le Lenovo M92p au dessus de mon bloc TerraMaster D5-300C et de mon ACER Predator

Les caractéristiques sont les suivantes:

  • processeur Intel G2030T de 2,6GHz, 2 cœurs
  • 8 Go de RAM
  • disque dur SATA de 300Go

Bien qu’il ne soit pas de première jeunesse (il date de 2013, presque dix ans !), si je me fie à ce test qui compare un Raspberry PI 4b et un processeur Intel G2030, il n’y a pas photo, le G2030 reste très largement supérieur en performance. Le G2030T est un poil moins puissant (voir ici), mais il consomme légèrement moins (consommation d’énergie de 55W pour le G2030 et de 35W pour le G2030T) . Au final le M92p est donné pour une consommation d’énergie qui tourne entre 15W et 35W (voir par et ici), je divise donc ma consommation quasiment par 10 ! Je pourrai encore optimiser ma consommation en coupant automatiquement le serveur la nuit à des heures où je ne l’utilise pas. Alors certes le Raspberry est plus proche de 5W mais les performances me paraissent clairement insuffisantes pour mes services de serveur et le prix peu compétitif.

La configuration de ce nouveau serveur me prendra certainement pas mal de temps, j’ai commencé d’abord par virer windows et d’installer la distribution Linux Mageia 8. Pour l’instant j’ai mis en place l’authentification des utilisateurs en se basant sur LDAP et j’ai mis à jour les pages sur OpenLDAP et l’authentification en elle même sur mon site FUNIX. Je ne manquerai pas de donner des détails sur l’avancement de la configuration sur ce blog.

Installer une police personnalisée sous linux

En découvrant un tutoriel vidéo youtube sur les titres sous kdenlive, j’ai découvert la police Sonsie One qui a l’air assez sympathique et que je ne retrouve pas de base sur ma Mageia 8. Pour installer une nouvelle police finalement c’est très simple, j’ai retrouvé ma police par ici ou . Les fichiers téléchargés peuvent être mis dans la homedirectory sous .fonts ou pour que ça soit accessible à tous les utilisateurs du système /usr/share/fonts, et puis c’est tout.

En relançant kdenlive je retrouve ma police dans les polices disponibles.

Créer un gif animé avec ffmpeg

Il y a quelques temps j’avais fait un post pour expliquer comment créer un gif animé avec GIMP, c’était un peu lourdingue et voilà une manière plus simple de le faire avec ffmpeg.

Je pars d’une vidéo réalisée avec kdenlive au format HD 1920×1080 de 7s au total qui fait 26,5Mo avec un framerate de 60 images par seconde. A cette occasion j’ai utilisé la fonction time remap pour jouer sur le ralenti et/ou accélération d’une vidéo. A vrai dire j’ai eu beaucoup de mal à m’en servir il n’est pas impossible qu’il y avait quelques bogues quand la fonction a été implantée sur kdenlive. Avec la dernière version 21.12.3 qui vient de sortir, ça a l’air de plutôt bien fonctionner. Sur mon tutoriel kdenlive, je donne les rudiments de l’utilisation de cette nouvelle fonctionnalité. Grosso modo, on place les images clés aux endroits qui vont bien sur la vidéo et on définit la vitesse avant et après chaque image clé, il faut être rigoureux pour ne pas s’embrouiller. On commence par l’image clé la plus à gauche et on est défini la vitesse après seulement.

La fonction time remap sous kdenlive

Revenons à notre gif, une fois qu’on a rendu la vidéo avec kdenlive, on tapera la commande suivante :

ffmpeg -y -i video.mp4 -filter_complex "fps=5,scale=480:-1:flags=lanczos" image.gif

Quelques explications sur la commande:

  • fps=5 permet de changer le framerate, c’est à dire qu’on va passer à 5 images par seconde, au pour réduire la taille du gif.
  • scale =480:-1 permet de passer d’un côté de 1920 à 480 et de conserver le ratio, la proportionnalité entre la largueur et la hauteur de l’image
  • flags=lanczos est l’algorithme choisi pour retailler la vidéo

Et voilà le résultat, avec un gif qui fait un peu moins de 2Mo.

Traitement d’images avec g’mic 3.0

Il y a quelques temps j’avais présenté brièvement dans un précédent post Darktable, c’est un outil particulièrement puissant pour traiter les photos en mode raw et qui n’a rien à envier à des outils comme Lightroom d’Adobe. En contrepartie, ce n’est pas un outil facile qui demande de l’investissement avant de pouvoir bien l’exploiter. Il existe des solutions un peu plus simples et moins puissantes mais qui seront suffisantes la plupart du temps quand on n’est pas trop difficile. C’est le cas de G’MIC qui s’interface avec GIMP avec G’MIC-Qt.

G’MIC

Un article récent sur linuxfr présente assez bien cet outil et les nouveautés qu’apportent la nouvelle version. G’MIC est disponible dans la plupart des distributions récentes, mais dans le cas où une installation via les sources vous intéresse pour pouvoir bénéficier de la dernière version, voici les étapes à suivre.

Continuer la lecture de Traitement d’images avec g’mic 3.0

Enregistrer sous Linux les émissions de France TV et Arte en replay

Je prends souvent le train et j’en profite pour visionner les reportages de France TV et d’Arte sur ma tablette que j’ai enregistrés préalablement. Jusqu’à présent je me servais de l’extension de firefox Video DownloadHelper.

Extension Video DownloadHelper

il se trouve que depuis quelques mois ça ne marche plus avec France TV et plus ou moins bien sous Arte, en revanche ça marche encore bien pour youtube.

Je me suis donc en quête d’une nouvelle alternative. Pour Arte, j’ai trouvé ce site qui permet de télécharger leurs émissions. Pour France TV (et d’autres chaînes), le logiciel captvty semble être le logiciel qui fait l’affaire, mais il ne marche que sous windows. Il est cependant possible de le lancer sous Linux avec l’outil de virtualisation docker, une image avec les explications d’utilisation sont disponibles par ici. Je n’ai pour l’instant pas réussi à le faire fonctionner, les explications sont lacunaires et il ne veut pas se lancer car il manque le répertoire Tools/CefSharp. Il est également possible de le lancer avec wine ou sa surcouche PlayOnLinux comme expliqué sur ce site. Je n’ai pas tenté ces voies là.

Tout cela est un peu compliqué et j’ai choisi la solution de faciliter en installant Captvty dans une machine virtuelle Windows 7 avec VirtualBox.

captvty dans une machine virtuelle captvty dans une session XFCE sous linux

Le fonctionnement est assez simple, on sélectionne la chaîne puis les émissions enregistrables dans leur intégralité sont classées par heures de diffusion.

Mise en place d’une solution d’archivage avec rclone

Jusqu’à présent je me suis beaucoup focalisé sur les solutions de sauvegarde de mes données sans m’attarder sur leur archivage. Ce post résume un peu toutes mes cogitations sur la sauvegarde. Mais au fait quelle est la différence entre sauvegarde et archivage ? En deux mots la sauvegarde est une copie identique des données à un moment donné qui permet une restitution en cas de pertes des données d’origine. Alors que l’archivage est une copie des données avec une notion de gestion de version, c’est à dire qu’on dispose de plusieurs enregistrements effectués à des dates différentes. Cet article explique assez bien la nuance entre les deux.

J’ai donc mis assez simplement un archivage chiffré basé sur rclone sur Google Drive en mode synchronisation. Le script est assez simple et ressemble à ça

#!/bin/bash

LOG_FILE="/home/olivier/tmp/sync-rclone.log"
REP_FILTRE="/home/olivier/Documents/rep-filtre.txt"
DESTINATION="google-secret:Sauvegarde"
DESTINATION_ARCHIVE="google-secret:Sauvegarde-archive"
ladate=`date +"%Y-%m-%d--%T"`
SUFFIX_DATE=.$ladate

/usr/local/bin/rclone -v --skip-links \
    --backup-dir $DESTINATION_ARCHIVE --suffix $SUFFIX_DATE\
        sync / $DESTINATION --filter-from $REP_FILTRE --log-file $LOG_FILE

Les anciennes versions des fichiers seront sauvegardées avec le suffixe date et heure sous cette forme .2021-12-04–07:55:25. En cas de synchronisation et d’archivage on a ce message.

2021/12/04 16:35:09 INFO  : mana/data/bureautique/Finance/les comptes.ods: Moved (server-side) to: mana/data/bureautique/Finance/les comptes.ods.2021-12-04--16:34:59
2021/12/04 16:35:35 INFO  : mana/data/bureautique/Finance/les comptes.ods: Copied (new)
2021/12/04 16:35:35 INFO  :
Transferred:           2.608 MiB / 2.608 MiB, 100%, 87.635 KiB/s, ETA 0s
Checks:              1817 / 1817, 100%
Renamed:                1
Transferred:            1 / 1, 100%
Elapsed time:        36.5s

Il ne reste plus qu’à lancer le script de manière régulière avec cron pour mettre en place un archivage régulier. Vous trouverez plus de détails sur la configuration de rclone pour une synchronisation sur le cloud avec en exemple Google Drive avec chiffrement des données sur cette page de funix.org.

Sauvegarde chiffrée dans le cloud

J’ai considérablement étoffé mon dispositif de sauvegarde de mes données. J’évoquais dans ce post un premier dispositif basé sur un script bash lui même basé sur rsync qui permettait une sauvegarde incrémentale. Malheureusement j’ai rencontré un crash disque « bas bruit » qui a entraîne une corruption des données et de la sauvegarde sans que je m’en rende compte immédiatement. Suite à cet incident j’avais amélioré mon dispositif de sauvegarde et des tests d’intégrité des disques qui est décrit dans cet autre post. J’avais fait part de mes déboires sur le site linuxfr dans ce journal. Les commentaires m’ont conduit à revoir complètement mon dispositif qui repose maintenant sur les outils borg, btrfs et unison.

Tout cela est présenté et détaillé sur cette page de funix.org. et à fait l’objet de cet autre journal sur linuxfr. Les commentaires m’ont poussé à aller encore plus loin en rendant mon dispositif de sauvegarde encore plus robuste. Je l’ai donc complété par :

– une solution de sauvegarde et de partage des données base sur un cloud payant kdrive d’infomaniak avec un dispositif de synchronisation automatique et des sauvegardes manuelles. Cette sauvegarde à distance vient compléter le dispositif local et permet de le rendre encore plus robuste à un sinistre qui détruirait à la fois le serveur et les sauvegardes locales. Un troisième journal sur linuxfr détaille ce point précis, je vous invite à découvrir les commentaires qui ont été faits sur ces trois journaux qui sont assez instructifs sur les éventuelles autres solutions de sauvegarde.

– une pure solution de sauvegarde avec des données stockées chiffrées en utilisant rclone et Google Drive. Ce dernier offre une solution gratuite jusqu’à 15Go, ce qui est généralement largement suffisant pour stocker des données sensibles (hors fichiers multimédia). Si on peut s’inquiéter de la protection des données et de l’utilisation que Google peut en faire, le problème ne se pose pas car elles sont envoyées chiffrées et stockées en l’état sur le drive. C’est donc bien de la pure sauvegarde plutôt que du partage de données. A noter que ce ne sera possible avec infomaniak qu’après souscription à l’offre supplémentaire Swiss Backup.

Ces solutions basées sur le cloud sont développées dans cette autre page de funix.org.