Impossible d'importer la configuration RAID sur Dell PowerEdge R630

Si vous avez suivi les derniers billets, j'ai dû déployer quelques Windows Server sur des machines physiques Dell, plus précisément des PowerEdge R630. L'installation a été réalisée sur des serveurs de test dans un bureau, puis les disques ont été sortis pour être implantés dans la machine de production.

Or, pas moyen de remonter le RAID, il n'est nulle part proposé d'imposer la foreign configuration permettant de dire au serveur que les deux disques sont en RAID 1 ; en l'occurence, impossible de booter.

Suite à quelques contrôles de routine dans le BIOS pour bien s'assurer que les paramètres sont égaux entre les deux machines et que ma machine d'origine voit bien le RAID (paramètres SATA et paramètres BIOS/UEFI), il a fallu mettre à jour le BIOS de la machine de destination afin que la configuration soit visible et importable ; il faut donc une version de BIOS supérieure ou égale à la version du BIOS de la machine d'origine sur la machine de destination.

Le RAID 1 est bien visible sur la machine d'origine

Une fois les opérations effectuées, le serveur a pu importer la configuration et le système a démarré sans encombre.

Création d'un support USB bootable d'installation de Windows

Il y avait aujourd'hui besoin de déployer un Windows Server 2016 sur une machine qui n'est pas supportée par le WDS. Situation habituelle dans un service IT : il y avait 3 clefs USB destinées aux installations de Windows, mais on en a prêté une, l'autre on s'en est servie pour faire du transfert de data, et l'autre... ben y a un 2012 dessus. Du coup, on se retrouve toujours dans la situation où l'on finit par trouver quelque part une clef USB et qu'on doit en faire un support d'installation. Et là, aussi con que ça puisse paraître, il y a toujours la petite question qu'on se pose : "comment on fait pour créer un support d'install de Windows déjà ?"..

Si il est possible d'utiliser par exemple une appli tierce comme Rufus, ou des outils Microsoft, j'ai découvert - à ma grande surprise d'ailleurs - qu'il était possible de réaliser une clef USB bootable d'installation de Windows grâce à diskpart et le fichier ISO du système d'exploitation que l'on va installer.
On ouvre une invite de commande, puis on exécute diskpart.
list disk nous renvoie tous les disques qui sont connectés au système, on va donc select disk xx est bien évidemment le numéro représentant le support USB.
clean efface les partitions présentes ; bien évidemment on aura pris le soin de choisir une clef dont le contenu n'est pas important...
create partition primary pour recréer une partition principale ;
active comme son nom l'indique, active la partition ;
format fs=ntfs quick pour formater ladite partition ; le quick permet de faire un formatage rapide, qui ne dure que quelques secondes ;
Et enfin, on finit par un assign pour donner une lettre dans l'explorateur à cette partition fraîchement formatée.
Ensuite, il ne reste plus qu'à décomposer avec 7-Zip par exemple le fichier ISO d'installation de Windows et à copier les répertoires extraits sur le support USB. Le fichier sources\boot.wim est le fichier qui va permettre au système d'installation de s'amorcer proprement.

Erreur 2203 renvoyée par Windows Installer

En déployant deux serveurs avec une clef USB cause WDS ne fonctionnant pas sur les machines en question, une fois l'installation finie, j'ai eu à installer plusieurs paquets, notamment de drivers, en MSI, nécessitant donc Windows Installer.

