Jail Already Exists

dweimer dweimer at dweimer.net
Tue Apr 21 20:47:13 UTC 2015


On 04/21/2015 11:09 am, Matthew Seaman wrote:
> On 2015/04/21 16:17, dweimer wrote:
>> At some point in the past I learned the trick of dropping TCP
>> connections that were left open to clear processes that were not
>> allowing a jail that had been shutdown to be restarted. Does anyone 
>> know
>> other things that could cause a jail to be held open? I have one that 
>> I
>> am unable to start, without rebooting the entire server? In this
>> particular instance, It wouldn't be a big deal for me to bounce the
>> server, nor is it an issue leaving the jail down for a while to
>> experiment. However on some other servers both of these would be an
>> issue so I figured now is a good time to experiment with finding a
>> solution.
>> 
>> root at freebsd:/jails/proxy # jls
>>    JID  IP Address      Hostname                      Path
>>      1  192.168.5.6     pgsql.dweimer.local           
>> /jails/pgsql/ROOT
>>      2  192.168.5.9     mysql.dweimer.local           
>> /jails/mysql/ROOT
>>      3  192.168.5.2     webmail.dweimer.local         
>> /jails/webmail/ROOT
>>      4  192.168.5.4     bacula.dweimer.local          
>> /jails/bacula/ROOT
>>      5  192.168.5.8     unifi.dweimer.local           
>> /jails/unifi/ROOT
>> root at freebsd:/jails/proxy # jail -c proxy
>> jail: proxy: jail 6 already exists
>> 
>> jail 6's IP is 192.168.5.3
>> 
>> netstat -an | grep "192.168.5.3"
>> 
>> finds no results.
>> 
>> The jail simply runs a Squid proxy service, I have verified that there
>> isn't a hung up squid process. I have also verified that there are no
>> hung up python processes since I use a Python script as a log daemon 
>> to
>> write the Squid logs into a PostgreSQL database on jail 1. I am not 
>> sure
>> what else to check for.
> 
> I find that not specifying the JID in your jail.conf -- so allowing the
> system to choose an arbitrary JID as required -- will allow restarting
> jails without the hassle of old connections blocking stuff.
> 
> Of course, if you restart jails frequently, you'll end up with some
> arbitrarily large JIDs.  Get used to referring to the jail by name
> instead.  'jls -h name' will help if you're unsure what those are.
> 
> 	Cheers,
> 
> 	Matthew

Thanks Matthew, that appears to work fairly well, I think after looking 
more at the jls man page that a jls -N is more useful to me, as it still 
gives me the other information above but lists the JID by name. I do 
need to make sure none of my scripts are referencing any jails by their 
numeric ID.

# jls -N
  JID             IP Address      Hostname                      Path
  pgsql           192.168.5.6     pgsql.dweimer.local           
/jails/pgsql/ROOT
  mysql           192.168.5.9     mysql.dweimer.local           
/jails/mysql/ROOT
  webmail         192.168.5.2     webmail.dweimer.local         
/jails/webmail/ROOT
  bacula          192.168.5.4     bacula.dweimer.local          
/jails/bacula/ROOT
  unifi           192.168.5.8     unifi.dweimer.local           
/jails/unifi/ROOT
  proxy           192.168.5.3     proxy.dweimer.local           
/jails/proxy/ROOT

-- 
Thanks,
    Dean E. Weimer
    http://www.dweimer.net/


More information about the freebsd-questions mailing list