Tải bản đầy đủ (.pdf) (117 trang)

Xây dựng zabbix modules,plugin tự động sao lưu và phục hồi dữ liệu sau sự cố .

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.75 MB, 117 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

LÝ TRUNG CƯƠNG
NGUYỄN THỊ TUYẾT

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ZABBIX MODULES SAO LƯU VÀ PHỤC
HỒI DỮ LIỆU TỰ ĐỘNG SAU SỰ CỐ
BUILDING ZABBIX MODULES TO BACK UP AND
RESTORE DATA AUTOMATICALLY AFTER INCIDENT

KỸ SƯ NGÀNH AN TOÀN THÔNG TIN

TP. HỒ CHÍ MINH, 2017


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

LÝ TRUNG CƯƠNG – 13520092
NGUYỄN THỊ TUYẾT - 13521017

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ZABBIX MODULES SAO LƯU VÀ PHỤC


HỒI DỮ LIỆU TỰ ĐỘNG SAU SỰ CỐ
BUILDING ZABBIX MODULES TO BACK UP AND
RESTORE DATA AUTOMATICALLY AFTER INCIDENT

KỸ SƯ NGÀNH AN TOÀN THÔNG TIN

GIẢNG VIÊN HƯỚNG DẪN
ThS.TRẦN THỊ DUNG

TP. HỒ CHÍ MINH, 2017


DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
…………………… ngày ………………….. của Hiệu trưởng Trường Đại học Công
nghệ Thông tin.
1. …………………………………………. – Chủ tịch.
2. …………………………………………. – Thư ký.
3. …………………………………………. – Ủy viên.
4. …………………………………………. – Ủy viên.


NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
XÂY DỰNG ZABBIX MODULES ĐỂ SAO LƯU VÀ PHỤC HỒI DỮ
LIỆU TỰ ĐỘNG SAU SỰ CỐ
Cán bộ hướng dẫn:


Nhóm SV thực hiện:
Lý Trung Cương

13520092

Nguyễn Thị Tuyết

13521017

ThS.Trần Thị Dung

Đánh giá Khóa luận
Về cuốn báo cáo:
Số

__ trang

Số

chương _

Số

bảng số liệu

Số

hình vẽ _

Số


tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

Về nội dung nghiên cứu:
………………………………………………………………………………………


………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Về chương trình ứng dụng:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

Về thái độ làm việc của sinh viên:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

Đánh giá chung:


…….…………………………………………………………………………………
…….…………………………………………………………………………………
…….…………………………………………………………………………………
…….…………………………………………………………………………………
Điểm từng sinh viên:
<Tên sinh viên 1>:………../10
<Tên sinh viên 2>:………../10

Người nhận xét
(Ký tên và ghi rõ họ tên)


NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luận:
XÂY DỰNG ZABBIX MODULES ĐỂ SAO LƯU VÀ PHỤC HỒI DỮ LIỆU
TỰ ĐỘNG SAU SỰ CỐ
Cán bộ hướng dẫn:

Nhóm SV thực hiện:
Lý Trung Cương

13520092

Nguyễn Thị Tuyết

13521017

ThS.Trần Thị Dung

Đánh giá Khóa luận
Về cuốn báo cáo:
Số

__ trang

Số

chương

Số

bảng số liệu


Số

hình vẽ

Số

tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

Về nội dung nghiên cứu:
………………………………………………………………………………………


………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

Về chương trình ứng dụng:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

Về thái độ làm việc của sinh viên:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

Đánh giá chung:


…….…………………………………………………………………………………
…….…………………………………………………………………………………
…….…………………………………………………………………………………
…….…………………………………………………………………………………
Điểm từng sinh viên:
<Tên sinh viên 1>:………../10
<Tên sinh viên 2>:………../10

Người nhận xét

(Ký tên và ghi rõ họ tên)


