Đăng ký Đăng nhập
Trang chủ Báo cáo đề tài công nghệ backup bacula...

Tài liệu Báo cáo đề tài công nghệ backup bacula

.PDF
21
156
127

Mô tả:

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 A. Bacula Server a/Mysql: Khởi động mysql: service mysqld start 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 /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 # wget http://sourceforge.net/projects/webadmin/files/webmin/1.660/webmin1.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 http://domain-name:10000/”. 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
- Xem thêm -

Tài liệu liên quan