- Nghiên cứu đề xuất giải pháp tự động sao lưu và khôi phục các cơ sở dữ liệu hệ thống và ứng dụng một cách tập trung, phù hợp với kiến trúc của các hệ thống thông tin điện tử... 1.3 Ứng
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-
Đặng Minh Chính
NGHIÊN CỨU
GIẢI PHÁP TỰ ĐỘNG SAO LƯU VÀ KHÔI PHỤC DỮ LIỆU
TRONG HỆ THỐNG THÔNG TIN ĐIỆN TỬ
Ngành: Công nghệ thông tin
Trang 2MỤC LỤC
MỤC LỤC……… 2
LỜI CAM ĐOAN……… 3
DANH MỤC BẢNG BIỂU……… 4
DANH MỤC KÝ HIỆU……… 5
MỞ ĐẦU………. 7
Chương 1: GIỚI THIỆU CHUNG 10
1.1 Sự cần thiết về sao lưu, khôi phục dữ liệu……… 10
1.2 Các hệ thống lưu trữ dữ liệu 12 1.2.1 Hệ thống lưu trữ DAS ………. 12
1.2.2 Hệ thống lưu trữ NAS ……… 14
1.2.3 Hệ thống lưu trữ SAN ……… 15
1.2.4 So sánh các hệ thống lưu trữ ……… 16
1.3 Ứng dụng sao lưu, khôi phục dữ liệu trong hệ thống thông tin điện tử của các cơ quan Đảng … 17
1.3.1 Các phần mềm ứng dụng dùng chung……… 17
1.3.2 Những hạn chế tồn tại ……… 19
1.3.3 Hướng giải quyết hạn chế tồn tại……… 19
Chương 2: CÁC PHƯƠNG PHÁP SAO LƯU, KHÔI PHỤC CƠ SỞ DỮ LIỆU ……… 20
2.1 Khái niệm cơ bản……… 20
2.1.1 Định nghĩa sao lưu, khôi phục dữ liệu ……… 20
2.1.2 Phân loại các kiểu sao lưu, khôi phục phục dữ liệu ……….…… 22
2.1.3 Tiêu chí đánh giá dịch vụ sao lưu, khôi phục dữ liệu … ………… 24
2.2 Các phương pháp sao lưu, khôi phục cơ sở dữ liệu ……… 26
2.2.1 Sao lưu, khôi phục cơ sở dữ liệu mức hệ điều hành………. 26
2.2.2 Sao lưu, khôi phục cơ sở dữ liệu mức hệ quản trị cơ sở dữ liệu…… 28
Trang 32.2.3 Sao lưu, khôi phục cơ sở dữ liệu mức ứng dụng……… 29
2.3 Đánh giá các phương pháp sao lưu, khôi phục cơ sở dữ liệu……… 31
Chương 3: ĐỀ XUẤT GIẢI PHÁP SAO LƯU, KHÔI PHỤC CÁC CƠ SỞ DỮ LIỆU……… 33
3.1 Mục đích, yêu cầu………… 34
3.2 Kiến trúc hệ thống, nguyên tắc hoạt động……… 35
3.2.1 Kiến trúc hệ thống ……… 35
3.2.2 Nguyên tắc hoạt động……… 38
3.3 Xây dựng và thử nghiệm hệ thống……… 39
3.3.1 Thiết kế chi tiết chương trình ……… 39
3.3.2 Nguyên tắc hoạt động ……… 41
3.3.3 Thử nghiệm chương trình ……… 42
KẾT LUẬN……… 47
TÀI LIỆU THAM KHẢO ……… 50
PHỤ LỤC……… 52
A Cài đặt và cách sử dụng chương trình………. 52
B Mã nguồn chương trình……… 53
C Cơ chế chạy tự động cron trong Linux……… 69
D Cơ chế chạy tự động Scheduled Tasks trong Windows……… 70
Trang 5DANH MỤC CÁC KÝ HIỆU
STT Ký hiệu Chú giải cho ký hiệu sử dụng
1 API Giao diện lập trình ứng dụng
3 Backup offline Sao lưu không trực tuyến
4 Backup online Sao lưu trực tuyến
5 2 consistent Tính nhất quán
6 3 Cron Cơ chế chạy tự động trong Linux
7 Control File Tệp điều khiển
9 Database Cơ sở dữ liệu
10 Database Access Libraries Thư viện truy xuất cơ sở dữ liệu
11 DMS Hệ thống quản trị tài liệu
12 Download Tải xuống
13 Database need to backup Cơ sở dữ liệu cần sao lưu
15 Full Backup Sao lưu toàn bộ
16 Incremnental Backup Sao lưu gia tăng
17 Instance Thực thể
18 Ip Giao thức Internet
19 J2EE Công nghệ phát triển các ứng dụng web,
chạy trên máy ảo Java
20 Java Complier Bộ dịch java
21 Modul Là một đoạn chương trình có khả năng
thực hiện một chức năng cụ thể
Trang 622 5 Transaction log Tệp ghi lại nhật ký các giao dịch
23 6 Pure java Hoàn toàn bằng java
24 7 Request Yêu cầu
25 8 Response Phản hồi
26 Router Thiết bị định tuyến
27 Recovery Point Objective Thời gian khôi phục
30 Scheduled Tasks Cơ chế chạy tự động trong Windows
31 Swich Thiết bị chuyển mạch
32 Type of database Loại cơ sở dữ liệu
33 9 Table space Không gian bảng
Trang 7MỞ ĐẦU
1 Tính cấp thiết của luận văn
Thực hiện chỉ thị 58-CT/TW về đẩy mạnh ứng dụng và phát triển công nghệ thông tin phục vụ sự nghiệp công nghiệp hóa, hiện đại hóa và Đề án 06 tin học hoá hoạt động của các các cơ quan Đảng giai đoạn 2006 – 2010 nhằm xây dựng các hệ thống thông tin điện tử của các cấp uỷ Đảng đảm bảo cung cấp thông tin và trao đổi thông tin từ Trung ương xuống các địa phương Các ứng dụng dùng chung trong hệ thống các cơ quan Đảng được xây dựng trên
hệ thống mã nguồn mở, cài đặt trên nền hệ điều hành Linux, cơ sở dữ liệu Posgresql, MySQl, MicroSoft SQL Webserver là Tomcat, Application Server
là Jboss
Đây là hệ thống thông tin điện tử phục vụ sự lãnh đạo, chỉ đạo, điều hành của các cấp uỷ Đảng, nơi chứa các thông tin quan trọng của Đảng Do vậy, cần đảm bảo hệ thống này hoạt động liên tục và an toàn Các ứng dụng hiện nay đang được sao lưu, khôi phục một cách cục bộ Mỗi ứng dụng sử dụng một chương trình sao lưu riêng, việc sao lưu tương đối phức tạp, đòi hỏi người quản trị mạng phải có kiến thức nhất định về cơ sở dữ liệu mình quản
lý Việc xây dựng giải pháp sao lưu và khôi phục các cơ sở dữ liệu một cách tập trung, tự động là rất quan trọng và rất cần thiết
2 Mục đích của luận văn
- Nghiên cứu tổng quan về các giải pháp sao lưu, khôi phục dữ liệu
- Nghiên cứu đề xuất giải pháp tự động sao lưu và khôi phục các cơ sở
dữ liệu (hệ thống và ứng dụng) một cách tập trung, phù hợp với kiến trúc của các hệ thống thông tin điện tử
Trang 83 Đối tượng nghiên cứu
Đối tượng nghiên cứu của luận văn là hệ thống các cơ sở dữ liệu trong mạng diện rộng của các cơ quan Đảng
4 Phạm vi nghiên cứu
Luận văn nghiên cứu một cách tương đối có hệ thống về nguyên tắc, cơ chế hoạt động của các phương pháp sao lưu, khôi phục dữ liệu cơ bản Nghiên cứu cơ chế các phần mềm sao lưu, khôi phục của các hãng chuyên sao lưu khôi phục trên thế giới, đánh giá ưu nhược điểm, từ đó đưa ra giải pháp và xây dựng công cụ giúp sao lưu, khôi phục dữ liệu tự động trong các hệ thống thông tin điện tử
5 Phương pháp nghiên cứu
Luận văn kết hợp giữa mô hình nghiên cứu lí thuyết và ứng dụng minh họa để kiểm chứng Nói chính xác hơn là, từ những nghiên cứu lí thuyết và giải pháp lí thuyết, đánh giá ưu nhược điểm của các giải pháp về sao lưu, khôi phục, luận văn xây dựng một chương trình cho phép sao lưu, khôi phục dữ liệu một cách tập trung với nhiều tính năng vượt trội
Hệ thống được kiểm nghiệm trên một số cơ sở dữ liệu dùng chung trong các cơ quan Đảng
6 Ý nghĩa khoa học và thực tiễn của luận văn
Luận văn không chỉ nghiên cứu một cách khoa học, nguyên lý các cách thức sao lưu, khôi phục dữ liệu, đánh giá các giải pháp đang có trên thị trường, phân tích ưu nhược điểm của các giải pháp đó, mà còn đề xuất một giải pháp cũng dựa trên các nguyên tắc cơ bản về sao lưu, khôi phục dữ liệu nhưng được cải tiến một số nhược điểm mà các giải pháp trước đó gặp phải Như vậy, luận văn đã đạt được ý nghĩa khoa học và khẳng định tính thực tiễn
Trang 9của mình Nó đóng góp một phần quan trọng trong việc đảm bảo an toàn dữ liệu và đảm bảo hoạt động liên tục của các hệ thống thông tin điện tử đang hoạt động trong mạng diện rộng của Đảng
7 Kết cấu luận văn
Ngoài phần Mở đầu và phần Kết luận, luận văn gồm có 3 chương sau:
Chương 1: Giới thiệu tổng quan về sự cần thiết sao lưu, khôi phục
dữ liệu và hiện trạng thực hiện các hệ thống thông tin điện tử trong các cơ quan Đảng
Chương 2 Nghiên cứu các giải pháp sao lưu, khôi phục dữ liệu,
đánh giá ưu nhược điểm của từng giải pháp
Chương 3: Đề xuất giải pháp sao lưu, khôi phục các cơ sở dữ liệu
áp dụng cho các hệ thống thông tin điện tử trong các cơ quan Đảng
Trang 10Chương 1: GIỚI THIỆU CHUNG
1.1 Sự cần thiết sao lưu, khôi phục dữ liệu
Trong thời đại ngày nay, thông tin đóng vai trò hết sức quan trọng trong hầu hết các cơ quan, tổ chức Xét trên khía cạnh công nghệ, hoạt động của cơ quan, tổ chức là quá trình xử lý, trao đổi dữ liệu và lưu trữ thông tin Việc sao lưu, khôi phục dữ liệu để đảm bảo hệ thống hoạt động liên tục, thông suốt ngày càng được quan tâm cao và được đầu tư thỏa đáng
Có nhiều nguyên nhân làm hỏng hóc hoặc mất mát dữ liệu như: tệp chẳng may bị xoá, trục trặc phần cứng, thông tin liên quan nằm ở những tệp không còn truy cập được Một quản trị viên giỏi phải đảm bảo sao cho người dùng vẫn tham khảo được những tệp “đã mất” như thế Muốn vậy, quản trị mạng phải sao lưu dữ liệu kịp thời Tương lai của cơ quan bạn và tương lai của bạn tại cơ quan có thể tuỳ thuộc vào việc các người dùng truy cập được những tệp đã sao lưu ấy Tại những thời điểm nóng bỏng như thế, bản thân bạn cũng như các người khác sẽ có cơ hội nhận thức giá trị của thời gian và công sức để sao chép dữ liệu một cách đều đặn, chặt chẽ và theo một thời điểm đầy đủ Việc sao lưu tệp không mấy hấp dẫn, nhưng quản trị viên không thể không am tường tiến trình sao lưu
Trong quá trình thực hiện sao lưu dữ liệu có thể xảy ra lỗi hệ thống, nghĩa là dữ liệu có thể bị mất hoặc không được sao lưu đầy đủ, chính xác Các nguyên nhân chủ yếu gây ra lỗi hệ thống là:
- Lỗi do con người: Một trong những nguyên nhân phổ biến làm hỏng
hệ thống là do con người Ví dụ nếu người nào đó trong quá trình sử
Trang 11dụng xoá nhầm dữ liệu của một bảng thông tin, lập tức hệ thống sẽ kết nối đến các bảng có liên quan để xóa dữ liệu dữ liệu trong các bảng này Mặc dù chúng ta có thể khôi phục dữ liệu từ các thiết bị lưu trữ nhưng một số dữ liệu có thể mất Cách khắc phục hay dùng là trong các
hệ điều hành có phân quyền đến từng người sử dụng, tạo người dùng với những quyền khác nhau trên từng ứng dụng cụ thể
- Lỗi phần cứng: Hệ thống máy móc thiết bị có thể hỏng hóc bất cứ lúc nào, nó có thể hỏng ở bộ xử lý, bộ nhớ, đường vào ra và các thiết bị lưu trữ Đối với người quản trị hệ thống thì phải luôn giám sát hệ thống thông qua các thông báo lỗi của hệ thống để tìm cách khắc phục lỗi
- Lỗi trong phiên giao dịch: Trong các phiên giao dịch, đôi khi bị lỗi do
hệ thống bị treo hay đang cập nhật thông tin Trong trường hợp này, hệ thống sẽ có ghi nhận một cách thứ tự tất cả các thao tác chứa trong tệp nhật ký giao dịch (transaction log) kể từ lần nhật ký giao dịch được sao lưu gần nhất Và do vậy có thể khôi phục dữ liệu vào một thời điểm nào
đó trong quá khứ mà vẫn đảm bảo tính nhất quán (consistent)
- Lỗi do thiên tai : Một số trường hợp hệ thống bị lỗi do các thảm hoạ thiên tai như động đất, sét đánh, cháy, điện không ổn định, Tùy thuộc
số lượng dữ liệu bị mất, sẽ có các mức độ khôi phục khác nhau
Trang 121.2 Các hệ thống lưu trữ dữ liệu [22]
Hiện nay có rất nhiều hệ thống lưu trữ dữ liệu để thực hiện việc sao lưu, khôi phục dữ liệu, trong đó ba hệ thống lưu trữ dữ liệu phổ biến nhất là DAS, NAS, SAN
1.2.1 Hệ thống lưu trữ DAS
DAS (Direct Access Storage) l à hệ thống lưu trữ dữ liệu mà ở đó thiết
bị lưu trữ được gắn trực tiếp vào máy chủ Thiết bị lưu trữ có thể là tủ đĩa đặt bên ngoài và được nối với máy chủ bởi cáp điều khiển với cổng bên ngoài, hoặc là những ổ đĩa ở bên trong máy chủ Hiện nay hầu hết các hệ máy chủ đều có các hệ thống lưu trữ DAS dùng chuẩn SCSI hoặc Serial SCSI Trong
hệ thống DAS, các máy trạm truy xuất qua máy chủ, trong trường hợp máy chủ hỏng, các truy xuất dữ liệu sẽ không thực hiện được Với giải pháp này, mỗi máy chủ sẽ có một hệ thống lưu trữ và phần mềm quản lý lưu trữ riêng biệt
Hình 1 Mô hình hệ thống lưu trữ DAS (Direct Access Storage)
Trang 13Ưu điểm: Dễ lắp đặt, chi phí thấp, hiệu năng cao
Nhược điểm:
- Khả năng mở rộng hạn chế, thực tế DAS làm việc rất tốt với một máy chủ (server) nhưng khi dữ liệu tăng, số lượng máy chủ cũng tăng sẽ tạo nên những vùng dữ liệu phân tán và gián đoạn Khi đó, người quản trị sẽ phải bổ sung hay thiết lập lại dung lượng và công việc bảo trì sẽ phải thực hiện trên từng máy chủ Điều đó sẽ làm tăng chi phí lưu trữ tổng thể và sẽ càng khó khăn hơn khi sao lưu hay bảo vệ một hệ thống kho lưu trữ dữ liệu đang nằm rải rác và phân tán như vậy
- Khai thác tài nguyên không hiệu quả: Không gian lưu trữ bị chia nhỏ thành các vùng cục bộ nên khai thác không hiệu quả Ví dụ, một máy chủ có thể cố gắng ghi lên một vùng lưu trữ bị đầy, trong khi đó một vùng lưu trữ khác thì lại thừa nhưng không khai thác chung được
- Lưu thông mạng chậm: Khi chia sẻ dữ liệu qua mạng sẽ làm chậm lưu thông mạng
- Quản trị phức tạp: Việc chia nhỏ các vùng lưu trữ cục bộ sẽ làm phức tạp vấn đề quản lý của toàn hệ thống lưu trữ
Trang 14cho phép thực hiện mở rộng về dung lượng lưu trữ khi nhu cầu sử dụng tăng cao
Vì NAS là thiết bị lưu trữ dựa trên mạng LAN nên NAS đòi hỏi các yêu cầu riêng về cách truy xuất tệp, tính bảo mật, môi trường kết nối mạng
Hình 2 Mô hình hệ thống lưu trữ NAS (Network Attached Storage)
Các ưu điểm của NAS:
- Không tốn chi phí cho các card điều hợp HBA và RAID
- Dễ dàng cấu hình vì đây là các thiết bị plug-and-play
- Có thể truy xuất từ bất kì nơi nào, qua kết nối mạng
- Hỗ trợ nhiều hệ điều hành
Nhược điểm của NAS
- Chỉ cho phép dùng qua LAN
- Bị giới hạn băng thông và làm ảnh hưởng đến lưu thông mạng LAN
- Bị giới hạn về khả năng quản lí dung lượng
Trang 151.2.3 Hệ thống lưu trữ SAN
SAN (Storage Area Network) là một mạng riêng tốc độ cao dùng cho việc truyền dữ liệu giữa các máy chủ tham gia vào hệ thống lưu trữ cũng như giữa các thiết bị lưu trữ với nhau Một mạng SAN cho phép các thành phần kết nối với nhau thông qua thiết bị như routers, gateways, hubs, switchs Điều
đó cho phép bỏ kết nối lưu trữ và sao lưu truyền thống giữa một máy chủ với thiết bị lưu trữ, đồng thời bỏ ý niệm một máy chủ chỉ sở hữu và quản lý một thiết bị lưu trữ
Sử dụng mạng lưu trữ SAN cho phép quản lý toàn bộ hệ thống lưu trữ, cho phép một hay nhiều máy chủ hỗn hợp chia sẻ các tiện ích lưu trữ như dùng chung ổ đĩa, băng từ và các phương tiện lưu trữ quang, mặc dù hệ thống thiết bị lưu trữ đó được đặt cách xa các máy chủ sử dụng nó bởi kết nối là những tuyến cáp quang Vì vậy, SAN thường được phát triển ở những trung tâm dữ liệu lớn
Hình 3 Hệ thống lưu trữ SAN (Storage Area Network)
Hình 3 cho thấy SAN kết nối nhiều máy chủ với nhiều hệ thống ứng dụng và lưu trữ khác nhau Hầu hết mạng SAN hiện nay cung cấp cho người sử dụng
Trang 16khả năng mở rộng, hiệu năng và tính sẵn sàng cao SAN đặc biệt thích hợp với các ứng dụng cần tới tốc độ và độ trễ nhỏ, ví dụ như ứng dụng xử lý giao dịch trong ngành ngân hàng, tài chính
1.2.4 So sánh các hệ thống lưu trữ
Mỗi một hệ thống lưu trữ đều có mặt ưu và nhược điểm khác nhau Tùy vào quy mô dữ liệu, nhu cầu, kinh phí… mà sử dụng hệ thống lưu trữ thích hợp
Máy chủ, HĐH
Sử dụng chung cho các ứng dụng khác nhau
Chuyên biệt, tối ưu
Sử dụng chung cho các ứng dụng khác nhau
Thiết bị lưu trữ Gắn trong/gắn ngoài
chuyên biệt
Gắn ngoài qua mạng
Gắn ngoài chia sẻ chung
Quản trị Theo nhân sự Tập trung Tập trung
Hiệu suất Ảnh hưởng nhất định
đến hiệu suất mạng
Tăng hiệu suất mạng Băng thông rộng
Tốc độ Chậm, dễ bị tình
trạng thắt cổ chai
Cải thiện tình trạng thắt cổ chai
Trang 171.3 Ứng dụng sao lưu, khôi phục dữ liệu trong các hệ thống thông tin điện tử của Đảng [17]
b) Phần mềm Hệ thông tin quản lý dữ liệu đảng viên cho phép quản lý,
xử lý, trao đổi, khai thác dữ liệu về đảng viên, tổ chức đảng trong toàn Đảng;
c) Phần mềm đặc thù chuyên ngành Kiểm tra Đảng, cho phép quản lý,
xử lý, trao đổi khai thác hồ sơ, tài liệu liên quan đến công tác kiểm tra đảng
Các phần mềm này được phát triển và hoạt động trên nền hệ điều hành Windows, sử dụng các hệ quản trị cơ sở dữ liệu chuyên biệt của Lotus Notes hoặc hệ quản trị cơ sở dữ liệu quan hệ SQL; giao diện người dùng, hoặc được phát triển riêng (client software) hoặc là giao diện Web
Một trong các định hướng phát triển các hệ thống thông tin điện tử của các cơ quan Đảng là sử dụng phần mềm mã nguồn mở Phần mềm Hệ thông tin điều hành tác nghiệp eDocMan được phát triển trên nền phần mềm mã nguồn mở và đang được triển khai sử dụng trong các cơ quan Đảng, thay thế cho phần mềm Hệ thông tin điều hành tác nghiệp trên phần mềm nền Lotus Notes
Trang 18Kiến trúc của phần mềm eDocman được mô tả trong Hình 5
Người dùng trao đổi dữ liệu với hệ thống eDocMan thông qua các giao diện trình duyệt Web (Webbrowser) và dịch vụ ODMA, cho phép truy nhập trực tiếp từ các ứng dụng văn phòng như: MS Word, MS Powerpoint, vào
cơ sở dữ liệu văn bản được quản lý bởi eDocMan
Trang 191.3.2 Một số hạn chế tồn tại
- Các phần mềm đã xây dựng này đều là các ứng dụng độc lập, chưa có kiến trúc thống nhất và không được tích hợp, chia sẻ thông tin, dữ liệu theo các tiêu chuẩn tiên tiến hiện nay
- Chưa có cơ chế sao lưu, khôi phục dữ liệu tập trung
1.3.3 Hướng giải quyết hạn chế tồn tại
- Nghiên cứu, xây dựng mô hình kiến trúc hệ thống công nghệ thông tin trong quá trình xây dựng các hệ thống thông tin điện tử của Đảng, đảm bảo kiến trúc thống nhất cho việc xây dựng và đưa các hệ thống thông tin điện tử vào vận hành, sử dụng, tránh trùng lắp, lãng phí khi phát triển, giúp người dùng khai thác, sử dụng dễ dàng thuận tiện
- Nghiên cứu, đề xuất xây dựng giải pháp sao lưu các cơ sở dữ liệu một cách tập trung nhằm đảm bảo dữ liệu, thông tin được hoàn toàn kiểm soát và đảm bảo độ an toàn trong toàn Đảng
Trang 20CHƯƠNG 2: CÁC PHƯƠNG PHÁP SAO LƯU, KHÔI PHỤC
CƠ SỞ DỮ LIỆU
2.1 Khái niệm cơ bản
2.1.1 Định nghĩa sao lưu, khôi phục dữ liệu
Sao lưu dữ liệu là quá trình tạo ra một bản sao dữ liệu sang các thiết bị
lưu trữ Việc lưu trữ này được sử dụng trong tương lai khi hệ thống ban đầu bị hỏng
Hình 6 Mô hình tiến trình sao lưu dữ liệu
Trong hầu hết các trường hợp thì nguồn thường là dữ liệu trong đĩa cứng như các tệp, thư mục, cơ sở dữ liệu và các ứng dụng Phần mềm thực hiện quá trình sao lưu dữ liệu sang các thiết bị lưu trữ gọi là phần mềm sao
lưu dữ liệu Đích là các thiết bị lưu trữ như băng từ, đĩa từ, đĩa quang,
Trang 21Khôi phục dữ liệu là quá trình tạo lại dữ liệu gốc từ dữ liệu đã được lưu trữ
Hình 7 Mô hình tiến trình khôi phục dữ liệu
Sao lưu dữ liệu trong môi trường mạng là quá trình sao lưu dữ liệu trong đó tiến trình sao lưu dữ liệu từ nguồn sang các thiết bị lưu trữ thông qua môi trường mạng
Sao lưu dữ liệu trong môi trường mạng cần chú ý một số vấn đề sau :
- Thiết bị sao lưu phải có khả năng kết nối đến bất kỳ hệ thống máy tính trong mạng
- Định tuyến luồng dữ liệu sẽ sao lưu trong mạng
- Quản trị hoạt động sao lưu đối với bất kỳ hệ thống nào
- Hỗ trợ sao lưu nhiều loại hệ thống khác nhau
Sao lưu tự động là quá trình hệ thống tự động sao lưu theo một thời gian định trước Việc sao lưu tự động đem lại rất nhiều lợi ích như giúp quản
trị mạng thực hiện công việc sao lưu vào thời điểm không có người dùng truy cập hệ thống hoặc ít sử dụng tài nguyên hệ thống, tránh các sai sót trong quá trình sao lưu Trên hệ điều hành Linux, Unix để chạy các chương trình tự động thì thường sử dụng chức năng Cron Đó là chức năng cho phép người dùng thực hiện các tác vụ theo định kỳ đã được lên kế hoạch và thời gian trước
Trang 222.1.2 Phân loại các kiểu sao lưu dữ liệu
Có hai kiểu sao lưu dữ liệu chính : Sao lưu không trực tuyến (backup offline) và Sao lưu trực tuyến (backup online)
Sao lưu không trực tuyến: thực hiện khi hệ thống tạm ngừng hoạt động
và do đó không có các thao tác của người dùng tác động vào hệ thống Người dùng không thể kết nối đến các ứng dụng để thực hiện bất kỳ thao tác nào Sẽ không có bất cứ hành động nào tác động lên hệ thống ngoại trừ tiến trình sao lưu
Sao lưu trực tuyến: Thực hiện quá trình sao lưu ngay cả khi hệ thống
đang hoạt động Người dùng có thể sử dụng các chức năng của chương trình trong khi tiến trình sao lưu đang thực hiện
Bản thân trong sao lưu trực tuyến và sao lưu không trực tuyến cũng chia ra làm các loại nhỏ đó là sao lưu theo phương thức đầy đủ và sao lưu theo phương thức gia tăng
Loại sao lưu Mô tả Ưu điểm Nhược điểm Sao lưu đầy đủ
(Full Backup)
Sao lưu toàn bộ các tệp trong thư mục được xác định cần sao lưu
Dễ dàng xác định dữ liệu để sao lưu và khôi phục
Tốn thời gian và không gian lưu trữ dữ liệu
Trang 23Sao lưu gia tăng
kỳ loại sao lưu nào)
Mất ít thời gian
và không gian lưu trữ nhất
Khi khôi phục mất khá nhiều thời gian do cần khôi phục bản sao lưu đầy đủ lần cuối cùng trước, sau đó theo trình tự tìm các bản sao lưu gia tăng của những ngày sau
đó để khôi phục Sao lưu gia tăng
Mất ít thời gian
và không gian lưu trữ hơn so với sao lưu toàn
bộ, khi khôi phục dữ liệu lại nhanh hơn so với sao lưu gia tăng
Thông tin sao lưu còn bị lặp lại Sao lưu tốn nhiều thời gian hơn so với sao lưu gia tăng
Hình 8 So sách các phương pháp sao lưu dữ liệu Sao lưu theo phương thức đầy đủ là sao lưu toàn bộ các tệp trong thư mục được xác định cần sao lưu hoặc sao lưu toàn bộ ứng dụng bao gồm cả
Trang 24chương trình và dữ liệu Đây là kiểu sao lưu thông dụng, rất dễ Tuy nhiên, sao lưu theo phương thức này sẽ tốn không gian lưu trữ và thời gian sao lưu
Sao lưu theo phương thức gia tăng là phương thức chỉ sao lưu khi có sự thay đổi trong hệ thống tệp hoặc các đối tượng trong cơ sở dữ liệu Nó chia ra làm hai loại, đó là:
a) Sao lưu những tệp hoặc các đối tượng trong cơ sở dữ liệu có sự thay đổi kể từ lần sao lưu cuối cùng thuộc bất kỳ loại sao lưu nào (Incremental backup)
b) Sao lưu những tệp hoặc các đối tượng trong cơ sở dữ liệu có sự thay đổi kể từ lần sao lưu cuối đầy đủ cuối cùng (Differential backup)
2.1.3 Tiêu chí đánh giá dịch vụ sao lưu, khôi phục dữ liệu [5]
Khi nói đến việc khôi phục dữ liệu, đặc biệt là đối với việc khôi phục thảm họa, người ta thường nhắc tới hai tiêu chí đó là tiêu chí về thời gian khôi phục (Recovery Time Objective) và tiêu điểm khôi phục (Recovery Point Objective) Tiêu chí thứ nhất xác định khoảng thời gian ngừng hoạt động lớn nhất có thể chấp nhận được đối với cơ quan là bao nhiêu Hay nói cách khác
đó là yêu cầu về thời gian cần thiết để khôi phục hoạt động sau khi xảy ra thảm họa hoặc sự cố Tiêu chí thứ hai liên quan đến sự đánh giá mức độ thiệt hại và ảnh hưởng đến hoạt động khi bị mất dữ liệu, hay nói cách khác là mức
độ mất dữ liệu thế nào được coi là vẫn chấp nhận được trong trường hợp xảy
ra thảm hoạ sự cố
Trang 25Các đại lượng liên quan trong cả hai tiêu chí (thời gian khôi phục và lượng dữ liệu bị mất) càng nhỏ thì chất lượng của dịch vụ khôi phục thảm hoạ càng cao
Hình 9 Tiêu chí đánh giá dịch vụ khôi phục thảm họa
Chiều mũi tên chỉ sang phải trong Hình 9, chúng ta có thể nhận thấy thời gian cần thiết để khôi phục thảm họa sẽ phải tăng dần trên trục thời gian
từ nhiều giây, nhiều phút, nhiều giờ, đến nhiều ngày phụ thuộc vào công nghệ được áp dụng cho quá trình khôi phục dữ liệu Thời gian cần thiết để khôi phục hoạt động tăng dần (cũng có nghĩa là chất lượng của dịch vụ khôi phục thảm hoạ giảm dần) theo sự áp dụng của công nghệ: vận hành hệ thống trong chế độ cluster, thực hiện khôi phục dữ liệu bằng các phương pháp không tự động và cuối cùng là khôi phục bằng băng từ Tương tự như vậy, theo dõi chiều mũi tên sang trái trong Hình 9, lượng dữ liệu bị mất khi xảy ra thảm họa
sẽ tăng dần cùng với sự giảm tính năng các công nghệ được áp dụng: từ tạo bản sao dữ liệu theo phương pháp đồng bộ, tạo bản sao theo phương pháp không đồng bộ, tạo bản sao theo định kỳ, và cuối cùng là tạo bản sao bằng băng từ
Trang 262.2 Các phương pháp sao lưu, khôi phục cơ sở dữ liệu
Có ba phương pháp chính để sao lưu, khôi phục cơ sở dữ liệu đó là:
- Sao lưu, khôi phục mức hệ điều hành
- Sao lưu, khôi phục mức hệ quản trị cơ sở dữ liệu
- Sao lưu, khôi phục mức ứng dụng
2.2.1 Sao lưu, khôi phục cơ sở dữ liệu mức hệ điều hành
a) Khái niệm
Sao lưu, khôi phục dựa ở mức hệ điều hành có nghĩa là sao lưu tất cả các tệp (file) vật lý liên quan đến cơ sở dữ liệu ra thiết bị lưu trữ
b) Kiến trúc hệ thống, nguyên tắc hoạt động:
Hình 10 Mô hình sao lưu cơ sở dữ liệu mức hệ điều hành
Trang 27Mỗi cơ sở dữ liệu sẽ bao gồm nhiều tệp vật lý được chứa trên thiết bị lưu trữ Hệ điều hành sẽ thực hiện quá trình sao lưu các tệp vật lý này ra các thiết bị lưu trữ Như vậy để sao lưu, khôi phục cơ sở dữ liệu mức hệ điều hành đòi hỏi phải biết được cấu trúc vật lý của cơ sở dữ liệu cần sao lưu Thông thường nó gồm 3 loại tệp:
- Tệp dữ liệu (data file): chứa dữ liệu thực sự trong cơ sở dữ liệu (CSDL) Có hai loại tệp dữ liệu: tệp dữ liệu người dùng và tệp dữ liệu hệ thống Dữ liệu hệ thống cho biết người dùng đúng của cơ sỏ dữ liệu và nơi các tệp dữ liệu này được định vị Dữ liệu người dùng được lưu trữ trong những bảng do người dùng định nghĩa, nhưng chúng cũng chứa từ điển dữ liệu và những kiểu cấu trúc khác Một cơ sở dữ liệu có ít nhất một tệp dữ liệu
- Tệp nhật ký khôi phục (Redo log) : những tệp này chứa thông tin ghi nhận những thay đổi đã làm trên CSDL để có thể khôi phục trong trường hợp
có lỗi xảy ra
- Tệp điều khiển (Control file): Những tệp này chứa thông tin cần thiết
để duy trì và kiểm tra tính toàn vẹn CSDL
Trang 28- Không cho phép sao lưu một phần của cơ sở dữ liệu (không thể sao lưu một bảng hay một hàm trong cơ sở dữ liệu) mà phải sao lưu toàn bộ cơ sở dữ liệu do vậy sẽ tốn không gian lưu trữ
2.2.2 Sao lưu, khôi phục dựa vào hệ quản trị cơ sở dữ liệu
a) Khái niệm
Sao lưu, khôi phục cơ sở dữ liệu dựa vào hệ quản trị cơ sở dữ liệu là hình thức tạo bản sao của cơ sở dữ liệu được thực hiện bởi sự kết hợp một tập hợp các hàm do cơ sở dữ liệu hỗ trợ trong giao diện không thân thiện cho người thực hiện sao lưu
b) Kiến trúc, nguyên tắc hoạt động
Hình 14 Sao lưu, khôi phục cơ sở dữ liệu mức hệ quản trị cơ sở dữ liệu
Trang 29Các cơ sở dữ liệu được tạo ra từ nhiều hệ quản trị cơ sở dữ liệu khác nhau nên không thể truy cập trực tiếp chúng mà thông qua các bộ máy cơ sở
dữ liệu khác nhau Các bộ máy này đóng vai trò trung gian trong quá trình truy cập vào cơ sở dữ liệu
Hầu hết các cơ sở dữ liệu đều cung cấp phương pháp sao lưu cho chính
cơ sở dữ liệu đó Người quản trị phải chạy một tập hợp các câu lệnh mà hệ quản trị cơ sở dữ liệu cung cấp Phần lớn công việc này phải thực hiện tại máy
có cài đặt cơ sở dữ liệu và người quản trị phải có kiến thức nhất định về cơ sở
dữ liệu mà mình định sao lưu, khôi phục Với mỗi loại cơ sở dữ liệu khác nhau thì cú pháp thực hiện sao lưu cũng khác nhau
- Việc thực hiện sao lưu, khôi phục được thực hiện dưới dạng câu lệnh sql phức tạp tùy từng cơ sở dữ liệu
Trang 302.2.3 Sao lưu, khôi phục mức ứng dụng
a) Khái niệm:
Sao lưu, khôi phục cơ sở dữ liệu mức ứng dụng là hình thức dựa vào một phần mềm trung gian có nhiều tính năng ưu việt (giao diện thân thiện với người dùng, tự động sao lưu theo thời gian định trước, sao lưu gia tăng, …) để thực hiện sao lưu, khôi phục cơ sở dữ liệu
b) Kiến trúc hệ thống, nguyên tắc hoạt động
Hình 15 Sao lưu, khôi phục cơ sở dữ liệu mức ứng dụng
Việc sao lưu cơ sở dữ liệu thông qua chương trình ứng dụng Chương trình ứng dụng kết nối vào cơ sở dữ liệu thông qua bộ máy cơ sở dữ liệu, sau
đó thực hiện sao lưu cơ sở dữ liệu ra các thiết bị lưu trữ Một ứng dụng có thể
Trang 31sao lưu một cơ sở dữ liệu hoặc nhiều cơ sở dữ liệu tuỳ thuộc vào tính năng của ứng dụng
Hiện nay trên thế giới có rất nhiều hãng phần mềm nổi tiếng đầu tư vào việc phát triển các phần mềm giúp cho việc sao lưu, khôi phục dữ liệu Đặc điểm nổi bật của các phần mềm này là cung cấp cho người dùng một giao diện thân thiện; cho phép người quản trị có thể dễ dàng sao lưu, khôi phục các
cơ sở dữ liệu của mình mà không cần biết nhiều đến cơ sỏ dữ liệu đó như thế nào Các phần mềm này còn hỗ trợ nhiều tính năng ưu việt như: đặt chế độ sao lưu tự động, sao lưu toàn bộ cơ sở dữ liệu hay chỉ sao lưu những dữ liệu thay đổi, …
c) Đánh giá
Ưu điểm:
- Giao diện thân thiện
- Có thể sao lưu một phần dữ liệu như sao lưu một bảng trong cơ sở dữ liệu
- Đặt thời gian sao lưu theo lịch đặt trước
Trang 322.3 Đánh giá các phương pháp sao lưu, khôi phục dữ liệu
Từ những phân tích các phương pháp sao lưu, khôi phục dữ liệu ở trên
ta thấy mỗi phương pháp có những ưu điểm và nhược điểm riêng
Sao lưu, khôi phục dữ liệu mức hệ điều hành
Sao lưu, khôi phục
dữ liệu mức
hệ quản trị
cơ sở dữ liệu
Sao lưu, khôi phục dữ liệu mức ứng dụng
Ưu điểm - Đảm bảo tính sẵn sàng cao
- Dữ liệu tuyệt đối an toàn
- Chức năng sẵn có trong
cơ sở dữ liệu
- Việc sao lưu tiến hành dễ dàng, đơn giản đối với người quản trị
- Có nhiều tính năng ưu việt trong việc đặt lịch tự động sao lưu
Nhược điểm - Không sao lưu, khôi phục được
một phần trong cơ sở dữ liệu mà phải sao lưu hoặc khôi phục toàn
bộ cơ sở dữ liệu
- Nếu có nhiều dữ liệu phân tán
ở nhiều nơi việc sao lưu mất nhiều công sức
- Chỉ thực hiện khi sao lưu một bản chạy tốt, nếu bản đó bị lỗi về mặt dữ liệu thì việc sao lưu không có tác dụng
- Người quản trị phải có kỹ năng nhất định
về cơ sở dữ liệu
- Nếu có nhiều
dữ liệu phân tán ở nhiều nơi việc sao lưu mất nhiều công sức
- Giá thành cao
- Thường chỉ có tác dụng với một loại cơ sở dữ liệu nhất định
Hình 13 Đánh giá các phương pháp sao lưu, khôi phục dữ liệu
Trang 33Tuỳ mức độ quan trọng, tính sẵn sàng của dữ liệu, yêu cầu về thời gian sao lưu, khôi phục, trình độ người quản trị mạng mà ta chọn các phương pháp thích hợp hoặc có thể kết hợp các phương pháp đó lại thành một giải pháp tổng thể Trong các phương pháp trên thì phương pháp sao lưu, khôi phục mức ứng dụng có nhiều tính năng vượt trội hơn cả Tuy nhiên, phương pháp này có nhược điểm rất lớn đó là chi phí rất cao, chưa có chức năng cho phép sao lưu, khôi phục các cơ sở dữ liệu một cách tập trung, chạy trên một hệ điều hành nhất định
Từ những nhược điểm của các phương pháp này, luận văn đã tiến hành nghiên cứu và đề xuất giải pháp Sao lưu, khôi phục dữ liệu mức ứng dụng, trong đó cho phép sao lưu, khôi phục các cơ sở dữ liệu một cách tập trung, chạy trên mọi hệ điều hành (Windows, Linux, …) hỗ trợ máy ảo Java Giải pháp này được trình bày chi tiết ở chương III
Trang 34Chương 3: ĐỀ XUẤT GIẢI PHÁP SAO LƯU KHÔI PHỤC CÁC CƠ SỞ DỮ LIỆU
3.1 Mục tiêu, yêu cầu
Mục tiêu:
Xây dựng giải pháp sao lưu, khôi phục dữ liệu ở mức ứng dụng, trong
đó cho phép sao lưu, khôi phục các cơ sở dữ liệu một cách tập trung thông qua giao diện Web Browser, đồng thời có thể chạy trên mọi hệ điều hành
(Windows, Linux, …)
Yêu cầu :
- Cho phép chạy được trên các hệ điều hành: Windows, Linux, Solaris
- Có chế độ sao lưu tự động theo lịch trình cho trước
- Có giao diện thân thiện với người sử dụng
- Cho phép sao lưu, phục hồi các cơ sở dữ liệu một cách tập trung
- Chương trình được đóng gói hoàn chỉnh và cài đặt dễ dàng
Trang 353.2 Kiến trúc hệ thống, nguyên tắc hoạt động
3.2.1 Kiến trúc hệ thống [35]
Để đáp ứng mục tiêu, yêu cầu đặt ra giải pháp đề xuất là xây dựng một phần mềm ứng dụng để thực hiện việc sao lưu, khôi phục dữ liệu một cách tập trung thông qua giao diện Web Browser, đồng thời có thể chạy trên mọi hệ
điều hành (Windows, Linux…) dựa trên công nghệ J2EE (Java 2 Platform, Enterprise Edition), trong đó ngôn ngữ sử dụng viết chương trình là java có
thể chạy trên mọi hệ điều hành (Unix, Windows…) có hỗ trợ máy ảo java
Phần mềm sao lưu, khôi phục dữ liệu phát triển dựa trên mô hình kiến trúc đa tầng trên nền Java, nhằm tách biệt các tầng xử lý nghiệp vụ, tầng truy nhập hệ thống dữ liệu và tầng trình diễn Kiến trúc này có những lợi ích đáng
kể so với kiến trúc client/server hai tầng và do đó cho phép các ứng dụng chạy nhanh hơn, có khả khả năng mở rộng và liên tác cao hơn
Việc kết nối vào các cơ sở dữ liệu như Posgesql, MySQL, Microsoft SQL được thực hiện thông qua chuẩn JDBC
Hình 14 Mô hình kiến trúc tổng thể hệ thống
Trang 36Với kiến trúc này ta có một số ưu việt sau:
+ Khả năng mở rộng: Máy chủ ứng dụng hỗ trợ chia xẻ ứng dụng và cung
cấp khả năng mở rộng tối đa Mỗi máy chủ ứng dụng với hệ thống nhiều
bộ vi xử lý hoặc cluster máy chủ ứng dụng có thể hỗ trợ một số lượng lớn các giao dịch, không phụ thuộc vào nền phần cứng, hệ điều hành và cấu hình hệ thống Máy chủ ứng dụng được thiết kế trong môi trường phân tán gồm các truy xuất dữ liệu tốc độ cao, các giao tác với khối lượng lớn và khả năng mở rộng ứng dụng Nhờ phân hoạch ứng dụng, máy chủ ứng dụng cung cấp giải pháp có thể mở rộng cho một số lượng lớn người dùng
và giao tác Khả năng mở rộng đạt được trong một hệ thống máy chủ nhờ thêm vào các bộ vi xử lý (CPU) hay các hệ thống chạy trên mạng Kiến trúc chức năng (module) của máy chủ ứng dụng còn cho phép dễ dàng mở rộng hệ thống và chức năng của ứng dụng ở mọi thời điểm Nhờ việc cài đặt những module mới, những ứng dụng có thể được cung cấp những chức năng mới Những đặc trưng này làm cho phần mềm trên máy chủ ứng dụng có khả năng thích nghi cao với sự thay đổi môi trường hoạt động
+ Khả năng quản lý theo nhu cầu công việc Với khả năng quản lý theo
trạng thái và theo phiên làm việc, máy chủ ứng dụng hỗ trợ những yêu cầu phức tạp, nhiều bước Hệ thống quản lý sẽ hỗ trợ quản lý tài nguyên, dữ liệu, giao tác, tự động xác nhận truy vấn quay vòng, xác nhận thành công
để không thực hiện lại nhiều lần Máy chủ ứng dụng cung cấp khả năng truy xuất dữ liệu dùng chung và truy xuất một cách thống nhất các tác vụ dựa trên giao tiếp chuẩn tới những hệ thống dữ liệu không đồng nhất
+ Khả năng triển khai nhanh và sử dụng lại mã nguồn: Với kiến trúc máy
chủ mở rộng, người phát triển có thể thiết kế các ứng dụng nhằm đáp ứng