Bacula:クイック写真が必要な人向け

バックアップを継続的に行うすべての人にとって良い一日です。



この投稿では、このシステムに慣れようとしている人たちの生活を楽にするようにします。 超自然的なことは何も言わず、自分で使用するものを追加します。 基礎は見事に書かれた投稿であるため、書き換えやコピーには意味がありません。

そして、私たちは記事を開き、研究し、頭にridgeがあることを理解し、スキームを開いて行きます! スキームは、上記の記事のすべてのパラメーターを示しているため、大きいことが判明しました。 データを回路に挿入し、依存関係の矢印(あらゆる種類の矢印でマークされているものはすべてチェック/置換する必要があります)をたどって、テキストを構成にコピーするだけです。 同じブロックを何度もコピーする必要はありません。そのようなブロックがあれば、そのままにしておきます(よくわからない、突然誰かが理解しなかった)!

情報消費を容易にするために、すべて図と写真で。 これがあなたの人生を楽にすることを願っています!



背景または定期的にバックアップを行う管理者の側に切り替えた方法
6月、妻は運転免許証を受け取り、セッションを終了しました。ペンザ州の子供と一緒に迎えに行かなければなりません(モスクワに住んでいます)。 私は人生の最後の5年間で最初の2週間の休暇を取って、NASのすべてのアカウンティングデータベースをコピーし、Zimbraメールでバックアップアーカイブを作成して2番目のNASに置き、純粋な魂で妻に行きました。

金曜日はイベントの前兆ではありませんでしたが、午後5時に同僚が電話をかけ、郵便局は耕していないと言います。 サーバーへの接続に問題があったため、興奮の微妙なメモが私を駆け抜けました-私は「秘密の」軍事都市の密林にいます! 私は3Gモデムを使用していますが、バグがあり、接続を拒否しています。 私は電話用です-エッジのみ。 そして、私はラップトップがWIFIネットワークで報告したことに気付きます-面白いことはパスワードなしでいくつかあります。 まあ、他の誰が密林でパスワードWIFIを考えるでしょう。 さらに楽しい-最初のテストでは、ペンザに対して10 mb / sであることが示されています。 しかし、幸福は完全ではありませんでした。コンピューターに接続しても、VMWare管理パネルは厳密に馬鹿げていることを理解し、サーバーのいずれかの仮想マシンに接続できないことを裏切りさえしました。 サーバーを終了せずに再起動しました。 同僚にサーバーを完全に再起動し、モニターを接続するように依頼します。 数分後、同僚がコールバックし、サーバーがOSを見つけられず、フロントパネルに2つのライトが点灯していると言います。 はい、サーバーを復活させるためにモスクワにすぐに戻ることを期待しているのと同じ電球。

夕方、出発する前に、私はミツバチに噛まれ、顔が腫れ、目が麻痺したので、乗客として行かなければなりませんでした。 しかし、新しく作られたドライバーは、路上で素晴らしい仕事をし、1日以内に仕事をしていました。

恐怖が確認されました-8台のうち2台のHDDがRAID 50に落ちました。そのサーバーですべてが失われたことは明らかです。 メールからアーカイブのあるNASに登りましたが、NASはオフラインでした! 私は天井に登り(NASはそこに保管されています)、彼を私に引きずりました。彼は工場の設定のままでした。 何が起こったのかわかりませんが、HDDをリセットしてフォーマットしました。 メーラーは完全に失われました。 保証を待っている間に、HDDは2台目のサーバーのすべてを復活させました。 しかし、それ以来、バックアップシステムを完全に処理する必要があると判断しました。 ユーザーがメールクライアントを使用していたため、すべてのやり取りが復活しました。 しかし、それは長く退屈で快適ではありません。 今、私はすでに一元的にバックアップを行っている人々に関係しています。

その結果、raidは51になり、HDDは予約されています。 2台のサーバーで6か月間、さらに6台のHDDを失いました。 理由は明らかではありません。 HPはまた、それが何に関連しているのかを言うことができませんでした。









Kubuntu ODGクライアントスキーマ







odg形式のWindowsクライアントのスキーム







