Backup
Bacula 異地備份
我有 2 個地點,一個在歐洲,一個在亞洲。每個位置都有一個功能齊全的 Bacula 系統來處理本地備份。
我想要做的是將一些工作從一個位置 SD 複製到另一個位置 SD。理想情況下,如果我可以在位置 A 上執行備份,複製到位置 B,然後還原到位置 B 的伺服器。
我知道從 Bacula 版本 7.0.0 開始允許 SD 到 SD 備份。我認為這是我需要的功能(bacula 手冊)
Bacula 7.0 版允許複製和遷移作業的 SD 到 SD 傳輸。這允許通常稱為 Bacula 備份的複製或異地傳輸。如果復製或遷移作業的源 SD 和目標 SD 不同,它會自動發生。
問題是我不知道如何設置這樣的工作。我沒有找到任何關於此的教程。
我最初的想法是我必須使用複印作業,但隨後來自同一手冊:
遷移僅針對單個儲存守護程序實施。您不能在一個儲存守護程序上讀取並在另一個上寫入。
這正是我想要做的……
關於如何實現這一目標的任何想法?
我找到了(a)解決方案……
似乎關鍵在這裡:
如果復製或遷移作業的源 SD 和目標 SD 不同,它會自動發生。
我的目標是將一些備份工作從亞洲複製到歐洲。為此,我在歐洲 SD 中創建了一個設備:
Device { Name = asiaBackup Media Type = File1 Device Type = File Archive Device = /bacula/asia LabelMedia = yes Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; Maximum Concurrent Jobs = 40; Autochanger = no; }
然後在亞洲導演中,我創建了一個從歐洲 SD 指向該設備的儲存。
Storage { Name = europeStorage Address = myEuropeDomain.com SDPort = 9103 Password = "blaBlaBla...." Device = asiaBackup Media Type = File1 Maximum Concurrent Jobs = 5 Heartbeat Interval = 10 } /* dbPool = the pool where the backup sits locally */ Pool { Name = dbPool Label Format = "dbBackup" Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 365 days Maximum Volume Bytes = 5G Maximum Volumes = 1000 Label Format = "dbVol-" Recycle Oldest Volume = yes Next pool = "europeBackupPool" Storage = dbStorage } /* europeBackupPool = the destination pool of copy job */ Pool { Name = europeBackupPool Label Format = "dbBackup" Pool Type = Backup Recycle = yes AutoPrune = yes Volume Retention = 365 days Maximum Volume Bytes = 5G Maximum Volumes = 1000 Label Format = "euBKVol-" Recycle Oldest Volume = yes Storage = europeStorage }
和這個複印工作
Job { Name = backupToEurope Type = Copy Pool = dbPool Selection Type = PoolUncopiedJobs Schedule = "dailyFullSchedule" Client = "none" FileSet = "none" Messages = Standard }
注意初始池中的“下一個池”指令,因為它指定了將復製作業的池。
之後,當我執行備份時,我得到:
Run Copy job JobName: backupToEurope Bootstrap: *None* Client: none FileSet: none Pool: dbPool (From Job resource) NextPool: europeBackupPool (From Job Pool's NextPool resource) Read Storage: dbStorage (From Pool resource) Write Storage: europeStorage (From Job Pool's NextPool resource) JobId: *None* When: 2015-04-01 18:44:27 Catalog: MyCatalog Priority: 10
這裡的缺點是,如果你想恢復這個備份,你必須從亞洲總監那裡做,因為歐洲總監對這個工作一無所知……