HDD-10mbPourquoi ? Pourquoi avoir recours à une telle gestion des disques sur notre serveur/poste de travail. Tout simplement car un collègue m’a récemment demandé conseil sur l’infrastructure informatique à mettre en place pour la création d’une TPE/petite-PME. Je lui ai donc répondu que les rats quittaient le navire, que de la part de … ça ne m’aurait pas étonné, mais toi, toi ! Disparais céans ou je te flagelle à coup de RJ45, fumier. Il a répliqué qu’il s’agissait d’un ami à lui qui heu, voulait heu, enfin tu vois, se lancer dans une activité heu, dans le tertiaire, voilà c’est ça, le tertiaire. Pleinement soulagé et rassuré quant à la loyauté et la droiture du collègue, je me confondais en excuse et lui promettais de réfléchir rapidement à la question, d’autant que son ami semblait pressé. Le sujet étant vaste et néanmoins bougrement intéressant, je m’arrête dans cet article à la problématique du stockage sur un serveur GNU/Linux, nul besoin d’un Windows pour cela, le but étant ici d’allier fiabilité (RAID1), flexibilité (LVM2) et sécurité (chiffrement LUKS).

Je précise d’emblée aux esprits chagrins que le but ici n’est pas de discourir sur la pertinence d’une solution donnée par rapport à une autre (RAID1 vs RAID5, NAS vs serveur multi-rôles, etc). L’idée est uniquement de détailler la procédure de partitionnement (même si le terme est un poil galvaudé) lors de l’installation de l’OS car contre toute attente, ce fut un peu laborieux. Je me heurtais systématiquement à un message d’erreur indiquant que GRUB ne pouvait s’installer sur /dev/sda (ni même sur /dev/sdb ou encore hd0). Soupçonnant une quelconque erreur dans ma méthode, j’ai testé différentes procédures (RAID1 + LVM, RAID1 + Chiffrement global, LVM + Chiffrement global et même RAID1 + LVM + Chiffrement séparé de chaque volume logique) sans le moindre problème. Ce n’est qu’en recommençant une n-ième fois que je me suis finalement rendu compte que la configuration de la partition /boot disparaissait au cours de la procédure…

Pré-requis :

  • Un serveur GNU/Linux (ici Debian Squeeze 64 bits)
  • 2 disques durs de même capacité (ici 8,6 Gio)

Conventions :

  • prompt : # commande : exécuter la commande sous le compte root ou précédée de la commande « sudo »
  • prompt : $ commande : exécuter la commande sous le compte utilisateur

En avant pour la visité guidée (je n’ai pas lésiné sur les captures d’écran, je vous préviens). Notez que les captures suivantes ont été réalisée sur une machines virtuelle KVM sous Proxmox mais ça ne change rien à l’affaire.

– Choisir le partitionnement manuel et créer au début de chaque disque une partition primaire de 256 Mio qui aura comme point de montage /boot. La partition de démarrage ne pouvant être chiffrée, on la traite à part.

Partitionnement manuelCréer une nouvelle table de partitionCréer partitionPartition de 256 Mio

Partition primaireCréer la partition au début du disque




















– Configurer ces 2 partitions en tant que volumes physiques pour RAID, valider les changements puis configurer le RAID logiciel. Créer un volume multi-disques RAID1 de 2 disques, sans disque de secours, puis sélectionner les 2 partitions des 256 Mio. Faire de même avec les 2 partitions restantes et valider la configuration du RAID1.

Configurer les partitions en tant que volumes physiques pour RAIDConfigurer le RAIDCréer un volume multidisqueRAID1

Utiliser 2 disquesPas de disque de rechangeSélectionner les partitions de 256 Mio

Faire de même avec les 2 autres partitionsValider la configuration RAID1






























– Sélectionner le volume RAID1 de 256 Mio et le formater en Ext3 avec /boot comme point de montage :
Sélectionner la partition RAID1 de 256 Mio Formater en Ext3 et point de montage /boot










