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所做的更改的串聯來安裝目錄樹。

Automatización

這是巴庫拉的強項。 所有備份任務都在Director中安排,同時也允許優先級。 因此,在同一天和同一時間計劃多個任務是正常的。 Director與客戶端計算機(使用他的FileDaemon)連接後,便使他與與該任務關聯的存儲設備聯繫,準備加密的連接和要復制的文件。

此外,它不僅允許您指定應複製的文件/文件夾,而且還支持在每個作業之前,期間和之後執行命令/腳本。 因此,如果要備份數據庫,則可以指定提供轉儲的腳本路徑,然後再复制該轉儲。 它還允許您以通用方式指定要復制的文件,從而能夠從客戶端計算機本身添加更多特定的文件。 通常,對於所有UNIX系統(在其中定義了要復制的文件夾,/ etc,/ usr,/ home / var…)定義了通用的FileSet的情況,然後每個客戶端都可以指定自己想要復制的文件。

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.    沃克斯 他說:

      安裝和配置Windows客戶端是一個挑戰,儘管原則上一切正常,當您開始使用自簽名證書進入TLS配置時……噩夢開始了。 我已經成功了,但是這是我第一次花費時間,憤怒和汗水!

  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
    謝謝