LỜI CẢM ƠN
Khoá luận tốt nghiệp là bước cuối cùng đánh dấu sự trưởng thành của một sinh
viên ở giảng đường Đại học. Để trở thành một kỹ sư đóng góp những gì mình đã
học được cho sự phát triển đất nước.
Trong quá trình thực hiện khoá luận tốt nghiệp, em đã được sự giúp đỡ, hướng dẫn,
hỗ trợ và động viên từ gia đình, từ quý thầy cô cùng các chúng ta. Nhờ đó mà em
đã hoàn thành được luận văn như mong muốn, nay xin cho phép em được gửi lời
cám ơn sâu sắc và chân thành đến:
Các thầy, cô trong Khoa Mạng máy tính và truyền thông trường Đa ̣i Ho ̣c Công
Nghệ Thông Tin đã truyền đạt những kiến thức và kinh nghiệm quý báu để từ đó
chúng em phát triển thêm vốn hiểu biết của mình vận dụng trong công việc sau
này. Bên cạnh đó, chúng em cũng xin được gửi lời cảm ơn đến ban giám hiê ̣u
trường Đa ̣i Ho ̣c Công Nghệ Thông Tin và các ban ngành đã ta ̣o mo ̣i điề u kiê ̣n
thuâ ̣n lơ ̣i giúp đỡ chúng em trong quá trin
̀ h ho ̣c tâ ̣p và hoàn thành luâ ̣n văn.
Chúng em xin chân thành cảm ơn cô Trần Thị Dung, người đã trực tiếp hướng dẫn
chúng em trong suốt quá trình thực hiện đề tài. Trong quá trình làm luận văn, cô đã
không quản ngại tận tình hướng dẫn, giúp chúng em giải quyết các vấn đề nảy sinh
trong quá trình làm luận văn và hoàn thành luận văn đúng định hướng ban đầu.
Chúng em cũng chân thành cảm ơn các thầ y cô trong hô ̣i đồ ng chấ m luâ ̣n văn đã
cho em những đóng góp quý báu để luận văn thêm hoàn chin̉ h.
Cuối cùng chúng em xin được gửi lời cảm ơn tới tất cả ba ̣n bè thuộc trường Đại
Học Công Nghệ Thông Tin-Đại học Quốc Gia TPHCM đã giúp đỡ chúng em trong
lúc chúng em gặp phải khó khăn và thử thách.
Một lần nữa chúng em xin chân thành cảm ơn.
TP. Hồ Chí Minh, ngày tháng


năm 2017

Nhóm sinh viên thực hiện

Lý Trung Cương

Nguyễn Thị Tuyết


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐỀ CƯƠNG CHI TIẾT

1. Tên đề tài hoặc hướng NC
Tên đề tài tiếng Việt: Xây dựng Zabbix modules sao lưu và phục hồi dữ liệu tự
động sau sự cố.
Tên đề tài tiếng Anh: Building Zabbix modules to backup and restore data
automatically after incident.
2. Ngành và mã ngành đào tạo
Ngành đào tạo: Công nghệ thông tin.
Chuyên ngành: An toàn thông tin – D480201.
3. Họ tên sinh viên thực hiện đề tài
Lý Trung Cương

MSSV: 13520092

SĐT: 01243433434

Email:
Nguyễn Thị Tuyết

MSSV: 13521017

Email:

SĐT: 0969686627

Giảng viên hướng dẫn:
Thạc sĩ Trần Thị Dung
Email:
4. Tổng quan tình hình nghiên cứu
4.1. Giới thiệu chung
Năm 2016 là một năm biến động lớn về an ninh bảo mật trên toàn thế giới nói
chung và riêng Việt Nam nói riêng. Rất nhiều máy tính tại các doanh nghiệp lớn đã
bị đình trệ vì ransomware Petya như hãng quảng cáo WPP của Anh, công ty vật liệu
xây dựng Saint-Gobain của Pháp, …Ransomware chuyên mã hóa các file dữ liệu


