Passer au contenu principal

Qu'est-ce qu'Unraid ?

Unraid est un système d'exploitation embarqué conçu pour vous donner un contrôle total sur votre matériel. Il fonctionne comme un système de stockage en réseau (NAS) robuste, un serveur d'applications et un hôte pour des machines virtuelles (VMs).

Unraid s'installe sur une clé USB et démarre à partir de celle-ci, se chargeant dans un système de fichiers RAM racine. Il utilise un noyau Linux moderne avec des pilotes matériels mis à jour, lui permettant de fonctionner sur presque tous les systèmes 64 bits x86_64 tout en gardant une empreinte mémoire minimale. Toutes les données de configuration pour le système d'exploitation sont stockées sur la clé USB et se chargent en même temps que le système d'exploitation.

Unraid dispose d'une interface web conviviale pour une gestion facile. Il offre des contrôles de base pour les tâches courantes et des réglages avancés pour les utilisateurs expérimentés. Bien qu'il soit par défaut configuré pour convenir à la plupart des gens, il permet également la personnalisation. Cet équilibre entre simplicité et flexibilité vous aide à stocker, protéger, partager et profiter de votre contenu efficacement.

Les capacités principales d'Unraid résident dans trois domaines principaux :

NAS défini par logiciel

Permettre aux utilisateurs de partager efficacement la capacité de stockage sur un réseau.

Tableaux et Parité

Unraid offre une solution simple et flexible pour transformer tout système compatible 64 bits en un dispositif de stockage en réseau (NAS). Il peut gérer une variété de disques, qu'ils soient connectés via IDE, SATA ou SAS, et prend en charge différentes tailles de disques. Cela signifie que vous pouvez ajouter de nouveaux disques un à un à mesure que vos besoins de stockage augmentent, sans avoir à réorganiser vos données existantes lorsque vous élargissez votre configuration.

Le principal objectif d'un array Unraid est d'organiser et de protéger les données stockées sur plusieurs disques. Il le fait en utilisant jusqu'à deux disques spéciaux appelés parity drives. Ces parity drives sont importants car ils aident à reconstruire vos données si l'un des autres disques tombe en panne. En fait, avec un seul parity drive, vous pouvez protéger tous les autres disques dans votre array, gardant vos données en sécurité. De plus, vous pouvez mélanger des disques de tailles différentes et facilement étendre votre stockage au fil du temps, faisant d'Unraid une option conviviale pour quiconque cherchant à gérer ses données efficacement.

Comment fonctionne la parité - Cliquez pour agrandir/réduire

Dans Unraid, l'information de parité est mise à jour en temps réel. Pour comprendre comment cela fonctionne, imaginez le contenu d'un disque dur comme un long flux de bits, où chaque bit est soit un zéro soit un un. En additionnant les valeurs du nième bit sur tous les disques et en déterminant si cette somme est paire ou impaire, le nième bit de parité correspondant peut être réglé en conséquence. Si un disque de données échoue, cette information de parité permet une détermination précise des valeurs exactes des bits, facilitant une reconstruction précise sur le disque de remplacement.

Par exemple :

Sans Parité

Dans l'image ci-dessus, trois disques contiennent des flux de bits qui varient selon la taille du périphérique. Ces disques ne sont pas protégés, donc si l'un d'eux échoue, les données seront perdues. Pour se protéger contre les pannes, nous avons besoin d'un quatrième disque en tant que disque de %%parité|parity-drive%%, qui doit être égal ou plus grand que le plus grand disque de données.

Pour définir les bits de parité, nous trouvons le total pour chaque colonne. Si la somme est paire, le bit de parité est 0 ; si elle est impaire, le bit de parité est 1.

Voici la même image qu'avant, mais avec la parité calculée par image :

Parité

Supposons que le disque 2 de notre exemple a échoué, et qu'un nouveau disque a été acheté pour le remplacer :

Défaillance du disque

