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. Avec tout ce qui est en place, vous pouvez simplement jeter ce que vous voulez dans la piscine et utiliser au maximum l'espace de stockage dont vous disposez.
Il n'y a pas d'utilitaire de configuration de GUI 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 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 commutateur [Linux] Ext4 vs Btrfs: Pourquoi nous faisons le commutateur [Linux] Très honnêtement, une des dernières choses que les gens regardent est le système de fichiers utilisé. Les utilisateurs de Windows et de Mac OS X ont encore moins de raison de regarder, car ils n'en ont vraiment qu'un seul ... Read More qui intègre de nombreuses fonctionnalités différentes au niveau du système de fichiers normalement disponibles uniquement en tant que progiciels distincts. Alors que Btrfs possède de nombreuses fonctionnalités remarquables (telles que les snapshots de systèmes 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, jetez un oeil à cette explication de quelques systèmes de fichiers pour Windows. Qu'est-ce qu'un système de fichiers? Comment savoir ce qui fonctionne sur vos lecteurs Qu'est-ce qu'un système de fichiers? Ce qui se passe sur vos disques Lire la suite. Vous pouvez également consulter cette belle comparaison de divers systèmes de fichiers De FAT en NTFS en ZFS: Systèmes de fichiers démystifiés [MakeUseOf explique] De FAT en NTFS en ZFS: Systèmes de fichiers démystifiés [MakeUseOf Explique] Savez-vous vraiment ce que votre disque dur lire un fichier ou en écrire un? Nos disques durs peuvent maintenant stocker des quantités massives de données, et cet espace massif ... 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 «non stable» par beaucoup, mais la plupart des fonctionnalités sont déjà assez 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 ait pour objectif d'être le système de fichiers par défaut pour Linux dans le futur, il est toujours préférable d'utiliser ext4 pour les configurations de disque dur unique ou pour les configurations qui n'ont pas besoin de pool de stockage et de mise en miroir.
Mise en commun de vos lecteurs
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) de taille arbitraire qui contient votre bootloader et votre système d'exploitation. Nous ne nous préoccupons pas de / dev / sda et nous combinons uniquement les quatre autres disques durs à des fins de stockage supplémentaires.
Création d'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:
sudo mkfs.btrfs /dev/sdb
Bien sûr, vous pouvez remplacer / dev / sdb par le disque dur que vous voulez utiliser. De là, vous pouvez ajouter d'autres disques durs au système Btrfs pour en faire une seule partition couvrant tous les disques durs que vous ajoutez. Tout d'abord, montez le premier disque dur Btrfs en utilisant la commande:
sudo mount /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 en utilisant les commandes:
sudo btrfs device add /dev/sdc /mnt btrfs device add /dev/sdd /mnt btrfs device add /dev/sde /mnt
Si vous avez stocké des données sur le premier disque dur, vous souhaiterez que le système de fichiers s'équilibre entre tous les disques durs nouvellement ajoutés. Vous pouvez le faire avec la commande:
sudo btrfs filesystem balance /mnt
Alternativement, si vous savez avant même de commencer que vous voulez qu'un système de fichiers Btrfs couvre tous les disques durs, vous pouvez simplement lancer la commande:
sudo mkfs.btrfs -d single /dev/sdb /dev/sdc /dev/sdd /dev/sde
Bien sûr, c'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 drapeau: "-d single". Cela est nécessaire car je voulais une configuration RAID 0 (où les données sont réparties entre tous les disques durs mais aucune mise en miroir ne se produit), mais le profil "unique" est nécessaire lorsque les disques durs sont de tailles différentes. Si tous les disques durs avaient la même taille, je pourrais plutôt utiliser le drapeau "-d raid0". Le drapeau "-d", en passant, est synonyme de données et vous permet de spécifier la configuration de données que vous voulez. Il y a aussi un drapeau "-m" qui fait exactement la même chose pour les métadonnées.
En outre, vous pouvez également activer RAID 1 en utilisant "-d raid1" qui dupliquera les données sur tous les périphériques, donc utiliser ce drapeau lors de la création du système de fichiers Btrfs qui couvre tous les disques durs signifierait que vous avez seulement 500Go d'espace utilisable, comme 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, de sorte qu'il vous donnera 1, 5 To d'espace utilisable que les deux disques durs de 1 To sont appariés en miroir et les deux disques durs de 500 Go sont apparié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. Tout d'abord, montez le système de fichiers (si ce n'est déjà fait) en utilisant 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 que vous voulez (tant qu'elle est autorisée - par exemple, vous ne pouvez pas passer en RAID 10 si vous n'avez pas au moins quatre disques durs) . De plus, le drapeau -mconvert est facultatif si vous êtes juste concerné par les données mais pas les métadonnées.
Si une panne de disque dur se produit
Si un disque dur tombe en panne, vous devrez le retirer 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
Ensuite, corrigez le système de fichiers avec:
sudo btrfs device delete missing /mnt
Si vous n'avez pas activé RAID 1 ou RAID 10, toutes les données qui se trouvaient 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 avec la commande suivante:
sudo btrfs device delete /dev/sdc /mnt
Bien sûr, remplacez / dev / sdc par le disque dur que vous voulez supprimer. Cette commande prendra un certain temps car elle doit déplacer toutes les données du disque dur en cours de suppression, et é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 device=/dev/sdb, device=/dev/sdc, device=/dev/sdd, device=/dev/sde 0 0
Options de montage
Une astuce de bonus supplémentaire! 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 grandes baies de stockage, 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 utiliser au maximum l'espace de stockage dont vous disposez. Pour mémoire, les utilisateurs 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 à ceci:
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 pool de stockage et la mise en miroir qui ne manquera pas de gagner en popularité une fois qu'elle sera complètement stable. Cela ne ferait pas de mal non plus qu'il y ait une interface graphique pour faciliter la configuration (en plus de 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 faire? Pensez-vous que les pools de stockage en valent la peine? Faites le nous savoir dans les commentaires!
Crédit d'image: William Hook