zfs, détruire un snapshot récalcitrant

Quand on réplique des datasets zfs entre deux serveurs, il arrive qu’une erreur se produise et que le clone temporaire ne soit pas automatiquement effacé, ce qui ensuite bloque les réplications…

On essai de détruire le snapshot

[root@zfs] ~# zfs list -H -o name -t snapshot | xargs -n1 zfs destroy
 cannot destroy 'tank/vol/hsm@auto-20111122.0715-1w': dataset already exists

Comment s’en sortir

On liste les snapshots, notez qu’on ne vois pas le clone

[root@zfs] ~# zfs list -H -o name -t snapshot
 tank/vol/hsm@auto-20111122.0715-1w

Trouver le nom du clone qui empêche la destruction du snapshot, c’est celui avec le % dans le nom

[root@zfs] ~# zfs -d tank
 Dataset mos [META], ID 0, cr_txg 4, 178M, 183 objects
 Dataset tank/shared [ZPL], ID 32, cr_txg 49, 31.4K, 4 objects
 Dataset tank/vol/hsm/%auto-20111122.0730-1w [ZPL], ID 17221, cr_txg 2005726, 584G, 2009587 objects
 Dataset tank/vol/hsm@auto-20111122.0715-1w [ZPL], ID 17215, cr_txg 2004014, 584G, 2009587 objects
 Dataset tank/vol/hsm [ZPL], ID 77, cr_txg 436135, 584G, 2009587 objects
 Dataset tank/doc [ZPL], ID 52, cr_txg 435968, 32.9K, 5 objects
 Dataset tank/backup [ZPL], ID 44, cr_txg 185, 2.04T, 6375302 objects
 Dataset tank/tof [ZPL], ID 38, cr_txg 52, 32.2K, 5 objects
 Dataset tank [ZPL], ID 16, cr_txg 1, 37.4K, 8 objects

On détruite le coupable

[root@zfs] ~# zfs destroy tank/vol/hsm/%auto-20111122.0730-1w
 cannot open 'tank/vol/hsm/%auto-20111122.0730-1w': dataset does not exist

Une erreur se produit, mais si regarde le clone a disparu

[root@zfs] ~# zfs -d tank
 Dataset mos [META], ID 0, cr_txg 4, 178M, 177 objects
 Dataset tank/shared [ZPL], ID 32, cr_txg 49, 31.4K, 4 objects
 Dataset tank/vol/hsm@auto-20111122.0715-1w [ZPL], ID 17215, cr_txg 2004014, 584G, 2009587 objects
 Dataset tank/vol/hsm [ZPL], ID 77, cr_txg 436135, 584G, 2009587 objects
 Dataset tank/doc [ZPL], ID 52, cr_txg 435968, 32.9K, 5 objects
 Dataset tank/backup [ZPL], ID 44, cr_txg 185, 2.04T, 6375302 objects
 Dataset tank/tof [ZPL], ID 38, cr_txg 52, 32.2K, 5 objects
 Dataset tank [ZPL], ID 16, cr_txg 1, 37.4K, 8 objects

on peut maintenant détruire le snapshot

[root@zfs] ~# zfs destroy tank/vol/hsm@auto-20111122.0715-1w

Pas d’erreur, on vérifie

root@zfs] ~# zfs -d tank
 Dataset mos [META], ID 0, cr_txg 4, 178M, 173 objects
 Dataset tank/shared [ZPL], ID 32, cr_txg 49, 31.4K, 4 objects
 Dataset tank/vol/hsm [ZPL], ID 77, cr_txg 436135, 584G, 2009587 objects
 Dataset tank/doc [ZPL], ID 52, cr_txg 435968, 32.9K, 5 objects
 Dataset tank/backup [ZPL], ID 44, cr_txg 185, 2.04T, 6375302 objects
 Dataset tank/tof [ZPL], ID 38, cr_txg 52, 32.2K, 5 objects
 Dataset tank [ZPL], ID 16, cr_txg 1, 37.4K, 8 objects

Il a disparu, la réplication va pouvoir repartir…

Posted by @ctof

Internet, cloud, techno & music addict... Entrepreneur, Consultant, ex CTO Jiwa...

Laisser un commentaire

Required fields are marked *.