– Chiffrer la partition RAID1 de 8,3 Gio, rien de spécial à signaler ici, il suffit de suivre les captures d’écran. Notez qu’il faut bien sûr accepter d’écrire des données aléatoires sur tous les secteurs de la partition mais que cela peut prendre beaucoup de temps, en fonction de la taille de cette partition. On remarquera que sur la première capture d’écran ci-dessous, la partition RAID1 de 256 Mio est bien configurée avec comme point de montage /boot.

Configurer le chiffrementValider les changementsCréer un volume chiffréChoisir le volume RAID1 de 8,3 Gio

Paramètres de chiffrementFinir la procédure de chiffrementEcrire des données aléatoires sur l'ensemble de la partition

Choisir un mot de passe solide





























– Après le chiffrement de la partition de 8,3 Gio, on constate sur la première capture d’écran ci-dessous que la partition RAID1 de 256 Mio n’a plus de point de montage (il faudra donc penser à reconfigurer cette partition avant de poursuivre l’installation de l’OS sous peine de se retrouver avec un chargeur d’amorçage incapable de s’installer correctement). On passe maintenant à la configuration des volumes logiques. Après avoir créé un groupe de volume logique (VG) dans la partition chiffrée, créer les volumes logiques désirés (ici vg-root, vg-swap et vg-home) et terminer la procédure.

Configurer les volumes logiques Confirmer le formatage en Ext3Créer un groupe de volumes logiquesNommer le groupe de volumes logiquesSélectionner le volume chiffréConfirmer le schéma des partitions Créer un volume logiqueSélectionner le groupe de volumes logiques précédemment crééNommer le volume logiqueSaisir la taille du volume logiqueCréer les volumes logiques supplémentairesTerminer la procédure de création des volumes logiques







































– Configurer le formatage et le point de montage de chaque volume logique :

Sélectionner le volume logique "vg-home"Configurer le volume logiqueSélectionner le volume logique "vg-root"Configurer le volume logiqueSélectionner le volume logique "vg-swap"Configurer le volume logique



















– Reconfigurer le point de montage (/boot) de la partition RAID1 de 256 Mio et finir la procédure de configuration des disques :
Reconfigurer la partition de 256 MioTerminer la procédure de partitionnementConfirmer la configuration des partitions et volumes logiques










– Une fois l’installation achevée et le système redémarré, il ne reste plus qu’à installer GRUB2 sur /dev/sdb (il s’installe sur /dev/sda par défaut) afin de pouvoir démarrer sur les 2 disques :

# grub-install "/dev/sdb"

Installer GRUB2 sur /dev/sdb












Vérifier que Grub est bien installé sur les 2 disques en débranchant chaque disque alternativement et en démarrant le système. That’s all folks !

subsonic-logoS’il est bien une chose qui est particulièrement jouissive dans la vie du sysadmin (outre la bouteille de whisky dont Madame Michu vous gratifie après chaque dépannage), c’est bien d’étaler votre science devant un parterre de collègues profanes qui d’ordinaire n’ont que faire des arcanes de votre spécialité. L’exemple du jour est particulièrement parlant. Cataclysme planétaire ! Après Spotify qui restreint l’écoute gratuite de musique à 10 heures par mois, c’est au tour de Deezer d’annoncer une limite de 5 heures (ce n’est pas comme si le pathétique directeur de la Star’Ac d’Universal Music France n’avait pas déjà annoncé la couleur, passons…). La cafétéria est en ébullition, tout le monde ne parle que de ça. Intérieurement vous jubilez, d’abord à l’idée des dizaines de Kio/s de bande passante qui vont être de nouveau disponibles mais surtout parce que vous, ça fait un bail que vous n’avez plus recours à ces services étant donné que vous hébergez un serveur Subsonic à la maison. Vous attendez donc que votre collègue de droite finisse de s’étouffer avec ses choux de Bruxelles pour sortir le PC portable qui ne vous quitte jamais (on est professionnel ou on ne l’est pas) et dans le silence qui suit ce geste, vous faîtes une démonstration des possibilités de ce fantastique logiciel. En guise de dessert vous saisissez votre smartphone, appuyez sur l’icône au sous-marin jaune et achevez par ce geste impérial de compléter votre triomphe, car oui il y a aussi une application pour Subsonic et pas que pour l’iPhone. Allez hop, un café et l’addition !