Pour reconstruire les données sur le nouveau disque, nous déterminons le bit manquant plutôt que de calculer le bit de parité. Pour la colonne 1, la somme est 0, donc le bit manquant est 0. Pour la colonne 6, avec une somme de 1, le bit manquant est 1.

Rebâtir un disque en utilisant la parité protège contre la perte de données et offre une tolérance aux pannes, garantissant un accès complet au système même si un disque échoue.

Partages d'utilisateurs

Unraid est différent de la plupart des systèmes RAID car il sauvegarde les données sur des disques individuels au lieu de les combiner en un seul. En tant que root user, vous pouvez créer des user shares, qui sont comme des dossiers de niveau supérieur qui rassemblent des fichiers provenant de plusieurs disques dans le array ou le cache pool. Cela signifie que vous n'avez pas à vous soucier de savoir quel disque spécifique contient vos fichiers; ils sont organisés pour vous.

Vous pouvez également personnaliser ces partages pour inclure ou exclure certains disques et décider de la façon dont les fichiers sont répartis sur votre stockage. De plus, vous pouvez gérer comment les utilisateurs accèdent aux partages en configurant les options réseau, comme SMB et NFS, et en appliquant des paramètres de sécurité. Pour garder les données privées en sécurité, vous pouvez créer des comptes utilisateurs et définir des limites d'accès pour les personnes de confiance.

User shares distribution example
User shares - Distribution
User shares distribution example larger
User shares - Access

Comprendre les disques de cache

L'une des caractéristiques remarquables d'Unraid est le cache drive, qui aide à accélérer le transfert de données. Lorsque vous utilisez un cache drive avec trois disques ou plus, vous pouvez écrire des données jusqu'à trois fois plus rapidement. Lorsque vous enregistrez des fichiers sur un user shares avec un cache drive, les données sont d'abord stockées sur le cache drive. Cela permet une écriture rapide, et ensuite, un processus appelé Mover transfère les données vers le stockage principal array - souvent pendant la nuit - laissant de la place sur le cache drive.

Pour une sécurité des données accrue, vous pouvez configurer un cache pool avec plusieurs disques. Cette configuration augmente non seulement l'espace de stockage mais utilise également des technologies comme ZFS ou BTRFS pour offrir une protection supplémentaire à vos données, similaire à RAID 1. Globalement, la gestion des partages et des cache drives par Unraid crée une solution de stockage flexible, efficace et sécurisée.

En savoir plus sur la configuration des partages et des caches ici.

Comment fonctionne la capture des données avec le Pool de Cache

Serveur d'applications

Permettre l'exécution d'applications conteneurisées.

Unraid transforme votre solution de stockage en un application server polyvalent grâce à la containerisation Docker. Cette approche surmonte les limitations traditionnelles des NAS tout en maintenant la stabilité du système et la facilité d'utilisation.

Les solutions NAS traditionnelles présentent trois défis clés pour l'hébergement d'applications :

  1. Problèmes de compatibilité OS - Incapacité à exécuter des applications conçues pour différents systèmes d'exploitation.
  2. Gestion complexe du cycle de vie - Des expériences d'installation difficiles peuvent laisser des artefacts résiduels après suppression.
  3. Conflits d'applications - Les composants logiciels peuvent interférer entre eux ou avec les opérations du système.

L'utilisation de Docker par Unraid répond à ces défis de trois manières clés :

  1. Indépendance OS - Chaque conteneur fonctionne dans son propre environnement Linux, éliminant les problèmes de compatibilité avec le système d'exploitation hôte.
  2. Déploiement basé sur les images - Les paquets d'applications préconfigurés permettent une installation en un clic et une désinstallation complète des applications.
  3. Isolation des processus - Les applications conteneurisées fonctionnent dans des espaces utilisateurs séparés, empêchant tout conflit entre logiciels.

