Full drive, cant delete Snapshots / Zvols

platinumjsi

Dabbler
Joined
Oct 13, 2015
Messages
49
So I have cocked up a little here and these drives are now 100% full, when I try to delete a Zvol I get the error "[EFAULT] Failed to delete dataset: internal error: cannot destroy snapshots: Channel number out of range"

Does anyone know how I can delete snapshots or a Zvol to clear space on the drives?
This only hosts a couple of VM's and my Docker apps so if nuking it is easier can you let me know how to do that?

Thanks
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
There is a chance you are completely out of luck. Due to the copy on write structure of ZFS it is possible to maneuver oneself into a position where you cannot delete anything anymore.

Can you try rm'ing individual - preferrably large - files?
 

platinumjsi

Dabbler
Joined
Oct 13, 2015
Messages
49
Yea its not working, ill pull the drives and nuke them on another machine, probably quicker
 

asw2012

Contributor
Joined
Dec 17, 2012
Messages
182
Seems I've run myself into the same problem. I've filled up my VM Pool. But before nuking and losing the pool and VM's - I've tried to FTP into my system and at least find the Zvol's to try to copy them over, then re-import them after I've cleared the pool.... I can't seem to find the Zvols / Virtual disks through the FTP connection... where can I find these?
 

Samuel Tai

Never underestimate your own stupidity
Moderator
Joined
Apr 24, 2020
Messages
5,399
Seems I've run myself into the same problem. I've filled up my VM Pool. But before nuking and losing the pool and VM's - I've tried to FTP into my system and at least find the Zvol's to try to copy them over, then re-import them after I've cleared the pool.... I can't seem to find the Zvols / Virtual disks through the FTP connection... where can I find these?
Zvols live in /dev/zvol. Good luck.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
You cannot copy them with FTP. You need to login via SSH and use zfs send to generate a strem that you write to another system.

E.g. if you have a system with a command line ssh, Mac, Linux, Windows with WSL, ...

ssh root@<your truenas> "zfs send <pool>/<path of zvol>@<existing snapshot>" > <some filename>
 

Etorix

Wizard
Joined
Dec 30, 2020
Messages
2,134
If the offending pool consists of mirrors, it may be possible to add a further vdev to get extra free space, clear some space and then remove the additional vdev.
 

asw2012

Contributor
Joined
Dec 17, 2012
Messages
182
If the offending pool consists of mirrors, it may be possible to add a further vdev to get extra free space, clear some space and then remove the additional vdev.
This did the trick. Was able to add another mirrored set of disks to the pool, then deleted the VM disks. Thanks.
 
Top