Bacula:害怕吸血鬼

大家好。

我想告诉您一些关于bacula的知识,每个人都害怕该程序,因为它对于他们来说太大了,并且/或者乍一看,它看起来很复杂。

这确实是一个很棒的程序,但是一旦他们(大致)解释了它是如何工作的,一切都会顺利进行。

简介

Bacula是管理备份(西班牙语的备份副本)的程序。 它的巨大潜力在于如何很好地处理和自动化备份任务,尤其是在大型环境中(请参阅多服务器维护)。

的确,如果您只是想备份个人计算机,而忘记了,那么配置它将花费很长时间。 但是,如果您发现自己不得不处理多台计算机/服务器,那么Bacula是您的解决方案。 起初,您将不得不花费很多时间,但是一旦您将所有配置都配置好,数年的时间就会过去,而无需再次触摸它。 此外,一旦您学会使用它,所做的更改将变得很小而容易。

建筑

关于该程序,首先要了解的是它的多样化:它分为多个相互关联的部分。 这些部件可以安装在不同的计算机上或同一台计算机上,从而可以选择将备份保存在与管理它们的计算机不同的计算机上(例如)。

有3个主要部分,每个部分也是一个不同的安装包:Director,存储和文件。 可以推断, 文件 是客户端计算机(需要复制的计算机), 存储 是存储这些副本的机器, 副总经理 机器是协调整个过程的机器。 当然,可以有多个客户端计算机(文件),多个存储(如果要分离副本)和控制器(虽然逻辑上是一个,但您可以指定多个)。

文件,工具和守护程序

如果所有这些都是自动化的,那就是使用恶魔。 每个部分都有其自己的守护程序:bacula-director,bacula-fd(文件守护程序)和bacula-sd(存储守护程序)。 每个守护程序都基于其托管在 / etc / bacula:bacula-dir.conf,bacula-fd.conf,bacula-sd.conf。

这些配置文件是在安装过程中自动生成的,仅需修改几个参数(远程计算机的IP,自己的证书,自动备份计划…)。 导演的配置是最困难和最广泛的,因为他是负责一切的人。 通常将其分为几个文件,以免打断他们,然后在主文件中将它们全部加入(类似于 包括 Apache2)。

现在,尽管配置文件是所有“ chicha”所在的位置,但是bacula为我们提供了几种处理它的工具,因为很多时候需要“手工”执行任务。 我只专注于控制台工具 控制台,因为它是最有用的,其余的(图形)也都基于此。 顾名思义,它是一个命令解释器,它可以交互式地允许您执行各种工作。

应该说,可以在Director机器上安装几个Web服务来管理和监视Bacula。 例如,Bacula-Web为您提供有关备份状态,存储占用等的图形和表格信息。

还应该提到的是,Bacula的操作基于目录:记录所有事件,卷,客户端的数据库(在MySQL,SQLite和PostgreSQL之间进行选择)...不应用手触摸数据库, 控制台 提供了各种命令来与目录进行交互,而无需使用SQL语法。

安全

Bacula的优势之一是安全性。 每个客户端,存储设备和控制器都有自己的密钥,并根据连接情况使用该密钥进行加密。 每个人都可以发明自己喜欢的密钥,尽管程序本身会随机生成30个字符。

除了程序提供的加密外,Bacula还通过使用TLS接受安全连接。 因此,在我们之前的加密中,我们必须添加证书和SSL密钥的另一种加密。 如果我们变得更认真,则必须为每台计算机创建唯一的证书和密钥。 设置的这一部分比较复杂。

卷数

我将重点介绍如何通过目录管理副本,因为起初可能会有些混乱。

副本以加密卷的形式打包,因此无法直接访问文件。 它是一种.tar.gz(因为它支持压缩),但是它自己。 没有目录,就不可能毫无保留地挽救数据。 有一些高级工具可用于此目的,但它们始终需要数据库的某些组件,对于新手用户而言,它们将变得非常复杂。 这就是为什么必须呵护和维护目录的原因(默认情况下,Bacula在完成计划的工作后会对目录进行备份)。

