Báo cáo đề tài Công nghệ Backup Bacula

BÁO CÁO ĐỀ TÀI  
Công Nghệ Backup Bacula  
Người Thực Hiện:  
Bùi Ngọc Tâm  
2 Bacula  
Mục Lục  
Phần 1: Giới Thiệu Về Bacula....................................................................... Trang 3  
I. Giới thiệu phần mềm Bacula............................................................... Trang 3  
II. Các thành phần hoặc dịch vụ của Bacula........................................... Trang 3  
Phần 2: Hướng Dẫn Cài Đặt Và Thiết Lập Bacula ....................................... Trang 5  
A.Bacula Server...................................................................................... Trang 5  
B. Máy Client......................................................................................... Trang 9  
C.Tiến Hành Backup Trên Máy Server............................................... Trang 11  
D. Tiến Hành Restore Trên Máy Client.......................................................... Trang 12  
E. Quản lý bacula với Webmin ....................................................Trang 14  
F. Quản Lý Bacula với Webmin.................................................................... Trang 15  
3 Bacula  
Phần 1: Giới Thiệu Về Bacula  
I. Giới thiệu phần mềm Bacula  
Bacula là một phần mềm cho phép người quản trị hệ thống quản lý việc sao  
lưu, phục hồi và kiểm tra dữ liệu máy tính thông qua mạng. Bacula cũng có thể chạy  
hoàn toàn trên một máy tính đơn và có thể sao lưu đến nhiều loại phương tiện, chẳng  
hạn như băng từ và đĩa cứng. Về mặt kỹ thuật, nó là một network Client/Server based  
backup program. Bacula tương đối dễ sử dụng và hiệu quả, trong khi cung cấp nhiều  
tính năng quản lý lưu trữ tiên tiến làm cho nó dễ dàng tìm kiếm và phục hồi các tập  
tin bị mất hoặc bị hỏng. Nhờ vào thiết kế modular của nó, Bacula có thể mở rộng từ  
hệ thống máy tính nhỏ lẻ đến các hệ thống bao gồm hàng trăm máy tính nằm trên  
một mạng lớn.  
II. Các thành phần hoặc dịch vụ của Bacula  
1.Bacula Director:  
Dịch vụ Bacula Director là chương trình quản lý tất cả các hoạt động sao lưu,  
phục hồi, thẩm tra và lưu trữ. Người quản trị hệ thống sử dụng Bacula Director để  
lập lịch sao lưu và phục hồi các tập tin.  
Diretor chạy như một daemon (hoặc dịch vụ) trong chế độ nền.  
2.Bacula Console:  
Dịch vụ Bacula Console là chương trình cho phép người quản trị hoặc người  
dùng giao tiếp với Bacula Director. Hiện nay, Bacula Console có sẵn với 3 phiên  
bản: giao diện text-based console, giao diện QT-based và một giao diện đồ hoạ  
wxWidgets.  
3.Bacula File:  
Dịch vụ Bacula File (còn được gọi là chương trình Client) là phần mềm cài đặt  
trên thiết bị được sao lưu. Tuỳ vào hệ điều hành mà nó chạy trên đó, Bacula File có  
nghĩa vụ cung cấp các thuộc tính tập tin và dữ liệu được đòi hỏi bởi Director. Bacula  
File cũng có trách nhiệm cho các phần phụ thuộc vào hệ thống tập tin cho việc khôi  
phục các thuộc tính tập tin và dữ liệu trong suốt hoạt động khôi phục.  
4 Bacula  
4.Bacula Storage:  
Dịch vụ Bacula Storage bao gồm phần mềm thực hiện lưu trữ và khôi phục các  
thuộc tính tập tin và dữ liệu đến các phương tiện sao lưu vật lý hoặc các volume. Nói  
cách khác, Storage daemon có trách nhiệm đọc và ghi các băng từ (hoặc các phương  
tiện lưu trữ khác).  
5. Catalog:  
Các dịch vụ Catalog bao gồm các phần mềm chịu trách nhiệm duy trì các file  
index và volume database cho tất cả các tập tin sao lưu. Catalog cho phép người quản  
trị hệ thống hoặc người dùng định vị và phục hồi nhanh chóng bất kỳ tập tin nào.  
Hiện nay Bacula hỗ trợ 3 loại database khác nhau: MySQL, PostgreSQL và SQLite.  
6.Bacula Monitor:  
Dịch vụ Bacula Monitor là chương trình cho phép người quản trị hoặc người  
dùng giám sát trạng thái hiện tại của Bacula Directors, Bacula File Daemons và  
Bacula Storage Daemons.  
Hình 1  
5 Bacula  
Phần 2: Hướng dẫn cài đặt & thiết lập Bacula  
Khởi động mysql: service mysqld start  
A. Bacula Server  
a/Mysql:  
b/iptables:  
thêm các cổng 9101, 9102, 9103 cho Bacula  
+ iptables –I INPUT –p tcp –m tcp –dport 9101 –j ACCEPT  
+ iptables –I INPUT –p tcp –m tcp –dport 9102 –j ACCEPT  
+ iptables –I INPUT –p tcp –m tcp –dport 9103 –j ACCEPT  
lưu thay đổi : service iptables save  
khởi động iptables: service iptables start  
c/ bacula  
Cài đặt các gói:  
+ bacula-director-mysql  
+ bacula-storage-mysql  
+bacula-console  
+bacula-console-bat  
Thiết lập databases bacula:  
# /usr/libexec/bacula/create_mysql_database –p  
# /usr/libexec/bacula/make_mysql_tables –p  
# /usr/libexec/bacula/grant_mysql_privileges –p  
Đổi password database bacula:  
# mysql –u root –p  
# set password for bacula=password(‘tên pass’);  
# set password for bacula@localhost=password(‘tên pass’);  
6 Bacula  
Chuyển database sang bacula:  
# select user,host,password from mysql.user;  
# show databases;  
#use bacula;  
#exit  
Thiết Lập Bacula:  
1. bacula-dir.conf  
# vi /etc/bacula/bacula-dir.conf  
Dòng 22  
Director {  
Name = debian-dir  
DIRport = 9101  
#where we listen for UA connections  
QueryFile = "/usr/libexec/bacula/query.sql"  
WorkingDirectory = "/var/lib/bacula"  
PidDirectory = "/var/run"  
Maximum Concurrent Jobs = 1  
Password = "tên pass đổi khi nãy" #console password  
Messages = Daemon  
}
Dòng 94:  
#list of files to be backed up  
FileSet {  
Name = “Full Set”  
Include {  
Options {  
Signature = MD5  
Compression = GZIP #Chức năng nén  
}
7 Bacula  
Dòng 110:  
File = /tên thư mục chứa file cần backup  
Vd: File = /data  
Dòng 158:  
#Client ( File Services) to backup  
Client {  
Name = bacula-fd  
Address = 192.168.229.133 #địa chỉ IP máy client, thay đổi cho phù  
hợp  
FDPort = 9102  
Catalog = MyCatalog  
Password = “ pass đổi lúc nãy” #password for FileDaemon  
File Retention = 30 days  
Job Retention = 6 months  
AutoPrune = yes  
}
Dòng 187:  
Storage {  
Name = File  
#Do not use “localhost” here  
Address = 192.168.229.132 #địa chỉ IP máy Server, thay đổi cho phù hợp  
từng máy  
SDPort = 9103  
Password = “pass đổi”  
Device = FileStorage  
Media Type = File  
}
8 Bacula  
Dòng 236:  
Dbname = “bacula”; dbuser = “bacula”; dbpassword = “pass đổi”  
Dòng 287:  
Volumes  
AutoPrune = yes  
Volume Retention = 180 days  
Maximum Volume Jobs = 1  
Label Format = Vol –  
Dòng 312 đến 316: dùng # rào lại  
#Console {  
#
Name = bacula-mon  
#
Password = “@@MON_DIR_PASSWORD”  
CommandACL = status, .status  
#
# }  
2. make_catalog_backup.pl  
#vi /usr/libexec/bacula/make_catalog_backup.pl  
Dòng 108: thêm vào dòng sau:  
Exec(“HOME= ‘$wd’ mysqldump  
–f  
–u$args{db_user}  
–
p$args{db_password} --opt $args{db_name} > ‘$wd/$args{db_name}.sql’  
“);  
Khởi động bacula – dir:  
#service bacula-dir start  
3. Bacula-sd  
# vi /etc/bacula/bacula-sd.conf  
Dòng 26 :  
Director{  
Name = bacula-dir  
9 Bacula  
Password = “pass đổi”  
Dòng 33 – 37: dùng # rào lại:  
# Director {  
#
#
Name = Bacula-mon  
Password = “@@MON_SD_PASSWORD@@”  
# Monitor = yes  
# }  
Khởi động bacula-sd  
#service bacula-sd start  
4.Bconsole  
#vi /etc/bacula/bconsole.conf  
Director {  
Name = bacula-dir  
DIRport = 9101  
Address = 192.168.229.132 # IP máy server  
Password = ‘’pass đổi’’  
}
B.Máy Client  
1. Thêm cổng iptables :  
Iptables –I INPUT –p tcp –m tcp - -dport 9101 –j ACCEPT  
Iptables –I INPUT –p tcp –m tcp - - dport 9102 –j ACCEPT  
Lưu : service iptables save  
Service iptables restart  
2. cài đặt bacula client:  
yum –y install bacula-client bacula-console bacula-console-bat  
3. configure bacuala-fd  
# vi /etc/bacula/bacula-fd.conf  
Dòng 15:  
Director {  
10 Bacula  
Name = bacula-dir  
Password = “pass đổi”  
}
Xóa Dòng 22 – 26:  
Director {  
Name = bacula-mon  
Password = “@@MON_FD_PASSWORD@@”  
Monitor = yes  
}
4.Khởi động bacula-fd:  
# service bacula-fd start  
#chkconfig bacula-fd on  
5.configure bconsole.conf  
# vi /etc/bacula/bconsole.conf  
Director {  
Name = 9101  
Address = 192.168.229.132 #IP máy server  
Password = “pass đổi’’  
6.configure bat.conf  
# vi /etc/bacula/bat.conf  
Director {  
Name = bacula-dir  
DIRport = 9101  
Address = 192.168.229.132 #IP Server  
Password = “pass đổi”  
}
7.tạo thư mục chứa file cần backup  
# mkdir /data # thư mục lúc cài đặt trong FILE = /data của bacula-dir.conf  
bên server  
11 Bacula  
8.coppy file vào thư mục cần backup  
# cp </nguồn file cần backup> /data  
Vd: cp /etc/init.d/* /data  
C.Tiến Hành Backup Trên Máy Server  
* Server:  
# bconsole  
Gõ “run” để chạy bacula. Làm như hình  
Hình 2  
kiểm tra file backup :  
# ll /tmp/  
12 Bacula  
D.Tiến Hành Restore Trên Máy Client  
Để tiến hành restore dữ liệu khi có sự cố, đầu tiên ta chạy chương trình bacula  
bằng câu lệnh : “ # bconcole”  
Tại nhấu nhắc *, nhập “ restore” (như hình: 3)  
Hình: 3  
13 Bacula  
Tại mục Select item: chọn 5 : Seclect the most recent backup for a client  
Làm theo hình bên dưới  
Hình: 4  
Hình: 5  
14 Bacula  
E. Backup Database  
Bacula có tính năng backup catalog ( backup databases). Nhưng lại không kết nối  
đến databases Client được. để khắc phục tình trạng đó, tôi sử dụng shell Script để tạo  
file và lên lịch để backup database.  
Máy Client  
1. Tạo shell Script:  
Dùng vi hay bất kì công cụ soạn thảo nào trên linux tạo ra file có nội dung:  
+ file : /root/.my.cnf  
Tệp này dùng để lưu trữ user, pass, protocol  
[client]  
user=root  
password=xxxxx  
protocol=tcp  
+file: /usr/local/sbin/backupdbs  
#!/bin/bash  
BACKUPLOCATION=/var/local/mysqlbackups  
mkdir -p $BACKUPLOCATION  
# back up all the mysql databases, into individual files so we can later restore  
# them separately if needed.  
mysql --defaults-extra-file=/root/.my.cnf -B -N -e "show databases" | while  
read db  
do  
BACKUPFILE=$BACKUPLOCATION/$db.mysql  
echo "Backing up $db into $BACKUPFILE"  
/usr/bin/mysqldump --defaults-extra-file=/root/.my.cnf $db > $BACKUPFILE  
done  
15 Bacula  
tiếp đến là cấp quyền cho file vừa tạo:  
chmod 500 /usr/local/sbin/backupdbs  
chown root:root /usr/local/sbin/backupdbs  
2. Tạo Crontab  
+Khởi động crontab:  
# crontab –e  
+Thiết Lập thời gian:  
0 3 */1 * 0 bash /usr/local/sbin/backupdbs  
| | | | | \---------------------------------- Lệnh sẽ chạy khi cron job kích hoạt  
| | | | \----------Ngày trong tuần (0-7)  
| | | \------------ Tháng (1-12)  
| | \---------------Ngày trong tháng (1-31)  
| \----------------- Giờ (1-24)  
\------------------- Phút (1-59)  
Ý nghĩa câu lệnh trên:  
Tại thời điểm 3h sáng, tất cả các tháng, trong mỗi tháng cứ 1 ngày sẽ chạy câu  
lệnh một lần  
Shell Script trên đã tạo ra file database. Việc còn lại là dùng bacula để backup  
var/local/mysqlbackups  
F. Quản lý bacula với Webmin  
1 . Cài đặt Webmin  
1.660-1.noarch.rpm  
# rpm -Uvh webmin-1.660-1.noarch.rpm  
# service webmin start  
16 Bacula  
# chkconfig webmin on  
2. Configure iptables  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT  
# service iptables restart  
3. Truy cập webmin  
Vd: 192.168.229.138:10000  
Username: root  
Password: pass đăng nhập vào linux  
Hình: 6  
17 Bacula  
Hình: 7  
Director Configuration: Cấu hình Director  
Hình: 8  
18 Bacula  
Tại đây, có thể thay đổi Tên, số lượng Jobs, thư mục lưu trữ sao lưu, cổng kết nối  
đến Director….  
Backup Clients:  
Quản lý các Client kết nối với Director, gồm: Tên Client, địa chỉ hoặc  
hostname, Hạng mục.  
Tại đây ta có thể thêm, bớt các Client một cách dễ dàng.  
Hình: 9  
+ Thêm một Client mới:  
Click vào “ Add a new backup Client” ( hình: 10)  
Hình 10  
Client FD name: tên Client  
Bacula FD password : password truy cập Client  
Hostname or IP address: địa chỉ IP máy Client  
Bacula FD port: cổng kết nối, mặc định là 9102  
…..  
Click Create để tạo  
19 Bacula  
File Sets:  
Thiết lập mục lưu trữ databases, thư mục chứ dữ liệu cần Backup.  
Tại đây, giúp ta thêm bớt các thư mục cần backup bên máy Client.  
Tương tự như thêm Client , ta chọn Add a new backup file set.  
Hình: 10  
Hình 11  
20 Bacula  
File set Name: tên file  
Files and directories to backup: đường dẫn đến thư mục backup trên Client  
Ví dụ: /var/spool/bacula/BackupSQL  
Files and directories to skip: thư mục được loại trừ khi backup  
Nhấn Create để hoàn tất.  
Backup Schedules:  
Mục này thiết lập thời gian biểu để backup dữ liệu.  
Có 3 mức độ backup:  
Full Backup  
Differential Backup  
Incremental Backup  
Hình: 13  
Hình 14  
Tải về để xem bản đầy đủ
pdf 21 trang yennguyen 23900 Free
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo đề tài Công nghệ Backup Bacula", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbao_cao_de_tai_cong_nghe_backup_bacula.pdf