Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:btrfs-root-install-subvol [14/03/2014 22:14] kao atelier:chantier:btrfs-root-install-subvol renommé en doc:systeme:btrfs-root-install-subvol (Elle est prête pour sortir du chantier) |
doc:systeme:btrfs-root-install-subvol [28/10/2015 18:45] (Version actuelle) milou [BTRFS : Installation de Debian dans un subvolume] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Niveau requis : {{tag>avisé,expert}} | * Niveau requis : {{tag>avisé,expert}} | ||
* Commentaires : //Methode d'installation pour installer Debian dans un subvolume BTRFS// | * Commentaires : //Methode d'installation pour installer Debian dans un subvolume BTRFS// | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|La ligne de commande]] ; [[:doc:systeme:sauvegarde|Les sauvegardes]] ; [[:doc:systeme:partition|Le partitionnement]] ; [[:doc:systeme:fstab|Le montage des partitions]] [[:tuto:btrfs-base|Les bases du Btrfs]] FIXME:-) | + | * [[:doc:systeme:sauvegarde|Les sauvegardes]] ; [[:doc:systeme:partition|Le partitionnement]] ; [[:doc:systeme:fstab|Le montage des partitions]] [[:doc:systeme:btrfs|Les bases du Btrfs]] :-) |
- | * Suivi : {{tag>en-chantier}} | + | * Suivi : {{tag>à-tester}} |
- | * Création par **louispolaire** 12/03/2014 | + | * Création par [[user>louispolaire]] 12/03/2014 |
- | * Testé par <...> le <...> FIXME | + | * Testé par .... le .... |
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=8616 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=8616 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | |||
+ | |||
| | ||
Ce Tuto est divisé en trois parties : | Ce Tuto est divisé en trois parties : | ||
- | * FIXME[[:lien:vers:la-première-partie|La première partie présente les principes du Btrfs et les commandes de base.]] À la fin de ce tuto vous serez capable de comprendre la terminologie de Btrfs, de créer un volume et de gérer les subvolumes et snapshots. | + | * [[:doc:systeme:btrfs|La première partie présente les principes du Btrfs et les commandes de base.]] À la fin de ce tuto vous serez capable de comprendre la terminologie de Btrfs, de créer un volume et de gérer les subvolumes et snapshots. |
* Cette deuxième partie présente l'installation de Debian dans un subvolume. À la fin de ce tuto vous serez capable d'installer Debian dans un subvolume et de modifier Grub pour y booter. | * Cette deuxième partie présente l'installation de Debian dans un subvolume. À la fin de ce tuto vous serez capable d'installer Debian dans un subvolume et de modifier Grub pour y booter. | ||
- | * FIXME[[:lien:versle-backup|La troisième partie présente différentes méthodes pour réaliser des sauvegardes des subvolumes]]. A la fin de cette partie vous aurez des pistes pour élaborer une stratégie de backup de vos données sur Btrfs. | + | * [[:doc:systeme:btrfs-sauvegarde|La troisième partie présente différentes méthodes pour réaliser des sauvegardes des subvolumes]]. A la fin de cette partie vous aurez des pistes pour élaborer une stratégie de backup de vos données sur Btrfs. |
| | ||
- | <note>Ce Tutoriel fait suite à FIXME [[lien:vers:btrfs|Btrfs - Les bases]] \\ Assurez vous d'avoir bien lu ce précédent tuto avant d'envisager celui-ci !</note> | + | <note>Ce Tutoriel fait suite à [[:doc:systeme:btrfs|Btrfs - Les bases]] \\ Assurez vous d'avoir bien lu ce précédent tuto avant d'envisager celui-ci !</note> |
| | ||
===== Installation de / (root) dans un volume Btrfs ===== | ===== Installation de / (root) dans un volume Btrfs ===== | ||
Ligne 25: | Ligne 28: | ||
* Le processus d'installation est le même que pour un autre système de fichiers. Il faudra cependant revoir les options de montages dans le fstab. | * Le processus d'installation est le même que pour un autre système de fichiers. Il faudra cependant revoir les options de montages dans le fstab. | ||
* Il sera éventuellement possible de déplacer tous les fichiers de / dans un subvolume par la suite (avec un cp -Ra par exemple). **MAIS ATTENTION !!!** Il faudra apporter des modifications au grub.cfg sinon le système ne bootera plus automatiquement. Cet aspect sera traité par la suite. | * Il sera éventuellement possible de déplacer tous les fichiers de / dans un subvolume par la suite (avec un cp -Ra par exemple). **MAIS ATTENTION !!!** Il faudra apporter des modifications au grub.cfg sinon le système ne bootera plus automatiquement. Cet aspect sera traité par la suite. | ||
- | * Utiliser un méthode d'installation via chroot. La méthode est flexible donc l'installation du système de base directement dans un subvolume sera aisé. | + | * Utiliser un méthode d'installation via chroot. La méthode est flexible donc l'installation du système de base directement dans un subvolume sera aisée. |
* C'est la méthode la plus élégante, puisqu'elle est très flexible. | * C'est la méthode la plus élégante, puisqu'elle est très flexible. | ||
* Je ne vais pas détailler cette méthode ici, il y a des tutoriels bien faits [[:doc:install:debootstrap-chroot|(par exemple ici)]]. Sachez juste qu'il suffit au moment du montage des partitions d'ajouter dans les options de montage **subvol=//chemin/vers/le/subvolume/racine//** pour utiliser le subvolume comme racine. | * Je ne vais pas détailler cette méthode ici, il y a des tutoriels bien faits [[:doc:install:debootstrap-chroot|(par exemple ici)]]. Sachez juste qu'il suffit au moment du montage des partitions d'ajouter dans les options de montage **subvol=//chemin/vers/le/subvolume/racine//** pour utiliser le subvolume comme racine. | ||
- | * Grub sait maintenant bien gérer le Btrfs même à l'intérieur d'un subvolume. Par contre, dans le cas d'un multi-boot, os-prober ne va pas fouiller dans tous les subvolumes, donc votre nouveau système ne saura pas trouvé par la commande update-grub d'un autre système. [[syntax#GRUB|Je propose une méthode plus bas]]. | + | * Grub sait maintenant bien gérer le Btrfs même à l'intérieur d'un subvolume. Par contre, dans le cas d'un multi-boot, os-prober ne va pas fouiller dans tous les subvolumes, donc votre nouveau système ne saura pas trouvé par la commande update-grub d'un autre système. [[#GRUB|Je propose une méthode plus bas]]. |
- | * La méthode d'installation via chroot est utilisée par Arch et Gentoo entre autre. Il est donc simple d'installer ces distributions dans un subvolume. | + | * La méthode d'installation via chroot est utilisée par Arch et Gentoo entre autres. Il est donc simple d'installer ces distributions dans un subvolume. |
* Utiliser le mode d'installation expert pour installer Debian dans un subvolume. | * Utiliser le mode d'installation expert pour installer Debian dans un subvolume. | ||
* La méthode est moins élégante que la précédente et c'est pour ça que je vais la détailler. :-P | * La méthode est moins élégante que la précédente et c'est pour ça que je vais la détailler. :-P | ||
Ligne 68: | Ligne 71: | ||
On va créer les subvolumes où l'on désire installer Debian : | On va créer les subvolumes où l'on désire installer Debian : | ||
- | <code root>cd /mnt | + | <code root>cd /mnt</code> |
- | btrfs subvolume create debian | + | <code root>btrfs subvolume create debian</code> |
- | cd debian | + | <code root>cd debian</code> |
- | btrfs subvolume create root | + | <code root>btrfs subvolume create root</code> |
- | btrfs subvolume create home | + | <code root>btrfs subvolume create home</code> |
- | </code> | + | |
Si vous êtes adepte d'un /usr séparé ajoutez le subvolume correspondant. Après c'est une histoire d'organisation. | Si vous êtes adepte d'un /usr séparé ajoutez le subvolume correspondant. Après c'est une histoire d'organisation. | ||
Ligne 79: | Ligne 82: | ||
On monte les subvolumes dans /target : | On monte les subvolumes dans /target : | ||
- | <code root>cd / | + | <code root>cd /</code> |
- | mkdir -p /target | + | <code root>mkdir -p /target</code> |
- | mount -t btrfs -o ..options..,subvol=debian/root /dev/sdaX /target | + | <code root>mount -t btrfs -o ..options..,subvol=debian/root /dev/sdaX /target</code> |
- | mkdir /target/home | + | <code root>mkdir /target/home</code> |
- | mount -t btrfs -o ..options..,subvol=debian/home /dev/sdaX /target/home | + | <code root>mount -t btrfs -o ..options..,subvol=debian/home /dev/sdaX /target/home</code> |
- | (umount /mnt) | + | <code root>(umount /mnt)</code> |
- | cat /proc/self/mountinfo | + | <code root>cat /proc/self/mountinfo</code> |
- | exit</code> | + | <code root>exit</code> |
La dernière commande devrais vous donner la liste des volumes montés y compris les subvolumes. | La dernière commande devrais vous donner la liste des volumes montés y compris les subvolumes. | ||
Ligne 105: | Ligne 108: | ||
<note>Grub est même capable de booter depuis un /boot compressé en lzo ou zlib ! \\ | <note>Grub est même capable de booter depuis un /boot compressé en lzo ou zlib ! \\ | ||
Ce n'est pas le cas de Syslinux. Pour utiliser syslinux il vous faudra empêcher la compression de /boot : | Ce n'est pas le cas de Syslinux. Pour utiliser syslinux il vous faudra empêcher la compression de /boot : | ||
- | <code root>cd /subvolume/racine/ | + | <code root>cd /subvolume/racine/</code> |
- | mv /boot /boot-old | + | <code root>mv /boot /boot-old</code> |
- | mkdir /boot | + | <code root>mkdir /boot</code> |
- | chattr -c /boot | + | <code root>chattr -c /boot</code> |
- | cp --reflink -R /boot-old/* /boot/ | + | <code root>cp --reflink -R /boot-old/* /boot/</code> |
- | rm -R /boot-old</code> | + | <code root>rm -R /boot-old</code> |
L'option **--reflink** va forcer la duplication des données sur le disque lors de la réecriture dans le /boot sans compression.</note> | L'option **--reflink** va forcer la duplication des données sur le disque lors de la réecriture dans le /boot sans compression.</note> | ||
Ligne 143: | Ligne 146: | ||
Ouvrez le grub.cfg du nouveau système : | Ouvrez le grub.cfg du nouveau système : | ||
- | <code root>mount /dev/sdaX -o ..options.. /mnt | + | <code root>mount /dev/sdaX -o ..options.. /mnt</code> |
- | cd /mnt/debian/root/boot/grub | + | <code root>cd /mnt/debian/root/boot/grub</code> |
- | mousepad grub.cfg</code> | + | <code root>mousepad grub.cfg</code> |
Copiez la partie après ### BEGIN ... | Copiez la partie après ### BEGIN ... | ||
- | <file bash> | + | |
+ | <file config extrait grub.cfg> | ||
menuentry 'Debian GNU/Linux, avec Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os { | menuentry 'Debian GNU/Linux, avec Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os { | ||
load_video | load_video | ||
Ligne 161: | Ligne 165: | ||
initrd /debian/root/boot/initrd.img-3.2.0-4-amd64 | initrd /debian/root/boot/initrd.img-3.2.0-4-amd64 | ||
} | } | ||
+ | |||
</file> | </file> | ||
Ligne 175: | Ligne 180: | ||
Attention à ne pas effacer les premières lignes ! | Attention à ne pas effacer les premières lignes ! | ||
<code root>nano /etc/grub.d/40_custom</code> | <code root>nano /etc/grub.d/40_custom</code> | ||
- | <file bash>#!/bin/sh | + | |
+ | <file config 40_custom> | ||
+ | #!/bin/sh | ||
exec tail -n +3 $0 | exec tail -n +3 $0 | ||
# This file provides an easy way to add custom menu entries. Simply type the | # This file provides an easy way to add custom menu entries. Simply type the | ||
Ligne 193: | Ligne 200: | ||
} | } | ||
</file> | </file> | ||
- | <code root>chmod +x /etc/grub.d/40_custom | + | |
- | update-grub</code> | + | |
+ | <code root>chmod +x /etc/grub.d/40_custom</code> | ||
+ | <code root>update-grub</code> | ||
<note warning> **Profitez en pour éditer le fstab du nouveau système :** | <note warning> **Profitez en pour éditer le fstab du nouveau système :** | ||
<code root>nano /mnt/debian/root/etc/fstab</code> | <code root>nano /mnt/debian/root/etc/fstab</code> | ||
<file fstab>#l'entrée pour la racine | <file fstab>#l'entrée pour la racine | ||
- | UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 / Btrfs rw,noatime,ssd,discard,autodefrag,subvol=debian/root 0 0 | + | UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 / Btrfs rw,noatime,ssd,discard, |
+ | autodefrag,subvol=debian/root 0 0 | ||
#l'entrée pour le home | #l'entrée pour le home | ||
- | UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 /home Btrfs rw,noatime,ssd,discard,autodefrag,subvol=debian/home 0 0 | + | UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 /home Btrfs rw,noatime,ssd,discard, |
+ | autodefrag,subvol=debian/home 0 0 | ||
#swap et tmpfs | #swap et tmpfs | ||
swap... | swap... | ||
tmpfs /tmp tmpfs default 0 0 | tmpfs /tmp tmpfs default 0 0 | ||
- | + | #Je vous conseille de monter le volume Btrfs à la racine quelque part afin d'y avoir accès | |
- | #Je vous conseille de monter le volume Btrfs à la racine quelque part afin d'y avoir accès facilement | + | facilement |
- | UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 /home/Btrfs Btrfs rw,noatime,ssd,discard,autodefrag,nodev,nosuid,noexec,subvolid=0 0 0 | + | UUID=a69d9182-f4c7-4276-b35d-7d5f9bd50a57 /home/Btrfs Btrfs rw,noatime,ssd,discard, |
+ | autodefrag,nodev,nosuid,noexec,subvolid=0 0 0 | ||
</file></note> | </file></note> | ||
- | Et voilà ! Au redémarrage vous aurez une entrée "Debian GNU/Linux, avec Linux 3.2.0-4-amd64" dans votre menu Grub et ça devrais booter !! | + | Et voilà ! Au redémarrage vous aurez une entrée "Debian GNU/Linux, avec Linux 3.2.0-4-amd64" dans votre menu Grub et ça devrait booter !! |
===== Références ==== | ===== Références ==== | ||
* [[https://btrfs.wiki.kernel.org|Le wiki de Btrfs]] | * [[https://btrfs.wiki.kernel.org|Le wiki de Btrfs]] | ||
* [[https://wiki.archlinux.org/index.php/Btrfs|La page sur Btrfs sur le wiki d'Archlinux]] | * [[https://wiki.archlinux.org/index.php/Btrfs|La page sur Btrfs sur le wiki d'Archlinux]] | ||
- | * [[http://zythmer.acyclic.org/blog/2013/01/27/debian-full-disk-encryption-btrfs-subvolumes.html|http://zythmer.acyclic.org/blog/2013/01/27/debian-full-disk-encryption-btrfs-subvolumes.html]] | + | * %%[[http://zythmer.acyclic.org/blog/2013/01/27/debian-full-disk-encryption-btrfs-subvolumes.html|http://zythmer.acyclic.org/blog/2013/01/27/debian-full-disk-encryption-btrfs-subvolumes.html]]%% - **Lien Obsolète** |