Les conteneurs Docker vous permettent d'exécuter des applications dans des environnements isolés et légers sans les surcharges associées aux machines virtuelles. Unraid simplifie l'utilisation de Docker en fournissant l'accès à des milliers d'applications préconfigurées via Docker Hub et Applications Communautaires. Cette approche par conteneur permet aux utilisateurs d'Unraid d'exécuter plusieurs applications simultanément sans problèmes de compatibilité. Elle aide également à garder le système organisé en utilisant des packages d'application indépendants et facilite l'amélioration des capacités du serveur grâce à l'écosystème Docker.

note

Pour les paramètres Docker avancés, consultez Exécuter des Conteneurs Docker.

Plateforme de Virtualisation

Exécution de machines virtuelles avec une performance proche du matériel bare-metal.

Unraid fonctionne comme un hôte de virtualisation, utilisant un hyperviseur pour allouer de manière sécurisée des ressources aux invités virtualisés. Cela vous permet d'exécuter diverses applications dans des environnements isolés, dépassant ainsi le simple stockage en réseau.

astuce

Pour utiliser la virtualisation matérielle dans Unraid, assurez-vous que votre CPU, chipset, BIOS et pilotes de périphériques sont compatibles. Une liste complète des exigences est disponible dans le Guide de configuration des VM. Si votre serveur ne répond pas à ces exigences, le menu VMs sera désactivé dans le Unraid WebGUI.

Avantages de l'utilisation des Machines Virtuelles (VMs) - Cliquez pour agrandir/réduire

Bien que les conteneurs Docker soient populaires pour les applications basées sur Linux, les VMs améliorent la flexibilité et l'efficacité de votre configuration serveur Unraid et offrent des avantages distincts sur votre serveur Unraid :

  • Isolation : Les VMs fonctionnent indépendamment dans des environnements séparés, garantissant qu'une défaillance de l'une n'affecte pas les autres.

  • Consolidation : Consolidez plusieurs serveurs physiques en une seule machine Unraid, réduisant ainsi les besoins matériels et simplifiant la maintenance.

  • Allocation de ressources : Unraid vous permet d'assigner des ressources CPU, mémoire, stockage et réseau spécifiques à chaque VM, garantissant que les charges de travail critiques reçoivent les ressources nécessaires.

  • Test et Développement : Les VMs permettent la création et le test faciles de logiciels sur différents environnements sans nécessiter plusieurs machines physiques.

  • Sécurité : L'isolation des VMs améliore la sécurité, rendant difficile la propagation des logiciels malveillants entre elles.

  • Support des applications anciennes : Les VMs vous permettent d'exécuter des applications ou des systèmes d'exploitation anciens qui pourraient ne pas être compatibles avec le matériel moderne.

  • Isolation des ressources : Chaque VM peut avoir des ressources dédiées, empêchant des problèmes de performance entre les VMs.

  • Surengagement des ressources : Vous pouvez exécuter plus de VMs que les ressources physiques ne le permettraient généralement, en comprenant que toutes n'utiliseront pas pleinement leurs allocations en même temps.

Support des dispositifs assignables pour la virtualisation - Cliquez pour agrandir/réduire

Unraid's KVM-based virtualization uses modern tools for flexible hardware assignment while maintaining host stability.

Les composants clés incluent :

Technologies de base

  • QEMU et libvirt : Gèrent les cycles de vie de VM.
  • Passerelle de périphérique VFIO : Fournit un accès direct au matériel.
  • VirtIO et VirtFS : Optimisent les performances de stockage et de réseau.
  • OVMF : Supporte UEFI et Secure Boot.

Ressources assignées

  • Calcul : Cœurs CPU dédiés via CPU pinning.
  • Mémoire : RAM isolée.
  • Stockage : disques virtuels optimisés SSD via VirtIO.
  • Périphériques : Passerelle complète de périphériques PCI/USB, incluant la prise en charge de GPU passthrough.

Flexibilité de la plateforme

Ressources assignables

Pour les étapes de configuration des VM, consultez Créer des machines virtuelles.

précaution

Le GPU passthrough nécessite un matériel compatible (voir Configuration VM).