我的Bacula转移率非常低。我该如何配置导向器来改善这一点?

时间:2018-11-12 19:47:36

标签: linux backup bacula

我正在用bacula创建一个基于云的解决方案,以备份所有服务器。我们有很多内部服务器,还有一些其他云服务器(例如AWS和OPENCLOUD)。 我发现制作的备份(我说的是400kbps / s)和大约5 / 6GB的小型FS的传输速率非常低...这让我感到担忧,因为我们正在与该客户端进行测试,使备份完全可用2小时完成,以后我们将添加一些非常大的客户端(每个客户端大约500GB / 1TB)以对其进行完整备份

这是备份此客户端后打印的消息:

09-Nov 03:43 bacula-dir JobId 37: Start Backup JobId 37, Job=Backup- 
mailserverp.2018-11-08_22.15.00_13
09-Nov 06:08 bacula-sd JobId 37: Elapsed time=02:24:57, Transfer rate=580  
Bytes/second
Scheduled time:         08-Nov-2018 22:15:00
Start time:             09-Nov-2018 03:43:51
End time:               09-Nov-2018 06:08:52
Elapsed time:           2 hours 25 mins 1 sec
FD Bytes Written:       5,039,356 (5.039 MB)
SD Bytes Written:       5,048,922 (5.048 MB)



09-Nov 01:09 bacula-dir JobId 36: Start Backup JobId 36, Job=Backup- 
nagios.2018-11-08_22.15.00_12
09-Nov 03:43 bacula-sd JobId 36: Elapsed time=02:34:39, Transfer rate=386.9 K 
Bytes/second
Elapsed time:           2 hours 34 mins 47 secs
FD Bytes Written:       3,590,358,216 (3.590 GB)
SD Bytes Written:       3,590,441,488 (3.590 GB)


09-Nov 00:38 bacula-dir JobId 35: Start Backup JobId 35, Job=Backup- 
bapuppet01.2018-11-08_21.25.00_11
09-Nov 00:38 bacula-sd JobId 34: Elapsed time=02:11:17, Transfer rate=35.68 K Bytes/second
Scheduled time:         08-Nov-2018 21:05:00
Start time:             08-Nov-2018 22:27:30
End time:               09-Nov-2018 00:38:52
Elapsed time:           2 hours 11 mins 22 secs

此消息显示三台服务器,其中两台是本地服务器,一台是基于OpenCloud Cloud的托管服务器。根据这种结构,我们假设本地客户端将是所有客户端中最慢的。但是在使用 iperf 命令测试连接后,我们将看到以下内容:

FROM SERVER TO CLIENT

[root@otc-bacula ~]# iperf -c 172.xx.xx.xxx -p 9102 -i 2 -t 60
------------------------------------------------------------
Client connecting to 172.xx.xx.xxx, TCP port 9102
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  3] local 172.xx.xx.xxx port 33902 connected with 172.xx.xx.xxx port 9102
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 2.0 sec  95.9 MBytes   402 Mbits/sec
[  3]  2.0- 4.0 sec   180 MBytes   754 Mbits/sec
[  3]  4.0- 6.0 sec   132 MBytes   554 Mbits/sec
[  3]  6.0- 8.0 sec  70.6 MBytes   296 Mbits/sec


FROM CLIENT TO SERVER ################################


[root@v-nagios ~]# iperf -c 172.xx.xxx.xxx -p 9102 -i 2 -t 60
------------------------------------------------------------
Client connecting to 172.xx.xxx.xxx, TCP port 9102
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 172.xx.xxx.xxx port 41538 connected with 172.xxx.xxx.xxx port 9102
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 2.0 sec  3.75 MBytes  15.7 Mbits/sec
[  3]  2.0- 4.0 sec  4.00 MBytes  16.8 Mbits/sec
[  3]  4.0- 6.0 sec  2.50 MBytes  10.5 Mbits/sec
[  3]  6.0- 8.0 sec  4.38 MBytes  18.4 Mbits/sec
[  3]  8.0-10.0 sec  3.50 MBytes  14.7 Mbits/sec
[  3] 10.0-12.0 sec  2.12 MBytes  8.91 Mbits/sec

我已经尝试过分片处理选项,但是没有看到任何改善。有谁知道一种测试球菌性能的方法或脚本,以及如何提高其性能?我可以尝试减少FileSets的可能性,仅是备份我们真正需要的文件,但仍然有很多文件/ gygas。

如果有帮助,这是Bacula-Dir.conf:

Director {                            # define myself
  Name = bacula-dir
  DIRport = 9101                # where we listen for UA connections
  DirAddress = 172.19.120.106
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/spool/bacula"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 10
  Password = "123456"         # Console password
  Messages = Daemon
  Heartbeat Interval = 1
}


Storage {
  Name = File
# Do not use "localhost" here
  Address = 172.19.120.106                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "123456"
  Device = FileStorage
  Media Type = File
}

Pool {
  Name = File
  Pool Type = Backup
  Label Format = OpenCloud-
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Volume Retention = 365 days         # one year
  Maximum Volume Bytes = 100G          # Limit Volume size to something reasonable
  Maximum Volumes = 350               # Limit number of Volumes in Pool
}

我认为此信息很有用,但是如果您需要某些服务的更多信息或需要我做点什么,我很乐意提供所需的数据...我真的需要增加转移解决方案的速度。

2 个答案:

答案 0 :(得分:0)

我意识到我正在使用MySql作为数据库后端,并且在处理大量插入数据时遇到了麻烦。因此,我再次进行了全新安装,但是这次使用Postgresql作为数据库,并且达到了近40 mb / s的传输速率。很大的进步

我将自己的答案标记为正确的

答案 1 :(得分:0)

以下是有关Bacula调音的一些建议:

  1. Bacula也支持MySQL,但是几乎总是需要根据您的发现进行调整。自动mysql调整脚本在这里可能会很有帮助。 https://github.com/major/MySQLTuner-perl

  2. PostgreSQL的扩展性确实好得多,尤其是对于Bacula,但仍需要调整。佩德罗(Pedro)在这里写了一个不错的指南:http://www.pedroliveira.pt/index.php/bacula-performance-tunnig-with-postgresql/

而且,如果您还没有的话,那么加入Bacula用户的邮件列表也是个好主意,您可以在其中搜索档案并获得有关Bacula其他问题的帮助。 https://www.bacula.org/support/email-lists/

最后,如果您已订阅,Bacula Systems可以提供调优指南。