0

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

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

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

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

导演授权问题。
很可能密码不一致。
如果您使用 TLS,则可能在 TLS 握手期间出现证书验证错误。

但是,我检查了由 Ubuntu 安装/配置脚本创建的密码是否匹配。

将“local bacula bacula md5”行添加到/etc/postgresql/9.5/main/pg_hba.conf$ psql -d bacula -U bacula后,使用与 bacula-dir.conf 中给定的密码相同的密码从命令行( ) 访问 postgresql 数据库。

最令人费解的是:我在另一台测试机器上尝试了相同的安装/配置步骤,一切都按预期工作,我可以连接 bconsole。

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

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

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

问题:我的配置可能有什么问题?如何缩小或隔离问题?

最后我要提一下:Bacula 之前和 mysql 一起使用,现在升级到 Ubuntu 16 之后,使用的是 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
4

1 回答 1

0

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

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

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

$ 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 照常工作!

于 2018-05-11T05:58:22.180 回答