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 Les deux révisions suivantes | ||
utilisateurs:bcag2:zfs [Le 15/02/2022, 17:04] geole [Utilisation] |
utilisateurs:bcag2:zfs [Le 21/02/2022, 18:55] geole [Accès aux partitions depuis un autre Ubuntu] |
||
---|---|---|---|
Ligne 100: | Ligne 100: | ||
<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 110: | Ligne 111: | ||
* 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 |