trên máy, khiến người sử dụng không thể mở file nếu không trả tiền chuộc cho
hacker. Để bảo vệ người dùng trước vấn đề an ninh đồng thời đề phòng rủi ro xảy ra
việc nâng cao tính sẵn sàng và an toàn của cơ sở dữ liệu là một điều bức thiết.
Trong luận văn này chúng tôi đề xuất một giải pháp là xây dựng modules tự động
sao lưu và back up dữ liệu sử dụng công cụ giám sát mạng mã nguồn mở Zabbix.
Hệ thống giám sát mạng Zabbix sẽ có chức năng thu thập các dữ liệu phân tán từ
các server phân tán trên nhiều nguồn khác nhau. Từ các thông tin thu thập được, hệ
thống sao lưu và phục hồi dữ liệu sẽ quyết định cần backup cái gì, backup ở đâu và

toàn bộ quá trình này sẽ được thực hiện một cách nhẹ nhàng, không tốn nhiều công
sức.
4.2. Tình hình nghiên cứu
4.2.1. Tình hình nghiên cứu trong nước
Trước tình hình mã độc Ransomware ngày càng phát triển ngày càng nhanh chóng,
Công ty TNHH Máy tính CMS (thuộc Tập đoàn Công nghệ CMC) đã giới thiệu
máy tính CMS Powercom tích hợp sẵn phần mềm bảo mật CMC CryptoShield, giúp
người dùng an toàn hơn trước vấn nạn mã độc tống tiền đang đe dọa. Tuy nhiên sản
phẩm này là bất cập đối với những người không đủ khả năng về kinh tế.
Cho nên để bảo vệ an toàn cho dữ liệu nhất cho người dùng chính là một bản sao
lưu dữ liệu dự phòng cho những trường hợp bất trắc, đồng thời bảo vệ tính toàn vẹn
và tính sẵn sàng của dữ liệu. Và đặc biệt cần phải giám sát mọi bất thường trong
mạng một cách chặt chẽ nhất. Tuy nhiên ở nước ta hiện nay việc sao lưu và phục
hồi dữ liệu dựa vào hệ thống giám sát mạng Zabbix chưa được phổ biến. Nhìn
chung cộng đồng quan tâm đến sao lưu và phục hồi dữ liệu thông qua Zabbix và áp
dụng nó vào thực tiễn còn nhiều hạn chế.
4.2.2. Tình hình nghiên cứu ngoài nước
Các chuyên gia ATTT kiến nghị đối với các cơ quan, đơn vị cần thiết lập chính
sách ATTT, tuân thủ chặt chẽ và thực hiện vận hành, quản lý có hiệu quả các chính
sách về ATTT vận hành hệ thống mạng, máy chủ, máy trạm cần tiến hành rà soát
tổng thể lại toàn bộ hệ thống, đặc biệt các vấn đề về an toàn, an ninh thông tin, giám


sát mạng chặt chẽ, thiết lập hệ thống sao lưu dự phòng đảm bảo tránh rủi ro mất dữ
liệu khi sự cố xảy ra.
5. Tính khoa học và tính mới
Việc sao lưu và phục hồi dữ liệu hoạt động theo hai phương pháp: sao lưu bằng tay
hoặc sao lưu tự động. Tuy nhiên việc sao lưu tự động ở đây thường sẽ do chính
chúng ta lập lịch biểu theo giờ hay theo ngày, theo tháng hoặc theo quý… mà không
theo thời gian thực.

Nhằm mục đích bảo đảm được tính toàn vẹn và sẵn sàng của dữ liệu sau sự cố,
GVHD của nhóm đã đề xuất kết hợp việc sao lưu và phục hồi dữ liệu vào hệ thống
giám sát mạng Zabbix. Hệ thống giám sát mạng sẽ chịu trách nhiệm theo dõi hệ
thống theo thời gian thực, khi có sự cố cần sao lưu hay phục hồi dữ liệu, zabbix
modules sẽ tự động lựa chọn phương pháp sao lưu hay phục hồi dữ liệu để giải
quyết sự cố đã xảy ra.
6. Mục tiêu, đối tượng và phạm vi
6.1. Mục tiêu
Đề tài hướng đến hai mục tiêu chính như sau:
Mục tiêu 1: Tìm hiểu về các sự cố trong hệ thống, công cụ hỗ trợ để giám sát máy
tính - Zabbix và các phương pháp sao lưu, phục hồi dữ liệu.
 Tìm hiểu và triển khai được hệ thống Zabbix để giám sát các sự cố trong hệ