Subsonic est donc un serveur de streaming multimédia. Exploitant Java, il est multi-plateforme mais dans un soucis de préservation de mes rentrées régulières de bouteilles de whisky, j’exposerai ici uniquement l’installation sous GNU/Linux Debian et dérivés. Les binaires (ainsi que les instructions d’installation) pour les plateformes Windows, Mac OSX, GNU/Linux RPM-DEB et Java (stand-alone) sont disponibles ici.

Pré-requis :

  • GNU/Linux Debian 6 « Squeeze »

Conventions :

  • prompt : # commande : exécuter la commande sous le compte root ou précédée de la commande « sudo »
  • prompt : $ commande : exécuter la commande sous le compte utilisateur

On commence par installer Java si ce n’est pas déjà fait :

# apt-get install openjdk-6-jre

Puis on télécharge le dernier paquet .deb en date et on l’installe :

# cd /tmp
# wget http://sourceforge.net/projects/subsonic/files/subsonic/4.4/subsonic-4.4.deb/download  
# mv download subsonic-4.4.deb
# dpkg -i subsonic-4.4.deb

Par défaut Subsonic est disponible à l’adresse http://myserver:4040, mais le diplôme de sysadmin étant assorti d’une mention paranoïa, on va modifier le port en éditant le fichier /etc/default/subsonic :

# nano /etc/default/subsonic

Changer le port 4040 par —au hasard— 51983, dans la ligne suivante :

SUBSONIC_ARGS="--port=51983 --max-memory=100"

Sauvegarder le fichier et redémarrer le serveur Subsonic :

# /etc/init.d/subsonic restart

Le serveur étant maintenant accessible à l’adresse http://myserver:51983, il ne reste plus qu’à finir la configuration en se connectant avec les identifiant et mot de passe « admin/admin »

Un guide en 3 parties nous aide alors à terminer la configuration.

La première chose à faire est de créer un nouveau compte utilisateur et surtout de changer le mot de passe du compte « admin ». On indique ensuite le dossier qui va accueillir notre bibliothèque musicale et on finit par configurer les paramètres réseaux en redirigeant sur le routeur (par UPnP ou manuellement) le port précédemment configuré vers le serveur qui héberge Subsonic (sinon point d’accès depuis Internet, du moins en IPv4…).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Il ne reste plus maintenant qu’à transférer la bibliothèque musicale dans le dossier indiqué. D’un point de vue général, l’interface est relativement bien faite même si la possibilité de déporter la liste de lecture vers la partie droite de l’écran aurait été la bienvenue. A noter que Subsonic ne se limite pas uniquement au streaming de fichiers musicaux, il prend aussi en charge les podcasts, WebTV, WebRadios et moyennant un don le streaming vidéo et le streaming audio vers les smartphones. L’auteur suggère un montant de 20€ ce qui n’est vraiment pas cher payé aux vues des services offerts (dommage toutefois qu’on ne puisse pas payer en whisky…). Toutes ces fonctions feront l’objet d’un prochain article quand j’aurais eu le temps de tout tester, notamment la partie vidéo.

Évidemment une fois votre démonstration digérée, un esprit chagrin mais moins obtus que les autres vous fera remarquer que Amazon Cloud Drive et Google Music arrivent bientôt et que « c’est la même chose ». Sauf que le service d’Amazon est limité à 5 Gio et celui de Google, s’il permet d’héberger plusieurs dizaines de milliers de titres, rien ne dit que ça restera gratuit, sans compter que le service est encore en Bêta (Google oblige) et uniquement accessible sur invitation et au USA. A l’heure où un hébergement mutualisé avec 25 Gio de stockage coûte autant par mois qu’une pression au troquet du coin, il serait dommage pour ceux que l’auto-hébergement répugne de se priver d’une telle solution. J’oubliais mais comme toutes les bonnes choses, Subsonic est sous licence GNU-GPLv3, mais est-ce la peine de le préciser ?!