Publicité

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 défaillance du disque dur. Une fois tout installé, vous pouvez simplement jeter tout ce que vous voulez dans la piscine et tirer le meilleur parti de l'espace de stockage dont vous disposez.

Il n'y a pas d'utilitaire de configuration GUI qui peut rendre tout cela plus (encore) plus facile, mais c'est toujours assez facile à faire avec la ligne de commande. Je vais vous guider à travers une configuration simple pour utiliser plusieurs disques durs ensemble.

Qu'est-ce que Btrfs?

Btrfs (appelé système de fichiers B-tree, «Butter FS» ou «Better FS») est un système de fichiers à venir Ext4 vs Btrfs: Pourquoi nous faisons le changement [Linux]

instagram viewer
Honnêtement, l'une des dernières choses que les gens examinent est le système de fichiers utilisé. Les utilisateurs de Windows et Mac OS X ont encore moins de raisons de regarder, car ils n'en ont vraiment qu'un ... Lire la suite qui incorpore de nombreuses fonctionnalités différentes 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 les instantanés de système de fichiers), les deux que nous allons examiner dans cet article sont le pool 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 savoir ce qui fonctionne sur vos disquesQu'est-ce qu'un système de fichiers et pourquoi sont-ils importants? Découvrez les différences entre FAT32, NTFS, HPS +, EXT et plus encore. Lire la suite . Vous pouvez également consulter cette belle comparaison de différents systèmes de fichiers De FAT à NTFS à ZFS: les systèmes de fichiers démystifiésDifférents disques durs et systèmes d'exploitation peuvent utiliser des systèmes de fichiers différents. Voici ce que cela signifie et ce que vous devez savoir. Lire la suite pour avoir une meilleure idée des différences entre les systèmes de fichiers existants.

Btrfs est toujours considéré comme «pas stable» 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 où vous pourriez rencontrer des résultats inattendus.

Bien que Btrfs vise à être le système de fichiers par défaut pour Linux à un moment donné dans le futur, il est toujours préférable d'utiliser ext4 pour les configurations à disque dur unique ou pour les configurations qui n'ont pas besoin de pool de stockage et de mise en miroir.

Mettre vos disques en commun

Pour cet exemple, nous allons utiliser une configuration à quatre disques durs. Il y a deux disques durs (/ dev / sdb et / dev / sdc) avec 1 To chacun, et deux autres disques durs (/ 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 arbitraire qui contient 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émentaires.

Création d'un système de fichiers

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

sudo mkfs.btrfs / dev / sdb

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

montage sudo / dev / sdb / mnt

Ensuite, exécutez les commandes:

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

Maintenant, vous pouvez les ajouter au premier disque dur à l'aide des commandes:

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

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

sudo btrfs balance system system / mnt

Alternativement, si vous savez avant même de commencer que vous souhaitez 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 single / 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 seule fois.

Vous remarquerez que j'ai utilisé un indicateur: "-d single". C'est nécessaire parce que je voulais une configuration RAID 0 (où les données sont réparties entre tous les disques mais aucune mise en miroir ne se produit), mais le profil "unique" est nécessaire lorsque les disques durs sont différents tailles. Si tous les disques durs avaient la même taille, je pourrais utiliser à la place le drapeau «-d raid0». Le drapeau «-d», soit dit en passant, représente les données et vous permet de spécifier la configuration de données que vous souhaitez. Il existe également un indicateur «-m» 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 dupliquera les données sur tous les périphériques, donc utilisez cet indicateur lors de la création du Le système de fichiers Btrfs qui couvre 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 RAID 1, donc cela vous donnera 1,5 To d'espace utilisable car les deux disques durs de 1 To sont couplés en miroir et les deux disques durs de 500 Go sont couplés en miroir.

Conversion d'un système de fichiers

btrfs_harddiskstack
Si vous avez un système de fichiers Btrfs que vous souhaitez convertir en une configuration RAID différente, cela se fait facilement. Tout d'abord, montez le système de fichiers (s'il ne l'est pas déjà) à l'aide de la commande:

sudo mount / dev / sdb1 / mnt

Ensuite, exécutez la commande:

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

Cela changera la configuration en RAID 1, mais vous pouvez la remplacer par la configuration de votre choix (donc tant qu'il est réellement autorisé - par exemple, vous ne pouvez pas passer au RAID 10 si vous n'en avez pas au moins quatre disques). De plus, l'indicateur -mconvert est facultatif si vous vous préoccupez 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 devrez le supprimer du système de fichiers afin que les autres lecteurs regroupés fonctionnent correctement. Montez le système de fichiers avec la commande:

montage sudo -o dégradé / dev / sdb / mnt

Ensuite, corrigez le système de fichiers avec:

sudo btrfs device delete missing / mnt

Si vous n'aviez pas activé RAID 1 ou RAID 10, toutes les données qui se trouvaient sur le disque dur défectueux 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 avec la commande:

suppression de périphérique sudo btrfs / 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 à supprimer et échouera également s'il n'y a pas assez de place sur les autres disques durs restants.

Montage automatique

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

sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde 0 0

Options de montage

Encore une astuce bonus! Vous pouvez optimiser les performances de Btrfs dans votre fichier / etc / fstab sous 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 que vous puissiez tirer le meilleur parti de 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 de l'appareil, donc une ligne complète dans / etc / fstab pour les utilisateurs SSD ressemblerait à:

sudo / dev / sdb / mnt btrfs device = / dev / sdb, device = / dev / sdc, device = / dev / sdd, device = / dev / sde,
noatime, compress = lzo, ssd, discard, space_cache, autodefrag, inode_cache 0 0

Quelle est la taille de votre pool de stockage?

Btrfs est une option fantastique pour la mise en commun et la mise en miroir du stockage qui deviendra certainement plus populaire une fois qu'il sera jugé complètement stable. Il n'y aurait pas de mal non plus à avoir une interface graphique pour faciliter la configuration (en plus dans certains installateurs de distribution), mais les commandes que vous devez utiliser dans le terminal sont faciles à saisir et à appliquer.

Quel est le plus grand pool de stockage que vous pourriez 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

Danny est un senior à l'Université de North Texas qui aime tous les aspects des logiciels open source et Linux.