thống, hiểu rõ được sự cố nào cần phục hồi dữ liệu từ các bản sao lưu.
 Hiểu rõ được khi nào thì cần sao lưu dữ liệu trong hệ thống.
 Nắm rõ được các phương pháp sao lưu và phục hồi dữ liệu (toàn phần, một
phần hay chỉ là một file nhất định).
Mục tiêu 2: Xây dựng hệ thống tự động sao lưu và phục hồi dữ liệu khi có một vài
sự cố nhất định trong hệ thống.
 Xây dựng và thử nghiệm thành công hệ thống trên linux.
 Xây dựng và thử nghiệm thành công hệ thống trên linux kết hợp với hệ thống
giám sát của Zabbix.
6.2. Đối tượng nghiên cứu


Zabbix server, zabbix agent, zabbix modules, modules, các phương pháp sao lưu và
phục hồi dữ liệu, hệ điều hành linux, windows, các công nghệ sao lưu dữ liệu tương
ứng với các hệ điều hành, ngôn ngữ lập trình python...
6.3. Phạm vi nghiên cứu
Phạm vi của đề tài: Nghiên cứu → Triển khai. Thực hiện trên hệ thống VMWare.
Trong đề tài này, chúng tôi thực hiện nghiên cứu các cơ sở lý thuyết cần thiết sau đó

tiến hành xây dựng hệ thống dựa trên cơ sở lý thuyết tìm hiểu được.
Đề tài hướng đến xây dựng, triển khai hệ thống trên nền tảng linux.
7. Nội dung, phương pháp dự định nghiên cứu
Nội dung 1: Tìm hiểu về Zabbix.
 Phương pháp: Tham khảo tài liệu do GVHD cung cấp và tìm kiếm trên các
website đáng tin cậy.
 Kết quả dự kiến: Nắm rõ cách thức triển khai, mô hình và cách thức hoạt
động của Zabbix.
Nội dung 2: Tìm hiểu về các các sự cố có thể xảy ra trong hệ thống.
 Phương pháp: Tham khảo tài liệu do GVHD cung cấp và tìm kiếm trên các
website đáng tin cậy.
 Kết quả dự kiến: Nắm rõ khái niệm, nguyên nhân xảy ra và cách thức khắc
phục các sự cố hệ thống.
Nội dung 3: Tìm hiểu về các phương pháp và công nghệ sao lưu - phục hồi dữ liệu.
 Phương pháp: Tham khảo tài liệu do GVHD cung cấp và tìm kiếm trên các
website đáng tin cậy.
 Kết quả dự kiến: Hiểu rõ về các công nghệ và các phương pháp sao lưu phục hồi dữ liệu.
Nội dung 4: Tìm hiểu về các ngôn ngữ lập trình phục vụ cho việc viết các modules
tự động hóa.
 Phương pháp: Kết hợp tìm hiểu cách lập trình với hiện thực các modules tự
động hóa sao lưu.


 Kết quả dự kiến: Biết cách viết modules và hiện thực hóa thành công các
modules sao lưu tự động cho hệ thống.
Nội dung 5: Kết hợp hệ thống giám sát Zabbix và các modules để tự động hóa công
việc sao lưu - phục hồi dữ liệu sau sự cố và giải quyết các vấn đề phát sinh.
 Phương pháp: Tìm hiểu cách thức liên kết các thành phần trong hệ thống lại
với nhau để tự động hóa công việc và giải quyết các lỗi.
 Kết quả dự kiến: Xây dựng thành công hệ thống sao lưu và phục hồi dữ liệu

sau sự cố.
8. Kế hoạch bố trí thời gian NC
STT

Nội dung

Thời

Kết quả cần đạt được

gian
1

2

Nhận gợi ý đề tài từ GVHD 6/9-

Xác định, lựa chọn đề tài và các

và bước đầu tìm hiểu tổng 10/9/2

vấn đề, nghiên cứu liên quan

quan