J'ai été surpris de rencontrer une erreur 2203 lors de la tentative d'installation du paquet. Après un peu de recherches, cette erreur apparaît lorsque Windows Installer a besoin d'accéder au répertoire temporaire de l'utilisateur (variable d'environnement %TEMP%), mais qu'il ne peut pas, soit car celui-ci n'existe pas, où parce que les droits sont insuffisants.

En ouvrant un cmd, et en tapant cd %temp%, je tombe sur un répertoire inaccessible. Et pour cause : le script post-déploiement que j'ai utilisé pour terminer la configuration de la machine qui va fonctionner en workgroup initialise la valeur du répertoire temporaire de cet utilisateur sur le disque D:, disque qui était le support d'installation de Windows ; en effet, le script a été conçu pour des installation de serveurs standards utilisant deux disques, avec un disque D utilisable.

Les variables d'environnement à régler : TEMP et TMP

Dans mon cas, après avoir modifié la variable d'environnement, fermé et rouvert la session de l'utilisateur, j'ai pu installer correctement mon package MSI. Une erreur toute simple mais qui m'a fait perdre une dizaine de précieuses minutes.

Mise en place de PlexPy, un outil de supervision de Plex Media Server

PlexPy est un outil de supervision et de monitoring pour un serveur Plex. Suite à un crash de mon serveur Plex aujourd'hui - qui deviennent de plus en plus fréquents (un par semaine...) sans que je comprenne trop pourquoi - je voulais trouver un moyen d'être averti par courriel lorsque le serveur ne répond plus correctement ou lorsque le streaming est impossible. PlexPy fonctionne comme son nom l'indique avec Python et offre une interface Web. Bien qu'il soit plutôt facile à installer, je vais en détailler le processus d'installation et de configuration sur une machine Debian. A noter qu'il n'est pas nécessaire d'installer PlexPy sur le serveur Plex en question.

Tout d'abord, on créé un utilisateur qui exécutera l'application :

adduser plexpy

Je pars du principe que Python et Git sont installés sur la machine.

cd /opt/
git clone https://github.com/JonnyWong16/plexpy.git
cd plexpy
python PlexPy.py

L'idée étant que PlexPy démarre tel un service au lancement du système afin d'éviter d'avoir à laisser la console ouverte ou à passer par screen, il va falloir quelques manipulations supplémentaires ; copier-coller le contenu du fichier .service présent sur le GitHub (ou bien récupérer la version déjà renommée sur mon Google Drive) puis l'enregistrer dans /lib/systemd/system (en le renommant plexpy.service si vous avez copié/collé). Ensuite, faire en sorte que ce service démarre avec le système :

systemctl daemon-reload
systemctl enable plexpy.service

Il démarre ensuite grâce à l'instruction systemctl start plexpy.service. Il ne faudra pas oublier de s'assurer que l'utilisateur plexpy qui a été créé plus tôt soit propriétaire du répertoire de l'application :

chown -R /opt/plexpy

Le fichier .service peut se modifier si jamais l'application n'a pas été installée dans le répertoire par défaut. Pour ma part, étant le seul administrateur de la machine Plex et le seul à y avoir un accès distant, j'ai laissé le fichier de configuration dans son emplacement par défaut.

Une fois l'application exécutée, un navigateur va s'ouvrir sur http://localhost:8181. Etant connecté en SSH, c'est w3m qui s'est ouvert.

Pour plus de facilité, j'ai contrôlé la pré-configuration de l'application via un navigateur installé sur une autre machine du réseau.

L'assistant divisé en plusieurs écrans est plutôt clair et permet de faire une configuration basique de l'outil. Par la suite, j'irai dans la configuration avancée pour modifier les notifications.

Une fois que tout est défini, on arrive sur la page d'accueil, qui présente diverses statistiques et informations par rapport au serveur Plex qui est écouté. Si l'on souhaite monitorer plusieurs serveurs Plex, alors il faut installer PlexPy autant de fois que nécessaire, sachant qu'il est possible de changer le port de l'interface web pour avoir plusieurs instances sur la même machine sans que cela ne pose problème.

Pour configurer ce qui m'intéresse, c'est-à-dire une alerte par courriel qui m'avertit d'un éventuel dysfonctionnement de Plex, il faut aller fouiner dans la configuration avancée, qui mérite de toutes façons le détour car c'est ici qu'on configure le degré d'alerte, le moyen de contact (il est possible de recevoir des notifications par une multitude de biais autre que le courriel, notamment Twitter ou autre outils de communication comme Telegraph...) et qu'on gère toute la partie technique (base de données, taille des logs, etc.).

Le design étant proche de celui de Plex, y retrouver ses petits est aisé. Tout d'abord, je vérifie que ma configuration est bien la bonne.

La section "Notifications" permet de paramétrer ce qui sera envoyé : titre, contenu, etc. Ce qui m'intéresse le plus cependant et là où je vais pouvoir mettre en place ce que je souhaite est dans la section "Notifications Agents". Je choisis la ligne "E-mail" afin de la paramétrer. Il m'est donc naturellement demandé un serveur SMTP entre autres adresses émettrices et réceptrices.

Puis, une fois la configuration effectuée, un clic sur la cloche pour l'activer ; tout un panel de cases à cocher s'affiche, permettant de choisir exactement le moment où l'on souhaite être averti. J'ai donc choisi d'être averti par courriel lorsque le serveur est inaccessible et lorsqu'il revient en ligne.