web-dev-qa-db-ja.com

Bacula-ボリュームを分割しますか?

私はバックアップにBaculaを利用してきました。私はシステムを実装しました、そしてそれは素晴らしい働きをします!しかし、私がしたことの1つは、すべてを1つのボリュームにまとめることでした。少し複雑にして、増分が1週間だけ保持され、次にそのボリューム内の増分がパージされて書き換えられるようにすることを決定しました。これにより、30日間の価値があるため、スペースが問題にならないようにします。インクリメンタルの。

だから私がやろうとしたのは、DAILYというボリューム、WEEKLYというボリューム、そしてMONTHLYというボリュームを作ることでした。日次は増分、週次は差分、月次は満杯です。私たちは毎日7日間、毎月30日間、そして1年間満腹になります(必要があるためです!)。

今、私はこれがテープでできることを知っています。問題は、ディスクを使用していることです...上記を実行しようとすると、a)クラッシュ(フル/インクリメンタルジョブが同じスケジュールの下にある場合)またはb)機能しません(フルバックアップが作成されます)毎日のボリュームなど)。

誰かがこれを試みましたか?または、彼らがどのように設定されているかについてのアイデアを私に与えることができますか?なぜこれに問題があるのか​​わかりません...

Baculaの例;

プール

Pool {
   Name = Daily
   Pool Type = Backup
   Volume Retention = 3 days
   Recycle = yes
   AutoPrune = yes
   LabelFormat = DAILY
   Maximum Volume Bytes = 50G
}

Pool {
   Name = Weekly
   Pool Type = Backup
   Volume Retention = 30 days
   Recycle = yes
   AutoPrune = yes
   LabelFormat = WEEKLY  
   Maximum Volume Bytes = 100G
}

Pool {
   Name = Monthly
   Pool Type = Backup
   Volume Retention = 365 days
   Recycle = yes
   AutoPrune = yes
   LabelFormat = MONTHLY
}

ジョブ/クライアント/スケジュール

Client {
   Name = centos13
   Password = *IMAHAPPYLITTLEPASSWORD*  
   Address = centos13
   FDPort = 9102
   Catalog = MyCatalog
   File Retention = 30 days
   Job Retention = 6 months
}

FileSet {
   Name = centos13
   Include {
     File = /etc/bacula/bacula-fd.conf
     Options {}
   }
}

Schedule {
   Name = centos13
   Run = Level=Full Pool=Monthly 1st sat at 00:05
   Run = Level=Differential Pool=Weekly sat at 00:05
   Run = Level=Incremental Pool=Daily mon-fri at 00:05
}


Job {
   Name = centos13
   Type = Backup
   Client = centos13
   FileSet = centos13
   Schedule = centos13
   Storage = File
   Messages = Standard
   Full Backup Pool = Monthly
   Incremental Backup Pool = Daily
   Differential Backup Pool = Weekly
}
3
Ethabelle

Baculaに必要なことを実行させるには、ボリュームだけでなく、それらのボリュームを別々のプールに配置し、バックアップレベルごとに異なるプールを使用することをジョブに通知する必要があります。

魔法の構文は次のとおりです。

Job {
        Name = "Test"
        Type = Backup
        Client = backup-fd 
        FileSet = "FileSetTest"
        Storage = SomeStorage
        Schedule = "ScheduleTest"
        Pool = Default
        Full Backup Pool = FullTest 
        Incremental Backup Pool = IncrTest
        Differential Backup Pool = DiffTest
}

(恥知らずに泥棒から http://wiki.bacula.org/doku.php?id=sample_configs -レベルごとのプールを指定できる場所はおそらく他にもあると思うので、baculaのドキュメントを確認してください、JobDefs&おそらくClientのように)

次に、前に概説した要件を満たすために、プール(または構成ボリューム)に保持期間を設定します。


ディスク容量に関しては、ディスクバックアップを使用してテープのように扱う方がよいことがわかりました。
プールリソースに「合理的な」 `最大ボリュームバイトを定義し(そしてそれを反映するように既存のボリュームを更新し)、Baculaがそれ自体で循環するボリュームの束を作成することをお勧めします"各ボリュームを「埋める」、設定した保持ポリシーに従ってリサイクルします。
私の場合、バックアップ用に200Gのスペースがあり、100個の2GBファイルに分割されています。

これにはいくつかの利点があります。

  • バックアップボリュームはDVDに収まります
    (つまり、永久にアーカイブする必要がある場合は、ディスクにチャックするだけです)

  • オフサイト同期は、変更されたファイルをプッシュするだけで済みます
    (200Gボリュームが1つ未満)

  • より迅速な災害復旧
    (リモートアーカイブを使用してサーバーを回復する必要がある場合は、そのbootstrap(。bsr)と復元する必要のあるボリュームのみをダウンロードする必要があります。)

  • 私のハードドライブが死んだ場合、私はそれがいくつかのファイルを殺すだけであるという希望を持っています。

3
voretaq7