đến đề tài.

017

Tìm hiểu tổng quan về đề 10/9-


Định hướng các mục tiêu,

tài.

hướng triển khai.

25/9/2
017

3

Tìm hiểu Cơ sở lý thuyết.

25/9-

Nắm vững về hệ thống giám sát

15/10/

mạng Zabbix, các sự cố có thể

2017

xảy ra đối với một hệ hống dữ
liệu và các phương pháp sao lưu
- phục hồi dữ liệu tương ứng.


4


Xây dựng zabbix modules tự 15/10-

- Viết được modules cho Zabbix

động.

để hệ thống có thể thực thi việc

25/11/

Xem và củng cố lại cơ sở lý 2017

sao lưu và phục hồi dữ liệu khi

thuyết.

có sự cố trong hệ thống.

Bước đầu chuẩn bị viết báo

- Báo cáo tiến độ với GVHD.

cáo.
5

6

Hiệu chỉnh, kiểm tra lại hoạt 25/11-


- Xử lý thành công các lỗi (nếu

động của hệ thống.

15/12/

có).

Viết báo cáo khóa luận.

2017

- Hệ thống vận hành ổn định.

Hoàn chỉnh khoá luận.

15/12-

- Viết báo cáo chi tiết.

31/12/

- Xin ý kiến từ GVHD.

2017
9. Tài liệu tham khảo
[1] Andrea Dalle Vacche and Stefano Kewan Lee, Mastering Zabbix,
Copyright©2013PacktPublishing.
[2] Rihards Olups, Zabbix Network Monitoring, 2nd Edition.
[3] Andrea Dalle Vacche, Patrik Uytterhoeven, and Rihards Olups, Zabbix:

Enterprise Network Monitoring Made Easy, Copyright © 2017 Packt Publishing.
TP. HCM, ngày

tháng

năm 201..

NGƯỜI HƯỚNG DẪN

SINH VIÊN 1 KÝ TÊN

(Họ tên và chữ ký)

(Họ tên và chữ ký)

SINH VIÊN 2 KÝ TÊN
(Họ tên và chữ ký)


MỤC LỤC
Chương 1.

TỔNG QUAN .....................................................................................2

1.1. Lý do chọn đề tài ...........................................................................................2
1.2. Mục tiêu, đối tượng, phạm vi nghiên cứu .....................................................2
1.2.1.

Mục tiêu nghiên cứu ............................................................................2


1.2.2.

Đối tượng nghiên cứu ..........................................................................3

1.2.3.

Phạm vi nghiên cứu .............................................................................3

Chương 2.

CƠ SỞ LÝ THUYẾT ..........................................................................4

2.1. Zabbix ............................................................................................................4
2.1.1.

Công cụ giám sát mạng mã nguồn mở Zabbix ....................................4

2.1.2.

Đối tượng sử dụng ...............................................................................5

2.1.3.

Các thành phần trong hệ thống giám sát Zabbix .................................5

2.1.4.

Các tùy biến trong Zabbix ...................................................................7

2.1.4.1. Item ..................................................................................................7

2.1.4.2. Một số key cơ bản được hỗ trợ sẵn trên Zabbix ..............................8
2.1.4.3. Trigger .............................................................................................9
2.1.4.4. Template ..........................................................................................9
2.1.5.

Cách thức thu thập dữ liệu.................................................................10

2.1.5.1. Passive checks ...............................................................................11
2.1.5.2. Active checks .................................................................................12
2.1.6.

Low-level discovery ..........................................................................16

2.2. Sao lưu và phục hồi dữ liệu .........................................................................19
2.2.1.

Khái niệm sao lưu và phục hồi dữ liệu ..............................................19

2.2.2.

Các phương pháp backup ..................................................................20


2.2.2.1. Backup theo hình thức lưu trữ .......................................................20
2.2.2.2. Phân chia theo nội dung dữ liệu cần backup .................................22
2.2.3.

Một số công cụ backup phổ biến .......................................................26

2.2.3.1. Shell modules.................................................................................26

