web-dev-qa-db-fra.com

ZPOOL: Pool E / S est actuellement suspendu

J'utilise ZFS ON OSX et j'ai zpool qui est actif et en ligne:

NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
WD_1TB    931G   280G   651G    30%  1.00x  ONLINE  -

mais je ne peux pas vraiment le monter.

$ Sudo zfs mount WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended
cannot open 'WD_1TB': pool I/O is currently suspended

ou le démonter:

$ Sudo zfs unmount WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended
cannot open 'WD_1TB': pool I/O is currently suspended

ou même la détruire:

$ Sudo zpool destroy -f WD_1TB
cannot open 'WD_1TB': pool I/O is currently suspended

Quand ça fait zpool export WD_1TB il fait geler.

Lorsque vous effacez des erreurs de périphérique dans une piscine, il y a aussi une erreur:

$ Sudo zpool clear WD_1TB
cannot clear errors for WD_1TB: I/O error

Au-dessus de l'événement, quel que soit le disque est connecté via USB ou non.

Ce qui est intéressant que zpool status Points Zpool à/dev/Disk1, mais diskutil list Points à/dev/Disk3.

J'ai activé les messages de débogage via: sysctl -w zfs.vnops_osx_debug=1 et courir Sudo dmesg | tail qui montre quelque chose comme:

0 [Level 3] [Facility com.Apple.system.fs] [ErrType IO] [ErrNo 6] [IOType Read] [PBlkNum 0] [LBlkNum 0] 
0 [Level 3] [Facility com.Apple.system.fs] [DevNode devfs] [MountPt /dev] [Path /dev/disk1s2] 
disk1s2: media is not present.
0 [Level 3] [Facility com.Apple.system.fs] [ErrType IO] [ErrNo 6] [IOType Read] [PBlkNum 512] [LBlkNum 512] 
0 [Level 3] [Facility com.Apple.system.fs] [DevNode devfs] [MountPt /dev] [Path /dev/disk1s2] 

zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b00000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b10000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b20000 size 0x10000
zfs_vnop_write(vp 0xffffff804f6303c0, offset 0x12b30000 size 0x10000
zfs_vnop_write(vp 0xffffff8051b031e0, offset 0x1f0000 size 0x10000

Connexion ou déconnexion du disque dur ne vous aide pas.

Toute façon de simplement monter le disque dur sur OSX dans des circonstances ci-dessus?

En rapport:

8
kenorb

Si exécutant Sudo zpool clear WD_1TB ne fonctionnera pas, essayez:

$ Sudo zpool clear -nFX WD_1TB

où ces paramètres non documentés signifient:

  • -F: (non documenté pour clear, le même que pour import) rembobiner. Mode de récupération pour un pool non importable. Essayez de renvoyer la piscine à un état importable en supprimant les dernières transactions. Toutes les piscines endommagées ne peuvent pas être récupérées en utilisant cette option. En cas de succès, les données des transactions supprimées sont irrémédiablement perdues. Cette option est ignorée si la piscine est importable ou déjà importée.
  • -n: (non documenté pour clear, le même que pour import) utilisé avec le -F Option de récupération. Détermine si un pool non importable peut être importable à nouveau, mais n'effectue pas réellement la récupération de la piscine. Pour plus de détails sur le mode de récupération de la piscine, voir l'option -f ci-dessus. puis essayer de réimporter à nouveau:
  • -X (sans papiers): rembobinage extrême. L'effet de -x semble être qu'une opération extrêmement longue est tentée, qui ne se termine jamais. Dans certains cas, un redémarrage était nécessaire pour mettre fin au processus.
  • -V (Undocumentd): Option de Utsling, lorsqu'il est utilisé pour import, il fait que la piscine a été importée à nouveau, mais toujours sans tentative de résilver.

Source: Problème de piscine faillite ZFS et man zpool.

$ zpool import WD_1TB

Si vous ne vous aiderez pas, essayez les commandes suivantes pour supprimer le zpool non valide:

$ zpool list -v
$ Sudo zfs unmount WD_1TB
$ Sudo zpool destroy -f WD_1TB
$ zpool detach WD_1TB disk1s2
$ zpool remove WD_1TB disk1s2
$ zpool remove WD_1TB /dev/disk1s2
$ zpool set cachefile=/etc/zfs/zpool.cache WD_1TB

Enfin, si rien ne vous aide, supprimez le fichier /etc/zfs/zpool.cache (éventuellement) et simplement redémarrer votre ordinateur.


En rapport:

8
kenorb