Jusqu'ici, sur DSM, le logiciel tournant sur les NAS Synology, il était possible d'installer Docker, pour faire tourner de petites machines virtuelles. Mais il n'était pas possible de monter une vraie machine virtuelle, avec un OS complet, etc… La dernière mise à jour DSM a toutefois vu arriver un nouveau paquet dénommé Virtual Machine Manager, qui vient combler ce manque. Du coup, j'ai tenté l'installation de Jeedom sur une machine virtuelle hébergée sur mon NAS Synology.
La décision a été prise à la suite d'un plantage d'une machine un peu ancienne, sur laquelle je faisais tourner quelques machines virtuelles, dont une machine Jeedom pour mes tests. Pas de chance, je n'avais pas mis en place de système de sauvegarde pour cette machine. Un oubli malencontreux :/ J'ai pu récupérer quelques données grâce à EaseUS, qui propose un Logiciel gratuit de partition (soft que je vous conseille d'ailleurs vivement, puisqu'il m'a dépanné à de nombreux reprises, comme pour formater une clé usb protégé en écriture par exemple. La version gratuite aide déjà bien à récupérer certaines situations ;-)
Bref, disposant d'un NAS tournant 24/24, et celui ci permettant maintenant d'installer des machines virtuelles, j'ai décidé d'explorer cette possibilité plutôt que de devoir faire quelques dépenses pour remettre d'aplomb mon ancienne machine. Attention toutefois, pour utiliser Virtual Machine Manager, il existe quelques contraintes:
- modèle NAS Synology avec processeur Intel uniquement
- + de 2Go de mémoire (il faudra donc sans doute upgrader votre machine)
- volume formaté en Btrfs
Pour ma part, je possède un 1515+. J'ai simplement rajouté de la mémoire et dû reformater mon volume, ce qui a été le plus long (backup de toutes les données, formatage du volume, et recopie des données…). Mon installation datait en effet de plusieurs années, avant l'arrivée du Btrfs. Une fois ces pré requis rassemblés, il suffit d'installer le paquet Virtual Machine Manager comme n'importe quel autre paquet:
Création de la machine virtuelle pour Jeedom
Une fois installé, on lance Virtual Machine Manager, qui nous propose un écran vierge:
Il faut en effet commencer par créer notre machine virtuelle, en cliquant sur le bouton “Créer” en haut à gauche. Il est possible d'installer toutes sortes de systèmes dans une machine virtuelle. Ici nous allons installer une Debian Stretch, l'OS conseillé par Jeedom (il faudra d'ailleurs récupérer l'image Debian Stretch ici). On installe donc un Linux:
On donne un nom à notre machine, et on définit le nombre de processeurs (coeurs) à allouer à la machine virtuelle, ainsi que la mémoire. Pour être à l'aise, j'octroie 2 coeurs, et 2Go à la machine (à régler en fonction de votre disponible, j'ai sur mon NAS 8Go, ce qui me laisse de la marge).
Ensuite, on indique l'endroit où se trouve l'image ISO de Debian téléchargée précédemment. La machine virtuelle démarrera dessus pour lancer l'installation du système. C'est comme si on insérait le CD d'installation, en quelque sorte. Ensuite on définit la taille du disque virtuel, l'équivalent du disque dur utilisé pour votre Jeedom. Là aussi j'ai de la place, donc j'y alloue 32Go:
Au niveau du réseau, on peut laisser par défaut:
Enfin, on définit si on veut que la machine démarre en même temps que le NAS (ce qui peut être préférable pour un système domotique par exemple), et la disposition du clavier. Nous reviendrons sur la partie Usb plus loin.
Pour finir, on donne l'autorisation à l'utilisateur qu'on souhaite:
On valide: notre machine va être créée et démarrée:
Sur l'écran Virtual Machine Manager, nous voyons maintenant notre machine en fonctionnement. Il ne reste plus qu'à cliquer sur le bouton “Connecter” pour ouvrir la page qui nous donne accès à l'écran de notre machine virtuelle.
Passons maintenant à l'installation de Debian.
Installation de Debian Stretch sur la machine virtuelle
L'écran qui apparait alors affiche l'écran de lancement d'installation de Debian Stretch:
On choisit l'installation graphique, plus agréable. On indique ensuite notre langue:
On valide le pays:
Et la langue utilisée pour le clavier:
L'assistant d'installation charge alors les composants nécessaires à l'installation:
Et configure le réseau:
A ce stade, il faudra d'ailleurs indiquer un nom qui identifiera la machine sur le réseau:
Puis renseigner le domaine si vous en utilisez un. Ici j'ai laissé vide:
Il faut ensuite créer les utilisateurs. L'utilisateur root (superutilisateur, ou administrateur de la machine) est créé automatiquement, il faut en revanche définir le mot de passe:
Il faut ensuite créer un utilisateur “normal”, en indiquant un nom et un mot de passe:
Vient ensuite la décision sur le partitionnement du disque dur. Ici, j'utilise le disque entier:
On valide ensuite le partitionnement:
L'installation du système de base démarre alors:
Pour les écrans suivants, on peut laisser les choix par défaut:
Enfin, à la sélection des paquets, on sélectionne uniquement “serveur SSH” et “utilitaires usuels du système”. Pas besoin d'interface graphique ici, ce qui allégera le système:
L'installation se poursuit:
On laisse installer GRUB sur le disque dur (nous sommes toujours sur le disque virtuel, donc pas d'impact sur le NAS):
L'installation est ensuite terminée:
Avant de continuer, nous retournons dans Virtual Machine Manager. On demande à modifier notre machine virtuelle, et dans l'onglet Stockage, on retire l'ISO de Debian en choissant “démonté” dans la liste déroulante. Sinon notre machine virtuelle va redémarrer sur le disque d'installation, et donc relancer une installation. C'est comme si on retirait le CD d'installation de la machine, mais en virtuel ;-)
De retour sur l'écran de la Debian, on peut alors cliquer sur continuer. La machine redémarre, et le login apparait après quelques secondes:
On s'identifie avec l'utilisateur créé lors de l'installation. Puis on récupère l'adresse IP de cette machine virtuelle, via la commande “ip -s -c -h a”. L'adresse IP devrait apparaitre en rouge / rose à l'écran:
Il ne nous reste plus qu'à installer Jeedom.
Installation de Jeedom sur la machine virtuelle.
Debian est le système d'exploitation qui fait tourner la machine. Il nous faut maintenant installer tout le nécessaire pour faire fonctionner Jeedom. Heureusement, les développeurs ont réalisé un script qui fait tout tout seul.
On peut lancer l'installation soit depuis l'écran “virtuel” de Virtual Machine Manager, soit maintenant nous connecter à la machine en SSH directement. Les deux choix fonctionneront de la même manière.
On passe donc en superutilisateur, avec la commande “su” et en saisissant le mot de passe root (superutilisateur). Ensuite on récupère le script jeedom avec la commande
wget https://raw.githubusercontent.com/jeedom/core/master/install/install.sh
On le rend exécutable:
chmod +x install.sh
Et on le lance:
./install.sh
Il n'y a plus qu'à le laisser faire. L'installation prend plusieurs minutes, mais se fait totalement toute seule, vous pouvez donc aller prendre un café ;-)
L'installation est terminée. Il faudra alors redémarrer la machine. Mais avant, retournons dans Virtual Machine Manager, pour modifier une nouvelle fois notre machine virtuelle. Cette fois, rendons nous dans l'onglet “Autres”:
On va pouvoir affecter les périphériques Usb qu'on souhaite raccorder à notre machine virtuelle. Ces périphériques physiques sont à brancher sur les ports Usb du NAS: ici j'ai une clé Zwave Aeon Labs GEN5, un Rfxcom, un dongle Edisio, et un dongle EnOcean. On clique sur le “+” en face de “périphérique Usb” pour ajouter jusqu'à 4 lignes. On choisit ensuite le périphérique qu'on souhaite affecter, qui sera donc disponible dans la machine virtuelle Jeedom. Virtual Station Manager est ici limité à 4 périphériques Usb, une version payante devant par la suite autoriser jusqu'à 256. 4 ports pourront toutefois répondre à pas mal de besoins. Mais il y a une autre limitation: le support des périphériques. Pas de soucis avec les clés citées précédemment. En revanche ma clé 3G Huawei elle n'est pas reconnue (mais je vous proposerai une autre solution dans un prochain article ;-)
Une fois les périphériques affectés, on enregistre, et on redémarre notre machine virtuelle. Une fois redémarré, il suffit de se connecter à l'adresse IP de la machine pour accéder à notre interface Jeedom:
La machine installée ici est vierge. On peut configurer son système depuis 0, ou importer une sauvegarde Jeedom précédente. Attention, au jour où j'écris ce guide, la restauration d'une sauvegarde pose un soucis sur les droits des fichiers. Si vous restaurez une sauvegarde, connectez vous ensuite en SSH et lancez les commandes
sudo chmod 775 -R /var/www/html
sudo chown -R www-data:www-data /var/www/html
Cela restaure les droits sur les fichiers et résoud la plupart des problèmes rencontrés après la restauration ;-)
Nous voilà avec un Jeedom fonctionnel, qui tourne sur notre NAS Synology. Avec la puissance et la mémoire affectées, Jeedom tourne parfaitement, et avec un impact très léger sur le NAS, puisque Jeedom consomme moins de 10% de ses ressources (cela dépendra bien sûr de la puissance de votre Synology).
Fonctionnalité pratique au passage: la possibilité de créer des “instantanés”:
Un instantané est une copie complète de la machine virtuelle telle quelle est. Vous pouvez donc prendre un instantané avant toute mise à jour ou grosse modification, en quelques secondes. Ainsi, ce ne sont pas juste les données qui sont sauvées (comme le fait la sauvegarde de Jeedom chaque nuit) mais bien TOUTE la machine. En cas de panne il est même tout à fait possible de prendre le fichier de cette machine virtuelle pour la lancer sur une autre machine physique, votre centrale domotique peut alors être de nouveau fonctionnelle en moins de 15min.
Virtual Machine Manager offre donc un bon moyen d'avoir une “box domotique virtuelle” à peu de frais, et sans avoir une énième machine qui tourne et consomme de l'énergie. En test à la maison depuis pas loin d'un mois, je pense passer la maison en production dessus, les résultats étant plutôt satisfaisants :)
Merci, as tu testé la compatibilité des systemes connectés en USB et la transmission des trames réseaux pour la passerelle xiaomi ?
merci
Pour tout ce qui est transmission via le réseau, comme Xiaomi, aucun soucis, ca fonctionne de la même facon.
Pour les systèmes Usb, de quels systèmes veux tu parler ? Comme mentionné dans le tuto, aucun soucis pour mes dongles Zwave, EnOcean, Edisio, et Rfxcom. J’ai testé un dongle Bluetooth sans problème également. Il n’y a que ma clé 3G Huawei qui ne fonctionne pas, jusqu’ici.
Mais tu as combien de port usb sur ton nas? Si on n’a qu’un port USB sur notre nas on peut en rajouter avec un hub USB? Ca fonctionnerait?
Pas d’importance sur le nombre de ports Usb physiques du NAS, on peut en effet utiliser un Hub, c’est d’ailleurs ce que j’ai fait (les ports Usb à l’arrière étant difficile d’accès dans ma config).
Bonjour Cédric,
Je suis avec attention tous vos excellents tutos.
Concernant celui-ci, où est-il possible de trouvé les NAS Synology compatibles avec le Virtual Machine Manager ?
Merci
J’ai trouvé la réponse à ma question. Pour ceux qui souhaite l’information :
Modèles compatibles
Série 18: FS1018, RS3618xs, RS818RP+, RS818+, RS2818RP+, RS2418RP+, RS2418+, DS3018xs, DS918+, DS718+, DS218+
Série 17: FS3017, FS2017, RS3617xs, RS3617RPxs, RS4017xs+, RS3617xs+, RS18017xs+, DS3617xs, DS1817+, DS1517+
Série 16: RS2416RP+, RS2416+, RS18016xs+, DS916+
Série 15: RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+
Série 14: RS3614xs, RS3614RPxs, RS3614xs+
Série 13: RS3413xs+, RS10613xs+
Série 12: RS3412xs, RS3412RPxs, DS3612xs
Série 11: RS3411xs, RS3411RPxs, DS3611xs
Bonjour Cédric.
Merci pour ce tuto. Malgré tout et pour rebondir sur la première question de Jaques, mon premier objectif est l’environnement Xiaomi, pour venir compléter voir a terne remplacer Eedomus. Malgré tout, je n’arrive pas a dialoguer avec mon robot aspirateur, malgré semble t’il une installation similaire a ce que tu as décris. J’ai ouvert un fil sur le forum jeedom
(https://www.jeedom.com/forum/viewtopic.php?f=154&t=35914&p=612715#p612715) Peut etre as tu une idée sur mon problème.
Merci pour tout!
Djo
Sur un nas syno à base de HP n40l tu as testé :-) ?
Oui, et ca ne fonctionne pas. Pour un truc bête: Virtual Machine demande plus de 2Go. Sur le HP j’en ai 8, mais Virtual Machine n’en voit que 2. Pourtant DSM en voit bien 8 :/
Ah tiens, sur le mien avec 4 go de ram l’install du paquet virtual dsm est Ok, ca se lance normalement… Pas testé jeedom ni de monter une vm encore, mais je vais avoir du mal a résister….
Ha oui effectivement impossible de booter linux.