2.2.3.2. Rsync .............................................................................................27
2.2.3.3. IBM Tivoli Storage Manager ........................................................28
2.2.3.4. Veeam Backup & Replication .......................................................30
Chương 3.

QUY TRÌNH XỬ LÝ SỰ CỐ VÀ BACKUP ...................................33

3.1. Quy trình xử lý sự cố ...................................................................................33
3.2. Quy trình backup dữ liệu .............................................................................35
3.3. Quy trình phục hồi dữ liệu ...........................................................................38
Chương 4.

XÂY DỰNG MODULES .................................................................41

4.1. Chức năng modules .....................................................................................41
4.1.1.

Tạo các backup ..................................................................................41

4.1.1.1. Backup OS .....................................................................................41
4.1.1.2. Backup site_web ............................................................................42
4.1.1.3. Backup databases ...........................................................................43
4.1.1.4. Backup files ...................................................................................44
4.1.1.5. Backup files lên google drive ........................................................44
4.1.1.6. Cron job backup .............................................................................45
4.1.2.

Định nghĩa cách xử lý........................................................................46

4.1.2.1. Xử lý tự động .................................................................................46

4.1.2.2. Xử lý theo quy trình .......................................................................50
4.2. Xây dựng giải pháp chi tiết..........................................................................51


4.2.1.

Xây dựng giải pháp sao lưu dữ liệu...................................................51

4.2.2.

Xây dựng giải pháp phục hồi dữ liệu ................................................52

4.2.3.

Xây dựng môi trường ........................................................................56

4.2.3.1. Production_server ..........................................................................56
4.2.3.2. Zabbix_backup_server ...................................................................57
4.2.4.

Xâyng 4-9 Backup dữ liệu định kỳ
Task

Giải

Platform

Ghi chú

Vị trí


Backup_server

Đồng bộ thư mục /home/backup hàng /root/project/cron-synchronize.py

pháp
Backup Tạo
hàng

cron-

ngày

job

ngày với production_server.
Production server

Backup sites_web và specific_file hàng /root/project/cron-app.py
ngày lưu vào /home/backup/sites_web và
/home/backup/specific_file.
61


Backup databases hàng ngày lưu vào /root/project/cron-mysql.py
/home/backup/databases
Backup hệ điều hàng hàng tháng lưu vào /root/project/con-os.py
/home/backup/os
Dọn


Tạo

Backup_server

Dọn dep và giữ 30 file backup gần nhất /root/project/cron-purge-month.py

dẹp

cron-

trong các thư mục.

hàng

job

+/home/backup/specific_files

ngày
+/home/backup/databases
+/home/backup/sites_web
+/home/backup_latest
Dọn dep và giữ 3 file backup gần nhất /root/project/cron-purge-app.py
Production server

trong các thư mục.
+/home/backup/specific_files
+/home/backup/databases
+/home/backup/sites_web


62


+/home/backup_latest
Backup Tạo

Backup server

Backup tất cả các file lên google_drive /root/project/cron-cloud.py

lên

cron-

trong các thư mục:

cloud

job

+/home/backup/specific_files
+/home/backup/databases
+/home/backup/sites_web
+/home/backup_latest

63


Chương 5. TRIỂN KHAI HỆ THỐNG SAO LƯU VÀ PHỤC HỒI DỮ
LIỆU TỰ ĐỘNG

5.1. Mô hình triển khai

Hình 5.1 Mô hình triển khai hệ thống tự động sao lưu và phục hồi dữ liệu
Mô hình chúng tôi sử dụng trong khóa luận này bao gồm:
Bảng 5-1 Thành phần hệ thống
Zabbix server

Zabbix client

Chức năng

Monitor server

Production Server

Địa chỉ IP

192.168.40.129

192.168.40.128

Dịch vụ

Zabbix server, MySQL database, MySQL, Wordpress website ,
process, backup data

Zabbix agent

64



5.2. Cơ chế hoạt động
Hoạt động của mô hình chúng tôi triển khai được chia theo hai hướng:
-

Backup dữ liệu định kì.

-

Backup dữ liệu trong trường hợp có sự cố xảy ra.