odg形式のBaculaサーバーのスキーム



スキームの説明



1.ストレージとしてNAS D'Link DNS 323を使用しました。/media/folderにマウントされ、各NASドライブは独自のfolder / media / nfs_linbackup_v1 /および/ media / nfs_linbackup_v2 /にマウントされます。

2.スキームの記事とは異なり、サーバーとポイントの他の名前。 私は記事から名前を理解することができませんでした(原則として、このためにスキームが登場しました)。

3. Linux、Windows、およびサーバー用の3つのスキームがレイア​​ウトされています。 スキーム3(Schem_center)は、サーバー自体をバックアップするための構成スキームであり、テンプレートのデフォルト設定に基づいています。 これは個人的には不必要だとは思いませんでした。 ただし、これを行うことにした場合は、作成済みのファイルに不足しているコードブロックを追加するだけです。



セクションディレクター/etc/bacula/bacula-dir.conf



1. Center.domain.local-バックアップサーバーも192.168.1.100です。

2. Password Director「Center.domain.local」-「Passdir_1」。

3. kub-fdクライアントの構成ファイルは@ / etc / bacula / client-conf / client-dir-kubuntu.confです



Kubuntu Clientの場合



セクション/etc/bacula/client-conf/client-dir-kubuntu.conf



1. kub-fd-クライアントも192.168.1.20(Kubuntu 13.10 OS)です。

2.クライアントパスワード「PassClient_3」。

3.ストレージの名前は「Kubunt-nfs」です(ストレージの一般的な説明のタスクで使用され、データ自体のストレージデバイスを指します)。

4.「デバイス」の名前は「KubFileStorage」です(ファイル/etc/bacula/bacula-sd.conf内の特定の物理ストレージデバイスへのリンクとして使用されます)。

5.ファイルセットの名前は「KubFileSet」です(コピーするものまたはコピーから除外するものを正確に記述します)。

6.プールの名前は「poolkubnfs」です(プールのタイプ、バックアップデータベースのサイズ、および保存する量について説明します)。

7.スケジューラ(別名sheduler)の名前は「KubDiff」です(実行する操作のスケジュールとタイプを設定します。つまり、土曜日に完了し、他のすべての日に差分を設定します)。



セクション/etc/bacula/bacula-sd.conf



1.サーバーリポジトリ名は「center-sd」です

2. STORAGEサービスが実行されているサーバーのアドレス-SDAddress = 192.168.1.100

3. KubFileStorageクライアント構成ファイルへのリンク@ / etc / bacula / client-conf / client-sd-kubuntu.conf



WinSrvクライアントセクションの/etc/bacula/client-conf/client-dir-winsrv.conf



1. winsrv-fd-クライアントも192.168.1.40(OS WinServ2003)



コメントのテキスト内の他のすべての説明。



何が起こったのか:構成ファイルの内容
bacula-dir.conf
Director { Name = center.domain.local-dir #   ,   default DIRport = 9101 #   ,   sql    #  Bacula Catalog(mysql database) QueryFile = "/etc/bacula/scripts/query.sql" #      WorkingDirectory = "/var/lib/bacula" # pid   PidDirectory = "/var/run/bacula" #      Maximum Concurrent Jobs = 1 #     BC    Password = "Passdir_1" #   mail',    Messages Messages = Daemon #      DirAddress = 192.168.1.100 } Messages { #      Director Name = Daemon #    email mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r" #     (root   admins@domain.ru) #   ,     mail = milo@mydomena.ru = alert,error,fatal,terminate, !skipped #     console = all, !skipped, !saved #    append = "/var/log/bacula/bacula.log" = all, !skipped } Console { Name = center.domain.local-mon Password = "Passdir_1" CommandACL = status, .status } Messages { Name = Standard mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" mail = root = all, !skipped operator = root = mount console = all, !skipped, !saved append = "/var/log/bacula/bacula.log" = all, !skipped catalog = all } Catalog { Name = MyCatalog dbname = "bacula"; DB Address = ""; dbuser = "bacula"; dbpassword = "SQL_pass" } #       ,    #     - @     , #       @/etc/bacula/client-conf/client-dir-kubuntu.conf @/etc/bacula/client-conf/client-dir-winsrv.conf
      
      







bacula-sd.conf
 /etc/bacula/bacula-sd.conf (  ) Storage { #   SD Name = center-sd #   SDPort = 9103 #   (  ) WorkingDirectory = "/var/lib/bacula" # pid   Pid Directory = "/var/run/bacula" #    ip SDAddress = 192.168.1.100 } Director { #  DD,  ,     Name = center.domain.local-dir #  Password = "Passtor_2" } #       ,    #     - @          #   @/etc/bacula/client-conf/client-sd-kubuntu.conf @/etc/bacula/client-conf/client-sd-winsrv.conf
      
      







bacula-fd.conf
 Director { Name = center.domain.local-dir Password = "PassClient_01" } FileDaemon { Name = center.domain.local-fd FDport = 9102 WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 FDAddress = 192.168.1.100 #     } Messages { Name = Standard director = center.domain.local-dir = all, !skipped, !restored }
      
      







bconsole.conf
 Director { Name = center.domain.local-dir DIRport = 9101 Address = 192.168.1.100 Password = "Passdir_1" }
      
      







client-dir-kubuntu.conf
 Client { #  Name = kub-fd # ip   Address = 192.168.1.20 # ,    FDPort = 9102 #  mysql   Bacula Catalog = MyCatalog #   FD Password = "PassClient_3" #         #    ,     #  (   !!) File Retention = 30 days #  ,     Job Retention = 2 months #    ( mysql)  #   AutoPrune = yes } Storage { #     Name = Kubunt-nfs Password = "Passtor_2" # fqdn   Address = 192.168.1.100 #    SDPort = 9103 #      SD Device = KubFileStorage #           #  bacula( # /media/nfs_linbackup_v1/kubuntu/Vol0001) Media Type = File } Schedule { Name = "KubDiff" Run = Level=Full on sat at 15:01 Run = Level=Differential on tue-fri at 15:02 } Pool { #  ,      Name = poolkubnfs #  ,       Pool Type = Backup #    (   1-, #  2-,  3-, 3-  -   1-) AutoPrune = yes #    bacula catalog ( mysql  ) #    Recycle = yes #       (Voumes) #    ,     #   Volume Retention = 5 days Maximum Volume Bytes = 1G Maximum Volumes = 3 LabelFormat = "Kubvol" } FileSet { Name = "KubFileSet" Include { Options { #      , #      md5 signature = MD5 } #  ,    File = /var/backups/opt/ File = /etc/hosts File = /etc/host.conf File = /etc/network/interfaces File = /etc/dnsmasq.conf File = /etc/resolv.conf File = /etc/ntp.conf File = /home/rk/testbackup/ } Exclude { #      File = /home/rk/testbackup/NTFS.dmg } } Job { #   Name = "BackupKubFull" # (backup or restore) Type = Backup # (,   # ) Level = Full #  SD  Storage = Kubunt-nfs #  -(   # ,    ) FileSet="KubFileSet" #   Schedule = "KubDiff" #  (     # (volume)    ) Pool = poolkubnfs #   Client=kub-fd #       , #     , #    ,   #   -    ,  #   Write Bootstrap = "/var/lib/bacula/%n.bsr" #   messages,   #     Messages = Standard #      #(   -    !) ClientRunBeforeJob = "/root/sh/before_bg_db_backup.sh" #      ClientRunAfterJob = "/root/sh/after_bg_db_backup.sh" #     !!! } Job { #      Name = "RestoreKub" Type = Restore Client=kub-fd FileSet="KubFileSet" Storage = winsrv-nfs Pool = poolkubnfs Messages = Standard #      #   .       # ,       Where = /home/rb/1/ }
      
      







client-dir-winSrv.conf
 Client { #  Name = winsrv-fd # ip   Address = 192.168.1.40 # ,    FDPort = 9102 #  mysql   Bacula Catalog = MyCatalog #   FD Password = "PassClient_3" #         #    ,     #  (   !!) File Retention = 30 days #  ,     Job Retention = 2 months #    ( mysql)  #   AutoPrune = yes } Storage { #     Name = winsrv-nfs Password = "Passtor_2" # fqdn   Address = center.domain.local #    SDPort = 9103 #      SD Device = winsrvFileStorage #      NFS NAS    #  bacula( /backup/bgbilling/Vol0001) Media Type = File } Schedule { Name = "WinDiff" Run = Level=Full on sat at 00:02 Run = Level=Differential on tue-fri at 00:03 } Pool { #  ,      Name = poolwinsrvnfs #  ,       Pool Type = Backup #    (   1-, #  2-,  3-, 3-  -   1-) AutoPrune = yes #    bacula catalog ( mysql  ) #    Recycle = yes #       (Voumes) #    ,     #   Volume Retention = 5 days Maximum Volume Bytes = 1G Maximum Volumes = 3 LabelFormat = "winvol" } FileSet { Name = "WinFileSet" #VSS    ,   #    Enable VSS = no Include { Options { compression = GZIP signature = MD5 portable=yes noatime = yes checkfilechanges = yes Ignore Case = yes wildfile = "*.avi" wildfile = "*.wmv" wildfile = "*.mp3" wilddir = "System Volume Information" exclude = yes } #  ,    File = "C:/Buh" File = "C:/Supply" File = "C:/Doc" } Exclude { File = "C:/Doc/myphoto/" } } Job { #   Name = "BackupWinFull" # (backup or restore) Type = Backup # (,   # ) Level = Full #  SD  Storage = winsrv-nfs #  -(   # ,    ) FileSet="WinFileSet" #   Schedule = "WinDiff" #  (     # (volume)    ) Pool = poolwinsrvnfs #   Client=winsrv-fd #       , #     , #    ,   #   -    ,  #   Write Bootstrap = "/var/lib/bacula/%n.bsr" #   messages,   #     Messages = Standard } Job { #      Name = "ResotreWinsrv" Type = Restore Client=winsrv-fd FileSet="WinFileSet" Storage = winsrv-nfs Pool = poolwinsrvnfs Messages = Standard #      #   .       # ,       Where = /1/ }
      
      







client-sd-kubuntu.conf
デバイス{

#名前、一致する名前とパスワードについては、以下で説明します

名前= KubFileStorage

#type

メディアタイプ=ファイル

#このデバイスのファイル(ボリューム、ボリューム)があるディレクトリ

アーカイブデバイス= / media / nfs_linbackup_v1 / kubuntu

#新しいボリュームは、プール設定(ここではVol *)に従って呼び出されます

#DD config

LabelMedia = yes;

#Fileのようなデバイスの場合は次のようになります

ランダムアクセス=はい。

#デバイスが開いている場合は、それを使用します

AutomaticMount = yes;

#明確だと思う=)

RemovableMedia = no;

#対応するタスクの開始時にのみ開く

AlwaysOpen = no;

}



client-sd-winsrv.conf
デバイス{

#名前、一致する名前とパスワードについては、以下で説明します

名前= winsrvFileStorage

#type

メディアタイプ=ファイル

#このデバイスのファイル(ボリューム、ボリューム)があるディレクトリ

アーカイブデバイス= / media / nfs_linbackup_v2 / winsrv

#新しいボリュームは、プール設定(ここではVol *)に従って呼び出されます

#DD config

LabelMedia = yes;

#Fileのようなデバイスの場合は次のようになります

ランダムアクセス=はい。

#デバイスが開いている場合は、それを使用します

AutomaticMount = yes;

#明確だと思う=)

RemovableMedia = no;

#対応するタスクの開始時にのみ開く

AlwaysOpen = no;

}



ClientPCKUBUNT_usr_local_etc_bacula-fd.conf
ディレクター{

名前= center.domain.local-dir

パスワード= "PassClient_3"

}

FileDaemon {

名前= kub-fd

Fport = 9102

WorkingDirectory = / var / lib / bacula

Pid Directory = / var / run / bacula

最大同時ジョブ数= 20

FDAddress = 192.168.1.20#アドレスまたは顧客名

}

メッセージ{

名前=標準

director = center.domain.local-dir = all ,! skipped ,! restore

}



ClientPCWIN_backup_bacula_winsrv-fd.conf
#バックアップするクライアント(ファイルサービス)

クライアント{

名前= winsrv-fd

アドレス= 192.168.1.40

FDPort = 9102

カタログ= MyCatalog

パスワード= "PassClient_3"

ファイル保持= 30日

雇用維持= 2か月

AutoPrune =はい

}



ClientPCWIN_ProgramFiles_Bacula_bacula-fd.conf
ディレクター{

名前= center.domain.local-dir

パスワード= "PassClient_3"

}

FileDaemon {

名前= winsrv-fd

Fport = 9102

WorkingDirectory = "C:\\ Program Files \\ Bacula \\ working"

Pid Directory = "C:\\ Program Files \\ Bacula \\ working"

#プラグインディレクトリ= "C:\\プログラムファイル\\ Bacula \\プラグイン"

最大同時ジョブ数= 10



メッセージ{

名前=標準

director = center.domain.local-dir = all ,! skipped ,! restore

}







これらの機関車を運転する方法



エンジンが起動し、私たちの幸せな未来に突入したようです。 しかし、あなたはいつも彼の世話をするべきです。 これを行うために、賢い人々はBacula管理ツール(BAT)を思いつきました。 使用するには、リポジトリからインストールする必要があります。 全員の分布は異なるため、詳細には触れません。 ただし、セットアップする必要があります。 これを行うには、管理および変更を行うコンピューターでファイル/etc/bacula/bat.confを開きます。



 Director { Name = center.domain.local-dir DIRport = 9101 address = 192.168.1.100 Password = "Passdir_1" }
      
      





すべてが正しく構成されている場合、Bacula管理ツールを実行し、同様のウィンドウを表示します:







次に、どのようなタスクを実行したかを確認する必要があります-[ジョブ]タブ。 特に、このタブは、何かを復元するときに役立ちます。







次に、このテクニックがすでに行っていること-[ジョブの実行]タブを確認するのは興味深いことです。







タスクをダブルクリックすると、何が行われたか、どれだけ、どのように行われたかについての完全な情報が得られます。







必ず[メディア]タブに移動します。ここで、ファイルの塗りつぶしが明確に表示され、上書きされます(場所に問題がないかどうかを判断できる非常に便利なことです。そうしないと、ボリュームの数を調べてNASがすぐにオーバーフローしました)







そして今、最も重要なことはどのように回復するかです。 すでにJOBS_RUNタブを知っており、必要なファイルがある完了したタスクを選択します。 しかし、必要なファイルがそこにあるかどうかわからないことがあります。 右クリックすると、「ジョブのファイルを一覧表示する」を選択する必要があるメニューが表示されます。







必要なファイルがあることを確認した後、「ジョブの実行」に戻り、必要なタスクでコンテキストメニューを呼び出し、「ジョブから復元」-「タスクから復元」または「時間から復元」-時間ごとに復元を選択します。 表示されるウィンドウで、タスク番号で、またはタスクの一般的な設定で、1つのすべての設定をチェックして選択できます。











[OK]をクリックすると、数秒後にこのタスクに格納されているファイルのツリーが表示されます。ここで、関心のあるファイルをチェックする必要があります。







ファイルを選択すると、システムは復元するタスクを選択するように促します。 興味深い機能は、この特定のクライアントの回復タスクがない場合、適用する前にタスクのパラメーターを変更することにより、任意の回復タスクを使用できることです(以下を参照)。 [OK]をクリックして、仕事を楽しんでください。











それが原則ですそれだけです この記事が読者を見つけることを願っています。 この記事で使用されるすべてのファイルはディスク上にあります。

写真やテキストが多すぎたり、間違いがあったり、重大な詳細が欠落しているかもしれませんが、深くなりたくない人(まあ、または私の経験の少ない人など)のためにプログラムの使用を促進しようとしました。

PS主なことはそれが動作することですが、他のすべては重要ではありません



All Articles