web-dev-qa-db-fra.com

Créer un sous-volume btrfs comme @ ou @home

Étant intriguée par les btrfs, j'ai décidé de jouer avec cela dans une machine virtuelle. L'installation fonctionne très bien tant que je me souviens d'avoir mis /boot sur une partition séparée et tout semble bien fonctionner.

Ce que je voudrais faire est de créer un sous-volume distinct pour les données en vrac avec des paramètres différents de ceux tels que @ et @home. btrfs subvolume create data le fera pour moi, mais je suis curieux de savoir pourquoi il continue à le nommer @/data (ou des choses similaires lorsque j'essaie /data ou @data). Existe-t-il un moyen spécial de créer les sous-volumes tels que @ et @home afin que mon sous-volume de données s'affiche sous la forme @data? (et: quelle est la différence exacte entre les schémas de nommage?)


Information additionnelle:

  • ubuntu 12.04.2, fonctionnant comme un invité KVM sur l'hôte mint15;
  • noyau 3.8.0-27-generic de ubuntu-x-swat (backport de recherche);
  • btrfs utilisant deux périphériques, /dev/sda et /dev/sdb
  • /dev/sda et /dev/sdb sont des partitions d'un disque non utilisé par le système d'exploitation hôte
10
akaIDIOT

Soupir, il semble que j'ai posté un peu trop tôt, avec l'aide du tout-puissant Zosma sur IRC, nous avons découvert comment cela est supposé fonctionner.

Les sous-volumes @ et @home sont des enfants de la racine de btrfs. Par conséquent, / n'est pas réellement la racine du système de fichiers. L'UUID de la racine btrfs est fourni dans /etc/fstab à deux reprises, fournissant les montages pour / et /home. Monter la racine réelle du système de fichiers affiche les sous-volumes créés par le programme d'installation:

root@box:~# mkdir /mnt/btrfs
root@box:~# mount UUID=f8963df3-1320-4bc0-a125-62be185b029e /mnt/btrfs
root@box:~# ls /mnt/btrfs
@  @home

C'est donc là qu'ils sont allés! Créer un nouveau sous-volume exactement comme l'a fait l'installateur d'ubuntu est maintenant facile:

root@box:~# btrfs subvolume create /mnt/btrfs/@data
Create subvolume '/mnt/btrfs/@data'

Maintenant, comme nous avons créé un sous-volume dans la racine de btrfs plutôt que dans le système de fichiers racine pour l'installation, /data/ n'apparaîtra pas par lui-même. Heureusement, il est facile de copier l'astuce utilisée par l'installateur en examinant /etc/fstab et en ajoutant un autre montage pour /data:

UUID=f8963df3-1320-4bc0-a125-62be185b029e /data  btrfs  defaults,subvol=@data 0 2

La dernière étape consiste à créer le point de montage: mkdir /data. Après un redémarrage, un répertoire /data sera monté à partir d'un sous-volume distinct de btrfs.

… Profit!

11
akaIDIOT

L'installation fonctionne très bien tant que je me souviens de mettre/boot sur une partition séparée

Vous n'avez pas besoin d'avoir un/boot séparé. GRUB2 peut lire et démarrer Linux à partir d'un btrfs.

Ce que je voudrais faire est de créer un sous-volume distinct pour les données en vrac avec des paramètres différents de ceux tels que @ et @home.

Si vous parlez de monter des sous-volumes avec différents options de montage , sachez qu’ils ne sont pas actuellement pris en charge: selon la FAQ de Btrfs, " Puis-je monter des sous-volumes avec différents options de montage? ", seules les options spécifiques à btrfs ne sont actuellement ni prises en charge ni implémentées. Cependant, les développeurs ont l'intention de l'implémenter à l'avenir.

btrfs subvolume create data le fera pour moi, mais je suis curieux de savoir pourquoi il continue à le nommer @/data (ou des choses similaires lorsque j'essaie/data ou @data)

Par défaut, le programme d'installation d'Ubuntu, Ubiquity, crée les sous-volumes @ et @home dans le système de fichiers et votre racine Ubuntu se trouve en fait dans le sous-volume @.

Existe-t-il un moyen spécial de créer les sous-volumes tels que @ et @home afin que mon sous-volume de données s'affiche sous la forme @data? (et: quelle est la différence exacte entre les schémas de nommage?)

@ et @home sont des noms arbitraires choisis par l'installateur, qui n'ont aucune signification en dehors de /etc/fstab. En fait, je les renomme généralement sous des noms plus spécifiques, afin de pouvoir disposer de nombreuses distributions installées sur Ubiquity sur le même fichier btrfs, à condition que je me souvienne de mettre à jour leur fstab.

Plus d'explications sur les sous-volumes sur Funtoo.org - BTRFS .

5
ignis