-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
jectl umount
fails on jail restart
#6
Comments
It seems this also affects normal restarts. Most times it fails with "pool or dataset busy" and starts working again "after a bit". This is not ideal, as it makes restarting jails very hit-or-miss. Do you have any guesses what might be the problem here? |
I'll look into this. When you encounter the 'cannot mount' error, grab the output of Could you provide a quick rundown of the steps that allow you to reproduce this problem? Also, what's the output of |
Following steps to reproduce:
Then start the jail and try restarting:
I basically created a few jails, added a few environments and tried restarting. It "feels" worse, the more jails and environments I add, with just one jail and 1-2 Envs it doesn't seem to happen nearly as often. After waiting for a few minutes, I can start the affected jail again:
|
It appears there's a hanging reference to the mountpoint which doesn't allow it to unmount immediately. Can you grab the output of the following commands when the error occurs:
|
Of course: anything I could grep for to make the output a bit more readable? |
I didn't see anything that stood out, unless the jail that failed to unmount before the commands were run was different than the miniotest jail. My original thought was that when the jail was stopped, a service running in the jail was keeping a socket in the The other thing I was looking for was to see if any files were open that reside in the jail directory but, I didn't see that either. Again, when you encounter the error, grab output of:
|
Of course:
somehow the jail is still in the dying phase? |
Yes it is. Looking at the output of I'm thinking of a clean way to handle this. It is possible to force the unmount but, I'd like to find an alternate solution. |
I've added a work-around for this problem in commit f6c0032 Let me know if this problem still persists after updating. |
That makes it recover faster from the error, and fixes it for simple jail-restarts, but unfortunately it does not fix the problem with activating a new JE and instantly starting the jail afterwards:
I assume |
Indeed Perhaps it'd make sense for A way to workaround this for testing at the moment would be to change your command to something like:
or you could perform the unmount using the
|
Coming back to this after a while: Is it safe to force the unmount in |
Hello,
We are still working with upstream to resolve the root cause, so that jails will not have to wait for the network to wind down before it can be unmounted. |
Hi! Are there any news to this? I don't think I'll run the risk of force-unmounting on a regular basis on production jails. Is the situation any different or improved on 14.1? Cheers |
I have a strange new problem: restarting jails does not work after I activated a new jailenv. It seems that the parent dataset can't be unmounted. The strange thing is: After "a while" it just works again, without me messing with jectl or zfs (all Jails are stopped at this moment):
Any ideas on how to debug this further?
The text was updated successfully, but these errors were encountered: