Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

My director daemon in being hosted on an ubuntu machine and the client is a windows 7 machine. Both machines are on the same subnet. I'm having trouble authenticating between the server and the client. The error I get on the server side is as following:

10-May 12:00 mydir-dir JobId 6395: Start Backup JobId 6395, Job=server-bkp.2013-05-10_12.00.00_13  
10-May 12:00 mydir-dir JobId 6395: Using Device "RAID_Device"    
10-May 12:00 mydir-dir JobId 0: Fatal error: Unable to authenticate with File daemon at "myserver.ip.address:9102". Possible causes:  
Passwords or names not the same or  
Maximum Concurrent Jobs exceeded on the FD or  
FD networking messed up (restart daemon).  
Please see http://www.bacula.org/en/rel-manual/Bacula_Freque_Asked_Questi.html#SECTION003760000000000000000 for help.  
*q  
root@cosmo:~# telnet my-client-hostname.domain 9102  
Trying myclient.ip.address...  
Connected to my-client-hostname.domain.  
Escape character is '^]'.  
^[^[  
Connection closed by foreign host.  

My bconsole.conf file on the windows 7 client machine:

Director {
Name = mydir-dir
DIRport = 9101
address = mydir.domain
Password = "my_secret_password"
}

My bacula-fd.conf file on the client is as follows:

# Main Director
Director {
Name = mydir-dir
Password = "my_secret_password"
}


# File Daemon
FileDaemon {
Name = my-client-hostname-fd
FDport = 9102
WorkingDirectory = "C:\\Program Files\\Bacula\\working"
Pid Directory = "C:\\Program Files\\Bacula\\working"
Maximum Concurrent Jobs = 10
}

# Where to send messages.
Messages {
Name = Standard
director = mydir-dir = all, !skipped, !restored
}

This is what my /etc/bacula/bacula-dir.conf on the server is shown below. Note that some unnecessary information is removed.

# Main Director for backup control.
Director {
  Name = mydir-dir
  DIRport = 9101
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/home/bacula/bacula/working"
  PidDirectory = "/var/run/bacula"
  Password = "my_secret_password"
  Messages = Standard
}

# Restricted Director for monitoring.
Console {
  Name = mydir-mon
  Password = "my_other_password"
  CommandACL = status, .status
}

# Catalog within the MySQL database
Catalog {
  Name = MYDIR_Catalog
  DB Name = bacula
  DB Address = localhost
  user = "MY_USER_NAME"
  password = "MY_DB_PASSWORD"
}

# Storage to use for backup
Storage {
  Name = RAID_Storage 
  Password = "MY_SD_PASSWORD"
  Address = mydirhost.domain
  SDPort = 9103
  Device = RAID_Device
  Media Type = File
}


# Include client, job, schedule and fileset information
@/etc/bacula/clients/MY-CLIENT-HOSTNAME.conf

Finally, my /etc/bacula/clients/MY-CLIENT-HOSTNAME.CONF is shown below. Again, some unnecessary information is omitted.

# Client information for my-client-hostname
Client {
  Name = my-client-hostname
  Password = "my_secret_password"
  Address = my-client-hostname.domain
  FDPort = 9102
  Catalog = MYDIR_Catalog
}

*Note that I've used the same "my_secret_password" in all the files.

I have checked the firewall and the authentication via telnet and that seems to be working fine. I'll be fantastically glad if someone could tell me what I'm doing wrong!!!

share|improve this question
1  
Have you tried the troubleshooting steps in the error message? (Ensure max concurrent jobs isn't being exceeded, restart the FileDaemon)? –  voretaq7 May 10 '13 at 19:42
    
I believe that the max concurrent jobs isn't being exceeded since there is no job running. I've restarted the FD countless times. –  MRashid May 10 '13 at 20:15
1  
...you missed one other thing it tells you to check! :-) –  voretaq7 May 10 '13 at 20:35

3 Answers 3

The error message says:

Possible causes:
Passwords or names not the same or
Maximum Concurrent Jobs exceeded on the FD or
FD networking messed up (restart daemon).

The configuration on your director:

# Client information for my-client-hostname
Client {
  Name = my-client-hostname
  Password = "my_secret_password"
  Address = my-client-hostname.domain
  FDPort = 9102
  Catalog = MYDIR_Catalog
}

The configuration on your File Daemon:

....other stuff.....
# File Daemon
FileDaemon {
  Name = my-client-hostname-fd
  FDport = 9102
  WorkingDirectory = "C:\\Program Files\\Bacula\\working"
  Pid Directory = "C:\\Program Files\\Bacula\\working"
  Maximum Concurrent Jobs = 10
}
....more stuff.....

So it looks like unless you made a mistake redacting stuff your names don't match.
(Don't feel bad, I didn't see it the first time I scanned through your question either, and I've wasted hours on similar stuff myself!)

share|improve this answer
    
Good catch! that does seem to be the problem. Although, I might have simply missed the "-fd" while posting it here. I won't be able to verify this until tomorrow. –  MRashid May 10 '13 at 21:23
    
Unofrotunately, making that change hasn't resolved my issue. I was quite puzzled as to why I didn't catch that earlier. After further investigation, I realised that I had the same settings for my linux machines which are working fine. Also, after reading the documentation, it seems that those names don't have to match: bacula.org/manuals/en/install/install/… –  MRashid May 13 '13 at 14:10

A bit old question but possible someone is still looking for an answer. It could be windows firewall problem ... and I know that you've already said that you checked the firewall. I tried ports with telnet on my ubuntu and it seemed liked it was open but it didn't work. After adding windows fw rule allowing connections to %ProgramFiles%\Bacula\bacula-fd.exe director started to authenticate. So I would give it a try :)

share|improve this answer
    
I've added an answer that may be of interest to you. –  Matthew Ife Dec 13 '13 at 20:54

Pretty sure I've seen something similar. If you've had a command run as part of a job that runs on that host (like a "Client Run Before Job" statement), if that command has paused, or stalls in some way, it breaks bacula even if you restart the agent.

If this ends up happening, the "before job" command inherits the listening file descriptor that the agent runs on and keeps it open. If you restart bacula, Windows doesn't ever seem to care that there is already a process that is bound to the listening address bacula should listen on and lets bacula start up.

However all the traffic that you send to bacula is actually being received by the stray command from an old instance of bacula, not bacula itself.

To fix this.

  • Stop the bacula agent on the Windows machine.
  • Run netstat on the Windows host and and look for any processes listening on port 9102.
  • Terminate those processes.
  • Start bacula.

Another problem can be that bacula has ran out of maximum connections, but you can just restart the agent in this case to fix that.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.