Disposition de sous-volume BTRFS pour les machines virtuelles et les bases de données

Disposition de sous-volume BTRFS pour les machines virtuelles et les bases de données
«BTRFS est idéal pour les instantanés et les données de retour. En planifiant votre disposition de sous-volume, vous pouvez affiner votre instantané, protéger les machines virtuelles et les bases de données des recul à l'échelle du système. Les sous-volumes sont un excellent moyen de gérer des données importantes."

Disposition plate

Lorsque vous effectuez une installation standard d'Ubuntu en utilisant BTRFS sur une partition, l'installateur crée et monte deux sous-volumes: @ (situé à /) et @Accueil (situé à / à domicile). Ceux-ci sont montés au démarrage via / etc / fstab. C'est ce qu'on appelle une disposition plate et rend les instantanés faciles à gérer.

Instantanés et recul

En supposant la configuration BTRFS standard d'Ubuntu, montez la partition de votre système à / mnt:

$ sudo mont / dev / sdx / mnt.

Vous y verrez vos deux sous-volumes:

Le système de fichiers racine entier est contenu à l'intérieur @. Pour prendre un instantané de @ appelé @.instantané, Nous faisons:

Pour retour en arriere Un sous-volume, déplacez / renommer simplement l'ancien sous-volume, puis déplacer / renommer l'instantané que vous souhaitez utiliser sur l'emplacement de l'ancien sous-volume:

$ sudo mv / mnt / @ / mnt / @.cassé
$ sudo mv / mnt / @.instantané / mnt / @

Après un redémarrage, vous utiliserez l'instantané que vous avez pris.

Remarque avant le redémarrage: / etc / fstab a des entrées pour @ et @à la maison comme ça:

"
UUID = xxxxx / btrfs Mount_Options, subvol = @ 0 0
UUid = xxxxx / home btrfs Mount_Options, subvol = @ home 0 0
"

Si vos entrées / etc.

"
UUID = xxxxx / btrfs Mount_Options, subvol = @, subvolid = xxxx 0 0
"

Un ID de sous-volume est un identifiant unique pour un sous-volume. Lorsque vous remplacez un sous-volume, le sous-volume répertorié dans ce point de montage peut avoir le même nom, Mais il aura une pièce d'identité différente. Si l'ID est différent de celui dans / etc / fstab, il ne montera pas. Il est sûr d'utiliser uniquement des noms lors du montage de sous-volumes dans / etc / fstab tant que vos sous-volumes sont nommés de manière unique.

Mariadb

Lorsque vous utilisez MARIADB, vos fichiers de base de données vivront dans «/ var / lib / mariadb."En créant un nouveau sous-volume pour ces données, vous protégez votre base de données contre la touche dans un recul du système lorsque vous retournez @ à un état précédent.

Tout d'abord, montez vos BTRF de haut niveau:

$ sudo mont / dev / sdx / mnt

Créez le nouveau sous-volume:

$ sudo btrfs subvolume Create / mnt / @ Mariadb

Puis montez-le:

$ sudo mont -o subvol = @ mariaDb / dev / sdx / var / lib / mariadb

Ajoutez cette entrée à votre FSTAB et installez la base de données:

$ sudo vim / etc / fstab
"
UUID = xxxxx / var / lib / mariaDb btrfs Mount_options, subvol = @ mariaDb 0 0
"
$ sudo apt installer mariadb-server

Kvm

De même, isolez toutes les machines KVM en un seul sous-volume à «/ var / lib / libvirt / machines:»

$ sudo btrfs subvolume Create / mnt / @ kvm
$ sudo mont -o subvol = @ kvm / dev / sdx / var / lib / libvirt / machines
$ sudo vim / etc / fstab
"
UUID = xxxx / var / lib / libvirt / machines btrfs mont_options, subvol = @ kvm 0 0
"

Si vous avez déjà des données dans votre machine virtuelle et vos répertoires de base de données, vous pouvez les sauvegarder, remplacer le répertoire d'origine par le sous-volume que vous avez fait, puis restaurer les données de la sauvegarde. N'oubliez pas de résoudre les autorisations si nécessaire car tous les sous-volumes nouvellement créés appartiennent à Root:

$ sudo chown -r mysql: mysql / var / lib / mariadb

Conclusion

Maintenant, quand vous devez retourner @ À un état précédent, votre base de données et vos machines virtuelles seront conservées dans des sous-volumes distincts. Les possibilités de disposition des sous-volumes sont infinies, et ce que j'ai démontré ici n'est qu'une façon d'utiliser les BTRF pour protéger et préserver vos données. Quel que soit votre cas d'utilisation, la flexibilité des sous-volumes BTRFS peut améliorer les fonctionnalités de votre serveur ou de votre poste de travail.