我有一个带有 9 个客户端的 Bacula 设置,它运行良好。今天我不得不添加另一个客户端,因此我从另一个客户端复制并改编了现有配置文件,但是当我为新客户端安排作业时,我收到以下错误:
20-Mar 17:50 tools-dir JobId 39: Start Backup JobId 39, Job=BackupPresenze2.2012-03-20_17.50.49_04
20-Mar 17:50 tools-dir JobId 39: Using Device "FileStorage"
20-Mar 17:50 presenze2-fd JobId 39: Fatal error: Failed to connect to Storage daemon: bacula.mylan.local:9103
20-Mar 17:50 tools-dir JobId 39: Fatal error: Bad response to Storage command: wanted 2000 OK storage
, got 2902 Bad storage
从客户端我可以通过 telnetbacula.mylan.local:9103
顺利地进行操作,其他客户端的作业也能顺利完成...我可以检查什么?
(如果相关的话,服务器和客户端运行 Ubuntu 10.04)
答案1
看起来这是一个“慢速 DNS”类型的问题...我将主机名添加到 /etc/hosts 中,现在 Bacula 运行正常。
答案2
就我而言,是防火墙 - FD(客户端)无法连接到 SD(存储守护进程)端口TCP/9103。但 director 可以正常检索客户端状态status client=myclient-fd
(因为 DIR 可以连接到 FD 到端口TCP/9102)
这个错误令人困惑,因为从因果关系上看,这听起来像是 SD 正在向 FD 返回错误(这意味着 FD 毕竟可以连接到 SD),而实际上是 DIR 注意到 FD 没有连接到 SD 并发出错误。
答案3
[rt@bacula user]# netstat -anp | grep bac
tcp 0 0 127.0.0.1:9101 0.0.0.0:* LISTEN 48075/bacula-dir
tcp 0 0 0.0.0.0:9102 0.0.0.0:* LISTEN 48077/bacula-fd
tcp 0 0 10.x.y.z:9103 0.0.0.0:* LISTEN 48076/bacula-sd #<---
Storage { # definition of myself
Name = bacula-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/spool/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
# SDAddress = {{ ansible_fqdn }}
}
在向存储系统添加另一个接口后,这些“存储错误”开始出现。查看后发现 StorageDaemon 只监听一个接口。注释SDAddress
强制 sd 监听所有接口。