partitionnement et stratégie de sous-vol avec btrfs

10

Je suis nouveau sur btrfs et j'aimerais avoir des conseils sur le partitionnement et la stratégie de sous-volume. Le système est un serveur Web léger et supposons qu'il n'a qu'un seul disque.

Avec les systèmes de fichiers ext, j'ai toujours créé des partitions distinctes pour /, / var, swap (et éventuellement / boot et / home). Pour moi, / var contient toujours toutes les données précieuses du serveur Web (par exemple les bases de données MySQL) et aucun du code. Cela me permet de déplacer facilement les données vers un autre système (déplacer ou copier / var) ou de réinstaller le système d'exploitation sans perturber les données (reformater /) etc.

En utilisant btrfs, je pourrais faire la même chose, utiliser le même schéma de partitionnement et avoir un système de fichiers btrfs distinct sur chaque partition. Ou, je pourrais avoir une seule partition, et utiliser des sous-volumes btrfs pour /, / var et ainsi de suite. Quels seraient les avantages et les inconvénients de cela?

Il me semble qu'il peut y avoir un avantage à avoir des instantanés / uniquement et / var uniquement, par exemple ("Restaurer toutes les données à un point de contrôle précédent" vs "restaurer tout le code" vs "restaurer les deux"). Est-ce vrai ou cela n'apparaît que de cette façon?

Question bonus: y a-t-il des avantages à utiliser lvm sous le (s) système (s) de fichiers btrfs?

Bonus question 2: comment changeriez-vous vos conseils si le système avait deux disques de la même taille?

Tout pointeur vers des articles «c'est ce que j'ai fait et comment cela a fonctionné pour moi» serait également apprécié. Je peux trouver beaucoup de matériel sur ce que je peux faire, mais je n'arrive pas à trouver grand-chose en disant "c'est ce que j'ai essayé et c'est pourquoi cela a fonctionné ou non".

Johannes Ernst
la source
1
Grande question! Je voulais demander presque la même chose. J'aimerais utiliser le chiffrement raid1 et luks, mais il est difficile de trouver des informations pertinentes sur les bases. Par exemple, si je peux installer un système d'exploitation sur un seul volume dupliqué et peut utiliser un sous-volume pour / swap, etc. sans aucun inconvénient. Je devrais peut-être lire le manuel, mais je n'aime pas les longs textes. : D
inf3rno

Réponses:

6

Si vous n'avez pas de besoins spécifiques, utilisez btrfs comme vous utiliseriez un autre système de fichiers. La séparation / domicile est une bonne pratique.

Personnellement, sur les serveurs domestiques, mon seul sous-volume est / etc, donc je peux faire des instantanés des configurations. Cela peut être automatisé avec des outils comme snapper.

Habituellement, il y a peu d'intérêt à restaurer juste une version précédente de / var, en raison de la nécessité de restaurer également / lib / stuff. C'est une situation tout ou rien.

Les instantanés de / home peuvent être TRÈS gros, donc la gestion de la taille du disque est bientôt un problème. Cela peut être fait sans aucun problème, mais gardez un œil sur l'espace restant. De plus, comme les instantanés ne peuvent être créés que sur le même disque, ils ne constituent pas une solution pour les sauvegardes en cas de défaillance du disque. Considérez-les comme quelque chose pour des situations comme "oups, j'ai supprimé ce fichier il y a deux heures, mais j'en ai toujours besoin".

Bonus 1: aucun. En fait, btrfs a été conçu pour simplifier la pile mdadm + lvm + fs. Il vaut donc mieux l'éviter.

Bonus 2: Non, mais faites un RAID 1! Simple et efficace, vos données vous aimeront :)

Bonus Ninja: vous voulez vraiment avoir un bon aperçu du wiki btrfs .

Damien Clauzel
la source
btrfs prend en charge la mise en miroir et d'autres configurations RAID'ish. Même si vous devez éviter de reproduire RAID6, vous pouvez facilement créer un miroir en ajoutant simplement une partition après l'installation. Vous pouvez trouver un bon mode d'emploi ici ( complang.tuwien.ac.at/anton/btrfs-raid1.html )
JOduMonT
0

J'ai revu cela récemment et j'ai pensé partager un article très bien pensé qui propose une partition avec des répertoires de niveau supérieur contenant des sous-volumes: https://bbs.archlinux.org/viewtopic.php?id=194491

TL; DR

subvolid=0
      ├── subvol_root
      │        └── /usr, /bin, /sbin, /.snapshots, etc
      ├── subvol_snapshots
      ├── subvol_home
      └── subvol_opt
ébène
la source