- 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ủacác hệ thống thông tin điện tử... Phạm vi
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 2.3 Đánh giá các phương pháp sao lưu, khôi phục cơ sở dữ liệu
Chươ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 đích, yêu cầu…………
3.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 3.2.2 Nguyên tắc hoạt động 3.3 Xây dựng và thử nghiệm hệ thống……….
3.3.1 Thiết kế chi tiết chương trình 3.3.2 Nguyên tắc hoạt động 3.3.3 Thử nghiệm chương trình KẾT LUẬN………
TÀI LIỆU THAM KHẢO ……….
PHỤ LỤC………
A Cài đặt và cách sử dụng chương trình……….
B Mã nguồn chương trình………
C Cơ chế chạy tự động cron trong Linux………
D Cơ chế chạy tự động Scheduled Tasks trong Windows………
Trang 4DANH MỤC BẢNG BIỂU
Hình 1 Mô hình hệ thống lưu trữ DAS (Direct Access Storage)
Hình 2 Mô hình NAS (Network Attached Storage)
Hình 3 Mô hình SAN (Storage Area Network)
Hình 4 So sách các phương pháp sao lưu dữ liệu
Hình 5 Kiến trúc phần mềm EDocMan
Hình 6 Mô hình tiến trình sao lưu dữ liệu
Hình 7 Mô hình tiến trình khôi phục dữ liệu
Hình 8 So sánh các giải pháp lưu trữ dữ liệu
Hình 9 Tiêu chí đánh giá dịch vụ khôi phục thảm hoạ
Hình 10 Sao lưu cơ sở dữ liệu mức hệ điều hành
Hình 11 Sao lưu, khôi phục cơ sở dữ liệu mức hệ quản trị cơ sở dữ liệu
Hình 12 Sao lưu, khôi phục cơ sở dữ liệu mức ứng dụng
Hình 13 Đánh giá các phương pháp sao lưu, khôi phục dữ liệu
Hình 14 Mô hình kiến trúc tổng thể hệ thống
Hình 15 Mô hình các chức năng cơ bản của chương trình
Hình 16 Giao diện của chương trình sao lưu dữ liệu
Hình 17 Bảng kết quả thời gian sao lưu dữ liệu
Hình 18 Giao diện của chương trình khôi phục dữ liệu
Hình 19 Bảng kết quả chương trình khôi phục dữ liệu
Hình 20 Màn hình các ứng dụng chạy trong chế độ crontab
Hình 21 Màn hình chọn tệp chạy tự động trong Scheduled Tasks
Hình 22 Màn hình chọn thời gian chạy ứng dụng trong Scheduled TasksHình 23 Màn hình kết thúc quá trình đặt lịch chạy trong Scheduled Tasks
Trang 65
Trang 86
Trang 9MỞ ĐẦ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ỏingườ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ủacác hệ thống thông tin điện tử
Trang 103. Đố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 saolư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ốngthô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 minhhọ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ôiphụ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 chungtrong 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áchthứ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ộtgiả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ệunhư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 11củ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ử đanghoạ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 12Chươ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 tronghầ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 saolưu, khôi phục dữ liệu để đảm bảo hệ thống hoạt động liên tục, thông suốtngà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ôngthể 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ácnguyê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 13dụ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ếtnối đến các bảng có liên quan để xóa dữ liệu dữ liệu trong các bảngnà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ùngvớ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úcnào, nó có thể hỏng ở bộ xử lý, bộ nhớ, đường vào ra và các thiết bị lưutrữ Đối với người quản trị hệ thống thì phải luôn giám sát hệ thốngthô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ệpnhật ký giao dịch (transaction log) kể từ lần nhật ký giao dịch được saolư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 141.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 đặtbê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áychủ 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êngbiệt
Hình 1 Mô hình hệ thống lưu trữ DAS (Direct Access Storage)
Trang 15Ư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áychủ (server) nhưng khi dữ liệu tăng, số lượng máy chủ cũng tăng sẽ tạo nênnhữ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êntừ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ằmrả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ữ
1.2.2 Hệ thống lưu trữ NAS
NAS (Network Attached Storage) là phương pháp lưu trữ dữ liệu sửdụng các thiết bị lưu trữ đặc biệt gắn trực tiếp vào mạng LAN như một thiết bịmạng bình thường (tương tự máy tính, switch hay router) Các thiết bị NAScũng được gán các địa chỉ IP cố định và được người dùng truy nhập thông qua
sự điều khiển của máy chủ Trong một số trường hợp, NAS có thể được truycập trực tiếp không cần có sự quản lý của máy chủ NAS cung cấp khả năngchia sẻ tài nguyên lưu trữ cho nhiều người dùng đồng thời Bên cạnh đó, NAS
Trang 16cho 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 171.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 choviệ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ầnkế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ớithiế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ộtthiế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ốngthiế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 trungtâ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 18khả năng mở rộng, hiệu năng và tính sẵn sàng cao SAN đặc biệt thích hợpvới các ứng dụng cần tới tốc độ và độ trễ nhỏ, ví dụ như ứng dụng xử lý giaodị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ùyvà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
Trang 191.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ànhWindows, sử dụng các hệ quản trị cơ sở dữ liệu chuyên biệt của Lotus Noteshoặc hệ quản trị cơ sở dữ liệu quan hệ SQL; giao diện người dùng, hoặc đượcphá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ủacác cơ quan Đảng là sử dụng phần mềm mã nguồn mở Phần mềm Hệ thôngtin đ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 LotusNotes
Trang 20Kiế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 giaodiện trình duyệt Web (Webbrowser) và dịch vụ ODMA, cho phép truy nhậptrự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 211.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 theocá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 tintrong quá trình xây dựng các hệ thống thông tin điện tử của Đảng, đảm bảokiế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ườidù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ộtcá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 22CHƯƠ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 đĩacứ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ựchiệ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 saolưu dữ liệu Đích là các thiết bị lưu trữ như băng từ, đĩa từ, đĩa quang,
Trang 23Khô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ệutrong đó tiến trình sao lưu dữ liệu từ nguồn sang các thiết bị lưu trữ thông quamô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 truycậ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ườidùng thực hiện các tác vụ theo định kỳ đã được lên kế hoạch và thời giantrước
Trang 242.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 (backupoffline) 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ườidù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 saolư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ìnhtrong 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ũngchia ra làm các loại nhỏ đó là sao lưu theo phương thức đầy đủ và sao lưutheo phương thức gia tăng
Loại sao lưu
Sao lưu đầy đủ
(Full Backup)
Trang 25Sao lưu gia tăng
so với lầnlưu cuối cùng(Incrementalbackup)
Sao lưu gia tăng
so với lầnlưu đầy đủ cuốicùng
(Differentialbackup)
Hình 8 So sách các phương pháp sao lưu dữ liệuSao 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 26chươ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 ralà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ụcthả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ôiphục (Recovery Time Objective) và tiêu điểm khôi phục (Recovery PointObjective) Tiêu chí thứ nhất xác định khoảng thời gian ngừng hoạt động lớnnhấ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 rathảm họa hoặc sự cố Tiêu chí thứ hai liên quan đến sự đánh giá mức độ thiệthạ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 27Cá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ấythờ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ôiphụ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ụcthảm hoạ giảm dần) theo sự áp dụng của công nghệ: vận hành hệ thống trongchế độ 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õichiề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ạobản sao dữ liệu theo phương pháp đồng bộ, tạo bản sao theo phương phápkhông đồng bộ, tạo bản sao theo định kỳ, và cuối cùng là tạo bản sao bằngbăng từ
Trang 282.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 29Mỗ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ơicác tệp dữ liệu này được định vị Dữ liệu người dùng được lưu trữ trongnhữ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 ghinhậ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 30- 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 saolư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ìnhthứ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ợpcác hàm do cơ sở dữ liệu hỗ trợ trong giao diện không thân thiện cho ngườithự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 31Các cơ sở dữ liệu được tạo ra từ nhiều hệ quản trị cơ sở dữ liệu khácnhau 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ìnhtruy 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ácnhau 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 322.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àomộ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ớingườ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ươngtrì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 33sao 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ăngcủ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àoviệ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 giaodiệ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ệuthay đổ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 342.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
Ưu điểm
Nhược điểm
Hình 13 Đánh giá các phương pháp sao lưu, khôi phục dữ liệu
Trang 35Tuỳ mức độ quan trọng, tính sẵn sàng của dữ liệu, yêu cầu về thời giansao lưu, khôi phục, trình độ người quản trị mạng mà ta chọn các phương phápthí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áptổng thể Trong các phương pháp trên thì phương pháp sao lưu, khôi phụcmức ứng dụng có nhiều tính năng vượt trội hơn cả Tuy nhiên, phương phápnà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épsao 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ềuhà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ànhnghiê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ảipháp này được trình bày chi tiết ở chương III
Trang 36Chươ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ôngqua 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 373.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ộtphầ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ậptrung 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ếntrú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 truynhậ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ạynhanh 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, MicrosoftSQL đượ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