Déployer un NAS Synology dans une infrastructure VMWare

Table des matières
Dans cette publication, je partage mes notes de déploiement d’un NAS Synology DS620Slim dans une infrastructure VMWare en vue d’étendre mes capacités de stockage.
Mais pour quoi faire ?
Pour expérimenter et apprendre !
Mon Lab actuel tournant à base de NUC les capacités d’extension d’espace disque sont relativement limitées et couteuses, cette espace supplémentaire permettra de travailler sur des machines temporaires et des projets nécéssitant de l’espace disque …
Premiers paramètrages
Unboxing
Commençons par une revue de la solution retenue …
Dans le monde des “homelab”, les deux principaux constructeurs de NAS généralement rencontrés sont QNAP et Synology.
Pour ma part, pour des raisons de budget (et d’une belle promo) mais aussi de “form factor”, j’ai choisi d’investir dans la gamme Slim de Synology.

L’encombrement est faible :
- Largeur 150 mm
- Hauteur 120 mm
- Profondeur 175 mm
Pour ce qui est des caractéristiques techniques :
- 6 emplacements 2.5"
- processeur: Intel Celeron J3355 (Dual-Core 2 GHz / 2.5 GHz en burst avec cache 2 Mo).
- deux ports Giga (ce qui nous permettra d’exploiter le multipath NFS …)
- RAM : 2Go (extensible à 6Go)

Mise en route
Après avoir monté les disques et la barette de RAM supplémentaire, je raccorde au réseau (on commence par une seule interface).
Le NAS est configuré nativement en DHCP plutôt que d’installer une application de découverte, un contrôle dans les journaux du serveur DHCP permet de retrouver rapidement l’IP affecté :
May 25 20:03:02 domosrv dhcpd: DHCPACK on 192.168.x.x to 00:11:32:xx:xx:xx (SynologyNAS) via eth0
Connexion à l’interface Web pour dérouler l’assistant de configuration
On mettra de côté la capacité d’être accessible depuis l’extérieur (surtout qu’ici il s’agit d’utiliser en intégralité le protocole de communication de l’éditeur), de toute façon il sera bloqué côté Firewall…

Configuration du stockage
Je dispose de 4 disques SSD de 1To, le meilleur compromis est de mettre en place un RAID5 (tolérance de perte de 1 disque mais avec un impact sur les performances) l’idéal aurait été un RAID10 mais l’immobilisation de 2 disques c’est un peu trop …
Configuration de l’adresse IP

Configuration des alertes email
Déclaration du serveur de messagerie pour recevoir les alertes.

Modification du serveur de temps
qui pointe par défaut chez Google …

Désactivation des services inutiles


