Thứ tư, 15/04/2015 | 00:00 GMT+7

Cách cài đặt server Bacula trên CentOS 7

Bacula là một giải pháp backup mạng open-souce cho phép bạn tạo các bản backup và thực hiện khôi phục dữ liệu của hệ thống máy tính của bạn . Nó rất linh hoạt và mạnh mẽ, điều này làm cho nó, trong khi cấu hình hơi cồng kềnh, phù hợp để backup trong nhiều tình huống. Hệ thống backup là một thành phần quan trọng trong hầu hết các cơ sở hạ tầng server , vì việc khôi phục sau khi mất dữ liệu thường là một phần quan trọng trong các kế hoạch khôi phục sau thảm họa.

Trong hướng dẫn này, ta sẽ chỉ cho bạn cách cài đặt và cấu hình các thành phần server của Bacula trên server CentOS 7. Ta sẽ cấu hình Bacula để thực hiện một công việc hàng tuần là tạo bản backup local (tức là bản backup của server lưu trữ của chính nó). Bản thân đây không phải là cách sử dụng Bacula đặc biệt hấp dẫn, nhưng nó sẽ cung cấp cho bạn một điểm khởi đầu tốt để tạo bản backup các server khác của bạn, tức là các client backup . Hướng dẫn tiếp theo trong loạt bài này sẽ đề cập đến việc tạo bản backup của các server khác, từ xa, của bạn bằng cách cài đặt và cấu hình client Bacula cũng như cấu hình server Bacula.

Nếu bạn muốn sử dụng Ubuntu 14.04 thay thế, hãy làm theo liên kết sau: Cách cài đặt Bacula Server trên Ubuntu 14.04 .

Yêu cầu

Bạn phải có quyền truy cập superuser (sudo) trên server CentOS 7. Ngoài ra, server sẽ yêu cầu đủ dung lượng ổ đĩa cho tất cả các bản backup mà bạn định giữ lại tại bất kỳ thời điểm nào.

Nếu bạn đang sử dụng DigitalOcean, bạn nên bật Mạng riêng trên server Bacula của bạn và tất cả các server khách của bạn nằm trong cùng một khu vực trung tâm dữ liệu. Điều này sẽ cho phép server của bạn sử dụng mạng riêng khi thực hiện backup , giảm chi phí mạng.

Ta sẽ cấu hình Bacula để sử dụng FQDN riêng của các server của ta , ví dụ: bacula.private.example.com . Nếu bạn chưa cài đặt DNS, hãy sử dụng các địa chỉ IP thích hợp để thay thế. Nếu bạn chưa bật mạng riêng tư, hãy thay thế tất cả thông tin kết nối mạng trong hướng dẫn này bằng địa chỉ mạng mà server có thể truy cập được (ví dụ: địa chỉ IP công cộng hoặc tunnel VPN).

Giả định cuối cùng là SELinux bị vô hiệu hóa hoặc bạn có thể tự mình khắc phục các sự cố liên quan đến SELinux.

Hãy bắt đầu bằng cách xem tổng quan về các thành phần của Bacula.

Tổng quan về thành phần Bacula

Mặc dù Bacula bao gồm một số thành phần phần mềm, nó tuân theo mô hình backup server -máy khách; để đơn giản hóa cuộc thảo luận, ta sẽ tập trung nhiều hơn vào server backup và các máy khách backup hơn là các thành phần Bacula riêng lẻ. Tuy nhiên, điều quan trọng là phải có kiến thức sơ lược về các thành phần Bacula khác nhau, vì vậy ta sẽ xem xét chúng ngay bây giờ.

Máy chủ Bacula, mà ta cũng sẽ gọi là " server dự phòng", có các thành phần sau:

  • Bacula Director (DIR): Phần mềm điều khiển các hoạt động backup và khôi phục được thực hiện bởi các daemon File và Storage
  • Storage Daemon (SD): Phần mềm thực hiện đọc và ghi trên các thiết bị lưu trữ được sử dụng để backup
  • Danh mục: Dịch vụ duy trì database gồm các file đã được backup . Database được lưu trữ trong database SQL như MySQL hoặc PostgreSQL
  • Bacula Console: Giao diện dòng lệnh cho phép administrator backup tương tác và điều khiển Bacula Director
Note: The Bacula server components don't need to run on the same server, but they all work together to provide the backup server functionality. 

