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

21 531 0
Báo cáo đề tài công nghệ backup bacula

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BÁO CÁO ĐỀ TÀI Công Nghệ Backup Bacula Người Thực Hiện: Bùi Ngọc Tâm Bacula Mục Lục Phần 1: Giới Thiệu Về Bacula Trang I Giới thiệu phần mềm Bacula Trang II Các thành phần dịch vụ Bacula Trang Phần 2: Hướng Dẫn Cài Đặt Và Thiết Lập Bacula Trang A.Bacula Server Trang B Máy Client Trang 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 Bacula Phần 1: Giới Thiệu Về Bacula I Giới thiệu phần mềm Bacula Bacula phần mềm cho phép người quản trị hệ thống quản lý việc lưu, phục hồi kiểm tra liệu máy tính thông qua mạng Bacula chạy hoàn toàn máy tính đơn lưu đến nhiều loại phương tiện, chẳng hạn băng từ đĩa cứng Về mặt kỹ thuật, network Client/Server based backup program Bacula tương đối dễ sử dụng hiệu quả, cung cấp nhiều tính quản lý lưu trữ tiên tiến làm cho dễ dàng tìm kiếm phục hồi tập tin bị bị hỏng Nhờ vào thiết kế modular nó, Bacula mở rộng từ hệ thống máy tính nhỏ lẻ đến hệ thống bao gồm hàng trăm máy tính nằm mạng lớn II Các thành phần dịch vụ Bacula 1.Bacula Director: Dịch vụ Bacula Director chương trình quản lý tất hoạt động lưu, phục hồi, thẩm tra lưu trữ Người quản trị hệ thống sử dụng Bacula Director để lập lịch lưu phục hồi tập tin Diretor chạy daemon (hoặc dịch vụ) chế độ 2.Bacula Console: Dịch vụ Bacula Console chương trình cho phép người quản trị người dùng giao tiếp với Bacula Director Hiện nay, Bacula Console có sẵn với phiên bản: giao diện text-based console, giao diện QT-based giao diện đồ hoạ wxWidgets 3.Bacula File: Dịch vụ Bacula File (còn gọi chương trình Client) phần mềm cài đặt thiết bị lưu Tuỳ vào hệ điều hành mà chạy đó, Bacula File có nghĩa vụ cung cấp thuộc tính tập tin liệu đòi hỏi Director Bacula File có trách nhiệm cho phần phụ thuộc vào hệ thống tập tin cho việc khôi phục thuộc tính tập tin liệu 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 lưu trữ khôi phục thuộc tính tập tin liệu đến phương tiện lưu vật lý volume Nói cách khác, Storage daemon có trách nhiệm đọc ghi băng từ (hoặc phương tiện lưu trữ khác) Catalog: Các dịch vụ Catalog bao gồm phần mềm chịu trách nhiệm trì file index volume database cho tất tập tin lưu Catalog cho phép người quản trị hệ thống người dùng định vị phục hồi nhanh chóng tập tin Hiện Bacula hỗ trợ loại database khác nhau: MySQL, PostgreSQL SQLite 6.Bacula Monitor: Dịch vụ Bacula Monitor chương trình cho phép người quản trị người dùng giám sát trạng thái Bacula Directors, Bacula File Daemons Bacula Storage Daemons Hình 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ổ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 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’); Bacula Chuyển database sang bacula: # select user,host,password from mysql.user; # show databases; #use bacula; #exit Thiết Lập Bacula: 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 = Password = "tên pass đổi 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én } 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 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 = months AutoPrune = yes } Dòng 187: Storage { Name = File #Do not use “localhost” here Address = 192.168.229.132 #địa IP máy Server, thay đổi cho phù hợp máy SDPort = 9103 Password = “pass đổi” Device = FileStorage Media Type = File } Bacula Dòng 236: Dbname = “bacula”; dbuser = “bacula”; dbpassword = “pass đổi” Dòng 287: Volumes AutoPrune = yes Volume Retention = 180 days Maximum Volume Jobs = 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 #} 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 Bacula-sd # vi /etc/bacula/bacula-sd.conf Dòng 26 : Director{ Name = bacula-dir 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 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 cài đặt bacula client: yum –y install bacula-client bacula-console bacula-console-bat 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 FILE = /data 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 hình Hình 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 liệu có cố, ta chạy chương trình bacula câu lệnh : “ # bconcole” Tại nhấu nhắc *, nhập “ restore” (như hình: 3) Hình: 13 Bacula Tại mục Select item: chọn : Seclect the most recent backup for a client Làm theo hình bên Hình: Hình: 14 Bacula E Backup Database Bacula có tính backup catalog ( backup databases) Nhưng lại không kết nối đến databases Client để khắc phục tình trạng đó, sử dụng shell Script để tạo file lên lịch để backup database Máy Client Tạo shell Script: Dùng vi hay công cụ soạn thảo linux tạo file có nội dung: + file : /root/.my.cnf Tệp 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 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 cấp quyền cho file vừa tạo: chmod 500 /usr/local/sbin/backupdbs chown root:root /usr/local/sbin/backupdbs Tạo Crontab +Khởi động crontab: # crontab –e +Thiết Lập thời gian: */1 * bash /usr/local/sbin/backupdbs | | | | | \ Lệnh chạy cron job kích hoạt | | | | \ Ngày tuần (0-7) | | | \ Tháng (1-12) | | \ -Ngày 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 tháng, tháng ngày chạy câu lệnh lần Shell Script tạo file database Việc lại dùng bacula để backup var/local/mysqlbackups F Quản lý bacula với Webmin 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 Configure iptables -A INPUT -m state state NEW -m tcp -p tcp dport 10000 -j ACCEPT # service iptables restart 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: 17 Bacula Hình: Director Configuration: Cấu hình Director Hình: 18 Bacula Tại đây, thay đổi Tên, số lượng Jobs, thư mục lưu trữ lưu, cổng kết nối đến Director… Backup Clients: Quản lý Client kết nối với Director, gồm: Tên Client, địa hostname, Hạng mục Tại ta thêm, bớt Client cách dễ dàng Hình: + Thêm 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 IP máy Client Bacula FD port: cổng kết nối, mặc định 9102 … Click Create để tạo 19 Bacula File Sets: Thiết lập mục lưu trữ databases, thư mục liệu cần Backup Tại đây, giúp ta thêm bớt thư mục cần backup bên máy Client Tương tự 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 Client Ví dụ: /var/spool/bacula/BackupSQL Files and directories to skip: thư mục loại trừ backup Nhấn Create để hoàn tất Backup Schedules: Mục thiết lập thời gian biểu để backup liệu Có mức độ backup:  Full Backup  Differential Backup  Incremental Backup Hình: 13 Hình 14 21 Bacula Backup Jobs: quản lý backup, restore Hình: 15 THE END [...]... 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 21 Bacula Backup Jobs: quản lý các backup, restore... 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. ..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... 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. .. 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... 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 | |... 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... 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

Ngày đăng: 26/10/2016, 19:11

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan