Migration sur NUC terminée

Suite à mon soucis matériel, j’ai fini la migration sur le NUC (oui je sais c’est un sacré prétexte, un disque vous lâche et on change tout)

Alors en tout cas, très content de la petite bête question perf. Ca se monte en 4 coups de tournevis pour ouvrir après c’est juste glisser la mémoire et le disque.
Question perfs, et bien j’y ai gagné (15mn l’install Debian) Certes oui tout le monde à pas besoin d’un NUC, mais le confort à un prix. Si j’avais une critique ca serait : uniquement 4 ports USB, c’est peu (Bluetooth, enceinte, disque dur et onduleur pour moi, oui oui pas de clefs de protocoles, j’ai sauter le pas)

Vous retrouverez une sélection de NUC sur Amazon et j’en parle sur la page des essentiels pour la domotique

Allez, ca me servira de mémo cet article et ca vous donnera une idée de mon bordel installation

Problèmes matériels

Installation Debian

RTFM, quoi ? Non mais je vais pas m’étaler sur chaque étape. Donc installer Debian (un vrai système pour les vrais) ca consiste à :

  • prendre l’image sur le site Debian
  • faire un cp de l’iso vers le disque de la clef (ouais, sous Windows j’en sais rien, mais sous Linux : cp debian.iso /dev/sdb et c’est fini, va faire plus facile)
  • on branche la clef, on allume le NUC, on fait clic-clic (ben non, ca va pas la tête, on fait entrée-entrée mais oui clic-clic c’est possible, c’est comme emacs et nano, ca sert au moins à rigoler quand on voit quelqu’un s’en servir :D)

Voilà vous avez une Debian qui rox sur le NUC

Installation serveur LEMP (serveur Web : Nginx+PHP+Mariadb)

Alors là je suis pas aux standards Jeedom bouuuuhhhh. Ouais mais j’ai mes raisons, et puis je sais ce que je fais, donc je peux me le permettre

Donc chez moi, pas d’Apache mais Nginx. Pas de MySQL, mais Mariadb.

Mariadb c’est à la base pour la raison que si c’est pas Oracle c’est mieux, bon ca c’est la raison « politique » mais sinon MariaDB ca roxe et c’est désormais le choix par défaut des distribs Linux. Donc c’est prendre un peu d’avance.

Nginx et bien parcequ’il roxe ce serveur web et que je n’héberge pas que Jeedom. Donc je prend le meilleur pour tout faire.

Donc pour bien faire, au passage on ajouter les dépots dotdeb et mariadb 10.1 déjà. Alors oui tiens dotdeb va permettre d’avoir un Nginx dernière génération (avec pagespeed, http2 etc) et aussi PHP7 tant qu’à faire. Par contre, c’est très sélectif : amd64 oui, arm non. Peu importe votre version arm.

Avec ces deux dépots, on installe mariadb, nginx, php et les extensions nécessaires à jeedom et nextcloud.

Pour les extensions PHP, on les a ici pour jeedom (en oubliant pas php fpm) et pour nextcloud elles sont dans le manuel, mais ca consiste surtout à ajouter apcu vu que nextcloud peut l’utiliser.

Import sauvegarde

Voilà là on a un Nginx, Mariadb et PHP-FPM prêts.

Il y a mes sauvegardes sur le RAID. J’ai pas le boitier pour les 2 disques donc en l’attendan, un boitier externe simple en USB et montage du RAID en mode dégradé sur son point de montage définitif. L’arborescence du disque c’est :

  • /backup -> les sauvergardes du système (un pur rsync avec des exclusions)
  • /nexctloud -> le répertoire de données Nextcloud
  • /share -> tout ce qui est partagé par le serveur NFS (photos, sauvegardes Mysql, vidéos etc)

Donc un mysqlimport de la dernière sauvegarde (qui contient toutes les bases et pas uniquement jeedom)

Une copie des répertoire backup : conf nginx, conf php, /opt, conf letsencrypt. Mise en place du cron jeedom et cron nextcloud.

Et là les services web les plus importants repartent : Jeedom et Nextcloud, l’heure d’une pause pour lire les 500 articles RSS de retard

PS : en fait plus important encore que ces deux là, ce fut le serveur NFS, on est en période de vacances scolaires, les Kodi de la maison sont mappés sur cette source NFS, donc imaginez, plus que Youtube c’est pas génial

Mais voilà Jeedom et Nextcloud repartis, une mise à jour de jeedom pour rattraper les 5 jours, un tour des plugins et leurs dépendances pour vérifier que tout est ok et on est bon.

Le reste des apps