Hệ thống sẽ hoạt động theo mô hình sau: Client sẽ tiến hành sao lưu các dữ liệu
định kì vào các khung giờ được quy định sẵn và lưu vào thư mục backup riêng tại
local. Zabbix server sẽ chạy chương trình để copy dữ liệu từ thư mục này và lưu trữ
lên cloud.
Trong khóa luận này chúng tôi sẽ thực hiện các kịch bản đối với các thành phần của
hệ thống sau:
-

Resource event: CPU, RAM.

-

Service: MySQL, HTTPD.

-

System down.

5.3. Kịch bản backup định kỳ

Chúng tôi triển khai backup định kỳ các dữ liệu về websites, database, các file bất
kỳ mỗi ngày một lần vào thời gian được chỉ định sẵn.
Trước hết trên máy production-server chúng tôi tạo các thư mục chứa các bản
backup và chỉ giữ lại 3 bản backup gần nhất của mỗi loại dữ liệu như sau:
-

Website: /home/backup/sites_web.

-

Databases: /home/backup/databases.

-

Specific_file: /home/backup/specific_file.

Chúng tôi cũng sử dụng cách đặt tên theo ngày tháng để có thể dễ dàng nhận thấy
bản backup nào là mới nhất.
Zabbix_Backup server sẽ đảm nhận nhiệm vụ giám sát sự cố và chạy backup tự
động theo như quy trình đã được nêu ở chương 3. Zabbix sẽ thực thi các modoules
để truy cập vào production server và copy tất cả các file trong các thư mục backup
trên và đưa về backup server.

65


Cron trên production-server
#sites_web specific_files
19 23 * * * root python2.7 /root/project/cron-app.py


#mysql
29 23 * * * root su - mysql-2 -c “python2.7 /root/project/cronmysql.py”
29 6 * * * root su - mysql-2 -c “python2.7 /root/project/cron-mysql.py”
29 15 * * * root su - mysql-2 -c “python2.7 /root/project/cronmysql.py”
#Operating system
#every day 1 of month.
00 1 1 * * root python2.7 /root/project/cron-os.py
# Generate a daily backup purge file of process accounting at 23:59
#Keep only 3 file latest of sub_folder in /home/backup
39 23 * * * root python2.7 /root/project/cron-purge-app.py

Cron trên zabbix-server
# Daily backup full data from production server of process accounting
at 23:59
19 01 * * * root python2.7 /root/project/cron-synchronize.py

#Keep 30 files latest in /home/backup
39 01 * * * root python2.7 /root/project/cron-purge-month.py
# Daily backup full data to cloud every month
49 01 * * * root python2.7 /root/project/cron-cloud.py

5.3.1.

Backup website - File quan trọng

Tạo cron chạy vào lúc 23:19 hàng ngày để backup dữ liệu đã được nén lại vào.
-

Đối với website: /home/backup/sites_web.


-

Đối với file quan trọng trong specific_files: /home/backup/specific_files.

66


5.3.2.

Backup databases

- Tạo cron chạy vào lúc 6:29, 15:29 và 23:29 hàng ngày để backup dữ liệu database
vào /home/backup/databases.
Backup hệ điều hành

5.3.3.

- Tạo cron chạy vào lúc 1:00 ngày 1 hàng tháng để backup dữ liệu toàn bộ hệ điều
hành vào /home/backup/os.
5.4. Kịch bản backup khi có sự cố
Trong khóa luận này, bằng cách giả lập các sự cố xảy ra với máy được giám sát
đồng thời quy định các mức độ cảnh báo mà Zabbix phát hiện để thực hiện hành
động backup và restore tự động.
Cụ thể: Khi Zabbix cảnh báo ở mức:
-

High: Thực hiện hành động backup tự động.

-


Disater: Thực hiện hành động restore tự động.

5.4.1.

High CPU/RAM

Chúng tôi quy định nếu CPU sử dụng lớn hơn 80%, Zabbix sẽ ở mức cành báo
“High”.

Hình 5.2 Quy định mức cảnh báo khi CPU>80%

67


×