Et l'ancêtre, dans tout ça ? Une seconde vie en serveur NAS
Mon vieux Pentium G4400 a perdu sa place de serveur principal, mais pas son disque de 8 To. Debian, OpenMediaVault et NFS lui offrent une seconde vie en serveur NAS, au cœur de mon Home Lab.
Dans Trois mini PC, un cluster Proxmox et une nouvelle ambition, je racontais comment mon vieux Pentium G4400 avait cédé sa place à un cluster de mini PC bien plus costauds. Mais ce serveur n'a pas fini à la déchetterie pour autant : il avait encore une carte à jouer, son disque SATA III de 8 To. Voici comment il est devenu mon serveur NAS.
Pourquoi recycler plutôt que jeter
Le Pentium G4400 n'a plus la puissance nécessaire pour faire tourner mes services Docker dans de bonnes conditions, c'est précisément pour ça que je l'ai remplacé. Mais pour stocker des fichiers et les distribuer sur le réseau local, il n'a besoin d'aucune prouesse de calcul : juste d'un OS léger, d'une carte réseau qui tient la route, et de ce gros disque de 8 To qui n'attendait qu'à être réutilisé. Plutôt que d'investir dans un boîtier NAS dédié, autant donner une seconde mission à du matériel qui fonctionne déjà très bien.
Le choix de l'OS : Debian 13 et OpenMediaVault
Pour piloter ce nouveau rôle, j'ai opté pour Debian 13 avec OpenMediaVault (OMV) par-dessus. OMV est une solution NAS open source qui s'installe simplement sur une Debian classique et propose une interface web complète pour gérer disques, partages et utilisateurs, sans avoir à tout faire en ligne de commande. La promesse a été tenue : installation et configuration vraiment simples, et une administration au quotidien qui ne demande pas d'expertise particulière. C'est exactement ce qu'on attend d'un service de stockage : qu'il se fasse oublier.
Contrairement aux services dockerisés du reste de mon Home Lab, ce NAS n'est pas géré par Ansible, sa configuration passe entièrement par l'interface web d'OMV. Ce n'est pas tant un choix de principe qu'un constat : la configuration a été faite une fois, au moment de la mise en place, et n'a pas bougé depuis. Disques, partages, exports NFS, droits d'accès, tout a été défini via l'UI lors de l'installation, et tourne depuis sans qu'on ait eu besoin d'y retoucher. Tant que ça reste un point stable de l'infrastructure plutôt qu'un service qu'on redéploie régulièrement, l'intérêt d'industrialiser sa configuration via l'Infrastructure as Code reste limité, la simplicité de l'UI l'emporte largement sur l'uniformité.
Organiser le disque : deux espaces, deux usages
Plutôt que de tout mélanger sur un seul gros volume, j'ai découpé le disque de 8 To en deux espaces distincts, chacun avec sa vocation propre :
- un espace Cloud, qui sert de stockage pour Nextcloud et mes sauvegardes,
- un espace Fichiers multimédia, dédié à ma médiathèque pour Kodi, TVHeadend et bientôt aux enregistrements de mes caméras via Frigate NVR.
Cette séparation simplifie la gestion des droits et des quotas, et évite qu'un usage ne vienne polluer l'autre.
Configuration pas à pas dans OpenMediaVault
Pour voir concrètement ce qu'on entend par "une configuration simple via l'UI", voici les grandes étapes par lesquelles passe la mise en place d'un partage NFS dans OMV, de l'arrivée du disque brut jusqu'au montage côté client.
1. Le tableau de bord général
Vue d'ensemble du système : état des services, utilisation processeur, charge moyenne, mémoire utilisée. C'est l'écran d'accueil, tout est visible d'un coup d'œil, sans naviguer dans dix menus.

2. Le disque brut et son système de fichiers
Avant de pouvoir y stocker quoi que ce soit, le disque de 8 To doit être partitionné et formaté (en EXT4 dans mon cas). Puis on ajoute les systèmes de fichiers dans "Stockage > Systèmes de fichiers".

3. La création des dossiers partagés
C'est ici qu'on matérialise le découpage en plusieurs espaces : Backup, Cloud, Medias, ..., chacun positionné sur le système de fichiers du disque 8 To, avec ses propres permissions (utilisateur/groupe propriétaire, droits de lecture/écriture).

4. L'activation et la configuration du service NFS
Dans "Services > NFS", on active le service puis on définit, pour chaque dossier partagé, un export NFS : le réseau autorisé à s'y connecter (mon sous-réseau local), les options (lecture/écriture, squash des UID, synchronisation…).

5. La gestion des utilisateurs et des droits
Pour les usages qui le nécessitent (accès authentifié, quotas), la section "Utilisateurs et groupes" permet d'associer des comptes aux dossiers partagés et d'affiner qui peut faire quoi.
Adieu Samba, bienvenue NFS
Sur l'ancien serveur, le partage de fichiers se faisait via Samba, la solution naturelle pour qui vient du monde Windows. Mais avec une infrastructure désormais构composée de plusieurs conteneurs LXC qui doivent tous accéder aux mêmes ressources (sauvegardes, fichiers Nextcloud, médiathèque), Samba montrait ses limites. J'ai basculé vers NFS, plus adapté à un environnement Linux multi-machines : montages natifs dans /etc/fstab, performances meilleures pour des accès intensifs (comme la lecture vidéo depuis Libreelec/Kodi et Frigate NVR/Home Assistant), et une gestion des droits qui colle mieux à des conteneurs qui tournent sous des UID systèmes.
Concrètement, chaque noeud Proxmox qui a besoin d'accéder au NAS monte les exports dont il a besoin :
# roles/pve/storage/tasks/mount.yml
- name: Storage => Créer les points de montage locaux
become: true
file:
path: "{{ item.path }}"
state: directory
owner: "{{ item.owner | default('root') }}"
group: "{{ item.group | default('root') }}"
mode: "{{ item.mode | default('0755') }}"
loop:
- { path: '/mnt/public', owner: '{{ pve.uid_relay_t4system }}', group: '{{ pve.gid_users }}', mode: '0777' }
- { path: '/mnt/backup', owner: '{{ pve.uid_relay_t4system }}', group: '{{ pve.gid_users }}', mode: '0750' }
- { path: '/mnt/cloud', owner: '{{ pve.gid_www_data }}', group: '{{ pve.gid_www_data }}', mode: '0750' }
- { path: '/mnt/medias', owner: '{{ pve.uid_relay_t4system }}', group: '{{ pve.gid_users }}', mode: '0750' }
- { path: '/mnt/tv_recordings', owner: "{{ pve.uid_relay_t4system }}", group: '{{ pve.gid_video }}', mode: '0750' }
Les montages nécessaires sont ensuite redescendus dans les LXC via OpenTofu, comme montré dans un article précédent, puis dans les containers qui le nécessitent, en les montant sous forme de volume dans les containers associés, sans dupliquer le stockage ni complexifier les droits d'accès.
Ce que ça change au quotidien
Ce vieux serveur, qui semblait condamné à la casse, est devenu une pièce discrète mais essentielle de mon infrastructure : c'est lui qui centralise les sauvegardes de tous mes services, qui héberge les fichiers de mon Nextcloud, et qui alimente ma médiathèque. Il tourne en silence, sans prétention, et prouve qu'on n'a pas toujours besoin de tout remplacer pour avancer. Parfois, il suffit de redonner un rôle à ce qu'on a déjà sous la main.