Alors parcequ’il y a pas que Jeedom et Nextcloud, la liste des autres apps que j’ai backupées au passage :

  • NFS : install du paquet, copie du /etc/exports de la sauvegarde, restart service ok
  • Transmission : install paquet, arrête service, copie de la conf de sauvegarde, démarrage service
  • Shellinabox : install paquet
  • Subsonic : install paquet, conf user + media folders (au final ca prend pas longtemps donc pas de restaure pour ca)
  • Logitechmediaserver : install paquet, conf media folders, plugin Dr Sarakha et UPNP, pas de users là (la raison finale pourquoi du coup pas de reverse pour lui)
  • Sickrage : alors lui il est dans le /opt copié plus haut 🙂 donc finalement c’est réimport du fichier initd, chmod, update-rc.d dessus et start

Tout ce petit monde est déjà en reverse proxy dans Nginx (sauf LMS car c’est bordélique avec un RP en URI et qu’il y a pas de user dedans, donc pas de protection intégrée) y compris Kodi, ca m’a servi de memo pour le passer en Chorus 2 au passage.

J’ai ajouté lbcalerte à Nginx au passage (un répertoire à copier, un cron et pour moi un petit fichier de conf Nginx)

Fini

Voilà logiquement j’ai tout remis, les notifications Jeedom sont revenus, les synchros agenda, rss aussi. Les enfants ont leurs vidéos, madame ses photos. Tout est bon donc on arrête là ?

Non, du coup il me reste juste les sauvegardes à remettre en place :

  • un cron qui lance la sauvegarde mysql (toutes bases incluses, le script ne me garde que les 7 dernières, faudrait que j’y intègre une vérification d’intégrité car il y a peu de temps j’avais pu voir qu’elles étaient corrompues à cause des tables du plugin suiviconso de jeedom, plugin et tables supprimées depuis)
  • un cron qui lance le rsync

Et un premier lancement à la main des 2 scripts

Et voilà, système opérationnel, plus qu’à attendre le boitier pour les deux disques et remettre le RAID en état OK.

Pour la suite je réfléchis aussi à une solution HA avec un deuxième « équivalent NUC » peut être le Udoo qui va arriver. L’idée serait de l’utiliser en media center à la place du Pi pour lui garder un usage permanent et de le mettre en backup. Via un keepalived pour basculer le Nginx actif et un cluster mysql permanent. Une idée qui trotte pour minimiser au maximum les pertes de temps en cas de défaillance matérielle.

10 réflexions au sujet de “Migration sur NUC terminée

  1. Logiquement pas besoin de DRBD juste keepalived et mariadb devraient suffir. J’ai pas gratté beaucoup encore mais ca donnerait : keepalived pour la visibilité et bascule technique, mariadb en cluster galera (comme ca chaque nginx utilise bien localhost) et un réplication rsync toutes les 5mn des répertoires jeedom. Keepalived en cas de bascule activerait les cron jeedom/nextcloud et me mettrais nextcloud en mode maintenance (vu que la baie RAID des data est sur le master)

    • Bah en fait, via drbd tu fais de la synchro au niveau bloc hdd et plus besoin de te prendre la tete avec la synchro en rsync + cluster mariadb (just un fail over) … (enfin sur le papier 🙂

  2. Bonjour lunarok,

    Quand tu dis « pas de clé de protocole », ça veut dire que tu n’utilises plus de Zwave et que tu fais tout en bluetooth ?

    Sevya

  3. Bonjour,

    Petite question pour le RAID, l’as tu mis en place avec le boitier externe ? ça se gère ensuite au niveau du BIOS pour faire pointer le stockage sur la sortie USB3 ?
    Existe il aussi en format 2.5 pour SSD ?

    Dans les spec du NUC, j’ai vu qu’il serait possible de faire un RAID 1 entre le stockage M.2 et SATA … ça éviterait de passer par un boitier externe …

    Je suis aussi sur NUC avec disque interne SSD (VM avec Jeedom, Plex, WAZO etc.), ça fonctionne très bien mais je ne tourne que sur un disque.

    Merci d’avance !

    • Disques externes en USB3 oui. En format 2.5 ca existe, mais le prix des disques 2To fait mal.
      Pareil pour faire un RAID avec 2 SSD interne, le prix fait mal pour les grandes capacités (car ces disques moi font NAS, donc 2To en RAID1)
      Après pour le RAID, c’est Linux qui s’en charge pas le BIOS, car les fonctions RAID sont logiciels de toute facon, donc autant laisser le kernel faire. Comme ca le disque je peux le relire partout sur mes PC si besoin.

      • OK, je comprends si tu fais NAS.

        De mon coté, j’ai un Syno pour ça donc le NUC n’est que « système » … un SSD classique de 120 Go me suffit (pour le moment) donc au pire ce serait un secon SSD M.2 à acheter. Ce n’est pas donné mais ça ne fait de second boitier etc. et là j’ai tout de même une redondance.
        Je vais voir ce qui est possible de faire.

Laisser un commentaire