# Comment installer Synology DSM sur un NAS QNAP avec Xpenology
{{INLINETOC}} :
Il est établi depuis longtemps qu'en termes de NAS domestique et professionnel en 2019, Synology et QNAP NAS sont les deux principales marques. Cependant, bien que les deux soient des marques stables, flexibles, bien développées et conviviales pour les nouveaux et les anciens NAS, elles présentent un certain nombre de différences clés qui inciteront souvent à choisir plus une marque qu'une autre:
^ Avantages du NAS QNAP ^ Avantages du Synology NAS ^
| Meilleur matériel interne | Interface graphique plus conviviale |
| Meilleures connexions externes | Meilleures applications tierces |
| Plus configurable | Plus facile à configurer |
| Meilleure prise en charge des applications tierces | Excellentes applications tierces alternatives aux applications tierces populaires |
Ce sont souvent les facteurs décisifs clés pour les personnes lors du choix d'un lecteur NAS entre QNAP et Synology. Cependant, les choses sont rarement aussi simples et beaucoup d'utilisateurs voudront 2-3 fonctionnalités de Synology et 2-3 fonctionnalités de QNAP, mais ne pourront pas choisir entre elles. Grâce au logiciel GRATUIT Virtualization Station de QNAP, ainsi qu'à Xpenology on peut configurer un Synology DSM virtuel sur un NAS QNAP. Cela ne prendra que 15 à 20 minutes et permettra d'utiliser quelques-uns des logiciels Synology.
Cet article détaille la façon de procéder ainsi que des avertissements et des considérations importantes dont il faut tenir compte.
## Prérequis
Afin de procéder à l'installation de Synology DSM 6.2 sur un NAS QNAP, il faut les éléments suivants:
- Un NAS QNAP avec au moins un processeur Intel 64 bits à 4 cœurs, c'est le strict minimum.
- Un NAS QNAP avec 4 Go de mémoire, 2 Go pour le système QNAP + 2 Go à la machine virtuelle DSM
- Les fichiers d'installation - https://drive.google.com/drive/folders/1bKQkIOHxcOaXowpOrBfxXv5S8gHkPpxP?usp=sharing
- Environ 100 Go de stockage de rechange, jsut pour que vous puissiez tout tester complètement dans cette démonstration
- Station de virtualisation QNAP téléchargée et installée
On a également besoin d'un système compatible PC/Mac/Navigateur Web pour accéder à l'interface utilisateur du NAS QNAP et du Virtual Synology DSM.
## Guide des étapes de Synology DSM sur un NAS QNAP
### Installation de la VM
* **Etape 1** Télécharger le package DS918 + Xpenology sur le PC / Mac, puis décompresser le package - https://drive.google.com/drive/folders/1bKQkIOHxcOaXowpOrBfxXv5S8gHkPpxP?usp=sharing
* **Etape 2** Se connecter au NAS QNAP
* **Etape 3** Installer et ouvrir Virtualization Station depuis l'App Center
* **Etape 4** Cliquer sur "Importer une VM"
* **Etape 5** Sélectionner «Importer à partir du PC», puis cliquer sur «Veuillez sélectionner les fichiers VM» pour accéder à votre dossier de téléchargement local
* **Etape 6** Rechercher les fichiers Xpenology téléchargés précédemment et sélectionnez le fichier .OVF et cliquer sur Ouvrir
* **Etape 7** Le logiciel Virtualization Station VM reconnaîtra alors que les autres fichiers image sont nécessaires (en rouge). Maintenant, cliquer simplement sur l'icône du dossier pour trouver ces fichiers.
* **Etape 8** Encore une fois, rechercher le dossier téléchargé précédemment et sélectionner maintenant les deux fichiers VMDK et cliquer sur Ouvrir
* **Etape 9** Ensuite, dans l'écran détaillant le backend du logiciel Virtual DSM, dédier le nombre de cœurs, la mémoire (2 Go au moins, plus recommandé), il faut également sélectionner CPU PASS THRU dans le choix du modèle.
* **Etape 10** Dans l'option Disque dur, deux disques durs sont répertoriés. L'un agira comme le module flash qui se trouve généralement dans tous les périphériques NAS où le système d'exploitation est conservé. Changer le contrôleur en SATA et non en IDE.
* **Etape 11** Vérifier que le disque dur 2 est également répertorié en tant que contrôleur SATA
* **Etape 12** Cliquer sur créer, en haut à droite de Virtualization Station (on peut voir la machine Virtual NAS en cours de création en arrière-plan)
* **Etape 13** Une fois terminé, la machine virtuelle pour l'installation de DSM apparaîtra dans la liste de présentation de votre machine virtuelle
* **Etape 14** Avant de démarrer la VM, accéder au menu des paramètres pour modifier quelques options. DSM sur un NAS QNAP n'est pas stable à 100% et ces changements aideront, mais n'éviteront pas les principales instabilités
* **Etape 15** donner quelques Go d'espace de stockage à HDD 2 (PAS HDD 1). C'est le lecteur sur lequel le logiciel Synology fonctionnera, donc il faut lui donner suffisamment d'espace pour l'utiliser (200 Go le minimum)
* **Etape 16** Désactiver l'audio, car cela ne fonctionnera pas du tout correctement dans VM DSM sur NAS QNAP
* **Etape 17** Maintenant, enregistrer les modifications, puis revenir à la vue d'ensemble et démarrer la machine virtuelle créée.
### Installation de DSM
* **Etape 18** Ouvrir la VM dans un nouvel onglet pour voir apparaitre lee message invitant a utiliser http://find.synology.com, attendre une minute ou deux, puis ouvrir le lien indiqué dans le navigateur. À partir de là, on commence l'installation de DSM sur la machine virtuelle, en utilisant le disque dur 1 comme programme d'installation et le disque dur 2 comme cible.
* **Etape 19** Recher dans le réseau local (LAN) la machine virtuelle NAS
* **Etape 20** La VM devrait être trouvée et elle aura la même apparence que lorsqu'on recherche un Synology NAS officiel.
* **Etape 21** Un examen plus approfondi de l'état montrera que le Synology NAS virtuel n'a pas DSM installé. Maintenant cliquer sur "Connecter"
* **Etape 22** L’image DS918 + s’affiche et cliquer sur le bouton «Configurer»
* **Etape 23** L'installation du DSM sera la même que quand on utilise un Synology NAS normal, cependant, le DSM qu'il utilisera est le chargeur de démarrage que l'on av sur le disque dur 1. Cliquer sur Installer maintenant.
* **Etape 24** L'installation prendra quelques minutes dans cet environnement virtuel
* **Etape 25** Laisser redémarrer le NAS de la station de disque virtuelle
* **Etape 26** Retour à la découverte. synology link trouvera à nouveau le DS918 + virtuel, mais cette fois, il montrera que le périphérique est installé et prêt. Cliquer sur Connect
* **Etape 27** Une fois que l'on est connecté au Synology NAS virtuel, il faut lui donner le nom du serveur et les informations d'identification d'administrateur
* **Etape 28** On a créé un Synology DS918 + virtuel avec DSM sur un NAS QNAP.
Il faut faire fonctionner QNAP et Virtualization Station à tout moment pour utiliser cet environnement virtuel Synology DSM. Cela affectera bien sûr les performances du DSM et du QTS
# Configuration de la VM
On a maintenant un partage de fichiers réseau fourni par le NAS de Synology, dont l’objectif est d’être transparent au possible pour l’utilisateur final.
## Montage des partages
La solution mise en place, bien que correcte, n’a pour optique que d'assurer la stabilité des données. Le chapitre suivant est dédié au partage de fichiers au travers d’Internet et à la sécurisation de ce partage.
L'indexation multimedia sous DSM a une limitation, les fichiers multimédias dans les dossiers montés avec les protocole NFS, SMB ou SCP ne seront pas analysés. Le protocole WebDAV permet de monter un dossier qui sera vu comme un dossier local et qui pourra être indexé par VideoStation
* Installer le paquet **SynoCli Disk Tools** afin de pouvoir utiliser davfs2 pour monter les partages WebDAV sur les dossiers locaux.
* Ajouter le montage davfs dans le fichier `/etc/fstab`
```
sudo mount -t davfs -o noexec http://192.168.1.24:5006/Multimedia /volume1/video/videoSD
```
* Créer le fichier secrets dans le dossier `/ect/davfs2`, afin de pouvoir monter automatiquement le partage (sans login):
```
mkdir /var/packages/synocli-disk/target/etc/davfs2/secrets
cat << EOF | sudo tee -a /var/packages/synocli-disk/target/etc/davfs2/secrets
# personal webdav, nextcloud application password
/volume1/video/videoSD {user-name} {user_password}
# older versions used URL, it is equivalent for compatibility reasons
#https://nextcloud.example.com/remote.php/webdav/ milosz mypassword
EOF
```
Les fichiers de configuration du packet **SynoCli Disk Tools** sont stockés dans:\\ \\ - /var/packages/synocli-disk/target/etc/davfs2/davfs2.conf\\ - /var/packages/synocli-disk/target/etc/davfs2/secrets\\ \\ Ces emplacements ne sont pas conservés lors de la mise à niveau du package.\\ Pour conserver leur configuration, il faut mettre la hiérarchie des fichiers dans /var/packages/synocli-disk/target/var/etc/ et y faire référence avec un lien symbolique.
## Contrôle de l'indexation multimedia du synology
Cette section présente quelques tips pour reprendre le contrôle de l'indexation des fichiers photo/music/vidéo (nécessite un accès SSH sur le Synology).
### Les fichiers d'instruction de l'indexation et de génération des miniatures
Le répertoire `/var/spool` contient l'état de l'indexation, les listes des actions à réaliser et les répertoires à traiter.
#### conv_progress_photo & conv_progress_video
informe sur l'état d'avancement des conversions sans donner de détail :
total=3621
total_thumb=14484
completed=3616
completed_thumb=14464
Ça correspond à ce qui est affiché dans le DSM, en haut à droite, derrière l'icone de progression.
On constate ici que pour chaque image, 4 miniatures (thumbs) sont crées, par exemple pour la photo DSC01340.JPG, le répertoire @eaDir/DSC01340.JPG contient :
SYNOPHOTO_THUMB_B.jpg
SYNOPHOTO_THUMB_M.jpg
SYNOPHOTO_THUMB_S.jpg1
SYNOPHOTO_THUMB_XL.jpg
#### syno_indexing_queue & syno_indexing_queue.tmp
Liste les instructions d'indexation dans la pile des actions à venir (R : reindex, A : add, D ; delete, ...), rempli automatiquement lors d'actions sur les fichiers ou via la commande synoindex (cf point associé).
#### thumb_create.queue & thumb_create.queue.tmp
Liste les dossiers à parcourir pour générer les vignettes.
Si le process d'indexation vous semble vraiment scotché, que le fichier syno_indexing_queue contient beaucoup de lignes et que malgré les reboots ça n'avance pas, il est possible de réinitialiser le tout en supprimant les fichiers syno_indexing_queue* et en relançant le service d'indexation ou en rebootant le NAS (cf synoservice pt suiv).
Au redémarrage, l'icone de progression a du disparètre et il est désormais possible de relancer un scan via le DSM : Panneau de configuration > Services d'indexation > Ré-indexation.
Un fichier syno_indexing_queue.tmp sera à nouveau créé contenant l'unique instruction ReIndex All :
```
#offset:128;
R:all
```
### Tracker et contrôler le process de génération des miniatures
Pour suivre l'activité du process de génération de miniature, il est possible de voir ce qu'il est en train de traiter. Pour cela il faut récupérer son pid et lister le contenu de `/proc/[pid]/fd/`
```
This is a subdirectory containing one entry for each file which the process has open, named by its file descriptor, and which is a symbolic link to the actual file. Thus, 0 is standard input, 1 standard output, 2 standard error, and so on.
```
Pour récupérer le pid du process de génération des miniatures :
```
# pidof synomkthumbd
10536
```
Par exemple, un `ls -l /proc/10536/fd` donnera le répertoire actuellement en cours de traitement par le générateur de miniature.
Pour lister et manipuler les services Synology (relancer, stopper, etc...), il faut utiliser la commande synoservice :
* `synoservice --list`: liste les services disponibles
* `synoservice --restart synomkthumbd`: relance le service de génération des miniatures.
### Lister les répertoires de photos indexées en base de données
Pour valider les dossiers déjà indexés, il est possible de requêter sur la base de donnée mediaserver du Synology.
Accéder à la base de données Postgres du Syno
```
psql mediaserver postgres
```
Exécuter une requête sur la table photo, ici les répertoires traités par l'indexation, avec un tips de récupération du path sans le filename en postgres (vu qu'il n'existe pas de last\_indexof)
```
select distinct left(path, length(path) - length(regexp_replace(path, E'.*/',''))) from photo;
```
### La commande synoindex
Le process d'indexation suit les instructions présentes dans le fichier syno_indexing_queue qui est complété automatiquement lors d'actions sur le système de fichier (ajout de fichier, suppression, déplacement, etc...).
Il est possible cependant que cela ne soit pas le cas automatiquement via le shell par exemple. Dans ce cas, il est possible de ne pas tout ré-indexer mais de seulement indiquer à l'indexeur que tel fichier/répertoire a été renommé ou a été supprimé, etc...
```
synoindex
Usage:
synoindex [OPTIONS]
Index Options:
-h, --help
this help text
-A dirpath
add a dir
-a filepath
add a file
-D dirpath
delete a dir
-d filepath
delete a file
-N new_dirpath old_dirpath
rename a dir
-n new_filepath old_filepath
rename a file
-R [all|media|photo|music|video|thumb|dirpath]
all: reindex all dirpath that registered in each package
media: reindex dirpath that registered in MediaIndex package
photo: reindex photo dirpath
music: reindex music dirpath
video: reindex video dirpath
thumb: check converted video of each video file
dirpath: reindex this specific dirpath
-R user:{user_name}
reindex personal photo dirpath
-R share:{share_name}
reindex share dirpath
-R [type_music|type_video|type_photo]
reindex dirpath that registered with specific type in MediaIndex
Package Index Options:
-P [MediaIndex|{package_name}] {index_option}
index operation only apply on this package
-p [MediaIndex|{package_name}] {index_option}
index operation apply all packages except for this package
File Index Options:
-f {index_option}
index operation apply on file index
-U photo
update photo images
```
Cela permet également de comprendre le contenu des fichiers syno_indexing_queue* car le préfixe des lignes correspond aux options de cette commande.
Exemple de commandes générées suite à l'upload automatique de DS photo (prefixe "a" pour ajout de fichier à la mediatheque) :
```
# cat /var/spool/syno_indexing_queue
a:/volume1/photo/Mobile/iPhone SE/IMG_0160.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0161.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0162.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0163.PNG
a:/volume1/photo/Mobile/iPhone SE/IMG_0164.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0164.MOV
a:/volume1/photo/Mobile/iPhone SE/IMG_0165.JPG
a:/volume1/photo/Mobile/iPhone SE/IMG_0165.MOV
a:/volume1/photo/Mobile/iPhone SE/IMG_0166.JPG
```
### L'indexation dans PhotoStation
Photostation dispose d'une indexation distinct de l'indexation générale du DSM, elle est stockée dans une autre base de données : photo.
Pour lister toutes les bases de données disponibles, une fois connecté à psql, il faut utiliser la commande \l, \c pour changer de base de données et \dt pour lister les tables d'une DB.\\ \\ `mediaserver=# \c photo`\\ `You are now connected to database "photo" as user "postgres".`
La table qui stocke les photos se nomme photo_image.
Une réindexation dans PhotoStation se traduit dans le fichier syno_indexing_queue par la commande suivante :
```
# cat /var/spool/syno_indexing_queue.tmp
#offset:128;
PhotoStation:1:R:photo
```
**Migration des vignettes de PhotoStation v5 à v6**\\ \\ Le nom des vignettes à changer entre PhotoStation 5 et 6, pour passer de SYNOPHOTO:THUMB\* à SYNOPHOTO\_THUMB\* ( source ). La commande suivante permet de faire un renommage massif des fichiers :\\ \\ `find ./ -type f -name SYNOPHOTO:THUMB*.jpg -exec bash -c 'mv --verbose "$0" "${0/:/_}"' {} \;`