Các thành phần hoặc dịch vụ của Bacula .... 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í
Trang 1BÁO CÁO ĐỀ TÀI
Công Nghệ Backup Bacula
Người Thực Hiện:
Bùi Ngọc Tâm
Trang 2
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
Trang 3
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
Trang 4
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
Trang 5thê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
Đổ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’);
Trang 6
Chuyển database sang bacula:
# select user,host,password from mysql.user;
Maximum Concurrent Jobs = 1
Password = "tên pass đổi khi nãy" #console password
Signature = MD5
Compression = GZIP #Chức năng nén
}
Trang 7FDPort = 9102 Catalog = MyCatalog Password = “ pass đổi lúc nãy” #password for FileDaemon File Retention = 30 days
Job Retention = 6 months AutoPrune = yes
SDPort = 9103 Password = “pass đổi” Device = FileStorage Media Type = File }
Trang 8Maximum Volume Jobs = 1
Label Format = Vol –
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
Trang 9Name = bacula-dir DIRport = 9101 Address = 192.168.229.132 # IP máy server
Password = ‘’pass đổi’’
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 {
Trang 10
Name = bacula-dir Password = “pass đổi”
}
Xóa Dòng 22 – 26:
Director {
Name = bacula-mon Password = “@@MON_FD_PASSWORD@@”
Monitor = yes }
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
Trang 11
8.coppy file vào thư mục cần backup
# cp </nguồn file cần backup> /data
Trang 12
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
Trang 13
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
Trang 14
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:
# 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
Trang 150 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
# wget 1.660-1.noarch.rpm
http://sourceforge.net/projects/webadmin/files/webmin/1.660/webmin-# rpm -Uvh webmin-1.660-1.noarch.rpm
# service webmin start
Trang 16
# chkconfig webmin on
2 Configure iptables
-A INPUT -m state state NEW -m tcp -p tcp dport 10000 -j ACCEPT
# service iptables restart
Trang 17
Hình: 7
Director Configuration: Cấu hình Director
Hình: 8
Trang 18Click 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
Trang 19
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
Trang 20
File set Name: tên file
Files and directories to backup: đường dẫn đến thư mục backup trên Client