Différences
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 Prochaine révision Les deux révisions suivantes | ||
utilisateurs:bcag2:zfs [Le 15/02/2022, 15:20] bcag2 [Le boot d'UBUNTU installé] typo, recadrage capture zfsboot02.jpg |
utilisateurs:bcag2:zfs [Le 04/04/2022, 15:04] geole [Un contexte] |
||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
* Exemple pour la partie spécifique ZFS lors d'une installation 22.04. | * Exemple pour la partie spécifique ZFS lors d'une installation 22.04. | ||
L'option présélectionnée n'est pas bonne. | L'option présélectionnée n'est pas bonne. | ||
- | Cocher la seconde option. Cliquer sur "**Fonctions avancées**". Cliquer sur effacer le disque et utiliser zfs. Éventuellement, cliquer sur "**Chiffrer la nouvelle installation** ...." Cliquer sur continuer. | + | Cocher la seconde option. Cliquer sur "**Fonctions avancées**". Cliquer sur //Effacer le disque et utiliser zfs//. Éventuellement, cliquer sur "**Chiffrer la nouvelle installation** …" Cliquer sur continuer. |
{{ :zfs:zfsinstal01.png?800 |}} | {{ :zfs:zfsinstal01.png?800 |}} | ||
Ligne 69: | Ligne 69: | ||
Choisir une ligne dans cet historique est facile. Cependant savoir si c'est la bonne ligne est probablement moins aisé. Voici un exemple: | Choisir une ligne dans cet historique est facile. Cependant savoir si c'est la bonne ligne est probablement moins aisé. Voici un exemple: | ||
- | {{ :zfs:zfsboot02.jpg?600 |}} | + | {{ :zfs:zfsboot02.png?600 |}} |
Il est possible de choisir de repartir avec une ancienne version de logiciel uniquement ou une ancienne version de logiciel **et de données**. | Il est possible de choisir de repartir avec une ancienne version de logiciel uniquement ou une ancienne version de logiciel **et de données**. | ||
- | {{ :zfs:zfsboot03.jpg?600 |}} | + | {{ :zfs:zfsboot03.png?600 |}} |
Si on choisit le mode recovery, on obtient la grille habituelle de dépannage | Si on choisit le mode recovery, on obtient la grille habituelle de dépannage | ||
- | {{ :zfs:zfsboot04.jpg?600 |}} | + | {{ :zfs:zfsboot04.png?600 |}} |
===== Utilisation ===== | ===== Utilisation ===== | ||
<note warning>Ce chapitre n'est pas développé. </note> | <note warning>Ce chapitre n'est pas développé. </note> | ||
+ | ==== Un contexte ==== | ||
+ | Le disque interne est composé de trois partitions. La première en NTFS, contient le logiciel windows. La seconde en EXT4, contient un logiciel ubuntu. La troisième plus volumineuse en NTFS, contient les données utilisateurs. | ||
+ | |||
+ | Le disque externe est composé des duplications de ces trois partitions obtenues par un copie/coller fait par gparted et régulièrement maintenues grace aux commandes RSYNC. | ||
+ | |||
+ | Décision a été prise d'installer ZFS dans ce disque EXTERNE. Cela a détruit les partitions. Elles ont été regénérées sous forme de pool dédié. | ||
+ | |||
+ | * Création des points de montage dédiés avec un nom identique aux labels des partitions à sauver. Action à ne faire qu'une fois. | ||
+ | <code bash>sudo zfs create rpool/USERDATA/Win21H2 | ||
+ | sudo zfs create rpool/USERDATA/Ubuntu22.04 | ||
+ | sudo zfs create rpool/USERDATA/Commun</code> | ||
+ | * Vérification très facultative que tout est correct. Fait le suivi des taux de remplissage comme la commande **df -h** | ||
+ | <code bash>zfs list -o available,compression,compressratio,type,used,mountpoint rpool/USERDATA/Win21H2 rpool/USERDATA/Ubuntu22.04 rpool/USERDATA/Commun </code> | ||
+ | * Transfert régulier des données. Le montage des partitions émettrices n'est pas mentionné. | ||
+ | <code bash>sudo rsync -av --del /media/$USER/Win21H2/* /Win21H2 | ||
+ | sudo rsync -av --del /media/$USER/Ubuntu22.04/* /Ubuntu22.04 | ||
+ | sudo rsync -av --del /media/$USER/Commun/* /Commun </code> | ||
+ | * Obtenir les tailles et les taux de compression des données utilisateur, des logiciels ubuntu et windows | ||
+ | <code bash>zfs list -o available,compression,compressratio,type,used,mountpoint rpool/USERDATA/W21H2b rpool/USERDATA/U20.04 rpool/USERDATA/Commun | ||
+ | AVAIL COMPRESS RATIO TYPE USED MOUNTPOINT | ||
+ | 79.0G lz4 1.11x filesystem 321G /Commun | ||
+ | 79.0G lz4 1.24x filesystem 17.7G /U20.04 | ||
+ | 79.0G lz4 1.57x filesystem 21.3G /W21H2b </code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== Accès aux partitions depuis un autre Ubuntu ===== | ===== Accès aux partitions depuis un autre Ubuntu ===== | ||
<note warning>Ce chapitre doit être validé</note> | <note warning>Ce chapitre doit être validé</note> | ||
Il est possible de lire et d'écrire dans une partition ZFS depuis un autre O.S. La procédure à suivre est décrite ci-dessous. | Il est possible de lire et d'écrire dans une partition ZFS depuis un autre O.S. La procédure à suivre est décrite ci-dessous. | ||
+ | ==== Préparatifs ==== | ||
* Vérifier si le logiciel utilisé dispose de la couche adéquate. Le plus simple est de faire une commande du paquet "zfs". La réponse dira que le pool est vide ou garni ou qu'il est nécessaire d'installer un paquet et donnera la liste possible des paquets candidats. <code bash>sudo zpool list</code> | * Vérifier si le logiciel utilisé dispose de la couche adéquate. Le plus simple est de faire une commande du paquet "zfs". La réponse dira que le pool est vide ou garni ou qu'il est nécessaire d'installer un paquet et donnera la liste possible des paquets candidats. <code bash>sudo zpool list</code> | ||
* Si nécessaire, installer le paquet proposé par le retour de la commande ci-dessus. Par exemple <code bash>sudo apt install zfsutils-linux </code> | * Si nécessaire, installer le paquet proposé par le retour de la commande ci-dessus. Par exemple <code bash>sudo apt install zfsutils-linux </code> | ||
* Vérifier si des partitions formatées en ZFS sont présentes. L'une de ces commandes est possible: <code bash>sudo blkid | grep pool </code> <code bash>sudo blkid | grep zfs_member</code> | * Vérifier si des partitions formatées en ZFS sont présentes. L'une de ces commandes est possible: <code bash>sudo blkid | grep pool </code> <code bash>sudo blkid | grep zfs_member</code> | ||
+ | ==== Pour une installation non chiffrée, ces commandes fonctionnent ==== | ||
* **Soit** importer la partition désirée en bon état en utilisant le nom de pool trouvé dans l'une des deux commandes précédentes et en donnant un nouveau nom pour le pool d'importation. Dans ce qui suit, le pool trouvé est **temprpool** . Il y a peu de chances qu'il soit le bon. <code bash>sudo zpool import -f temprpool MonPool</code><code bash>zpool list </code> Si l'import se passe bien, la commande de liste donne les caractéristiques de la partition. Si l'import se passe très bien, la partition est même montée à condition que le point de montage de la partition ne soit pas déjà occupé. Le point de montage est au niveau de la racine. Si la liste est vide, l'import n'a pas réussi. L'une des causes peut être une partition en mauvais état. | * **Soit** importer la partition désirée en bon état en utilisant le nom de pool trouvé dans l'une des deux commandes précédentes et en donnant un nouveau nom pour le pool d'importation. Dans ce qui suit, le pool trouvé est **temprpool** . Il y a peu de chances qu'il soit le bon. <code bash>sudo zpool import -f temprpool MonPool</code><code bash>zpool list </code> Si l'import se passe bien, la commande de liste donne les caractéristiques de la partition. Si l'import se passe très bien, la partition est même montée à condition que le point de montage de la partition ne soit pas déjà occupé. Le point de montage est au niveau de la racine. Si la liste est vide, l'import n'a pas réussi. L'une des causes peut être une partition en mauvais état. | ||
* **Soit** monter la partition en mauvais état. Mêmes remarques. Les commandes seront <code bash>sudo zpool import -f -D temprpool MonPool </code><code bash>zpool list </code>Si la liste est vide, l'import n'a pas réussi. L'une des causes peut être une partition en bon état. | * **Soit** monter la partition en mauvais état. Mêmes remarques. Les commandes seront <code bash>sudo zpool import -f -D temprpool MonPool </code><code bash>zpool list </code>Si la liste est vide, l'import n'a pas réussi. L'une des causes peut être une partition en bon état. | ||
Ligne 92: | Ligne 120: | ||
* On peut alors utiliser normalement la partition. On peut aussi utiliser ses avantages de sécurité. Lorsque le travail est fini, il faut libérer la partition en la démontant puis l'exporter et vérifier qu'elle a bien disparu du pool. Les commandes sont <code bash>sudo zfs umount temprpool</code><code bash>sudo export temprpool</code> <code bash>zpool list </code> | * On peut alors utiliser normalement la partition. On peut aussi utiliser ses avantages de sécurité. Lorsque le travail est fini, il faut libérer la partition en la démontant puis l'exporter et vérifier qu'elle a bien disparu du pool. Les commandes sont <code bash>sudo zfs umount temprpool</code><code bash>sudo export temprpool</code> <code bash>zpool list </code> | ||
- | ---- | + | ==== Pour une installation chiffrée ==== |
+ | <note tip>ATTENTION, Si votre O.S. ZFS **chiffré** fonctionne, ne faites pas ce traitement, car il rend la partie chiffrement inutilisable pour le vrai ZFS qui ne peut plus mettre en route. Ce script est donc à utiliser uniquement lorsque le ZFS ne peut plus mettre en route et qu'il faut récupérer les données avant de réinstaller par écrasement.</note> | ||
+ | Il est nécessaire de monter les clés de chiffrement si elles sont encore accessibles. Le plus simple est d'utiliser ce script qui devrait aussi fonctionner pour une installation normale. | ||
+ | <code bash>sudo -i </code> | ||
+ | |||
+ | <code bash>zpool import -N -R /mnt rpool ´&& sleep 10 | ||
+ | if [ -e /dev/zvol/rpool/keystore ] ; then | ||
+ | echo 'Veuillez introduire le mot de passe utilisé pour le chiffrement des données en réponse à la question "Saisissez la phrase secrète pour /dev/zvol/rpool/keystore : " ' Vous avez le droit à trois essais. Pour retenter, il faut relancer le script. | ||
+ | cryptsetup -v open /dev/zvol/rpool/keystore keystore-rpool && sleep 10 | ||
+ | mkdir -p /run/keystore/rpool | ||
+ | mount -v /dev/mapper/keystore-rpool /run/keystore/rpool && sleep 5 | ||
+ | else | ||
+ | echo pas de chiffrement détecté | ||
+ | fi | ||
+ | zfs set canmount=on $(zfs list | grep mnt/home |cut -d" " -f1) | ||
+ | zfs mount -vl $(zfs list | grep mnt/home |cut -d" " -f 1) | ||
+ | echo Voici la liste des répertoires à sauver | ||
+ | cd $(zfs list | grep mnt/home | awk ' { print $5 } ') | ||
+ | ls </code> | ||
//Contributeurs : [[utilisateurs:bcag2]], geole | //Contributeurs : [[utilisateurs:bcag2]], geole |