Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:bcag2:zfs [Le 15/02/2022, 17:04]
geole [Utilisation]
utilisateurs:bcag2:zfs [Le 11/04/2022, 10:58]
geole [Utilisation]
Ligne 77: Ligne 77:
 ===== Utilisation ===== ===== Utilisation =====
 <note warning>​Ce chapitre n'est pas développé. </​note>​ <note warning>​Ce chapitre n'est pas développé. </​note>​
 +==== Quelques contraintes rencontrées. ====
 +Pour bien fonctionner,​ il faut au moins 20% d'​espace libre sinon message ​ d'​avertissement
 +<​code>​Requesting to save current system state.
 +ERROR couldn'​t save system state: Minimum free space to take a snapshot and preserve ZFS performance is 20%.
 +Free space on pool "​rpool"​ is 20%.</​code>​
 +
 +
 ==== Un contexte ==== ==== 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 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.
Ligne 94: Ligne 101:
 sudo rsync -av --del /​media/​$USER/​Ubuntu22.04/​* /​Ubuntu22.04 sudo rsync -av --del /​media/​$USER/​Ubuntu22.04/​* /​Ubuntu22.04
 sudo rsync -av --del /​media/​$USER/​Commun/​* /Commun </​code>​ 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>​
 +
 +
 +
  
  
Ligne 100: Ligne 116:
 <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 127:
   * 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  ​--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
  • utilisateurs/bcag2/zfs.txt
  • Dernière modification: Le 11/04/2022, 10:58
  • par geole