bacular-dir 升级后不启动(Ubuntu 16.04)

bacular-dir does not start after upgrade (Ubuntu 16.04)

从 Ubuntu 14 升级到 Ubuntu 16.04 后,我花了两天时间再次尝试获取 Bacula 运行,但我运气不好,需要帮助。

由于 Bacula 的版本发生了变化,我决定从头开始 使用Ubuntu 默认配置文件并将旧的配置文件移动到不同的文件夹中。 apt installer/package-configurator 正确填写了 bacula-dir.conf、bacula-fs.conf 和 bacula-ds.conf

中的所有守护进程名称和密码

问题: Bacula-dir 无法正常启动并且似乎挂起。 症状是:

  1. 没有创建日志文件 (/var/log/bacula/bacular.log)
  2. bconsole 连接失败(错误:

Director authorization problem.
Most likely the passwords do not agree.
If you are using TLS, there may have been a certificate validation error during the TLS handshake.

但是我检查了由 Ubuntu install/configuration 脚本创建的密码,它们匹配。

将行 "local bacula bacula md5" 添加到 /etc/postgresql/9.5/main/pg_hba.conf 后,从命令访问 postgresql 数据库 -行 ($ psql -d bacula -U bacula) 使用与 bacula-dir.conf.

中相同的密码

最令人费解的是:我在另一台测试机上尝试了相同的 installation/configuration 步骤,一切正常,我可以连接到 bconsole。

在我升级​​的服务器上,但是我找不到导致问题的原因!

到目前为止,我已经尝试了以下方法:

  1. 完全清除所有 Bacula 软件包,然后手动搜索并删除 /etc/bacula/ 和 /var/ 中的所有旧 configuration/log/run 文件,然后重新安装软件包
  2. 从 Bacula 源码包下载了脚本 drop_postgresql_tablesmake_postgresql_tables 并用它们删除并重新创建了数据库表
  3. 使用 $ ps aux | grep bacula 列出 运行 Bacula 守护进程并将它们与测试机器进行比较
  4. 运行 bacula-dir with debug-option (-d 200) - 请查看附件输出
  5. 一遍又一遍地检查file/folder权限并与工作测试机进行比较
  6. 防火墙?所有连接都在同一台机器上,所以这不应该是原因吗?

问题:我的配置可能有什么问题?我怎样才能缩小或隔离问题?

我要提的最后一件事:Bacula 在升级到 Ubuntu 16 之前和现在与 mysql 一起使用,使用 PostgreSQL。所有旧的 Bacula 包都被删除(清除)并且 bacula...-mysql 包被替换为 bacula-common-pgsql、bacula-director-pgsql 和 bacula-sd-pgsql。数据库也是从头开始的,但这仍然是原因吗?

系统日志中的 Bacula-dir 调试输出:

bacula-director[22438]:  * Starting Bacula Director... bacula-dir
bacula-director[22438]: bacula-dir: dird.c:194-0 Debug level = 200
bacula-director[22438]: bacula-dir: address_conf.c:264-0 Initaddr 0.0.0.0:9101
bacula-director[22438]: bacula-dir: runscript.c:284-0 runscript: debug
bacula-director[22438]: bacula-dir: runscript.c:285-0  --> RunScript
bacula-director[22438]: bacula-dir: runscript.c:286-0   --> Command=/etc/bacula/scripts/make_catalog_backup.pl MyCatalog
bacula-director[22438]: bacula-dir: runscript.c:287-0   --> Target=
bacula-director[22438]: bacula-dir: runscript.c:288-0   --> RunOnSuccess=1
bacula-director[22438]: bacula-dir: runscript.c:289-0   --> RunOnFailure=0
bacula-director[22438]: bacula-dir: runscript.c:290-0   --> FailJobOnError=1
bacula-director[22438]: bacula-dir: runscript.c:291-0   --> RunWhen=2
bacula-director[22438]: bacula-dir: runscript.c:284-0 runscript: debug
bacula-director[22438]: bacula-dir: runscript.c:285-0  --> RunScript
bacula-director[22438]: bacula-dir: runscript.c:286-0   --> Command=/etc/bacula/scripts/delete_catalog_backup
bacula-director[22438]: bacula-dir: runscript.c:287-0   --> Target=
bacula-director[22438]: bacula-dir: runscript.c:288-0   --> RunOnSuccess=1
bacula-director[22438]: bacula-dir: runscript.c:289-0   --> RunOnFailure=0
bacula-director[22438]: bacula-dir: runscript.c:290-0   --> FailJobOnError=1
bacula-director[22438]: bacula-dir: runscript.c:291-0   --> RunWhen=1
bacula-director[22438]: bacula-dir: jcr.c:128-0 read_last_jobs seek to 192
bacula-director[22438]: bacula-dir: jcr.c:135-0 Read num_items=0
bacula-director[22438]: bacula-dir: dir_plugins.c:148-0 Load dir plugins
bacula-director[22438]: bacula-dir: dir_plugins.c:150-0 No dir plugin dir!
bacula-director[22438]:    ...done.
bacula-director[22438]: bacula-dir: lockmgr.c:728-0 Exit check_deadlock.
bacula-director[22438]: bacula-dir: postgresql.c:1117-0 db_init_database first time
bacula-director[22438]: bacula-dir: postgresql.c:229-0 pg_real_connect done
bacula-director[22438]: bacula-dir: postgresql.c:231-0 db_user=bacula db_name=bacula db_password=XXXXXX
bacula-director[22438]: bacula-dir: sql_create.c:345-0 In create mediatype
bacula-director[22438]: bacula-dir: sql_create.c:349-0 selectmediatype: SELECT MediaTypeId,MediaType FROM MediaType WHERE MediaType='File1'
bacula-director[22438]: bacula-dir: sql_create.c:345-0 In create mediatype
bacula-director[22438]: bacula-dir: sql_create.c:349-0 selectmediatype: SELECT MediaTypeId,MediaType FROM MediaType WHERE MediaType='File2'
bacula-director[22438]: memo-dir: dird.c:323-0 Start UA server
bacula-director[22438]: memo-dir: job.c:1528-0 wstorage=File1
bacula-director[22438]: memo-dir: bnet_server.c:87-0 Addresses 127.0.0.1:9101
bacula-director[22438]: memo-dir: job.c:1537-0 wstore=File1 where=Job resource
bacula-director[22438]: memo-dir: job.c:1211-0 JobId=0 created Job=*JobMonitor*.2018-05-09_11.45.24_01
bacula-director[22438]: memo-dir: dird.c:334-0 wait for next job

问题已解决。该问题特定于 Ubuntu 16.04。默认的 *.deb 包 (4build1) 似乎有缺陷并且从未工作过。此外,使用命令 $ sudo apt-get update && sudo apt-get upgrade 的更新过程也不起作用。 手动 将基本版本的 Bacula *.deb 文件替换为 Ubuntu 16.04 的最新更新 (4ubuntu0.1) 的文件解决了这个问题。

  • 基本版本:7.0.5+dfsg-4build1(不工作!)
  • 更新版本:7.0.5+dfsg-4ubuntu0.1 工作 --> 手动安装!!

下面的包是先手动下载然后用命令安装的:

$ dpkg -i bacula-common_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-common-pgsql_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-director-common_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-sd_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-fd_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-server_7.0.5+dfsg-4ubuntu0.1_all.deb
          bacula-console_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-director-pgsql_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-sd-pgsql_7.0.5+dfsg-4ubuntu0.1_amd64.deb
          bacula-console-qt_7.0.5+dfsg-4ubuntu0.1_amd64.deb    
$ sudo apt-get -f install

现在Bacula照常工作!