Pour aller un peu plus loin dans le ménage, je me connecte en SSH et je consulte les packages installés :
admin@NAS-VM:/$ synopkg list
SynoFinder-1.4.1-0282: Synology Universal Search is a powerful search tool for your Synology NAS. In one search, you can find matched items from photos to notes. You can also index folders to provide precise and prompt search results by filename or file content. With Synology Universal Search, everything on your Synology NAS is just a few clicks away.
OAuthService-1.0.4-0030: OAuth Service is an open standard protocol for account authorization and authentication. It allows resource owners to authorize third-party access to their server resources without sharing their credentials. The package adopts OAuth 2.0 standard.
FileStation-1.2.6-0282: File Station is the centralized file management tool for your Synology NAS. Through File Station, you can manage and search files/folders, view files of various types, share private files with external users, mount remote folders and virtual drives for access, and do much more!
Les deux premiers packages ne font pas sens dans mon architecture et pour le premier il pourrait même engendrer un impact sur les performances …
Donc on fait le ménage :
admin@NAS-VM:/$ sudo synopkg uninstall SynoFinder
Password:
admin@NAS-VM:/$ sudo synopkg uninstall OAuthService
admin@NAS-VM:/$ synopkg list
FileStation-1.2.6-0282: File Station is the centralized file management tool for your Synology NAS. Through File Station, you can manage and search files/folders, view files of various types, share private files with external users, mount remote folders and virtual drives for access, and do much more!
Un petit coup d’oeil sur les process :
admin@NAS-VM:/$ ps aux |grep thum
root 12643 0.0 0.1 517528 7572 ? Ssl May26 0:01 /var/packages/FileStation/target/sbin/thumbd
root 12646 0.0 0.0 443796 3236 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12648 0.0 0.0 443796 3236 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12897 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12898 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12899 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12900 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12901 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12902 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12903 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
root 12904 0.0 0.0 517528 3268 ? Ss May26 0:00 /var/packages/FileStation/target/sbin/thumbd
En remontant à la source on comprend qu’il s’agit de processus associés à FileStation (que je ne souhaite pas désinstaller pour le moment) en charge de générer des vignettes.
Pour lequel la configuration se trouve ici :
/var/packages/FileStation/target/etc/conf/thumbd.conf
{
"sock_type": "domain",
"pid_path": "/run/filestation/thumbd.pid",
"sock_path": "/run/filestation/thumbd.sock",
"mode": "prefork",
"min_worker": 2,
"max_worker": 64,
"min_free_worker": 10,
"max_free_worker": 20
}
Neutralisation de ce processus inutile :
admin@NAS-VM:/$ sudo mv /var/packages/FileStation/target/sbin/thumbd /var/packages/FileStation/target/sbin/thumbd.old
admin@NAS-VM:/$ cat <<EOF >>/var/packages/FileStation/target/sbin/thumbd
#!/bin/sh
touch /tmp/toto
EOF
admin@NAS-VM:/$ sudo chmod +x /var/packages/FileStation/target/sbin/thumbd
Après un reboot du NAS, les processus ne sont plus lancés et … l’application FileStation marche toujours.
Un petit tour dans les services activés :
admin@NAS-VM:/$ sudo synoservice --status |grep enable
Service [dc-output] status=[enable]
Service [scemd] status=[enable]
Service [synocrond] status=[enable]
Service [iscsitrg] status=[enable]
Service [ssh-shell] status=[enable]
Service [synogpoclient] status=[enable]
Service [synobackupd] status=[enable]
Service [synoconfd] status=[enable]
Service [synovpnclient] status=[enable]
Service [pgsql] status=[enable]
Service [pkgctl-FileStation] status=[enable]
Service [DSM] status=[enable]
Service [hotplugd] status=[enable]
Service [dbus] status=[enable]
Service [synologanalyzer] status=[enable]
Service [syslog-notify] status=[enable]
Service [synocgid] status=[enable]
Service [snmp] status=[enable]
Service [syslog-ng] status=[enable]
Service [synomount] status=[enable]
Service [s2s_daemon] status=[enable]
Service [crond] status=[enable]
Service [synosnmpcd] status=[enable]
Service [synocachepinfiletool] status=[enable]
Service [syslog-acc] status=[enable]
Service [synostoraged] status=[enable]
Service [nginx] status=[enable]
Service [ntpd-client] status=[enable]
Service [scsi_plugin_server] status=[enable]
Service [synologrotate] status=[enable]
Service [findhost] status=[enable]
Service [synonetd] status=[enable]
Service [nfsd] status=[enable]
Service [nmbd] status=[enable]
Service [apparmor] status=[enable]
Service [synocacheclient] status=[enable]
Service [pppoerelay] status=[enable]
Je désactive les services qui ne me semble pas pertinent :
admin@NAS-VM:/$ sudo synoservice --disable synovpnclient
warn: The runkey of service [synovpnclient] has been set to "No"
admin@NAS-VM:/$ sudo synoservice --disable pppoerelay
warn: The runkey of service [pppoerelay] has been set to "No"
A ce stade nous avons un NAS qui est prêt pour son intégration dans l’infrastructure VMWare !
Intégration au sein de l’infrastructure
Choix du protocole de stockage
Il existe deux possibilités pour intégrer l’espace de stockage à notre infrastucture VMware :
- iSCSI
- NFS
J’ai décidé de m’orienter vers NFS pour plusieurs raisons :
- De nombreux posts relatent des problèmes sur l’iSCSI avec DSM (l’OS de Synology)
- L’absence de puce hardware dédiée (impact sur les performaces)
- La complexité de configuration
- L’absence de réel différenciant fonctionnel
- Le support du NFS 4.1 (et donc du multipath - via configuration de 2 IPs dans 2 sous-réseau différents)
- Le support de VAAI sur le stockage NFS du NAS via un plugin mis à disposition par Synology
Configuration du NFS sur le NAS
Installation du plugin VAAI sur les ESXi
La méthode retenue est le mode ligne de commande !
Activation de SSH sur l’Esx :

- Téléchargement et transfert sur l’ESX du plugin
➜ 21:30 eric /tmp wget https://global.download.synology.com/download/Tools/NFSVAAIPlugin/1.2-1008/VMware_ESXi/synology-nfs-vaai-plugin-1.2-1008.zip
--2020-05-26 21:30:20-- https://global.download.synology.com/download/Tools/NFSVAAIPlugin/1.2-1008/VMware_ESXi/synology-nfs-vaai-plugin-1.2-1008.zip
[...]
2020-05-26 21:30:22 (120 KB/s) - ‘synology-nfs-vaai-plugin-1.2-1008.zip’ saved [140040/140040]
➜ 21:30 eric /tmp scp synology-nfs-vaai-plugin-1.2-1008.zip root@192.168.2.61:/tmp
- Connexion sur l’ESX et installation du plugin
➜ 21:31 eric /tmp ssh root@192.168.2.61
The time and date of this login have been sent to the system logs.
WARNING:
All commands run on the ESXi shell are logged and may be included in
support bundles. Do not provide passwords directly on the command line.
Most tools can prompt for secrets or accept them from standard input.
VMware offers supported, powerful system administration tools. Please
see www.vmware.com/go/sysadmintools for details.
The ESXi Shell can be disabled by an administrative user. See the
vSphere Security documentation for more information.
[root@localhost:/tmp] unzip synology-nfs-vaai-plugin-1.2-1008.zip
Archive: synology-nfs-vaai-plugin-1.2-1008.zip
inflating: index.xml
inflating: vendor-index.xml
inflating: metadata.zip
inflating: synology-nfs-vaai-plugin-1.2-1008.vib
[root@localhost:/tmp] esxcli software vib install -v /tmp/synology-nfs-vaai-plugin-1.2-1008.vib --no-sig-check
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: Synology_bootbank_synology-nfs-vaai-plugin_1.2-1008
VIBs Removed:
VIBs Skipped:
- Rédémarrer l’hote ESXi
Une fois le redémarrage terminé, on valide la bonne prise en compte du plugin :
[root@localhost:~] esxcli software vib list | grep nfs
synology-nfs-vaai-plugin 1.2-1008 Synology VMwareAccepted 2020-05-26
Création du datastore
Passons sur la console VSphere pour configurer notre nouveau datastore…
L’adresse du volume est récupéré sur le NAS ici :


On choisit les hôtes qui pourront exploiter le datastore :


Et voilà notre première machine exploitant ce nouvel espace est prête à démarrer.

La prochaine étape sera la mise en place du multipath …