Một máy khách Bacula, tức là một server sẽ được backup , chạy thành phần File Daemon (FD) . File Daemon là phần mềm cung cấp cho server Bacula (cụ thể là Director) quyền truy cập vào dữ liệu sẽ được backup . Ta cũng sẽ gọi các server này là “máy khách dự phòng” hoặc “máy khách”.

Như ta đã lưu ý trong phần giới thiệu, ta sẽ cấu hình server backup để tạo bản backup hệ thống file của riêng nó. Điều này nghĩa là server backup cũng sẽ là một client backup và sẽ chạy thành phần File Daemon.

Hãy bắt đầu cài đặt.

Cài đặt Bacula và MySQL

Bacula sử dụng database SQL, chẳng hạn như MySQL hoặc PostreSQL, để quản lý danh mục backup của nó. Ta sẽ sử dụng MariaDB, một bản thay thế cho MySQL, trong hướng dẫn này.

Cài đặt gói Bacula và MariaDB Server với yum:

  • sudo yum install -y bacula-director bacula-storage bacula-console bacula-client mariadb-server

Khi quá trình cài đặt hoàn tất, ta cần khởi động MySQL bằng lệnh sau:

  • sudo systemctl start mariadb

Bây giờ MySQL (MariaDB) đã được cài đặt và đang chạy, hãy tạo user database Bacula và các bảng, với các tập lệnh sau:

  • /usr/libexec/bacula/grant_mysql_privileges
  • /usr/libexec/bacula/create_mysql_database -u root
  • /usr/libexec/bacula/make_mysql_tables -u bacula

Tiếp theo, ta muốn chạy một tập lệnh bảo mật đơn giản sẽ loại bỏ một số mặc định nguy hiểm và khóa quyền truy cập vào hệ thống database của ta một chút. Bắt đầu tập lệnh tương tác bằng lệnh:

  • sudo mysql_secure_installation

Dấu nhắc sẽ yêu cầu bạn nhập password root hiện tại của bạn. Vì bạn vừa cài đặt MySQL, rất có thể bạn sẽ không có, vì vậy hãy để trống bằng cách nhấn enter. Sau đó, dấu nhắc sẽ hỏi bạn có muốn đặt password root hay không. Hãy tiếp tục và nhấn Enter , và đặt password . Đối với các câu hỏi còn lại, bạn chỉ cần nhấn phím Enter qua từng dấu nhắc để chấp nhận các giá trị mặc định. Thao tác này sẽ xóa một số user và database mẫu, vô hiệu hóa đăng nhập root từ xa và tải các luật mới này để MySQL áp dụng ngay những thay đổi mà ta đã thực hiện.

Bây giờ ta cần đặt password cho user database Bacula.

Nhập console MySQL, với quyền là user MySQL root :

  • mysql -u root -p

Nhập password root MySQL mà bạn vừa đặt tại dấu nhắc.

Bây giờ đặt password cho user database Bacula. Sử dụng lệnh này, nhưng thay thế "mật khẩu bacula db " được đánh dấu bằng password mạnh:

  • UPDATE mysql.user SET Password=PASSWORD('bacula_db_password') WHERE User='bacula';
  • FLUSH PRIVILEGES;

Khi bạn đã hoàn tất ở đây, hãy thoát khỏi dấu nhắc MySQL:

  • exit

Bật MariaDB để bắt đầu khi server khởi động . Sử dụng lệnh sau để thực hiện :

  • sudo systemctl enable mariadb

Đặt Bacula để sử dụng Thư viện MySQL

Theo mặc định, Bacula được đặt để sử dụng thư viện PostgreSQL. Bởi vì ta đang sử dụng MySQL, ta cần đặt nó để sử dụng thư viện MySQL thay thế.

Chạy lệnh này:

  • sudo alternatives --config libbaccats.so

Bạn sẽ thấy dấu nhắc sau. Nhập 1 (MySQL):

Output
There are 3 programs which provide 'libbaccats.so'. Selection Command ----------------------------------------------- 1 /usr/lib64/libbaccats-mysql.so 2 /usr/lib64/libbaccats-sqlite3.so *+ 3 /usr/lib64/libbaccats-postgresql.so Enter to keep the current selection[+], or type selection number: 1

Các thành phần server Bacula (và client ) hiện đã được cài đặt. Hãy tạo folder backup và khôi phục.

Tạo Thư mục Backup và Khôi phục

