Comment activer le regroupement et la mise en miroir de stockage à l'aide de Btrfs pour Linux

Comment activer le regroupement et la mise en miroir de stockage à l'aide de Btrfs pour Linux / Linux

Si vous avez plusieurs disques durs dans votre système Linux, vous n’avez pas à les traiter tous comme des périphériques de stockage différents. Avec Btrfs, vous pouvez très facilement créer un pool de stockage à partir de ces disques durs..

Dans certaines conditions, vous pouvez même activer la mise en miroir afin de ne pas perdre vos données en raison d'une panne de disque dur. Lorsque tout est configuré, vous pouvez simplement jeter ce que vous voulez dans la piscine et utiliser au mieux l'espace de stockage que vous avez..

Il n'y a pas d'utilitaire de configuration d'interface graphique qui puisse rendre tout cela plus facile (encore), mais c'est quand même assez facile à faire avec la ligne de commande. Je vais vous expliquer une configuration simple pour utiliser plusieurs disques durs ensemble.

C'est quoi Btrfs?

Btrfs (appelé système de fichiers B-tree, “Beurre FS”, ou “Mieux FS”) est un système de fichiers à venir Ext4 vs. Btrfs: Pourquoi nous faisons le changement [Linux] Ext4 vs. Btrfs: Pourquoi nous faisons le changement [Linux] Très honnêtement, l’un des derniers points que les gens examinent est quel système de fichiers est en train d'être utilisé. Les utilisateurs de Windows et de Mac OS X ont encore moins de raisons de regarder, car ils n'ont en réalité qu'une… Lire la suite qui intègre de nombreuses fonctionnalités au niveau du système de fichiers, normalement disponibles uniquement sous forme de packages logiciels distincts. Bien que Btrfs possède de nombreuses fonctionnalités remarquables (telles que des instantanés de système de fichiers), les deux que nous allons examiner dans cet article sont le pooling de stockage et la mise en miroir..

Si vous n'êtes pas sûr de ce qu'est un système de fichiers, consultez cette explication de quelques systèmes de fichiers pour Windows Qu'est-ce qu'un système de fichiers et comment vous pouvez en savoir plus sur ce qui est exécuté sur vos disques? Qu'est-ce qu'un système de fichiers et comment le trouver? Qu'est-ce qu'un système de fichiers et pourquoi est-ce important? Découvrez les différences entre FAT32, NTFS, HPS +, EXT, etc. Lire la suite . Vous pouvez également consulter cette comparaison intéressante de divers systèmes de fichiers, de FAT à NTFS à ZFS: systèmes de fichiers démystifiés de FAT à NTFS à ZFS: systèmes de fichiers démystifiés Différents disques durs et systèmes d'exploitation peuvent utiliser différents systèmes de fichiers. Voici ce que cela signifie et ce que vous devez savoir. Lisez-en plus pour avoir une meilleure idée des différences entre les systèmes de fichiers existants.

Btrfs est toujours considéré “instable” par beaucoup, mais la plupart des fonctionnalités sont déjà suffisamment stables pour un usage personnel - ce ne sont que quelques fonctionnalités sélectionnées qui peuvent donner des résultats inattendus.

Bien que Btrfs vise à devenir le système de fichiers par défaut pour Linux à l'avenir, il est toujours préférable d'utiliser ext4 pour les configurations à disque dur unique ou pour les configurations ne nécessitant pas de mise en pool et de mise en miroir du stockage..

Mise en commun de vos lecteurs

Pour cet exemple, nous allons utiliser une configuration à quatre disques durs. Il existe deux disques durs (/ dev / sdb et / dev / sdc) avec 1 To chacun, et deux autres disques (/ dev / sdd et / dev / sde) avec 500 Go pour un total de quatre disques durs avec un total de 3 To de stockage.

Vous pouvez également supposer que vous avez un autre disque dur (/ dev / sda) d’une taille quelconque contenant votre chargeur de démarrage et votre système d’exploitation. Nous ne nous préoccupons pas de / dev / sda et combinons uniquement les quatre autres disques durs à des fins de stockage supplémentaire.

Créer un système de fichiers


Pour créer un système de fichiers Btrfs sur l’un de vos disques durs, vous pouvez utiliser la commande suivante:

sudo mkfs.btrfs / dev / sdb

Bien sûr, vous pouvez remplacer / dev / sdb par le disque dur que vous souhaitez utiliser. À partir de là, vous pouvez ajouter d'autres disques durs au système Btrfs pour en faire une partition unique qui s'étend sur tous les disques durs que vous ajoutez. Commencez par monter le premier disque dur Btrfs à l’aide de la commande suivante:

sudo mount / dev / sdb / mnt

Ensuite, lancez les commandes:

sudo mkfs.btrfs / dev / sdc mkfs.btrfs / dev / sdd mkfs.btrfs / dev / sde

Maintenant, vous pouvez les ajouter au premier disque dur en utilisant les commandes:

sudo périphérique btrfs ajouter / dev / sdc / mnt périphérique btrfs ajouter / dev / sdd / mnt périphérique btrfs ajouter / dev / sde / mnt

Si vous avez des données stockées sur le premier disque dur, vous souhaiterez que le système de fichiers les équilibre entre tous les disques durs récemment ajoutés. Vous pouvez le faire avec la commande:

balance des systèmes de fichiers sudo btrfs / mnt

Sinon, si vous savez avant même de commencer que vous voulez qu'un système de fichiers Btrfs s'étende sur tous les disques durs, vous pouvez simplement exécuter la commande:

sudo mkfs.btrfs -d unique / dev / sdb / dev / sdc / dev / sdd / dev / sde

Bien sûr, cela est beaucoup plus facile, mais vous devrez utiliser la méthode mentionnée ci-dessus si vous ne les ajoutez pas tous en une fois..

Vous remarquerez que j'ai utilisé un drapeau: “-d célibataire”. Cela est nécessaire car je voulais une configuration RAID 0 (où les données sont partagées entre tous les disques durs mais aucune mise en miroir ne se produit), mais le “unique” profil est nécessaire lorsque les disques durs sont de tailles différentes. Si tous les disques durs avaient la même taille, je pourrais utiliser le drapeau “-d raid0”. le “-ré” drapeau, en passant, représente des données et vous permet de spécifier la configuration de données que vous souhaitez. Il y a aussi un “-m” drapeau qui fait exactement la même chose pour les métadonnées.

En plus de cela, vous pouvez également activer RAID 1 en utilisant “-d raid1” qui dupliquerait les données sur tous les périphériques. Par conséquent, utiliser cet indicateur lors de la création du système de fichiers Btrfs couvrant tous les disques durs signifierait que vous n’obtenez que 500 Go d’espace utilisable, car les trois autres disques durs sont utilisés pour la mise en miroir..

Enfin, vous pouvez activer RAID 10 en utilisant “-d raid10”. Cela fera un mélange de RAID 0 et de RAID 1, ce qui vous donnera 1,5 To d'espace utilisable, car les deux disques durs de 1 To sont jumelés en miroir et les deux disques durs de 500 Go sont jumelés en miroir..

Conversion d'un système de fichiers


Si vous avez un système de fichiers Btrfs que vous souhaitez convertir en une configuration RAID différente, c'est facile à faire. Commencez par monter le système de fichiers (s'il ne l'est pas déjà) à l'aide de la commande suivante:

sudo mount / dev / sdb1 / mnt

Ensuite, lancez la commande:

sudo btrfs balance start -dconvert = raid1 -mconvert = raid1 / mnt

Cela modifiera la configuration en RAID 1, mais vous pourrez le remplacer par la configuration de votre choix (tant que cela est autorisé - par exemple, vous ne pouvez pas passer à RAID 10 si vous ne disposez pas d'au moins quatre disques durs). . De plus, l'indicateur -mconvert est facultatif si vous vous souciez uniquement des données mais pas des métadonnées.

En cas de défaillance du disque dur

Si un disque dur tombe en panne, vous devez le supprimer du système de fichiers pour que le reste des lecteurs en pool fonctionne correctement. Montez le système de fichiers avec la commande:

sudo mount -o degraded / dev / sdb / mnt

Puis corrigez le système de fichiers avec:

sudo btrfs device delete missing / mnt

Si RAID 1 ou RAID 10 n'est pas activé, toutes les données présentes sur le disque dur défaillant sont maintenant perdues..

Retrait d'un disque dur du système de fichiers

Enfin, si vous souhaitez supprimer un périphérique d'un système de fichiers Btrfs et que le système de fichiers est monté sur / mnt, vous pouvez le faire à l'aide de la commande suivante:

sudo btrfs device delete / dev / sdc / mnt

Bien sûr, remplacez / dev / sdc par le disque dur que vous souhaitez supprimer. Cette commande prendra un certain temps car elle doit déplacer toutes les données du disque dur en cours de suppression. Elle échouera également s'il n'y a pas assez de place sur les autres disques durs restants..

Montage automatique


Si vous voulez que le système de fichiers Btrfs soit monté automatiquement, vous pouvez le placer dans votre fichier / etc / fstab:

sudo / dev / sdb / mnt btrfs périphérique = / dev / sdb, périphérique = / dev / sdc, périphérique = / dev / sdd, périphérique = / dev / sde 0 0

Options de montage

Une astuce bonus de plus! Vous pouvez optimiser les performances de Btrfs dans votre fichier / etc / fstab dans les options de montage du système de fichiers Btrfs. Pour les baies de stockage volumineuses, ces options sont les meilleures: compress-force = zlib, autodefrag, nospace_cache. Plus précisément, compress = zlib compressera toutes les données afin d’utiliser au mieux l’espace de stockage dont vous disposez. Pour mémoire, les utilisateurs de SSD peuvent utiliser ces options: noatime, compress = lzo, ssd, discard, space_cache, autodefrag, inode_cache. Ces options vont de pair avec les spécifications du périphérique, ainsi une ligne complète dans / etc / fstab pour les utilisateurs de SSD ressemblerait à ceci:

sudo / dev / sdb / mnt btrfs périphérique = / dev / sdb, périphérique = / dev / sdc, périphérique = / dev / sdd, périphérique = / dev / sde,
noatime, compress = lzo, ssd, ignorer, space_cache, autodefrag, inode_cache 0 0

Quelle est la taille de votre pool de stockage?

Btrfs est une option fantastique pour le pool de stockage et la mise en miroir qui deviendra sûrement plus populaire une fois qu’il sera complètement stabilisé. Il n’y aurait pas non plus de mal à créer une interface graphique pour faciliter la configuration (à part dans certains installateurs de distribution), mais les commandes que vous devez utiliser dans le terminal sont faciles à comprendre et à appliquer..

Quel est le plus grand pool de stockage que vous puissiez créer? Pensez-vous que les pools de stockage en valent la peine? Faites le nous savoir dans les commentaires!

Crédit d'image: William Hook