为了帮助我们组织多个备份,Bacula将卷分组到池中。 例如,为每个客户定义了一个池,因此可以轻松地区分每个客户的所有副本(卷),因为它们属于不同的家族(池)。

另外,Bacula支持卷的重用/回收。 因此,如果您只希望每月进行一次完整备份,而您只想存在一个完整备份,则可以将Bacula配置为覆盖以前包含该副本的卷,这样就避免了不必要地填充磁盘,并且您不必自己擦除数据。手工的。

复制级别和还原

可以使用各自的时间表定义不同的作业。 换句话说,如果我们每天进行一次完整备份,我们的维护任务将不会非常高效……但是Bacula在制作备份副本时最多允许我们将其分为3个不同级别:完整,差异和增量。

完全备份是经典副本,您要备份的所有内容均已复制。 而差异文件仅复制自上次满屋以来已更改的文件(或新文件)。 对于增量副本,会发生相同的事情,但发生的级别低一层,它仅比较自上次差异或自上次完整以来的更改(如果较新)。 如果要在资源优化及其实用程序之间保持平衡,这非常方便。 这样我们就可以获取不同日期的文件,而不会占用很多空间。 当某人陷入困境并需要一天的特定备份时,此功能非常有用。

例如:我们计划每天增量备份,每周差异备份和每月完整备份。 如果在任何时候我们需要使用这些副本(因为我们的一台客户端计算机已崩溃),我们只需要做一个还原工作(通过 控制台),可以指定特定日期的最新副本,仅Bacula会根据最后一个Full与由Differential和Incremental所做的更改的串联来安装目录树。

自动化

这是巴库拉的强项。 所有备份任务都在Director中安排,同时也允许优先级。 因此,在同一天和同一时间计划多个任务是正常的。 Director与客户端计算机(使用他的FileDaemon)连接后,便使他与与该任务关联的存储设备联系,准备加密的连接和要复制的文件。

此外,它不仅允许您指定应复制的文件/文件夹,还支持在每个作业之前,期间和之后执行命令/脚本。 因此,如果要备份数据库,则可以指定提供转储并随后复制该转储的脚本的路径。 它还允许您以通用方式指定要复制的文件,从而能够从客户端计算机本身添加更多特定的文件。 通常,所有UNIX系统都有一个通用的FileSet(在其中定义了要复制的文件夹,/ etc,/ usr,/ home / var ...),然后每个客户端都可以指定自己想要的文件。被复制。

Bacula还支持卷的重用/回收。 因此,如果您只希望每月进行一次完整备份,而您只想存在一个完整备份,则可以将Bacula配置为覆盖以前包含该副本的卷,这样就避免了不必要地填充磁盘,并且您不必自己擦除数据。手工的。 一种非常普遍的用途是重用分配给增量和差异副本的池,因为它们仅用于存储已修改的文件/新文件,因此每当有新的Full时,这些卷就无法使用,因此您可以将它们重用于新的Incrementals /差异。

所有这一切……如何运作?

在我刚刚发布的积木之后,许多人会想知道这是怎么处理的。 好了,在上述配置文件中指定了“一切”,并且在其中自动进行了一切。 在花了几个小时配置它们之后,一旦做到这一点,就值得一辈子,甚至变得无聊。

唯一需要手工完成的事情就是恢复任务,因为自动化它们并没有多大的意义……尽管可以完成。 不过,借助该工具,手工制作非常简单 控制台 提供了几个选项,您只需要选择详细信息即可。 它也是手动定义池的扩展用途,因此,在配置文件中,您仅需说出卷属于哪个池,而无需创建创建/搜索它们的指令。

结语

自从这篇文章变得非常广泛以来,我没有涉及任何技术细节,我也想对程序的运行提供一个整体的看法。 如果我收到很多反馈,也许我会有一个教程。