Bacula cần một folder backup — để lưu trữ các repository backup — và folder khôi phục — nơi các file đã khôi phục sẽ được đặt. Nếu hệ thống của bạn có nhiều phân vùng, hãy đảm bảo tạo các folder trên một phân vùng có đủ dung lượng.

Hãy tạo các folder mới cho cả hai mục đích sau:

  • sudo mkdir -p /bacula/backup /bacula/restore

Ta cần thay đổi quyền đối với file để chỉ quy trình bacula (và một siêu user ) có thể truy cập các vị trí sau:

  • sudo chown -R bacula:bacula /bacula
  • sudo chmod -R 700 /bacula

Bây giờ ta đã sẵn sàng để cấu hình Bacula Director.

Cấu hình Giám đốc Bacula

Bacula có một số thành phần phải được cấu hình độc lập để hoạt động chính xác. Tất cả các file cấu hình có thể được tìm thấy trong folder /etc/bacula .

Ta sẽ bắt đầu với Giám đốc Bacula.

Mở file cấu hình Bacula Director trong editor yêu thích của bạn. Ta sẽ sử dụng vi:

  • sudo vi /etc/bacula/bacula-dir.conf

Cấu hình tài nguyên giám đốc

Tìm tài nguyên Director và cấu hình nó để lắng nghe trên 127.0.0.1 (localhost), bằng cách thêm dòng DirAddress được hiển thị ở đây:

bacula-dir.conf - Thêm Director DirAddress
Director {                            # define myself   Name = bacula-dir   DIRport = 9101                # where we listen for UA connections   QueryFile = "/etc/bacula/query.sql"   WorkingDirectory = "/var/spool/bacula"   PidDirectory = "/var/run"   Maximum Concurrent Jobs = 1   Password = "@@DIR_PASSWORD@@"         # Console password   Messages = Daemon   DirAddress = 127.0.0.1 } 

Bây giờ chuyển sang phần còn lại của file .

Cấu hình Công việc Địa phương

Một công việc Bacula được sử dụng để thực hiện các hành động backup và khôi phục. Tài nguyên công việc xác định chi tiết về những gì một công việc cụ thể sẽ thực hiện, bao gồm tên của Máy khách, FileSet để backup hoặc khôi phục, trong số những thứ khác.

Ở đây, ta sẽ cấu hình các công việc sẽ được sử dụng để thực hiện backup hệ thống file local .

Trong cấu hình Giám đốc, hãy tìm tài nguyên Công việc có tên là “BackupClient1” (tìm kiếm “BackupClient1”). Thay đổi giá trị của Name thành “BackupLocalFiles”, vì vậy nó trông giống như sau:

bacula-dir.conf - Đổi tên công việc BackupClient1
Job {   Name = "BackupLocalFiles"   JobDefs = "DefaultJob" } 

Tiếp theo, tìm tài nguyên Job có tên là “RestoreFiles” (tìm kiếm “RestoreFiles”). Trong công việc này, bạn muốn thay đổi hai điều: cập nhật giá trị của Name thành “RestoreLocalFiles” và giá trị của Where cần “/ bacula / restore”. Nó sẽ giống như thế này:

bacula-dir.conf - Đổi tên công việc RestoreFiles
Job {   Name = "RestoreLocalFiles"   Type = Restore   Client=BackupServer-fd   FileSet="Full Set"   Storage = File   Pool = Default   Messages = Standard   Where = /bacula/restore } 

Thao tác này cấu hình công việc RestoreLocalFiles để khôi phục file vào /bacula/restore , folder mà ta đã tạo trước đó.

Cấu hình Tập hợp Tệp

Bacula FileSet xác định một tập hợp các file hoặc folder để bao gồm hoặc loại trừ các file khỏi lựa chọn backup và được sử dụng bởi các công việc.

Tìm tài nguyên FileSet có tên là “Full Set” (bên dưới một comment có nội dung “# Danh sách các file sẽ được backup ”). Ở đây ta sẽ thực hiện ba thay đổi: (1) Thêm tùy chọn sử dụng gzip để nén các bản backup của ta , (2) thay đổi file bao gồm từ /usr/sbin thành / và (3) thêm File = /bacula trong phần Loại trừ. Với các comment bị xóa, nó sẽ trông như thế này:

bacula-dir.conf - Cập nhật FileSet “Full Set”
FileSet {   Name = "Full Set"   Include {     Options {       signature = MD5       compression = GZIP     }     File = / }   Exclude {     File = /var/lib/bacula     File = /proc     File = /tmp     File = /.journal     File = /.fsck     File = /bacula   } } 

Hãy xem qua những thay đổi mà ta đã thực hiện đối với FileSet “Full Set”. Đầu tiên, ta đã bật tính năng nén gzip khi tạo bản lưu trữ backup . Thứ hai, ta đang bao gồm / , tức là phân vùng root , được backup . Thứ ba, ta loại trừ /bacula vì ta không muốn backup dự phòng các bản backup Bacula và các file đã khôi phục của bạn .

Note: If you have partitions that are mounted within /, and you want to include those in the FileSet, you will need to include additional File records for each of them. 

Lưu ý nếu bạn luôn sử dụng FileSets rộng, như “Full Set”, trong các công việc backup , thì các bản backup của bạn sẽ yêu cầu nhiều dung lượng đĩa hơn nếu các lựa chọn backup của bạn cụ thể hơn. Ví dụ: một FileSet chỉ bao gồm các file cấu hình và database tùy chỉnh của bạn có thể đủ cho nhu cầu của bạn, nếu bạn có một kế hoạch khôi phục rõ ràng chi tiết cài đặt các gói phần mềm cần thiết và đặt các file được khôi phục ở vị trí thích hợp, trong khi chỉ sử dụng một phần không gian đĩa để lưu trữ backup .

Cấu hình Kết nối Daemon Lưu trữ

Trong file cấu hình Bacula Director, tài nguyên Storage xác định Storage Daemon mà Director nên kết nối với. Ta sẽ cấu hình Storage Daemon thực tế chỉ trong giây lát.

Tìm tài nguyên Lưu trữ và thay thế giá trị của Địa chỉ, localhost , bằng FQDN (hoặc địa chỉ IP riêng) của server backup của bạn. Nó sẽ giống như thế này (thay thế từ được đánh dấu):

bacula-dir.conf - Cập nhật địa chỉ lưu trữ
Storage {   Name = File # Do not use "localhost" here   Address = backup_server_private_FQDN                # N.B. Use a fully qualified name here   SDPort = 9103   Password = "@@SD_PASSWORD@@"   Device = FileStorage   Media Type = File } 

Điều này là cần thiết vì ta sẽ cấu hình Storage Daemon để lắng nghe trên network interface riêng, vì vậy các client từ xa có thể kết nối với nó.

Cấu hình kết nối danh mục

Trong file cấu hình Bacula Director, tài nguyên Catalog xác định nơi Database mà Director nên sử dụng và kết nối với.

Tìm tài nguyên Catalog có tên là “MyCatalog” (bên dưới comment có nội dung “Dịch vụ danh mục chung”) và cập nhật giá trị của dbpassword để nó trùng với password bạn đặt cho user MySQL bacula :

bacula-dir.conf - Cập nhật danh mục dbpassword
# Generic catalog service Catalog {   Name = MyCatalog # Uncomment the following line if you want the dbi driver # dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport =   dbname = "bacula"; dbuser = "bacula"; dbpassword = "bacula_db_password" } 

Điều này sẽ cho phép Giám đốc Bacula kết nối với database MySQL.

Cấu hình group

Tài nguyên Pool xác định tập hợp lưu trữ được Bacula sử dụng để viết các bản backup . Ta sẽ sử dụng file làm dung lượng lưu trữ của bạn và ta sẽ chỉ cập nhật nhãn để các bản backup local của ta được gắn nhãn chính xác.

Tìm tài nguyên Group có tên “Tệp” (bên dưới comment có nội dung “# Định nghĩa Group Tệp”) và thêm một dòng chỉ định Định dạng Nhãn. Nó sẽ trông như thế này khi bạn hoàn thành:

bacula-dir.conf - Cập nhật group :
# File Pool definition Pool {   Name = File   Pool Type = Backup   Label Format = Local-   Recycle = yes                       # Bacula can automatically recycle Volumes   AutoPrune = yes                     # Prune expired volumes   Volume Retention = 365 days         # one year   Maximum Volume Bytes = 50G          # Limit Volume size to something reasonable   Maximum Volumes = 100               # Limit number of Volumes in Pool } 

Lưu và thoát. Cuối cùng thì bạn đã hoàn tất việc cấu hình Bacula Director.

Kiểm tra cấu hình giám đốc:

Hãy xác minh không có lỗi cú pháp nào trong file cấu hình Director của bạn:

  • sudo bacula-dir -tc /etc/bacula/bacula-dir.conf

Nếu không có thông báo lỗi, bacula-dir.conf của bạn không có lỗi cú pháp.

Tiếp theo, ta sẽ cấu hình Storage Daemon.

Cấu hình Daemon lưu trữ

Server Bacula của ta gần như đã được cài đặt xong, nhưng ta vẫn cần cấu hình Storage Daemon, vì vậy Bacula biết nơi lưu trữ các bản backup .

Mở cấu hình SD trong editor yêu thích của bạn. Ta sẽ sử dụng vi:

  • sudo vi /etc/bacula/bacula-sd.conf

Cấu hình tài nguyên lưu trữ

Tìm tài nguyên lưu trữ. Điều này xác định nơi quá trình SD sẽ lắng nghe các kết nối. Thêm thông số SDAddress và gán nó cho FQDN riêng (hoặc địa chỉ IP riêng) của server backup của bạn:

bacula-sd.conf - cập nhật SDAddress
Storage {                             # definition of myself   Name = BackupServer-sd   SDPort = 9103                  # Director's port   WorkingDirectory = "/var/lib/bacula"   Pid Directory = "/var/run/bacula"   Maximum Concurrent Jobs = 20   SDAddress = backup_server_private_FQDN } 

Cấu hình thiết bị lưu trữ

Tiếp theo, tìm tài nguyên Thiết bị có tên “FileStorage” (tìm kiếm “FileStorage”) và cập nhật giá trị của Archive Device để trùng với folder backup của bạn:

bacula-sd.conf - cập nhật Thiết bị lưu trữ
Device {   Name = FileStorage   Media Type = File   Archive Device = /bacula/backup    LabelMedia = yes;                   # lets Bacula label unlabeled media   Random Access = Yes;   AutomaticMount = yes;               # when device opened, read it   RemovableMedia = no;   AlwaysOpen = no; } 

Lưu và thoát.

Xác minh cấu hình nền tảng lưu trữ

Hãy xác minh không có lỗi cú pháp nào trong file cấu hình Storage Daemon của bạn:

  • sudo bacula-sd -tc /etc/bacula/bacula-sd.conf

Nếu không có thông báo lỗi, bacula-sd.conf của bạn không có lỗi cú pháp.

Ta đã hoàn thành cấu hình Bacula. Ta đã sẵn sàng khởi động lại các thành phần server Bacula.

Đặt password thành phần Bacula

Mỗi thành phần Bacula, chẳng hạn như Director, SD và FD, có password được sử dụng để xác thực giữa các thành phần — bạn có thể nhận thấy các trình giữ chỗ trong khi xem qua các file cấu hình. Có thể đặt các password này theo cách thủ công nhưng vì bạn không thực sự cần biết các password này, ta sẽ chạy các lệnh để tạo password ngẫu nhiên và chèn chúng vào các file cấu hình Bacula khác nhau.

Các lệnh này tạo và đặt password Giám đốc. bconsole kết nối với Director, vì vậy nó cũng cần password :

  • DIR_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
  • sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bacula-dir.conf
  • sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bconsole.conf

Các lệnh này tạo và đặt password Storage Daemon. Director kết nối với SD, vì vậy nó cũng cần password :

  • SD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
  • sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-sd.conf
  • sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-dir.conf

Các lệnh này tạo và đặt password File Daemon local (phần mềm client Bacula). Giám đốc kết nối với FD này, vì vậy nó cũng cần password :

  • FD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
  • sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-dir.conf
  • sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-fd.conf

Bây giờ ta đã sẵn sàng để bắt đầu các thành phần Bacula của bạn !

Khởi động các thành phần Bacula

Khởi động Bacula Director, Storage Daemon và File Daemon local bằng các lệnh sau:

  • sudo systemctl start bacula-dir
  • sudo systemctl start bacula-sd
  • sudo systemctl start bacula-fd

Nếu tất cả chúng đều bắt đầu đúng , hãy chạy các lệnh sau để chúng tự động khởi động khi server khởi động :

  • sudo systemctl enable bacula-dir
  • sudo systemctl enable bacula-sd
  • sudo systemctl enable bacula-fd

Hãy kiểm tra Bacula hoạt động bằng cách chạy một công việc backup .

Kiểm tra công việc backup

Ta sẽ sử dụng Bacula Console để chạy công việc backup đầu tiên của ta . Nếu nó chạy mà không có sự cố nào , ta sẽ biết rằng Bacula được cấu hình đúng cách.

Bây giờ hãy nhập Control panel bằng lệnh này:

  • sudo bconsole

Thao tác này sẽ đưa bạn đến dấu nhắc Bacula Console, được biểu thị bằng dấu nhắc * .

Tạo nhãn

Bắt đầu bằng cách phát hành một lệnh label :

  • label

Bạn sẽ được yêu cầu nhập tên tập. Nhập bất kỳ tên nào bạn muốn:

Enter new Volume name:
MyVolume

Sau đó, chọn group mà bản backup sẽ sử dụng. Ta sẽ sử dụng group “Tệp” mà ta đã cấu hình trước đó, bằng lệnh “2”:

Select the Pool (1-3):
2

Chạy công việc backup theo cách thủ công

Bacula hiện biết cách ta muốn ghi dữ liệu để backup . Bây giờ ta có thể chạy bản backup của bạn để kiểm tra xem nó có hoạt động chính xác hay không:

  • run

Bạn sẽ được yêu cầu chọn công việc để chạy. Ta muốn chạy công việc “BackupLocalFiles”, vì vậy hãy nhập “1” vào dấu nhắc:

Select Job resource (1-3):
1

Tại dấu nhắc xác nhận “Chạy công việc backup ”, hãy xem lại chi tiết, sau đó nhập “yes” để chạy công việc:

  • yes

Kiểm tra tin nhắn và trạng thái

Sau khi thực hiện một công việc, Bacula sẽ cho bạn biết rằng bạn có tin nhắn. Các thông báo được tạo ra bởi các công việc đang chạy.

Kiểm tra tin nhắn bằng lệnh :

  • messages

Các thông báo sẽ cho biết “Không tìm thấy bản ghi công việc backup đầy đủ trước” và công việc backup đã bắt đầu. Nếu có bất kỳ lỗi nào, điều gì đó không ổn, và họ sẽ cung cấp cho bạn một gợi ý về lý do tại sao công việc không chạy.

Một cách khác để xem tình trạng công việc là kiểm tra trạng thái của Giám đốc. Để thực hiện việc này, hãy nhập lệnh này tại dấu nhắc bconsole:

  • status director

Nếu mọi thứ hoạt động bình thường, bạn sẽ thấy rằng công việc của bạn đang hoạt động. Thông tin như thế này:

Output — status director (Running Jobs)
Running Jobs: Console connected at 09-Apr-15 12:16 JobId Level Name Status ====================================================================== 3 Full BackupLocalFiles.2015-04-09_12.31.41_06 is running ====

Khi công việc của bạn hoàn thành, nó sẽ chuyển đến phần “Công việc đã chấm dứt” của báo cáo trạng thái, như sau:

Output — status director (Terminated Jobs)
Terminated Jobs: JobId Level Files Bytes Status Finished Name ==================================================================== 3 Full 161,124 877.5 M OK 09-Apr-15 12:34 BackupLocalFiles

Trạng thái “OK” cho biết rằng công việc backup đã chạy mà không gặp sự cố nào . Xin chúc mừng! Bạn có một bản backup của “Toàn bộ” server Bacula của bạn .

Bước tiếp theo là kiểm tra công việc khôi phục.

Kiểm tra công việc khôi phục

Bây giờ một bản backup đã được tạo, điều quan trọng là phải kiểm tra xem nó có thể được khôi phục đúng cách hay không. Lệnh restore sẽ cho phép ta khôi phục các file đã được backup .

Chạy Khôi phục Tất cả Công việc

Để chứng minh, ta sẽ khôi phục tất cả các file trong bản backup cuối cùng của ta :

  • restore all

Một menu lựa chọn sẽ xuất hiện với nhiều tùy chọn khác nhau, được sử dụng để xác định bộ backup nào cần khôi phục. Vì ta chỉ có một bản backup duy nhất, hãy “Chọn bản backup mới nhất ” —chọn tùy chọn 5:

Select item (1-13):
5

Bởi vì chỉ có một client , server Bacula, nó sẽ tự động được chọn.

Dấu nhắc tiếp theo sẽ hỏi bạn muốn sử dụng FileSet nào. Chọn "Toàn bộ", phải là 2:

Select FileSet resource (1-2):
2

Thao tác này sẽ đưa bạn vào một cây file ảo với toàn bộ cấu trúc folder mà bạn đã backup . Giao diện giống như shell này cho phép các lệnh đơn giản để đánh dấu và bỏ đánh dấu các file được khôi phục.

Vì ta chỉ định rằng ta muốn "khôi phục tất cả", mọi file đã backup đều đã được đánh dấu để khôi phục. Các file được đánh dấu được ký hiệu bằng ký tự * đứng đầu.

Nếu bạn muốn tinh chỉnh lựa chọn của bạn , bạn có thể chuyển và liệt kê các file bằng lệnh “ls” và “cd”, đánh dấu file để khôi phục bằng “đánh dấu” và bỏ đánh dấu file bằng “bỏ đánh dấu”. Danh sách đầy đủ các lệnh có sẵn bằng lệnh “help” vào console .

Khi bạn hoàn tất việc lựa chọn khôi phục, hãy tiếp tục bằng lệnh :

  • done

Xác nhận bạn muốn chạy công việc khôi phục:

OK to run? (yes/mod/no):
yes

Kiểm tra tin nhắn và trạng thái

Như với các công việc backup , bạn nên kiểm tra các thông báo và trạng thái Giám đốc sau khi chạy công việc khôi phục.

Kiểm tra tin nhắn bằng lệnh :

  • messages

Sẽ có một thông báo cho biết công việc khôi phục đã bắt đầu hoặc đã kết thúc với trạng thái “Khôi phục OK”. Nếu có bất kỳ lỗi nào, điều gì đó không ổn, và họ sẽ cung cấp cho bạn một gợi ý về lý do tại sao công việc không chạy.

, kiểm tra trạng thái Giám đốc là một cách tốt để xem trạng thái của công việc khôi phục:

  • status director

Khi bạn hoàn tất quá trình khôi phục, hãy nhập exit để rời khỏi Bacula Console:

  • exit

Xác minh Khôi phục

Để xác minh công việc khôi phục đã thực sự khôi phục các file đã chọn, bạn có thể tìm trong folder /bacula/restore (được xác định trong công việc “RestoreLocalFiles” trong cấu hình Director):

  • sudo ls -la /bacula/restore

Bạn sẽ thấy các bản sao đã khôi phục của file trong hệ thống file root của bạn , ngoại trừ các file và folder được liệt kê trong phần “Loại trừ” của công việc “RestoreLocalFiles”. Nếu bạn đang cố gắng khôi phục sau khi mất dữ liệu, bạn có thể sao chép các file đã khôi phục vào vị trí thích hợp của chúng.

Xóa file đã khôi phục

Bạn có thể cần xóa các file đã khôi phục để giải phóng dung lượng đĩa. Để làm như vậy, hãy sử dụng lệnh sau:

  • sudo -u root bash -c "rm -rf /bacula/restore/*"

Lưu ý bạn phải chạy lệnh rm này với quyền là user root , vì nhiều file được khôi phục thuộc sở hữu của user root .

Kết luận

Đến đây bạn đã có một cài đặt Bacula cơ bản có thể backup và khôi phục hệ thống file local của bạn. Bước tiếp theo là thêm các server khác của bạn làm client dự phòng để bạn có thể khôi phục chúng, trong trường hợp mất dữ liệu.

Hướng dẫn tiếp theo sẽ chỉ cho bạn cách thêm các server từ xa khác của bạn làm client Bacula: Cách Backup Server CentOS 7 bằng Bacula .


Tags:

Các tin liên quan

Cách cài đặt Bacula Server trên Ubuntu 14.04
2015-04-09
Thiết lập ban đầu của server Fedora 21
2015-03-31
Cách giám sát tác nhân OSSEC bằng server OSSEC trên Ubuntu 14.04
2015-03-12
Cách thiết lập server OSRM trên Ubuntu 14.04
2015-02-20
Cách cài đặt Linux Dash trên Ubuntu 14.04
2015-02-18
Cách bảo vệ server Linux của bạn chống lại lỗ hổng GHOST
2015-01-28
Cách cài đặt và cấu hình Postfix làm server SMTP chỉ gửi trên Ubuntu 14.04
2015-01-23
Cách cấu hình xác thực dựa trên khóa SSH trên server FreeBSD
2015-01-14
Giới thiệu so sánh về FreeBSD cho người dùng Linux
2015-01-14
Tại sao bạn có thể không muốn chạy mail server của riêng mình
2014-12-11