I. Introduction▲
Radxa propose une série de nano-ordinateurs sous l’appellation Rock Pi. On y retrouve le :
- ROCK Pi 4, un nano-ordinateur générique ;
- ROCK Pi S, un nano-ordinateur ayant une taille réduite ;
- ROCK Pi E, un nano-ordinateur orienté pour le réseau, avec deux ports RJ-45 (100 Mb/s et 1 Gb/s) ;
- ROCK Pi X, un nano-ordinateur avec un processeur Intel x86 capable d’exécuter Windows 10 ;
- ROCK Pi N10, un nano-ordinateur avec un Cortex-A53 et un Mali T860MP4 ainsi qu’un processeur de réseaux neuronaux (Neuronal Processor Unit ((NPU) ;
Cet article se concentre autour du ROCK Pi 4, modèle C, pour lequel Radxa propose aussi une extension sous la forme de chapeau(1) offrant quatre connecteurs SATA pour transformer le nano-ordinateur en NAS.
I-A. Caractéristiques▲
Le ROCk Pi 4 modèle C embarque :
- un CPU Rockchip RK3399 (CPU six cœurs : deux Cortex-A72 ayant une fréquence de 1,8 Ghz et quatre Cortex-A53 pouvant atteindre 1,4 Ghz) ;
- un GPU Mali T860MP4 (OpenGL ES 3.2, Vulkan 1.0, OpenCL 1.2, DirectX 11) ;
- 4 Go de mémoire vive LPDDR4 à 3,2 Ghz (64 bits dual channel) ;
- une connectique pour utiliser un module mémoire eMMC(2) (optionnel pour démarrer le nano-ordinateur, mais obligatoire dans le cas du NAS) ;
- un lecteur de carte micro SD (supportant des cartes jusqu’à 128 Go) ;
- un connecteur M.2 (supportant jusqu’à des disques NVMe de 2 To) ;
- un port micro HDMI 2.0 ;
- un port mini Display Port ;
- un port MIPI DSI (pour ajouter un afficheur) deux lignes via un connecteur FPC ;
- un port MIPI CSI (pour ajouter une caméra) via un connecteur FPC ;
- un port Jack 3,3 mm supportant un micro ;
- un adaptateur WiFI 802.11 ac ;
- un adaptateur Bluetooth 5.0 ;
- un port USB 3.0 OTG ;
- un port USB 3.0 ;
- deux ports USB 2.0 ;
- un port Gigabit Ethernet, supportant le Power over Ethernet (PoE) via un chapeau ;
- 40 pins d’extension (1 UART, 2 SPI, 2 i2C, 1 PCM/I2S, 1 SPDIF, 1 PWM, 1 ADC, 6 GPIO, 2 5V entrée, 2 3.3V) (documentation).
Le tout est proposé sur une carte de 85 mm x 54 mm.
I-A-1. Anciennes versions▲
Les différences avec les modèles A, B et C sont les suivantes :
- les modèles A et B n’ont pas de port mini Display Port et le port HDMI est de taille classique ;
- les modèles A et B sont proposés en 1, 2 et 4 Go de mémoire vive LPDDR4 à 3,2 Ghz ;
- le modèle A ne possède pas de Wifi ni de Bluetooth ;
- le modèle A ne supporte pas le PoE.
I-A-2. Chapeaux▲
Radxa propose plusieurs chapeaux, dont certains sont compatibles avec les Raspberry Pi ou même le Jetson Nano :
- des chapeaux pour le Power over Ethernet (PoE) : 23W, 13W et un pour le Rock Pi S ;
- un chapeau dual ou quad SATA pour le Rock Pi 4 et le Raspberry Pi 4 : les données passent par deux les ports USB 3 du nano-ordinateur ;
- un chapeau Penta SATA pour le Rock Pi 4 uniquement : les données passent par le bus PCIe du Rock Pi 4.
Ce dossier va porter sur l’installation et l’utilisation du Rock Pi 4 avec le chapeau Penta SATA afin de mettre en place un NAS.
I-A-2-a. Penta SATA▲
Comme son nom l’indique, le chapeau Penta SATA permet de connecter jusqu’à cinq disques au Rock Pi 4. Plus précisément, ce seront quatre disques au format 2,5 pouces (autrement dit, les disques que l’on retrouve à l’intérieur des PC portables, ou les SSD) plus un disque externe, 3,5 pouces (format classique).
Pour cela, le chapeau offre donc quatre connectiques SATA et une connectique eSATA (alimenté) afin de pouvoir connecter un disque mécanique 3,5 pouces.
Du côté des fonctionnalités, le chapeau supporte :
- l’utilisation de deux lignes PCIe 2.1 pour les données ;
- le support de l’arrêt des disques ;
-
le support logiciel du RAID 0/1/5.
Le chapeau propose deux sources d’alimentation :
-
un connecteur ATX standard comme source d’alimentation ;
- une entrée d’alimentation 12 V continu.
Ces sources alimentent aussi bien les disques que le Rock Pi 4.
Finalement, le chapeau possède quelques accessoires optionnels :
- une carte supérieure contenant un écran LCD et un ventilateur ;
- un boîtier métallique pour protéger le tout ;
- un boîtier offrant cinq baies pour disques durs 3,5 pouces.
I-A-2-a-i. Alimentation▲
Seul, le Rock Pi 4 s’alimente par un port USB Type C, supportant de 9 à 20 V. Seul 5 V n’est pas suffisant pour ce nano-ordinateur.
Dans le cas d’un montage avec le chapeau Penta SATA il faut aussi prendre en compte la consommation des disques. Comme il est possible de lire dans la documentation du chapeau Penta SATA, la consommation typique des disques est la suivante :
- inférieure à 3 W pour les SSD ;
- 3 à 5 W pour les disques mécaniques 2,5 pouces ;
- 5 à 10 W pour les disques mécaniques 3,5 pouces. Par contre, les disques mécaniques nécessitent 12 V en entrée.
La connectique GPIO peut faire passer du 5 V, jusqu’à 4 A. Cela est suffisant pour alimenter quatre disques 2,5 pouces si l’alimentation est capable de fournir plus de 35 W.
Évidemment, l’alimentation de base ne pourra alimenter un disque mécanique 3,5 pouces. Dans ce cas, il faudra passer par l’alimentation 12 V ou l’alimentation à travers la connectique ATX (c’est-à-dire, une alimentation de PC). Pour cette dernière, n’importe quelle alimentation devrait suffire. Par contre, pour l’alimentation 12 V, il faudra au moins une alimentation 12 V/4 A (soit 48 W) pour alimenter jusqu’à quatre disques mécaniques 2,5 pouces et un disque mécanique 3,5 pouces externe et une alimentation 12 V/6 A (soit 72 W) dans le cas de cinq disques mécaniques 3,5 pouces (c’est-à-dire, pour alimenter les baies externes).
II. Montage▲
Dans cette section, nous allons voir comment monter le Rock Pi 4, son chapeau Penta SATA, la carte supérieure, le tout, dans le boîtier officiel.
II-A. Pièces▲
D’abord, énumérons les différents éléments que nous avons à notre disposition :
- le Rock Pi 4 :
- un module eMMC :
- le chapeau Penta SATA :
- une nappe FPC haute vitesse :
- une carte imprimée M.2 vers FPC :
- un câble eSATA vers SATA 7 + 15 connexions (pour le disque externe) :
- des espaceurs pour tenir les disques :
- le panneau supérieur :
- un câble pour connecter le panneau supérieur :
- un boîtier (comprenant le squelette, une face du dessus acrylique et une face du dessous permettant la dissipation de chaleur).
Comme on peut le voir, le panneau supérieur possède un ventilateur, un écran OLED de 0,91 pouce et un bouton pour faire défiler les informations du système sur l’écran.
Du côté du boîtier, on remarque un regard pour les LED indiquant la présence des quatre disques, et des ouvertures pour toutes les connectiques du RockPi 4. Seule l’utilisation d’une carte SD n’est pas possible avec ce boîtier.
II-B. Pas à pas▲
Le montage est plutôt simple et demande tout au plus une trentaine de minutes.
La première étape consiste à placer le module eMMC. En effet, pour un placement du NAS dans le boîtier, il est nécessaire d’utiliser un module eMMC, la carte mémoire microSD ne pouvant pas être placée.
Le module se place en le clipsant sur la face arrière du RockPi 4. La carte imprimée du RockPi indique un rectangle blanc, dont un coin est mis en avant. C’est le détrompeur et doit correspondre au coin tronqué du module mémoire. Une fois les connecteurs alignés, il suffit d’appuyer jusqu’à ce que le module soit immobilisé et droit sur la carte :
Ensuite, il faut connecter la nappe FPC à l’adaptateur M.2 vers FPC :
Le sens de la nappe est important. Une fois correctement clipsé, il ne reste plus qu’à verrouiller.
Après, il faut connecter l’adaptateur au RockPI :
Maintenant, les grandes vis. Les grandes vis permettent d’espacer et de maintenir le chapeau avec le RockPi 4 :
L’adaptateur M.2 vers FPC est maintenu grâce à deux écrous venant se fixer sur les vis :
L’astuce étant de ne pas visser complètement les vis et de faire en sorte que le pas de vis ressorte légèrement de l’écrou (assez pour que l’écrou tienne). Le verrouillage sera fait en vissant avec la face du dessous du boîtier.
Nous allons maintenant placer le RockPi 4 sur la face du dessous du boîtier, c’est-à-dire le dissipateur. Il est possible de profiter de cette étape pour placer les tampons sous le dissipateur :
Ensuite, il suffit de placer le RockPi4 sur le dissipateur et de serrer les grandes vis installées plus tôt :
Vissez les deux autres grandes vis pour finaliser la fixation du RockPi 4 au dissipateur :
Il n’y a pas besoin de pâte thermique sur le CPU, le dissipateur ne fait pas pression, ni contact (il y a un jeu de moins d’un dixième de mm).
Le RockPi 4 est prêt à recevoir son chapeau. Pour commencer, reliez le chapeau à la nappe :
Encore une fois, le connecteur doit bien être inséré et verrouillé (le verrouillage permet d’indiquer si la nappe est bien insérée).
Vous pouvez alors placer le chapeau au-dessus du RockPi 4 et connecter les connexions GPIO :
Le tout est fixé grâce à quatre petites vis grises :
Une astuce étant de replier la nappe entre le RockPi et le chapeau, afin de faciliter la mise en place du boîtier.
Maintenant que le chapeau est en place, il faut préparer les disques qui viendront se loger dans le NAS.
Pour ce guide, seul un disque sera mis en place. Le montage des autres est similaire : il suffit de placer les disques, entre les plaques et de les maintenir grâce aux petites vis (quatre par disque).
Évidemment, il faut placer tous les disques dans le même sens. Par contre, le sens choisi n’a pas vraiment d’importance dans le reste du montage.
Placez les disques sur le RockPi afin de connaître dans quel sens fixer la carte avec le ventilateur. Celle-ci se visse avec quatre petites vis noires.
Déconnectez les disques du RockPi 4 pour visser la carte ventilateur sur l’armature maintenant les disques.
Avant de placer les disques sur le RockPi 4, vous devez connecter le câble reliant la carte supérieure au chapeau. Le connecteur de ce câble possède un détrompeur.
Ensuite, placez les disques sur le chapeau du RockPi 4 et connectez le câble.
Vous pouvez tortiller le câble afin qu’il ne dépasse pas trop du montage. Cela facilitera la mise en place du boîtier par la suite.
Le montage de l’électronique est terminé. Il ne reste plus qu’à placer la boîte métallique pour couvrir et protéger votre RockPi 4 et vos disques.
En faisant glisser le boîtier jusqu’en bas, vous remarquerez un décalage avec la base (dissipateur). Pour enlever ce décalage, faites entrer le connecteur Jack dans le trou du boîtier. Tant que celui-ci n’est pas correctement placé, vous ne pourrez pas le visser.
Vissez les quatre grandes vis sous le dissipateur afin de maintenir le boîtier en place :
Pour finir le montage, il suffit de placer la face supérieure acrylique sur le dessus du boîtier et de la visser :
Vous avez terminé ! Vous pouvez brancher et commencer à jouer avec votre RockPi 4 :
II-B-1. Tests▲
Afin de vérifier que le montage s’est bien passé et que le matériel fonctionne correctement, vous pouvez utiliser les commandes suivantes :
-
i2cdetect -y 1, outil provenant du paquet i2c-tools. Le résultat doit être le suivant :
Sélectionnez0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
- fdisk -l ou lsblk pour lister les disques et partitions reconnus.
II-C. Remarques▲
II-C-1. Changer les disques▲
Contrairement à des solutions classiques (où à la solution avec un boîtier séparé proposée par Radxa), le changement de disque demande un démontage partiel du NAS. Pour pouvoir modifier la configuration, il faudra :
- dévisser les quatre vis de la base ;
- enlever le boîtier ;
- déconnecter le câble reliant le chapeau à la carte supérieure ;
- déconnecter les disques en soulevant l’armature ;
- changer la configuration des disques en les plaçant/enlevant de l’armature ;
- reconnecter les disques ;
- reconnecter le câble reliant la partie supérieure au chapeau ;
- replacer le boîtier ;
- revisser la base.
II-C-2. Carte SD▲
En observant bien le boîtier, on remarque qu’il n’y a pas de fente pour la carte SD. En effet, le lecteur de carte SD est rendu inaccessible par la nappe FPC. Cette dernière passe devant le lecteur de carte SD.
Aussi, on pourrait penser qu’il suffit d’installer la carte SD avant le montage, mais celle-ci gênera la mise en place du boîtier.
Aussi, le port USB-C n’est pas exposé. Sachant que celui-ci permet l’alimentation du Raspberry Pi, cela est plutôt logique, car le chapeau possède sa propre entrée 12 V, pour l’alimentation.
II-C-3. Apparence▲
On remarque que par défaut, le bouton est placé du côté des connectiques. Il m’aurait semblé plus logique de le placer du côté des LED des disques, même si finalement, c’est équivalent et que l’utilisateur peut reconfigurer le sens d’affichage de l’écran OLED.
III. Préparer le système▲
Comme nous l’avons vu dans la partie précédente, il est nécessaire de préparer le système avant de placer le boîtier. En effet, une fois le NAS assemblé, vous n’aurez plus accès au lecteur de carte microSD intégré au RockPi.
Plusieurs choix s’offrent à vous :
- utiliser un adaptateur eMMC vers microSD afin de copier le système sur le module grâce à un PC. Évidemment, dans ce cas, il faut avoir un PC avec un lecteur de carte microSD ou un adaptateur microSD vers USB.
Toutefois, avec cette méthode, la copie est simple et peut se faire avec un logiciel tel que Etcher, ou dd (exemple : sudo dd bs=1M if=your_image_file_name.img of=/dev/mmcblk0) ; - utiliser une carte microSD sur laquelle vous installez le système voulu. Une fois le Rock Pi 4 démarré grâce à la carte microSD, vous pouvez utiliser le système pour copier une image dans le module eMMC.
III-A. Quel système▲
Comme on peut le voir sur cette page, l’équipe autour du RockPi 4 propose leur propre image des systèmes suivants :
- Android 10 ;
- Ubuntu Server 20.04 ;
- Debian 9 (Stretch).
Il est à noter que les systèmes compatibles avec le modèle C, ne sont pas nécessairement compatibles avec les modèles A et B.
Aussi, certaines distributions supportent le RockPi 4 de manière indépendante. Ainsi, vous retrouverez :
- Armbian (Stretch ou Buster) ;
- Manjaro ;
- Recalbox ;
- LibreELEC ;
- DietPi ;
- SlackWare ARM ;
- FreeBSD 13.
Évidemment, le choix dépend de votre besoin et de vos préférences. Toutefois, dans le cadre d’utilisation dans un NAS, Android n’est pas un bon candidat. Aussi, il faut savoir que le script permettant de contrôler la carte supérieure (avec le ventilateur et l’OLED) est officiellement supporté sous Armbian, Debian et Ubuntu (distribué sous la forme d’un paquet .deb). Comme son code est disponible sur GitHub et repose sur Python, il n’est pas difficile de l’installer sur d’autres systèmes Linux. Par contre, cela ne sera pas le cas avec Android.
L’autre aspect à prendre en compte est l’utilisation en tant que NAS. Notamment, dans la suite de ce dossier, nous mettons en place la solution de NAS grâce à openmediavault. Cette solution repose sur Debian et n’est donc disponible que pour cette distribution. De plus, openmediavault est proposée en version 4 (datant de 2018) pour Debian Stretch et en version 5 pour Debian Buster. Le script d’installation ne supportant que ces deux variantes, on privilégiera donc l’utilisation d’une Debain Buster pour être à jour, soit la Armbian, disponible sur cette page (la version pour le modèle C est disponible ici).
III-B. Support du chapeau▲
Une fois le système installé, il faut ajouter le support du chapeau en exécutant cette commande :
curl -sL https://rock.sh/get-rockpi-penta | sudo -E bash -
Pour information, cela installe, les paquets : libmraa, rockpi4-dtbo, unzip, gcc, python3-dev, python3-setuptools, python3-pip, python3-pil, puis le service penta-hat.service (disponible à cette adresse) ainsi que l’outil pour communiquer avec l’écran présent sur la carte supérieure (SSD1306).
Une fois l’installation terminée, il suffit de redémarrer pour que l’écran OLED et le ventilateur s’allument.
Le code source du service gérant la carte supérieure est disponible sur Github.
III-B-1. Affichage par défaut▲
Par défaut, le service affiche en alternance de dix secondes, trois pages d’informations :
- le temps d’allumage (uptime), la température du CPU et l’adresse IP ;
- la charge CPU et mémoire du système ;
- l’utilisation en pourcentage de l’espace de stockage du disque système.
III-B-2. Configuration▲
Le service repose sur le fichier de configuration : /etc/rockpi-penta.conf. À partir de celui-ci, il est possible de changer la vitesse du ventilateur suivant la température, la fonction du bouton (suivant un appui court, un appui long et un double appui), le temps permettant de différencier un appui long d’un court, si le service alterne parmi les informations à afficher, combien de temps il affiche chaque page d’information, le sens de l’affichage (rotation de 180°) ainsi que l’unité à utiliser pour la température.
III-B-3. Personnalisation▲
Avec le code source à disposition sur GitHub, il est simple de comprendre et de modifier le comportement du chapeau.
Notamment, on remarque que les scripts sont en Python et sont installés dans le dossier /usr/bin/rockpi-penta/. Plus précisément, on y trouve les fichiers :
- fan.py : pour contrôler la vitesse du ventilateur ;
- main.py : pour lancer les threads gérant le chapeau ;
- misc.py : une multitude de fonctions, gérant le fichier de configuration, la récupération des informations sur les disques…
- oled.py : les fonctions gérant ce qui est affiché à l’écran.
À titre d’exemple, il est possible d’afficher l’heure sur une nouvelle page en modifiant la fonction gen_pages() du fichier oled.py. Voici le code à ajouter :
3
: [
{'xy'
: (
0
, 2
), 'text'
: datetime.now
(
).strftime
(
"%H:%M:
%S
"
), 'fill'
: 255
, 'font'
: font['12'
]},
],
Il est nécessaire d’ajouter l’import à datetime pour que cela fonctionne.
III-C. Remarques▲
III-C-1. Debian 9▲
Voici quelques remarques par rapport à la distribution Debian 9 fournie officiellement par Radxa.
III-C-1-a. Connexion▲
La connexion par défaut s’effectue avec le couple linaro/linaro. Le compte linaro a les droits sudo.
III-C-1-b. Paquets▲
Les clés pour les dépôts officiels ne sont plus à jour. Comme indiqué sur cette page, vous pouvez les mettre à jour avec la commande suivante :
wget -O - apt.radxa.com/stretch/public.key | sudo apt-key add -
III-C-1-c. Extinction▲
Lors d’un arrêt de la machine (commande poweroff), la machine reste allumée (LED bleues du chapeau toujours allumées). Il ne semble pas qu’elle s’arrête complètement.
III-C-2. Armbian Buster▲
Armbian est une distribution reposant sur Debian dédiée à tous les nano-ordinateurs (au contraire de Raspbian qui est spécialisée dans le support du Raspberry Pi).
III-C-2-a. Première connexion▲
Par défaut, la connexion se fait avec le compte root et le mot de passe 1234.
À la première connexion, vous serez forcé de changer le mot de passe root et de créer un compte utilisateur.
III-C-2-b. Installation sur le module eMMC▲
L’équipe de Armbian propose un outil nommé nand-sata-install (installé par défaut) pour installer le système sur un modèle eMMC (ou même installer les fichiers de démarrage sur le module et le reste du système sur disque en SATA). Une fois lancé, le programme propose une interface dans la console pour installer le système et utiliser le système de fichiers de votre choix.
L’outil effectue une copie de la carte SD vers la destination. Cela veut dire que si vous avez modifié le système présent sur la carte SD, vos modifications sont conservées.
IV. Transformer le RockPi en NAS▲
Maintenant que le RockPi 4 est monté, qu’un système d’exploitation fonctionne et que nos disques sont reconnus, nous pouvons le transformer en NAS.
Pour ce faire, trois choix sont possibles :
- une mise en place facilitée grâce au projet openmediavault ;
- une configuration au travers de l’interface Web Webmin, reflétant les fichiers de configuration des services ;
- une mise en place manuelle.
IV-A. Openmediavault▲
Openmediavault est un projet open source, basé sur Debian permettant de déployer facilement une solution de type NAS. Le but est de permettre d’administrer un NAS sans pour autant avoir besoin de connaissance étendue en la matière.
IV-A-1. Installation▲
Par défaut, openmediavault est distribué sous la forme d’une image disque permettant l’installation du système (comme on le ferait avec Debian). Toutefois, dans le cas du RockPi 4, cela n’est pas possible, entre autres, car nous avons déjà un système en place, que l’ISO n’est distribuée que pour les systèmes x86 64 bits et que rien n’est prévu pour supporter notre nano-ordinateur. En bref, nous devons installer les logiciels à la main.
La communauté propose un script permettant l’installation d’openmediavault sur les nano-ordinateurs supportés par Armbian (Buster et Stretch). Ainsi, l’installation se fait en lançant cette commande :
sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
Globalement, le script ajoute la clé du dépôt de paquet Debain d’openmediavault, installe postfix, monit, openmediavault et les plugins (omv-extras), le plugin flashmemory et applique quelques éléments de configuration par défaut.
Une fois l’installation finalisée, vous pouvez redémarrer votre NAS.
Une fois openmediavault installé, vous ne pourrez plus vous connecter à SSH avec l’utilisateur de base. En effet, openmediavault n’accepte un utilisateur par SSH que s’il est dans le groupe ssh, ce qui n’est pas le cas par défaut. Il faudra donc ajouter l’utilisateur au groupe ssh par le biais de l’interface Web ou, en exécutant la commande suivante juste après l’installation :
sudo usermod -a -G ssh user
Ce problème apparaît avec la distribution officielle Debian 9 de Radxa, mais pas avec Armbian Buster.
IV-A-2. Premier pas▲
openmediavault est avant tout une interface Web de gestion de votre NAS. Vous pourrez donc vous connecter à cette interface, à l’aide de votre navigateur, simplement en utilisant l’adresse IP du RockPi 4.
L’identifiant et le mot de passe par défaut sont : admin/openmediavault
Une fois connecté, on arrive sur un tableau de bord, personnalisable, qui par défaut affiche les informations du système ainsi que les services configurés.
Sur la colonne de gauche, on retrouve le menu principal, en haut, une barre de navigation, avec un menu déroulant permettant de réinitialiser les paramètres par défaut, changer la langue, de se déconnecter ou d’arrêter/redémarrer la machine.
IV-A-3. Tour d’horizon▲
Les options de configurations sont disposées en cinq catégories :
- Système ;
- Stockage ;
- Gestion des droits d’accès ;
- Services ;
- Diagnostiques ;
- Informations.
IV-A-3-a. Système▲
Dans la catégorie « Système », l’administrateur pourra configurer les paramètres généraux, c’est-à-dire : le port utilisé par l’interface Web, le temps avant la déconnexion automatique de l’utilisateur et les options pour mettre en place un accès utilisant le protocole HTTPS :
Le deuxième onglet « Sécurité Administrateur » permet simplement de changer le mot de passe de l’administrateur.
Ensuite, la section « Date & Heure » permet simplement de configurer l’heure et le serveur NTP :
La section « Réseau » est décomposée en cinq onglets :
- Général : pour changer le nom de l’hôte et le nom de domaine ;
- Interfaces : pour configurer les interfaces réseau ;
- Proxy : pour définir des proxy (HTTP, HTTPS et FTP) ;
- Découverte des services : pour activer et désactiver la découverte des services hébergées sur le NAS ;
- Pare-feu : pour définir les règles du pare-feu.
Avec openmediavault 4, les interfaces réseau, pourtant reconnues d’après le tableau de bord, n’apparaissent pas dans la liste de l’écran de configuration. Vous pouvez les ajouter manuellement, obligatoire pour configurer certains services, toutefois, l’ajout a toujours résulté en un échec.
Avec openmediavault 5, les interfaces sont correctement disponibles.
La section « Notification » permet de configurer, d’une part, les paramètres SMTP pour l’envoi des notifications, d’une autre part, quelles notifications vous souhaitez recevoir.
Pour les catégories de notification, on ne peut qu'activer ou désactiver de les recevoir. On ne peut pas configurer les conditions déclenchant l’envoi…
La section « Gestion de l’énergie » permet de configurer si l’état du système doit être surveillé et quelle action se passe lors de l’appui sur le bouton d’alimentation. Évidemment, sur le RockPi, cette option n’a pas d’intérêt.
Un second onglet, « Tâches planifiées » permet de configurer des moments de veille ou de programmer des redémarrages ou arrêts du système.
La section « Surveillance » permet d’activer la collecte périodique des statistiques de performance du système.
La section « Certificats » permet d’ajouter des certificats SSH et SSL.
La section « Tâches planifiées » permet de configurer les tâches planifiées.
La section « Gestionnaire de mises à jour » permet de récupérer les mises à jour et les installer. Pour cela, openmediavault offre une interface donnant quelques détails sur les paquets prêts à être mise à jour.
La section « Plugins » permet d’accéder aux modules de la communauté afin d’ajouter des fonctionnalités à openmediavault.
La section « OMV-Extras » permet d’ajouter, mettre à jour et activer des dépôts de plugins supplémentaires.
Avec la version 5 d’openmediavault, la section « OMV Extras » intègre deux nouveaux onglets : le premier permet d’installer ou de désinstaller docker ainsi que les logiciels permettant de gérer les containers : portainer et yacht. Le dernier onglet permet d’installer cockpit (Site officiel), une solution de publication de contenu sans interface.
IV-A-4. Stockage▲
La catégorie « Stockage » permet de gérer les disques du système, le RAID, les systèmes de fichiers et les indicateurs S.M.A.R.T. La première section « Disques » recense les périphériques de stockage connectés à l’appareil :
En double cliquant sur un disque, vous pouvez configurer les propriétés suivantes :
- la gestion avancée de l’énergie ;
- la gestion acoustique automatique ;
- le temps de ralentissement ;
- le cache en écriture.
Ensuite, l’utilisateur peut trouver la section des indicateurs S.M.A.R.T. Celle-ci est décomposée en trois onglets :
- les paramètres, pour activer la vérification des indicateurs, définir l’intervalle de vérification et dans quelles conditions le système peut effectuer une vérification (par exemple, interdire la vérification si le disque est en veille), ainsi que définir la surveillance des températures ;
- les périphériques, listant les périphériques pour lesquels la surveillance est activée et permettant aussi d’obtenir les journaux des tests et la valeur des indicateurs ;
- les tests programmés, permettant de gérer et lancer des tests des disques.
Il n’est possible de lancer un test que si la surveillance est active pour le disque et qu'en créant un test programmé (que vous pouvez lancer manuellement).
Arrive la section de « Gestion du RAID ». Plus simple, elle permet de créer, agrandir, supprimer et récupérer vos RAID.
Suit la section « Systèmes de fichiers » permettant d’avoir un tableau récapitulatif des systèmes de fichiers disponibles sur votre NAS. À partir de cette interface, il est possible de créer, redimensionner, mettre un quota, monter, démonter et supprimer un système.
Si vous montez votre partition avec openmediavault, il sera disponible dans le répertoire /srv/.
Finalement, une section dédiée à la mémoire Flash :
IV-A-5. Gestion des droits d’accès▲
La troisième catégorie concerne la gestion des utilisateurs, des groupes et des dossiers partagés. D’abord, la section « Utilisateur » permet d’avoir un tableau énumérant les utilisateurs du système :
En double cliquant sur un utilisateur (ou en utilisant le bouton « Modifier »), il est possible de le renommer, de changer son mot de passe et son shell et de changer ses groupes et de lui définir des clés publiques.
Un bouton « Privilèges » permet de définir des droits en lecture et/ou écriture aux dossiers partagés.
La section propose un onglet « Paramètres » dans lequel il est possible d’activer les répertoires personnels des utilisateurs et d’indiquer leur emplacement.
Pour qu’un utilisateur puisse se connecter à SSH, il doit être dans le groupe ssh.
La section « Groupe » permet de gérer les groupes non système créés et d’y ajouter les utilisateurs. Les privilèges d’accès aux dossiers partagés peuvent aussi être configurés au niveau des groupes.
Finalement, la section « Dossiers partagés » permet de configurer les dossiers utilisables par les services tels que SMB, FTP ou NFS. La création est simple, il suffit de spécifier son nom et son emplacement sur l’espace de stockage. Ensuite, vous pourrez configurer les droits pour chaque utilisateur ainsi que les listes de contrôles d’accès (ACL).
IV-A-6. Services▲
La catégorie « Services » permet de configurer les services FTP, NFS, Rsync, SMB/CIFS et SSH. Chacun de ces services possède sa propre page de configuration.
Pour le service FTP, l’utilisateur a accès aux quatre onglets suivants :
- Paramètres : pour configurer le port, le nombre de clients maximum, le nombre de connexions par hôte, le nombre de tentatives de connexion, le délai d’inactivité, le message de bienvenue, mais aussi des éléments avancés, tels que l’activation du protocole FXP, l’autorisation de reprise de téléchargement, le FTP passif, la restriction de bande passante…
- SSL/TLS : les paramètres liés au support du chiffrement de la connexion ;
- Liste d’interdictions : permet de configurer des règles pour rejeter des connexions ;
- Partages : pour configurer les dossiers partagés, accessibles depuis FTP.
La configuration du service NFS est plus simple. En effet, openmediavault ne permet que d’activer/désactiver le service et de configurer le nombre de threads à utiliser et dans un second onglet, de configurer les dossiers partagés.
La section « Rsync » offre une interface pour créer des tâches de synchronisation (descendant et montant, local et distant) et de configurer le serveur ainsi que les dossiers exposés par le NAS au travers de ce service.
La configuration du service SMB/CIFS s’étale sur deux onglets. Le premier permet de configurer les paramètres du service (activation du serveur, support de WINS, journalisation…) alors que le second permet de configurer les partages.
Finalement, la configuration du service SSH s’effectue sur une unique page, permettant de manipuler les options les plus courantes du logiciel :
IV-A-7. Diagnostiques▲
La catégorie « Diagnostiques » offre l’accès au tableau de bord, aux informations système, aux journaux et à l’état des services.
Plus précisément, les informations système offrent une vue d’ensemble récapitulative de l’état du système :
L’onglet processus permet d’afficher le résultat de la commande top alors que l’onglet « Statistiques performance » permet d’avoir des graphiques à propos des différentes ressources du système sur la durée :
Le dernier onglet « Rapport » permet de générer un rapport, téléchargeable, contenant une multitude d’informations sur le système : description du système, fichiers de configuration, règle du pare-feu…
La section « Journaux système » permet évidemment de lire les journaux du système, mais aussi de configurer un syslog distant :
La section « Services » permet d’avoir une vue d’ensemble de l’état des services (FTP, NFS, SSH…) mais aussi un détail des connexions en cours pour les services SSH, SMB et FTP.
IV-A-8. Information▲
La catégorie « Information » permet d’accéder à la section « À propos » de openmediavault et d’accéder à des liens de support (documentation, forums…) ainsi qu’à un lien pour faire des dons.
IV-A-9. Mise en place du RAID▲
La mise en place du RAID est simplifiée par l’interface Web d’openmediavault. Dans la section « Gestion du RAID », il suffit de créer le RAID, de lui donner un nom, la politique à appliquer et de sélectionner les disques intégrant ce RAID.
openmediavault utilise les appellations suivantes :
- Linéaire pour du JBOD ;
- Stripe pour du RAID 0 ;
- Mirror pour du RAID 1 ;
- Stipped Mirror pour du RAID 10.
Dans ce tutoriel, j’utilise deux disques. Un de récupération d’un vieux PC portable et un disque 3,5 pouces, X300 de Toshiba testé dans cet article.
Il est possible que votre disque ne soit pas listé pour la création du RAID (alors qu’il l’est dans la section « Disques ». Certainement vous aviez déjà utilisé ce disque auparavant et il est nécessaire de supprimer le premier méga-octet du disque pour que openmediavault veuille le prendre en compte.
Cela peut se faire avec la commande suivante :
dd if=/dev/zero of=/dev/sdX count=2048
Ne le faites, que si les données du disque ne vous sont plus utiles, car vous les perdrez.
Une fois le RAID en place, il faut formater l’espace disque nouvellement exposé. Dans la section « Systèmes de fichiers », cliquez sur le bouton « Créer » pour mettre en place une nouvelle partition :
Par défaut, le système propose : ext4, ext3, JFS, XFS, F2FS et BTRFS.
Finalement, montez votre nouvelle partition afin de la rendre accessible comme source pour les dossiers partagés.
IV-A-10. Mise en place d’un dossier partagé▲
Sans dossier partagé, vous ne pourrez pas accéder à l’espace disque disponible sur le NAS. Il faut donc créer au moins un dossier partagé, dans la section éponyme.
Pour pouvoir créer un dossier partagé, il faut que la partition où vous souhaitez le placer soit montée (montage réalisable dans la section « Systèmes de fichiers »).
Un dossier partagé peut avoir comme source n’importe quelle partition reconnue par le système du NAS et pas nécessairement un RAID. Un module permet d’exposer la partition du système.
La création se résume à la spécification du nom, de la partition où placer le dossier partagé, du chemin (si vous ne souhaitez pas que le dossier soit à la racine) et des permissions :
IV-A-10-a. Partage▲
Pour rendre l’espace de stockage disponible au travers du réseau, il ne reste plus qu’à activer le service souhaité (SMB, NFS, FTP…) et d’ajouter le dossier partagé dans la liste des partages pour ce service :
IV-A-10-b. rsync▲
rsync permet de synchroniser des données entre plusieurs postes. rsync possède deux modes : un mode client ou un mode serveur auquel les clients se connectent. Ces deux modes permettent aussi bien d’envoyer que de recevoir des données.
Dans rsync, les dossiers partagés sont appelés « modules ».
La configuration en mode client consiste à définir des tâches pour récupérer ou envoyer des fichiers (locaux ou distants), qui sont intégrés à cron afin de les répéter régulièrement.
Lorsque vous spécifiez le serveur, vous pouvez aussi bien spécifier un serveur rsync, ou un serveur SSH.
La configuration du serveur est plus simple, dans le sens où il n’y a que les dossiers (modules) pouvant être synchronisés à définir. Il est possible de protéger l’accès à un module donné en utilisant un utilisateur du NAS et un mot de passe (qui lui, est propre à cette utilisation). Ensuite, c’est aux clients de s’y connecter pour synchroniser les fichiers.
IV-A-11. Modules▲
openmediavault propose quelques modules permettant d’ajouter des fonctionnalités directement dans l’interface Web. Cette section détaille quelques-uns d’entre eux.
IV-A-11-a. Serveur DLNA▲
Un serveur DLNA permet de partager vos médias (images, musiques, vidéos) sur le réseau. Ainsi, votre télévision connectée ou votre téléphone (avec VLC, par exemple) pourra lire ces médias.
Un module openmediavault fournit une interface pour le serveur minidlna. Comme pour les autres serveurs, vous avez accès à une page de configuration et une page de partage :
IV-A-11-b. Let’s Encrypt▲
Le plugin Let’s Encrypt permet de générer des certificats afin de permettre une connexion en HTTPS à votre serveur.
La première étape est d’ajouter le ou les domaines pour lesquels vous avez besoin d’un certificat :
Mais, si vous lancez la génération d’un certificat immédiatement, l’opération échouera. Il est obligatoire de remplir les champs « Mél » et « Nom du certificat » de l’onglet « Paramètres » :
Les certificats Let’s Encrypt ne sont valides que trois mois. Il est heureusement possible de les renouveler automatiquement.
IV-A-11-c. OpenVPN▲
Le module OpenVPN vous permet de configurer un serveur VPN sur votre NAS afin d’établir une connexion sécurisée entre votre client et le serveur.
La configuration est répartie sur deux onglets : paramètres et certificats. Le premier permet l’activation et la configuration d’OpenVPN. Notamment, il faudra préciser l’interface réseau de passerelle, ou encore, l’adresse publique.
Le second onglet permet de créer des certificats afin de permettre tel ou tel utilisateur de se connecter au VPN. Il faudra donc installer le certificat ainsi généré sur le poste du client.
Avec openmediavault 4, il est impossible de lancer le serveur VPN, car l’appel au programme iptables est incorrect.
Pour que la génération des certificats fonctionne, il faut d’abord configurer et démarrer le service OpenVPN et surtout prendre soin de sauvegarder les changements avant de tenter une génération. Autrement, vous obtiendrez l’erreur mentionnée dans ce ticket.
IV-A-11-d. dnsmasq/PXE/TFTP▲
Avec le combo dnsmasq (serveur DHCP), PXE et TFTP, vous pouvez mettre en place une solution de démarrage par le réseau sur le NAS, comme expliqué dans cet article.
Chaque module propose ainsi une entrée correspondante dans la catégorie « Services » (dnsmasq ajoute une section nommée « Local DNS/DHCP »). L’interface de configuration de dnsmasq est classique et propose des onglets pour configurer les adresses IP ainsi attribuées, un onglet pour définir des IP attribuées statiquement et un dernier onglet pour lister les IP attribuées.
Pour le module PXE, l’utilisateur est entièrement guidé. Le premier onglet sert simplement à définir le dossier partagé à partir duquel le serveur travaille. Le deuxième onglet permet de définir les entrées du menu fourni par le serveur PXE. Le troisième onglet permet d’installer des images disques. Le dernier onglet offre des informations sur comment configurer les autres services (DHCP/DNS/TFTP) :
Pour finir, le service TFTP se configure en une page pour activer le serveur et configurer son dossier partagé :
Avec openmediavault 5, il n’y a plus le module lié à PXE ni celui de dnsmasq. Par contre, cela laisse ainsi l’utilisateur choisir la solution qu’il souhaite (iPXE ou SYSLINUX).
IV-A-11-e. Backup▲
IV-A-11-e-i. Système▲
Un module ‘openmediavault-backup’ permet de sauvegarder le système (sans les données). Ce module affiche une page de configuration dans la catégorie « Système » :
Il est aussi possible de créer des tâches planifiées pour cette sauvegarde.
IV-A-11-e-ii. Duplicati▲
Le module duplicati ajoute une page de configuration dans la section « Services ». Cette page ne permet que de lancer un serveur Web. En ouvrant une page pour vous connecter à ce nouveau serveur, vous obtiendrez :
Évidemment, la première chose est d’ajouter une sauvegarde. En démarrant le processus pour ajouter une sauvegarde, l’utilisateur est guidé par une interface décomposée en étapes.
Les sauvegardes sont chiffrées et l’utilisateur doit donc garder son mot de passe précautionneusement. Une fois la sauvegarde en place, c’est-à-dire, après avoir configuré la destination (celle-ci peut être un service de stockage dans le nuage), la source (les dossiers à sauvegarder), la fréquence de sauvegarde et les options de la sauvegarde (comme combien de temps garder les sauvegardes), il devient alors possible de lancer la sauvegarde ou encore, de restaurer une sauvegarde.
IV-A-11-f. Fail2ban▲
Fail2ban est un service scrutant les logs de connexion des serveurs installés sur la machine afin de détecter et bannir les adresses IP malveillantes. Grâce aux journaux, le service peut savoir quelles sont les adresses IP ayant tenté de se connecter au serveur et ayant échoué (généralement, pour cause de mauvais identifiant).
Le module Fail2ban permet de configurer le service éponyme au travers de deux onglets : paramètres et prisons. Sans surprise, le premier onglet permet d’activer le service et de configurer les principaux paramètres :
Alors que l’onglet des prisons permet de configurer les règles permettant la détection des connexions échouées :
IV-A-11-g. Downloader▲
Le service « Downloader » repose sur curl, aria2 et youtube-dl. Grâce à cette interface, vous pourrez télécharger des fichiers et vidéos grâce à votre NAS.
Même si le module peut être intéressant, il existe quelques défauts :
- on ne voit pas la progression du téléchargement ;
- le nom du fichier est obligatoirement à remplir par l’utilisateur ;
- la taille du fichier n’est connue que lorsque le fichier est téléchargé.
Le module offre aussi un onglet pour téléverser des fichiers sur le NAS.
Lors de mes tests, je n’ai pas réussi à faire fonctionner le téléchargement grâce à youtube-dl.
IV-A-12. Remarques▲
Avec openmediavault 5, il est possible de configurer des ponts réseau.
Après avoir ajouté un dossier partagé exposé au travers de SAMBA pour l’utilisateur créé lors de la mise en place de Armbian, j’ai été obligé de redéfinir son mot de passe dans la gestion des utilisateurs de openmediavault, sans quoi l’authentification échouait.
Dans openmediavault 5, il n’y a plus de module pour la configuration d’un PXE ni de dnsmasq. Par contre, il y a un nouveau module permettant de créer des cibles iSCSI.
L’affichage des erreurs d’openmediavault reprend le design du classique Guru Meditation de l’Amiga :
IV-B. Webmin▲
Webmin est une interface Web permettant d’administrer une machine Unix. Webmin facilite la modification des fichiers de configuration de Linux et des services en présentant des formulaires à remplir. De plus, cette solution couvre un large ensemble de services grâce au support de modules. Même si Webmin n’est pas conçu spécifique pour un NAS, elle offre tout de même le nécessaire pour configurer un tel serveur.
Même si Webmin facilite l’édition des fichiers de configuration des services du système, il est tout de même nécessaire de connaître ces derniers. Autrement dit, Webmin est surtout un outil à destination des administrateurs système.
IV-B-1. Installation▲
Webmin n’est pas présent dans les dépôts d’Armbian. Il faudra l’installer en récupérant le paquet pour Debian à partir de la page des téléchargements. Vous pouvez l’installer avec les commandes suivantes :
apt install libauthen-pam-perl libio-pty-perl libnet-ssleay-perl perl-openssl-defaults shared-mime-info
wget https://prdownloads.sourceforge.net/webadmin/webmin_1.970_all.deb
dpkg -i ./webmin_1.970_all.deb
Selon les évolutions des versions de Webmin, le lien ci-dessus sera certainement invalide.
IV-B-2. Découverte▲
Une fois l’installation effectuée, l’utilisateur est invité de se connecter à l’adresse https://rockpi-4b:10000/ avec n’importe quel compte ayant accès à sudo ou directement avec le compte root.
La page principale présente les informations générales sur le système, l’utilisation des ressources de la machine sur 15 minutes, les connexions récentes, l’utilisation des disques et les interfaces réseau :
Sur la gauche est disposé le menu principal avec les différentes sections. En fin du menu, des boutons permettent de : replier le menu, passer en mode sombre, ouvrir un terminal, mettre en favori une page, accéder aux options d’affichage et de thème de l’interface, éditer les options de l’utilisateur et de se déconnecter.
Finalement, sur la droite l’utilisateur peut retrouver une cloche permettant d’accéder rapidement (et sur toutes les pages) aux informations (simplifiées) du système :
IV-B-2-a. Tour d’horizon▲
IV-B-2-a-i. Webmin▲
La première catégorie disponible dans le menu concerne Webmin.
La première section permet de sauvegarder et de restaurer la configuration de Webmin et de ses modules :
Le deuxième onglet permet de lister les sauvegardes automatiques de la configuration et d’en créer de nouvelles. Le troisième onglet permet de restaurer la configuration.
La deuxième section permet de changer la langue, la locale et le thème utilisé. Ces options sont spécifiques à l’utilisateur en cours.
La troisième section permet d’effectuer des recherches dans les journaux de Webmin.
La quatrième section permet de configurer en détail le fonctionnement de Webmin, notamment, de le mettre à jour, d’en restreindre l’accès suivant les adresses IP, de modifier l’apparence ou encore, de mettre en place une nouvelle autorité de certification.
La cinquième section permet de rechercher d’autres serveurs utilisant Webmin.
La dernière section permet de gérer les utilisateurs spécifiques à Webmin.
IV-B-2-a-ii. Système▲
La catégorie « Système » permet de :
- gérer les services au démarrage de la machine et d’en ajouter ;
- changer les mots de passe des utilisateurs de la machine ;
-
lister et monter des partitions et systèmes de fichiers distants ;
-
mettre en place des sauvegardes de fichiers ;
-
gérer la rotation des journaux ;
-
gérer les associations MIME des fichiers ;
-
gérer les authentifications grâce au service PAM ;
-
gérer les processus en cours d’exécution. Il est possible de les trier par utilisateur, utilisation mémoire, CPU, de rechercher un processus précis et d’exécuter un programme ;
-
gérer les tâches planifiées ;
-
gérer les mises à jour et d’en planifier ;
-
gérer les paquets ;
-
effectuer une recherche dans les documentations ;
-
voir les journaux du système et configurer un serveur syslog ;
- gérer les utilisateurs et groupes.
IV-B-2-a-iii. Serveurs▲
Par défaut, la rubrique « Serveurs » ne contient que deux éléments :
- une section pour lire les emails locaux ;
-
une section pour configurer le serveur SSH. La configuration est découpée en sous-parties :
- authentification ;
- réseau ;
- contrôle d’accès ;
- autres ;
- options du client ;
- initialisations des clés SSH de l’utilisateur ;
- clé publique de l’hôte ;
- et l’édition manuelle des fichiers.
IV-B-2-a-iv. Outils▲
La rubrique « Outils » permet :
- d’exécuter des commandes dans un terminal ;
- de créer de nouvelles commandes ;
- d’accéder à un gestionnaire de fichiers (avec possibilité d’envoi, de téléchargement et de modifications des permissions) ;
- d’utiliser le serveur pour ouvrir des pages Web. L’ouverture d’une page ouvre un nouvel onglet avec lequel tout le trafic passe par le serveur ;
- de gérer les modules Perl ;
- de gérer des dossiers accessibles depuis Internet ;
- d’ouvrir un client SSH (nécessite JAVA) ;
- de surveiller le statut des serveurs installés sur le système ;
- d’ouvrir un terminal dans le navigateur (nécessite la commande python) ;
- de télécharger ou d’uploader un fichier ou même de télécharger un fichier à partir du serveur.
IV-B-2-a-v. Réseau▲
La rubrique réseau permet :
- de surveiller l’utilisation de la bande passante ;
- de configurer le pare-feu ;
- de configurer le réseau (interfaces, routes, fichier hosts) ;
- de configurer un client et un serveur NIS ;
- de configurer un TCP wrapper.
IV-B-2-a-vi. Matériel▲
La rubrique « Matériel » permet :
- de lister les espaces de stockage et les partitions ;
- de configurer des imprimantes ;
- de configurer la gestion du temps.
IV-B-2-a-vii. Cluster▲
La rubrique « Cluster » permet de gérer un parc de machines en un seul endroit. Pour cela, il faut que Webmin soit installé sur chacune des machines. Ainsi, on retrouvera des fonctionnalités déjà vues précédemment, mais dont la portée est étendue à plusieurs machines.
IV-B-2-a-viii. Modules non utilisés▲
La rubrique « Modules non utilisés » recense les modules qui n’ont pas pu être lancés. Chaque page indique la raison entraînant l’impossibilité de le lancer, généralement l’absence d’un fichier spécifique ou d’un exécutable. Certains modules proposent d’installer le paquet manquant pour régler le souci.
IV-B-3. Utilisation pour un NAS▲
Ce tour d’horizon a présenté les fonctionnalités de base de Webmin, ou autrement dit, les fonctionnalités disponibles sur une distribution fraîchement installée. Tel quel, Webmin n’offre pas les outils nécessaires pour utiliser et configurer le NAS. Pour obtenir de telle fonctionnalité, il nous faut activer les modules suivants :
- Linux RAID ;
- SMART Drive Status ;
- NFS Exports ;
- Samba Windows File Sharing ;
- ProFTPD Server ;
- Fail2Ban Intrusion Detector.
Pour ce faire, il suffit d’installer les paquets nécessaires à chacun de ces paquets, opération réalisable avec la commande suivante :
apt install mdadm smartmontools samba nfs-kernel-server proftpd fail2ban
Une fois installé, vous pouvez utiliser la section « Actualiser les modules » pour passer les modules fraîchement activés dans leur section respective.
L’installation est aussi possible au travers de l’interface offerte par Webmin.
IV-B-3-a. Configuration du RAID▲
Dorénavant, vous pouvez trouver l’entrée « RAID Linux » dans la rubrique « Matériel ». Sans surprise, cela permet de créer et gérer vos RAID :
La création vous emmène sur un formulaire dédié dans lequel l’utilisateur peut sélectionner les partitions à inclure dans la politique.
L’interface ne permet que de créer un RAID à partir de partitions. Par conséquent, il faut préparer les disques en créant une partition sur ceux-ci. La partition à créer doit être de type « Linux RAID ».
Une fois le RAID créé, il sera listé sur la page principale du module. Il faut maintenant créer une partition sur ce RAID pour pouvoir l’utiliser, en cliquant sur le bouton « Créer un système de fichiers de type : » :
Finalement, il ne reste plus qu’à monter le RAID grâce au bouton « Montez le RAID sur : ». Celui-ci redirige vers la page de configuration d’un nouveau point de montage, avec le formulaire permettant de configurer toutes les options disponibles :
IV-B-3-b. Indicateurs S.M.A.R.T.▲
Toujours dans la rubrique « Matériel », vous trouverez la section « État du lecteur SMART ». Il est nécessaire de sélectionner un périphérique pour afficher ses données :
La vue complète du rapport affiche le résultat de la commande smartctl. Finalement, le module offre trois boutons pour lancer les trois tests d’autodiagnostiques.
IV-B-3-c. Samba▲
Le module « Samba Windows File Sharing » est placé dans la rubrique « Serveurs ». Sur la page principale, le module liste les partages en place et permet d’en configurer des nouveaux, de gérer les utilisateurs Samba et toutes les options du serveur.
En plus des options globales au serveur, il est possible d’accéder à des options spécifiques aux dossiers partagés en cliquant sur un élément de la liste :
IV-B-3-d. NFS▲
Le module « NFS Exports » est quant à lui, disponible dans la rubrique « Networking ». Plus simples en termes d’options que le module Samba, seules la liste de partage et la possibilité d’en ajouter et d’en supprimer sont disponibles :
IV-B-3-e. FTP▲
Le module « ProFTPD Server » est placé dans la rubrique « Serveurs ». Par défaut, l’utilisateur peut se connecter avec son compte, parcourir l’ensemble des dossiers du système et envoyer des fichiers.
Les options du serveur sont exposées au travers des différentes catégories. Notamment, dans « Files and Directories », il est possible de restreindre l’accès les utilisateurs à un dossier spécifique.
IV-B-3-f. Fail2Ban▲
Le module « Fail2Ban Intrusion Detector » est placé dans la rubrique « Networking ». Quatre catégories d’options sont disponibles :
- les filtres permettant d’analyser les journaux ;
- les actions pour bannir et rappeler une IP ;
- les options des prisons, permettant notamment de les activer/désactiver ;
- la configuration globale, gérant uniquement les journaux propres à fail2ban.
IV-C. Mise en place manuelle▲
Si l’utilisation d’openmediavault ou de Webmin ne vous convient pas, il est bien entendu possible de mettre en place les fonctionnalités du NAS par vous-même.
IV-C-1. Configuration du RAID▲
L’outil de référence pour manipuler un RAID logiciel sous Linux est : mdadm.
Les disques durs mécaniques connectés au RockPi apparaissent sous Linux avec les noms /dev/sdX où X peut aller de ‘a’ à ‘e’. Vous pouvez utiliser les commandes fdisk -l ou lsblk pour retrouver les espaces de stockage connus du système.
La création s’effectue avec la commande suivante :
mdadm --create --verbose /dev/NOM_OU_NOMBRE --level=[NIVEAU] –raid-devices=[NOMBRE] DISQUES
Commande dans laquelle il faut remplacer :
- NOM_OU_NOMBRE : par le nom du RAID avec lequel vous y accéderez (par exemple : md1) ;
- NIVEAU : le niveau du RAID (1 pour RAID 1…) ;
- NOMBRE : le nombre de disques intégrant le RAID à construire ;
- DISQUES : la liste des disques intégrant le RAID.
Ce qui donne, pour construire un JBOD de deux disques, la commande suivante :
mdadm --create --verbose /dev/md1 --level=linear --raid-devices=2 /dev/sda /dev/sdb
Une fois le RAID créé, il devient donc accessible dans /dev/md1. Vous pouvez en vérifier l’état en lisant le fichier /proc/mdstat :
cat /proc/mdstat
Ou encore, en utilisant la commande :
mdadm --detail /dev/md1
Au lieu d’utiliser des disques, il est possible d’indiquer des partitions et de construire le RAID avec.
Maintenant, vous pouvez formater l’espace ainsi mis à disposition :
mkfs –t ext4 /dev/md1
Et il ne reste plus qu’à mettre à disposition la partition ainsi créée :
mount /dev/md1 /mnt/share
Ajoutez une ligne dans le fichier /etc/fstab pour automatiser le montage du RAID, lors du démarrage de la machine :
/dev/md1 /mnt/share ext4 default 0 0
IV-C-1-a. Ajouter un disque▲
Vous pouvez ajouter un disque à un RAID existant avec la commande suivante :
mdadm --manage /dev/md1 --add /dev/sdc
Toutefois, suivant votre politique de RAID, le disque nouvellement ajouté pourrait se retrouver en spare. Si ce n’est pas votre objectif, agrandissez le RAID :
mdadm --grow --raid-devices=3 /dev/md1
IV-C-1-b. Obtenir des informations sur un disque▲
mdadm propose une option pour lire le superblock d’un disque afin de savoir si ce dernier faisait partie d’un RAID :
mdadm --examine /dev/sda
IV-C-1-c. Réparation▲
Si un disque commence à présenter des problèmes, ou que vous souhaitez le remplacer, ajouter d’abord un disque de remplacement avec la commande :
mdadm --manage /dev/md1 --add /dev/sdc
Puis indiquez au système quel disque exclure du RAID :
mdadm --manage --set-faulty /dev/md1 /dev/sdb
Il n’est pas toujours possible d’effectuer un tel remplacement et cela dépend de la criticité de la panne, mais aussi de la politique de RAID que vous avez mise en place.
IV-C-1-d. Suppression▲
La suppression ne peut se faire que si le RAID n’est plus en cours d’utilisation. Cela veut dire, qu’il n’est pas monté (umount) et qu’il est stoppé :
mdadm --stop /dev/md1
N’oubliez pas d’enlever la mention de votre RAID dans /etc/fstab.
Vos disques n’ont pas été modifiés par cette opération. Sachant que les superblocks ne sont pas supprimés, vos disques peuvent être réintégrés dans un RAID à la configuration identique à celle où ils ont été pris. Si jamais vous voulez repartir de zéro, vous pouvez réinitialiser le superblock d’un disque avec la commande suivante :
mdadm --zero-superblock /dev/sda
Ou de manière encore plus violente, avec dd :
dd if=/dev/zero of=/dev/sda count=10 bs=1M
Ces deux dernières commandes font que vous ne pourrez plus récupérer les données du disque aisément. Sauvegardez les données avant une telle manipulation.
IV-C-2. Indicateurs S.M.A.R.T.▲
Les indicateurs S.M.A.R.T. permettent de vérifier si vos disques ont rencontré des erreurs lors de leur fonctionnement. Pour un NAS, il est donc d’autant plus important de les vérifier régulièrement afin de prévenir d’une panne.
Pour vérifier et surveiller les indicateurs de vos disques, l’administrateur a à disposition deux outils : smartctl et smartd. Le premier est un outil en ligne de commande permettant d’obtenir la valeur des indicateurs et de lancer des tests d’autodiagnostiques des disques alors que le second est un outil permettant de notifier du changement des valeurs des indicateurs S.M.A.R.T.
Leur installation s’effectue avec la commande suivante :
apt install smartmontools
IV-C-2-a. smartctl▲
Avec smartctl, vous pouvez obtenir des informations sur vos disques avec la commande suivante :
smartctl -a /dev/sda
Cette commande affiche aussi bien les informations générales (aussi obtenables avec l’option -i) que la valeur des indicateurs et le résultat des précédents tests (aussi obtenables avec l’option -l).
Afin d’actualiser les valeurs des indicateurs ou encore, de vérifier que le disque est en bonne santé, smartctl vous permet de lancer un test. Trois types de tests existent :
- short : un test court, mais contenant les tests les plus à même de détecter un problème ;
- long : un test reprenant le test court, mais en retirant la limite de temps et scannant l’intégralité de la surface du disque ;
- conveyance : un test pour détecter des dégâts suite au transport du disque.
La commande suivante permet de lancer un test court pour le disque /dev/sda :
smartctl -t short /dev/sda
Chaque test prend un certain temps. Vous pouvez obtenir une estimation (en minutes) de la longueur de chaque test avec la commande :
smartctl -c /dev/sda
IV-C-2-b. smartd▲
smartd est un démon surveillant les indicateurs S.M.A.R.T. et envoyant un courriel en cas de problème. Ce démon se configure au travers du fichier /etc/smartd.conf. Chaque modification du fichier provoque son rechargement.
Le fichier est commenté et permet donc de comprendre son fonctionnement. Globalement, le fonctionnement du démon est géré par la ligne débutant par DEVICESCAN. Ce qui suit est d’ailleurs ignoré par smartd. À la droite de DEVICESCAN, vous pouvez spécifier des options permettant de contrôler le comportement du démon. Par exemple, la ligne suivante permet :
- d’effectuer des tests réguliers (un test court entre deux et trois heures du matin et un test long les samedis entre trois et quatre heures (option -s) ;
- de ne pas faire de test si le disque est à l’arrêt (option -n) ;
- d’envoyer l’alerte par email (option -m) ;
- d’activer la surveillance de tous les attributs (option -a) ;
- d’activer la sauvegarde automatique des indicateurs (option -S) ;
- d’activer la récupération des données hors ligne automatiquement (option -o) :
DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -m smartd@example.com
Évidemment, il faut avoir installé un agent mail pour que smartd puisse envoyer les alertes. Pour tester le bon fonctionnement de l’alerte, vous pouvez écrire la ligne suivante dans le fichier /etc/smartd.conf :
DEVICESCAN -m example@email.com -M test
IV-C-2-c. Documentation▲
smartd est très complet et hautement configurable. Notamment, vous pouvez :
- surveiller des indicateurs particuliers ;
- surveiller la température des disques ;
- personnaliser comment être notifié ;
- configurer une surveillance différente par disque.
Le fichier de configuration commenté est un premier point pour découvrir comment configurer l’outil. Mais vous pouvez aussi consulter :
- le wiki de la distribution Arch Linux ;
- la page de manuel de l’outil.
IV-C-3. Administration▲
De multiples raisons font que vous devez créer des groupes pour chaque utilisation et des comptes utilisateur pour chaque entité se connectant à votre NAS. Une telle organisation vous permet de mieux sécuriser votre machine, de restreindre les accès et les risques en cas de piratage.
Autrement dit, il est préférable d’avoir un groupe par service. Ainsi, si vous devez donner accès à ce service à un utilisateur donné, il suffira d’ajouter cet utilisateur à ce groupe.
De même, il est préférable d’avoir un utilisateur par entité se connectant au NAS. Le partage de compte rend difficile la surveillance pour prévenir des piratages et permet de restreindre les accès aux fichiers à telle ou telle entité.
Les commandes à retenir sont :
-
ajout d’un groupe :
Sélectionnezgroupadd nom_du_groupe
-
ajout d’un utilisateur ;
Sélectionnezadduser nom_utilisateur
- ajout d’un utilisateur dans un groupe :
adduser nom_utilisateur nom_du_groupe
- connaître les groupes incluant l’utilisateur en cours :
groups
- retirer un utilisateur d’un groupe :
gpasswd -d nom_utilisateur nom_du_groupe
Finalement, le fichier /etc/group indique l’intégralité des groupes du système ainsi que les utilisateurs en faisant partie.
Il est possible de créer des utilisateurs sans qu’ils n’aient de possibilité d’utiliser le système. Ceux-ci ne pourront ainsi utiliser que les partages ou services offerts par le NAS. Pour créer un de ces utilisateurs, il faut spécifier une invite de commande (shell) invalide et il n’y a pas besoin de créer un dossier personnel :
useradd -s /bin/false -d /dev/null nom_utilisateur
IV-C-4. Samba▲
Samba est un serveur permettant de partager des fichiers et dossiers sur le réseau par l’intermédiaire du protocole CIFS/SMB. Ce dernier étant le protocole le plus communément implémenté pour une telle utilisation.
Son installation s’effectue avec la commande suivante :
apt install samba
La configuration de Samba repose sur le fichier /etc/samba/smb.conf, dont vous pouvez consulter la page de manuel ou encore le Wiki d’Ubuntu. L’ajout d’un dossier partagé se fait en ajoutant une section de la sorte, dans le fichier de configuration :
[tmp]
path=/CHEMIN/DU/SERVEUR
read only = yes
guest ok = yes
En ajoutant ces lignes dans le fichier de configuration, un partage nommé « tmp » pointant sur le répertoire /tmp/ du serveur sera disponible aux clients. Ces derniers ne pourront y accéder qu’en lecture seule et n’auront pas besoin de compte pour y accéder.
IV-C-4-a. Gestion des utilisateurs▲
La gestion des utilisateurs de Samba fonctionne en parallèle de celle du système (il est possible de les synchroniser).
Pour gérer la base de données des utilisateurs Samba, il faut utiliser la commande pdbedit :
- ajouter un utilisateur :
pdbedit -a nom_utilisateur
- supprimer un utilisateur :
pdbedit -x -u nom_utilisateur
Pour être connus de Samba, les utilisateurs doivent exister au sein du système.
Il est possible de limiter l’accès des dossiers partagés à un ensemble restreint d’utilisateurs avec l’option valid users. Voici un deuxième exemple à placer dans le fichier /etc/samba/smb.conf pour configurer un dossier partagé où les utilisateurs peuvent modifier les fichiers :
[test]
path=/CHEMIN/DU/SERVEUR
read only = no
valid users = USER1 USER2 USER3
Par défaut, tout utilisateur connu de Samba peut accéder à son dossier personnel, en lecture seule grâce au chemin \\NAS\NOM_UTILISATEUR.
IV-C-5. NFS▲
NFS est un standard ouvert pour partager des données, tout comme Samba.
Son installation s’effectue avec la commande suivante :
apt install nfs-kernel-server
Ensuite, la configuration s’effectue au travers du fichier /etc/exports, dans lequel il faut définir les dossiers partagés sur les réseaux. Chaque partage se définit avec une ligne du type :
/CHEMIN/PARTAGE HÔTE(OPTIONS)
L’accès de chaque partage est réservé à l’HÔTE défini par le serveur.
Il est possible d’indiquer plusieurs HÔTE(OPTIONS) pour un même partage, en les séparant par un espace.
Les clients (hôtes) pouvant accéder au dossier partagé peuvent être spécifiés grâce à une adresse IP ou à un ensemble d’adresse IP, un nom d’hôte, un nom de domaine, ou un nom de groupe réseau.
Parmi les options, vous pouvez spécifier rw ou ro ou encore sync permettant de mettre le partage en écriture ou en lecture seule ou encore, d’attendre la fin de chaque opération avant de traiter la prochaine requête, respectivement.
La documentation de ce fichier peut être consultée dans les pages de manuel.
Il existe la commande showmount avec l’option -e permettant de vérifier les dossiers exportés par NFS.
IV-C-6. FTP▲
Un serveur FTP permet de transférer des fichiers et contrairement aux protocoles vus précédemment, il ne fait que ça. Par exemple, pour éditer un fichier, il est nécessaire de le récupérer entièrement, puis de le renvoyer entièrement.
Plusieurs serveurs sont disponibles sous Linux. Ici, nous utiliserons vsftpd, qui s’installe avec la commande :
apt install vsftpd
La configuration s’effectue dans le fichier : /etc/vsftpd.conf. Ce dernier est commenté. En voici quelques options :
anonymous_enable |
Permet à des utilisateurs anonymes de se connecter au serveur FTP. |
local_enable |
Permet aux utilisateurs du NAS, de se connecter au serveur. |
ftpd_banner |
Pour définir un message affiché à la connexion. |
chroot_local_user |
Pour restreindre les utilisateurs à leur dossier personnel. |
Par défaut, après installation, les utilisateurs locaux peuvent se connecter au serveur FTP et accéder à leur répertoire personnel. Par contre, ils ne peuvent pas y envoyer des fichiers et ne sont pas restreints à leur propre dossier (ils peuvent donc lire tous les fichiers du système).
IV-C-6-a. Sécuriser la connexion▲
Par défaut, le protocole FTP fonctionne en clair : une personne malveillante peut lire les données échangées en FTP. Il est possible de sécuriser le flux et de rendre ses données illisibles.
La première étape est de générer un certificat :
openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048
Pour utiliser le certificat, le fichier de configuration de vsftpd doit contenir :
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
Finalement, les deux options suivantes peuvent augmenter la difficulté de compromission du serveur :
require_ssl_reuse=NO
ssl_ciphers=HIGH
IV-C-6-b. Documentation▲
La prise en main de ce serveur FTP peut être déroutante, notamment car l’aspect sécurité est important. Vous pouvez vous aider de ce tutoriel sur Developpez.com, du Wiki Ubuntu, ou de ce tutoriel en anglais.
IV-C-7. SSH▲
Le serveur SSH permet à un utilisateur de se connecter à distance au NAS et ainsi d’accéder à un shell. Le serveur SSH est déjà installé sur la majorité des distributions, notamment sur Armbian. Autrement, l’installation s’effectue avec la commande :
apt install openssh-server
La configuration s’effectue au travers du fichier /etc/ssh/sshd_config. Notamment, ce fichier possède les lignes suivantes :
Option |
Valeurs possibles |
Description |
PermitRootLogin |
yes, no, prohibit-password, forced-commands-only |
Permet de restreindre la façon dont root peut se connecter par SSH. Notamment, la connexion au compte root peut être complètement interdite au travers de SSH, ou n’être possible qu’avec une clé. |
PasswordAuthentification |
yes, no |
Permet d’accepter ou non les connexions reposant sur le mot de passe. |
AllowUsers |
Permet de n’autoriser que certains utilisateurs à se connecter. |
|
AllowGroups |
Permet de n’autoriser que certains groupes à se connecter. |
Cette liste n’est pas exhaustive, toutes les options pourront être retrouvées dans la documentation officielle.
IV-C-7-a. Copie de fichiers▲
Il est possible d’utiliser SSH pour transférer des fichiers, notamment avec la commande scp :
scp utilisateur@IP:/chemin/fichier ./fichier
IV-C-7-b. Montage distant▲
En plus de simplement copier des fichiers, il est possible d’utiliser SSH pour accéder à un espace de stockage distant, grâce à l’outil sshfs :
sshfs USER@SERVER:/share/PARTAGE/ /mnt/nas
Le montage peut être automatisé avec le fichier /etc/fstab ou AutoFS.
IV-C-7-c. Authentification automatique▲
Il est possible de mettre en place une authentification par clé, permettant ainsi de ne plus taper de mot de passe pour se connecter au serveur.
Pour cela, la machine cliente doit avoir généré un couple de clés (une clé publique et une clé privée), avec la commande :
ssh-keygen -t rsa -b 4096
Ensuite, la clé publique doit être copiée sur le serveur afin que celui-ci puisse reconnaître la machine cliente. Si l’authentification par mot de passe est active, il est possible d’utiliser :
ssh-copy-id utilisateur@server
Sinon, il faudra transférer la clé publique d’une manière ou d’une autre et l’enregistrer dans le fichier ~/.ssh/authorized_keys.
IV-C-8. VPN▲
La mise en place d’un VPN est la meilleure solution pour communiquer avec un ou plusieurs équipements domestiques depuis l’extérieur du foyer.
Pour sa mise en place, vous pouvez suivre cet article dédié.
Lors de l’utilisation du script d’installation de PiVPN, une erreur a été rencontrée, semble-t-il, lors de l’installation des dépendances. Pour corriger, il faut installer le paquet iptables-persistent et relancer le script PiVPN.
IV-C-9. Fail2ban▲
fail2ban est un service permettant de bannir les tentatives de connexion provenant de machines ayant échoué à la connexion plusieurs fois.
Ce service s’installe avec la commande suivante :
apt install fail2ban
Les fichiers de configuration de ce service se trouvent dans le dossier /etc/fail2ban.
Il est déconseillé d’éditer directement les fichiers jail.conf et fail2ban.conf.
Pour configurer fail2ban, vous devez créer un, ou plusieurs fichiers de configuration dans lesquels vous allez définir ou redéfinir les options pour chaque service à surveiller. Par exemple, pour activer la lecture des logs du service SSH, avec les options par défaut (comme mentionnées dans le jail.conf), vous devez créer le fichier suivant :
[sshd]
enabled = true
Si vous devez redéfinir des options (par exemple, car vous utilisez un port différent de celui par défaut), il suffit d’ajouter l’option en question au fichier :
[sshd]
enabled = true
port = 2222
La configuration globale (ou configuration par défaut) se configure ainsi :
[DEFAULT]
ignoreip = 127.0.0.1 124.32.5.48
findtime = 10m
bantime = 24h
maxretry = 3
Chaque option peut être redéfinie au niveau d’un service spécifique.
Aussi, le service fail2ban est accompagné d’un client : fail2ban-client, qui permet de recharger les règles après modification grâce à la commande fail2ban-client reload ou encore, de vérifier le fonctionnement du service : fail2ban-client status.
IV-C-10. DLNA▲
Un serveur DLNA permet de rendre disponibles vos médias sur l’ensemble des clients compatibles (PC, téléphone, TV…). Plusieurs logiciels permettent d’offrir ce service, mais pour être raccord avec openmediavault, nous parlons ici de minidlna.
L’installation est classique :
apt install minidlna
La configuration se fait au travers du fichier /etc/minidlna.conf. Ce dernier étant commenté, il est simple à prendre en main. Principalement, il suffit de configurer les dossiers depuis lesquels le service lit les médias :
media_dir=/media/
Vous pouvez aussi trouver de l’aide dans la documentation des pages de manuel.
IV-C-11. certbot▲
Afin d’établir une connexion HTTP sécurisée avec votre serveur, vous devez utiliser un certificat reconnu par une entité légitime. Le service en ligne Let’s Encrypt fournit de tels certificats et vous pouvez générer vos certificats grâce à l’outil certbot.
L’installation se fait avec la commande suivante :
apt install certbot
Son utilisation est plutôt simple. Suivant votre besoin, vous pouvez utiliser les options --apache ou --nginx afin de générer un certificat pour ces deux serveurs Web ou utiliser la commande :
certbot certonly --standalone
Pour générer un certificat à utiliser dans l’application de votre choix.
Le renouvellement de certificat se fait simplement avec la commande :
certbot renew
IV-C-12. rsync▲
Rsync permet de synchroniser des fichiers. Vous pouvez l’installer avec :
apt install rsync
Rsync peut être utilisé dans deux modes. Le premier repose sur SSH et est prêt à l’emploi, pour peu que le client possède rsync. Le second est un mode démon, où, pour être démarré, nécessite le fichier /etc/rsyncd.conf.
Ce fichier permet de spécifier des options globales ainsi que des modules, c’est-à-dire, des dossiers synchronisés. Voici un exemple de ce fichier :
uid = user
gid = user
dont compress = *.gz *.tgz *.zip *.xz *.rpm *.deb *.bz2
[ftp]
path = /home/ftp
exclude = *.exe
comment = FTP Backup
La documentation de ce fichier est disponible dans les pages de manuel.
Ensuite, sur les clients, vous pouvez synchroniser les dossiers ainsi exposés, en les spécifiant comme source :
rsync -av rsync://NAS_IP/ftp
IV-C-13. Duplicati▲
Pour utiliser Duplicati, il est nécessaire de récupérer le fichier .deb sur le site officiel et de l’installer avec la commande :
dpkg -i ./duplicati_2.0.5.1-1_all.deb
Sachant que duplicati repose sur Mono, des dépendances peuvent être manquantes. Cela peut se réparer avec la commande :
sudo apt --fix-broken install
Une fois installé, vous devez modifier le fichier /etc/default/duplicati pour qu’il contienne la ligne suivante, option pour lancer correctement le service, comme indiqué dans la documentation officielle :
DAEMON_OPTS="--webservice-interface=any --webservice-port=8200 --portable-mode"
Une fois le service lancé (systemctl start duplicati), il suffit d’utiliser le logiciel en se connectant avec un navigateur Web à l’adresse du NAS, port 8200.
IV-D. Pour aller plus loin▲
Que ce soit avec openmediavault ou en configurant manuellement votre NAS, vous pouvez installer tous les services que vous voulez. En effet, jusqu’à présent, nous n’avons pas vu comment installer un serveur Git, un serveur Wordpress ou autre et cette section permet de présenter les services complémentaires pouvant intéresser le lecteur.
Notamment, on retrouvera :
- rclone : pour synchroniser les fichiers avec un service de cloud (Google, 1Fichier, Amazon…) ;
- pyload : pour télécharger des fichiers ;
-
targetcli : pour créer une cible iSCSI. Le paquet se nomme targetcli-fb et offre l’utilitaire interactif en ligne de commandes permettant de créer la cible iSCSI ainsi que les disques. En voici un exemple d’utilisation, pour créer une cible exposant un disque de 128 Mo :
Sélectionnezcd /backstores/fileio create disk01 /tmp/img.img 128M cd /iscsi create iqn.2021-01.com.developpez:test1 cd tpg1/luns/ create backstoresfileio/disk0 cd ../acls create iqn.2016-04.com.open-iscsi:bfeb2fd9b7b exit
-
Le « iqn.2016-04.com.open-iscsi:bfeb2fd9b7b » provient du fichier /etc/iscsi/initiatorname.iscsi du client.
Vous pouvez trouver des explications sur chacune des étapes, dans cette aide. -
Python ou Node.js : pour ouvrir un serveur Web minimaliste permettant aux autres de télécharger des fichiers. En Python, vous pouvez lancer ce serveur, qui partagera les fichiers présents dans le dossier courant, avec la commande :
Sélectionnezpython -m SimpleHTTPServer
-
La même chose avec Node.js :
Sélectionneznpm install -g http-server http-server -p 8000
-
Évidemment, il faudra ouvrir le port adéquat (80 pour la méthode avec Python) pour permettre aux gens externes d’accéder aux fichiers partagés.
Il existe des solutions plus avancées, telles que Woof ou Updog. -
ownCloud/Nextcloud : pour mettre en place une solution complète d’hébergement de fichiers et plus ;
-
Pi-hole pour bloquer les publicités ;
-
une instance PeerTube pour publier des vidéos ;
- YunoHost pour autohéberger facilement des services (courriels, transmission, diaspora, GitLab…). Pour l’installer à partir d’un système utilisant Armbian, il suffit d’utiliser la commande suivante :
curl https://install.yunohost.org | bash
V. Performances▲
Les tests de performances sont effectués avec Armbian basé sur Debian 10 embarquant le noyau Linux 5.9.14. Le NAS intègre un disque branché sur le quatrième connecteur et est complètement monté.
V-A. Températures▲
Dans ce test, le NAS est stressé au niveau du CPU, avec la commande stress en version 1.0.4 : stress --cpu 6. Le test est exécuté une fois, ventilateur désactivé et une fois, ventilateur activé :
La présence du ventilateur permet de réduire drastiquement la montée de température. Sans ventilateur, au bout de dix minutes, le CPU va réduire sa fréquence lorsqu’il atteint les 85 °C. Avec le ventilateur, la température atteint 80 °C après une heure et permet donc de ne pas ralentir la machine.
Voici une vue plus précise autour du test sans ventilateur :
En bref, le ventilateur permet d’éviter du throttling et réduit considérablement la température du CPU.
V-B. Débit réseau▲
Le RockPi 4 modèle C est capable de supporter le débit de 1 Gbit/s offert par le port Ethernet embarqué sans problème, et ce, avec le protocole NFS, FTP ou SMB.
Seul le protocole SSH offrira des performances moindres, car lourd pour le CPU en raison du chiffrement :
- 65,5 Mo/s en émission ;
- 92,5 Mo/s en réception.
V-B-1. Augmenter le débit▲
Il est possible d’utiliser un port USB afin d’y brancher un adaptateur USB vers RJ45 2.5 Gbps, tel que celui testé ici, afin d’augmenter le débit du NAS.
Premièrement, un test avec l’outil iperf3 est une bonne pratique pour vérifier le débit :
- dans le cas où le NAS est le serveur, le test se déroule correctement et le débit obtenu est de 2.18 Gbits/s ;
- dans le cas où le NAS est le client (émetteur des données), le débit est moindre (autour de 1.3 Gbits/s) et le test s’arrête après quelques secondes. Le noyau produit les messages suivants :
[ 394.307825] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 3 comp_code 1
[ 394.307838] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d63080 trb-start 00000000e6d62f70 trb-end 0000000000000000 seg-start 00000000e6d62000 seg-end 00000000e6d62ff0
[ 394.307843] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d63080 trb-start 00000000e4775000 trb-end 00000000e4775370 seg-start 00000000e4775000 seg-end 00000000e4775ff0
[ 394.307849] xhci-hcd xhci-hcd.1.auto: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 3 comp_code 1
[ 394.307854] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d631a0 trb-start 00000000e6d62f70 trb-end 0000000000000000 seg-start 00000000e6d62000 seg-end 00000000e6d62ff0
[ 394.307859] xhci-hcd xhci-hcd.1.auto: Looking for event-dma 00000000e6d631a0 trb-start 00000000e4775000 trb-end 00000000e4775370 seg-start 00000000e4775000 seg-end 00000000e4775ff0
La charge CPU est différente suivant l’émission ou la réception des données. Dans ce dernier cas, un cœur est occupé à 60 % de sa capacité afin de traiter l’envoi des données, alors que dans le cas où le problème apparaît, un cœur est utilisé à 100 %.
Lorsque le bogue se produit, le transfert s’arrête net et interrompt toute communication sur le réseau utilisant cette interface. Pour la « rétablir » rapidement, il suffit de débrancher et rebrancher le câble.
Si on ne déconnecte pas le câble, le noyau va remarquer le problème grâce au watchdog et réinitialiser l’adaptateur. La connexion reprendra alors, comme s’il n’y avait pas eu de problème. Toutefois, dans un tel cas, les transferts sont inévitablement ralentis et l’utilisation de l’adaptateur est inutile.
Ces problèmes ont été rencontrés avec Armbian basé sur Debian Buster sur le noyau 5.9.16 ainsi que sur Armbian basé sur Ubuntu Groovy Gorilla avec le noyau 5.10.6.
Vous pourrez trouver un exemple des messages du noyau lors du crash ici.
Je ne connais pas avec exactitude l’origine du problème et ne peux donc pas pointer le coupable. Cela peut aussi bien venir de l’adaptateur, de l’interface USB, du RockPi 4 modèle C, du pilote ou du noyau.
VI. Conclusion▲
Dans cet article, nous avons vu l’utilisation du nano-ordinateur RockPi 4 modèle C en tant que NAS dans lequel vous pouvez utiliser des disques durs 2,5 pouces en SATA grâce au chapeau Penta-SATA.
Ainsi, nous obtenons une solution peu encombrante et facile à mettre en place grâce à openmediavault ou Webmin. Aussi, une installation manuelle est expliquée, pour ceux qui veulent gérer l’intégralité de leur système. Dans la dernière section, nous avons aussi validé l’utilité du ventilateur, associé à un petit écran sympathique et personnalisable. En bref, c’est une solution intéressante pour un NAS domestique.
Toutefois, je tiens à rappeler que les disques 2,5 pouces sont généralement plus chers que les disques 3,5 pouces pour une même capacité et des performances inférieures. Par conséquent, même si ce NAS 5 « baies » aura un coût moindre (environ 200 € : 59 $ pour le RockPi 4 modèle C, 129 $ pour le kit Penta SATA et 12 $ pour le module eMMC) pour l’acquérir, le prix des disques sera supérieur par rapport à des NAS plus classiques. De plus, les disques durs conçus pour NAS, sont réellement très rares au format 2,5 pouces.
En bref, cette solution est adéquate si vous voulez un NAS petit et discret embarquant quatre disques, entièrement configurable et pouvant aussi être utilisé pour d’autres usages (émulation, ordinateur personnel).
VII. Remerciements▲
Developpez.com tient à remercier Radxa de nous avoir fourni le RockPi 4 modèle C testé dans cet article. Vous pouvez retrouver la page officielle du produit ici. |
Merci aussi aux relecteurs chrtophe et Franck Talbart, ainsi qu’à Claude Leloup pour la correction orthographique.