希望您喜欢它,直到下次!


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   猎人

    一些链接到网站的人,更不用说了。 😉

    http://www.bacula.org/es/
    http://www.bacula.org/en/?page=documentation

    最近,我沉迷于rsync做家务,我在台式机和笔记本电脑上复制了我的仓库和文档,并且经常进行同步,因此我的笔记本电脑始终具有台式机的镜像。

    对于服务器,我认为由cron运行的良好rsync脚本可以解决问题,但是bacula的优点在于,它可以保存修订版本,而不仅仅是最新版本。

    1.    沃克斯

      现在我放了他们。 我将文章发送给审阅后就想到了,但是我不得不走了,到目前为止,我还没有踩过计算机。

    2.    沃克斯

      buah我想我无法编辑...我在这里留下了指向文档主要参考的链接,以至于有些人会涉及到如此多的链接...
      http://www.bacula.org/5.2.x-manuals/en/main/main/index.html

  2.   欧拉里奥

    这必须用红色铅笔详细阅读。

  3.   凯撒大帝

    很好,我在工作所在的数据中心中有一段时间是bacula用户,但在这里我使用的解决方案与bacula一样强大,实现和配置时容易得多

    备份电脑
    http://backuppc.sourceforge.net/

    目前,我们已经将几乎所有备份服务器迁移到了该平台

  4.   KZKG ^ Gaara

    几年前,我一直在寻找一个用于备份我的服务器的应用程序……我尝试使用Bacula,但是,毫无疑问,这是一个巨大的选择,无疑是一个很好的选择,但是对于我所需要的来说太多。 最后,我最终完成了自己的系统(bash脚本)的编程,该系统完成了我想要的工作😀

  5.   华金

    太好了,谢谢分享!

  6.   亚迪亚兹C87

    很好的文章,我尝试安装它,但是非常费力,我更喜欢使用rsync和crontab进行备份,如果您可以在安装和配置方面写一篇文章,我将不胜感激。

    感谢您的良好解释。

    1.    沃克斯

      首先,您必须确定要使用的数据库,然后查看非常完整的官方文档 http://www.bacula.org/5.2.x-manuals/en/main/main/Installing_Bacula.html
      我还建议您使用发行版的软件包管理器进行安装,例如,使用apt-get(类似debian),您可以通过几个非常简单的步骤为自己创建目录。
      对于配置,请看一下 http://www.bacula.org/5.2.x-manuals/en/main/main/Installing_Bacula.html 由于配置文件已差不多完成,因此您仅需更改几件事,并且在bacula文档中,它们告诉您如何逐步开始安装它以了解过程。
      我想做个向导,但是明天我要去度假...也许当我回来时🙂

  7.   约翰

    很好...这帮助我从工作人员开始...。

  8.   杜埃塔斯

    很棒的工具! 我不知道,尽管必须用放大镜研究,但看起来很有趣...

    您好!

  9.   黑山共和国

    您好,我在所工作的公司中配置Bacula已有数周时间,我从该工具中学到了很多东西,这太棒了。 但是,我有一个我无法解决的问题,希望有人可以帮助我。 我可以将卷或池存储在某个外部磁盘上以进行异地备份,然后从这些文件中还原吗?

    1.    沃克斯

      您好,您当然可以将卷存储在外部磁盘上,但是要还原它们,您需要有权访问bconsole,因为要还原文件,您必须根据目录解密该卷。
      使用restore命令,将提供一系列选择卷等的步骤,然后将建立目录树,以便您可以手动选择文件。 它还可以让您选择要还原它们的机器和目录(甚至不建议您选择还原到源,覆盖数据的选项)。
      我希望这有帮助 http://www.bacula.org/en/dev-manual/main/main/Restore_Command.html

      1.    黑山共和国

        感谢您的及时答复。 我将尝试通过一个例子来说明自己,以使图片更加清晰more。 目前,Bacula已配置为制作磁盘副本,如果我拿一个卷并将其直接复制到一个外部磁盘,该磁盘将保留在数据中心之外,以便在发生事件时还原,该怎么办。 如果我重新连接外部磁盘并尝试使用Bacula打开它,是否可以恢复存储在该卷中的数据?

        1.    沃克斯

          关键是,您必须在存储守护程序配置(bacula-sd.conf文件)中将外部磁盘作为设备“注册”,以便bacula可以看到它。 完成此操作后,我认为您没有遇到重大问题……即使如此,如果目录找不到卷,我也会进行测试。 让我解释一下,当您“物理地”移动卷(即,从操作系统中移动文件)时,目录不知道这一点,因此您也必须从目录中删除该卷。 然后,由于bconsole的路径已更改,因此您肯定应该将其添加回目录,在bconsole中写帮助以查看处理目录的命令摘要。
          如果您不想弄乱目录,则有两种简单的解决方案。 第一个是bacula直接写入外部磁盘,当您对它感到厌倦时,可以在bacula-sd.conf中添加一个新的Device并将磁盘保存在其他位置。 因此,当您需要还原某些内容时,这些卷仍会反映出来并在目录中进行了很好的配置。 另一个选择是还原到外部磁盘,这将文件直接保存到磁盘,而无需进行加密,归档或压缩或任何其他操作,因此始终可以访问它们。

          1.    黑山共和国

            非常感谢🙂

          2.    沃克斯

            顺便说一句,当您使用bconsole进行还原时,在所有操作的最后,您都将获得摘要确认,通常会选择mod选项(yes / mod / no),该选项允许您修改一些已经预先配置的参数

  10.   安迪

    Bacula是我永远开始但从未完成的事情。 这让我非常感动。 由于它提供的可能性,我不得不尝试有一天再给它一次机会。

  11.   比特酸

    开始学习Bacula有点麻烦,但是一旦您知道它的工作原理,一切都会变得更好...
    我已经研究了该程序3天,可以通过webmin,bconsola等对其进行管理...
    也许,更全面的教程会很好。就我而言,我正在记录我所遇到的问题(以了解程序)。
    例如:
    -Windows客户端在安装时默认为您提供访问密码,如果在连接服务器之前对其进行更改,它将不会为您提供访问密码。也就是说,您必须在识别设备后使用相同的密码您可以更改密码。

    BackupPC很好,但我认为Bacula对于目前具有许多服务器和工作站的生产环境而言似乎非常强大。

    问候

    1.    沃克斯

      尽管原则上一切正常,当您开始使用自签名证书进入TLS配置时,安装和配置Windows客户端是一个很大的挑战……噩梦开始了。 我已经成功了,但是这是我第一次花费时间,愤怒和汗水!

  12.   利奥波德

    我想收到信息。

  13.   Maymaster

    你好,下午好。

    我可以帮我。 我已经安装了bacula,它可以在我的服务器上运行并可以无问题地备份。 但是我的问题是,有什么办法可以保存整个操作系统吗? 作为图像或克隆,在此先感谢。

  14.   古斯塔沃

    我真的很喜欢这篇文章,文章清晰,简单,完整并且读起来很愉快。 我的问题是:您为Bacula最推荐的Linux版本和风格是什么? 问候。

  15.   毛里西奥·托巴尔(Mauricio Tobar)

    亲爱的很好,这篇文章包含一些教程,我设法在Centos 6.6中安装bacula,在Windows 7上安装客户端,该客户端可以与Director进行通信,还可以安装Webmin,因为这样我可以管理所有客户端和备份配置。
    一切正常,直到有故障为止,但是在备份时,它不起作用,它什么也没做,请要求提供一些照亮我失败的光,非常感谢智利。

  16.   耶稣

    早上好,我已经和bacula一起工作了两年,没有问题,但是有一天,bacula不再启动,我进行了搜索,但无法启动该服务,因此我很容易复制文件和/ etc / bacula文件夹,但是我已经在网上搜索了,但我发现我的错误不是复制保存引导程序的文件夹。
    您知道解决这个问题的任何方法吗?

    来自墨西哥的问候
    耶稣

  17.   罗伯托·格瓦拉(Roberto Guevara)

    嗨,我正在尝试在多台服务器之间实现它,但是我无法验证存储,但是可以验证那些相同服务器的客户端。 有人知道这是否是版本问题吗? 我有一台服务器的版本为2.4,另一台服务器的版本为5.0,而baculumweb服务器的版本为9.0
    谢谢