对Storage命令的响应不好 – 想要2000得到了2800 – Job TermCode = 69

我将尝试解释我面临的问题:

当我还原使用两个“卷”的客户端备份时,出现此错误:

bacula-dir JobId 48945: Fatal error: Bad response to Storage command: wanted 2000 OK storage, got 2800 End Job TermCode=69 JobFiles=32293 ReadBytes=8946396913 JobBytes=10298059235 Errors=1 VSS=0 Encrypt=0 CommBytes=232 CompressCommBytes=232 

我试图find这个问题的解决scheme。 有些人说这是一个NFS错误,但只有在恢复涉及多个卷时才会发生。

如果我从单个卷运行还原作业,还原工作正常。

当我在debugging模式下运行bacula-fdbacula-fd -v -c /etc/bacula/bacula-fd.conf -f -d 100 )时,输出是:

 bacula: restore.c:540-49097 === msglen=155 attrExlen=0 msg=287476 3 /var/www/midomain.com/shared/src/uploads/downloads/eusk706.mp3 bacula: create_file.c:208-49097 Create=/tmp/bacula-restores/var/www/midomain.com/shared/src/uploads/downloads/eusk706.mp3 bacula: attribs.c:558-49097 File size of restored file /tmp/bacula-restores/var/www/midomain.com/shared/src/uploads/downloads/eusk706.mp3 not correct. Original 2581274, restored 131072. bacula: restore.c:1034-49097 End Do Restore. Files=19300 Bytes=7333538565 bacula: heartbeat.c:141-49097 Send kill to heartbeat id bacula: job.c:2534-49097 filed>stored: read close session 160 bacula: job.c:2548-49097 Done in job.c bacula: job.c:2551-49097 2000 OK storage end bacula: job.c:2576-49097 end_restore_cmd bacula: job.c:333-49097 Quit command loop. Canceled=1 bacula: job.c:456-49097 Calling term_find_files bacula: job.c:459-49097 Done with term_find_files bacula: jcr.c:174-49097 write_last_jobs seek to 192 bacula: job.c:462-0 Done with free_jcr 

这可能是由configuration错误引起的吗? 任何其他选项?

我开始在Bacula 7.0.4上遇到这个问题。 我已经将Bacula升级到版本9.0.5,但问题仍然存在。

客户端位于不同的networking中,并为每个networkingconfiguration一个存储。

configuration文件:

客户

 Client { Name = myServer Address = 192.168.2.222 Catalog = MyCatalog Password = "***" File Retention = 15 days Job Retention = 15 days Autoprune = yes Maximum Concurrent Jobs = 6 } Job { Name = "myServer" Type = Backup Client = myServer FileSet = "myServer" Storage = FileRedDos Messages = Standard Pool = File Schedule = Miercoles Maximum Concurrent Jobs = 4 } FileSet { Name = "myServer" Include { File = /var/www File = /etc Options { signature = MD5 compression = GZIP } } Exclude { } } 

存储

 Storage { Name = FileRedDos Address = 192.168.2.25 SDPort = 9103 Password = "***" Device = Freenas Media Type = File Maximum Concurrent Jobs = 20 } 

 Pool { Name = File Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 30 days Maximum Volume Bytes = 10G Maximum Volumes = 1000 Label Format = "VolBacula-" } 

时间表

 Schedule { Name = Miercoles Run = Full wednesday at 03:00 Run = Incremental thursday-tuesday at 01:00 } 

设备

 Device { Name = Freenas Media Type = File Archive Device = /backup/baculaVolumes LabelMedia = yes; Random Access = Yes; RemovableMedia = no; Maximum Concurrent Jobs = 20 } 

选项1 – configuration错误

首先,你有没有做过这种configuration恢复? 我有一个“RestoreFiles”工作,使这个工作看起来像这样:

 Job { Name = "RestoreFiles" Description = "Standard Restore template. Only one such job is needed for all standard Jobs/Clients/Storage ..." Type = Restore Client = bareos-fd FileSet = "Linux All" Storage = File Pool = Incremental Messages = Standard Where = /tmp/bareos-restores } 

选项2 – 协议错误

其次,需要更多的信息。 sd服务器和fd客户端之间的通信使用需要同步的协议。 通常, wanted 2000 OK storage, got 2800 End Job错误是协议不匹配的结果,可能是:

  • 从不一致的名称parsing(例如,服务器和客户端对于每个名称的名称有不同的观点),或者
  • 协议错误(例如,一个为IPv4设置,而另一个默认为IPv6)或者
  • 版本错误(服务器和客户端需要兼容版本)

日志会有更多的解释,比如说

 21-Jan 00:07 xxxxxx-dir JobId 1199: Start Restore Job RestoreFiles.2016-01-21_00.07.44_16 21-Jan 00:07 xxxxxx-dir JobId 1199: Error: bsock.c:221 Socket open error. proto=28 port=9103. ERR=Protocol not supported 21-Jan 00:07 xxxxxx-dir JobId 1199: Using Device "DAT160" to read. 21-Jan 00:07 xxxxxx-sd JobId 1199: Ready to read from volume "Tape009" on tape device "DAT160" (/dev/nsa0). 21-Jan 00:07 xxxxxx-sd JobId 1199: Forward spacing Volume "Tape009" to file:block 12:0. 21-Jan 00:07 xxxxxx-fd JobId 1199: Error: bsock.c:221 Socket open error. proto=28 port=9103. ERR=Protocol not supported 21-Jan 00:55 xxxxxx-sd JobId 1199: Elapsed time=00:47:30, Transfer rate=6.099 M Bytes/second 21-Jan 00:07 xxxxxx-dir JobId 1199: Error: bsock.c:221 Socket open error. proto=28 port=9102. ERR=Protocol not supported 21-Jan 00:55 xxxxxx-dir JobId 1199: Using Device "Backup" to read. 21-Jan 00:55 xxxxxx-dir JobId 1199: Fatal error: Bad response to Storage command: wanted 2000 OK storage, got 2800 End Job TermCode=69 JobFiles=147756 ReadBytes=17353960553 JobBytes=17353960553 Errors=1 VSS=0 Encrypt=0 CommBytes=0 CompressCommBytes=0 

**请注意ERR=Protocol not supported ,在这种情况下,客户端通过IPv6parsing(错误地)。

关于邮件列表中的这个特定场景已经有了讨论,但是从我的经验来看,这总是归结为这3个或者4个事情之一。

此外,不要忘记,在任何服务器端configuration更改之后,您需要重新启动Director和Storage Manager,或者他们可能对configuration没有相同的想法,并且可能会出现像这样的随机错误。

我会根据可以提供的附加信息来修改这个答案。 🙂