1. Trang chủ
  2. » Luận Văn - Báo Cáo

xây dựng và quản lý hạ tầng lưu trữ lưới cho hệ thống lưu trữ và chia sẻ dữ liệu linda

71 369 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 398,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục đích của đồ án là sử dụng các lưới tính toán có sẵn để xừy dựng tầng lưu trữ lướicho LINDA.Để có thể sử dụng các dịch vụ mà lưới cung cấp, cần phải nghiên cứu và xâydựng module quản

Trang 1

Xây dựng và quản lý hạ tầng lưu trữ lưới cho hệ thống lưu trữ và chia sẻ dữ liệu LINDA

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Thông tin về sinh viên

Họ và tờn sinh viờn: Đào Hải Hưng

Điện thoại liờn lạc: 0978118659 Email: hunga1_87@yahoo comLớp: Hệ thống thông tin – K50 Hệ đào tạo: Đại học chính quy

Đồ ỏn tốt nghiệp được thực hiện tại:

Trung từm tớnh toỏn hiệu năng cao – Trường đại học Bỏch Khoa Hà Nội

Thời gian làm ĐATN: Từ ngày: 1/ 03/ 2010 đến: 31/ 05/ 2010

2 Mục đích nội dung của ĐATN

Xừy dựng và quản lý tầng lưới lưu trữ cho hệ thống lưu trữ và chia sẻ dữ liệu LINDA

3 Cỏc nhiệm vụ cụ thể của ĐATN

CoG Kit để sử dụng các dịch vụ lưới trên web/servlet

module quản lý tài nguyên của LINDA có khả năng mởrộng và độc lập với các chính sách tài nguyên trên các

4 Lời cam đoan của sinh viờn

Tôi – Đào Hải Hưng - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng

dẫn của PGS TS Nguyễn Thanh Thủy

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ côngtrình nào khác

Sinh viên Đào Hải Hưng – Lớp Hệ thống thông tin – K50 4

Trang 2

Xừy dựng và quản lý hạ tầng lưu trữ lưới cho hệ thống lưu trữ và chia sẻ dữ liệu LINDA

Hà Nội, ngày 23 thỏng 5 năm 2010

Tỏc giả ĐATN

Đào Hải Hưng

5 Xỏc nhận của giỏo viờn hướng dẫn về mức độ hoàn thành của ĐATN và cho phộp bảo vệ

Hà Nội, ngày thỏng năm

Giỏo viờn hướng dẫn

PGS TS Nguyễn Thanh Thủy

TểM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

LINDA là hệ thống lưu trữ dữ liệu dựa trên công nghệ lưới dữ liệu, được xây dựng bởisinh viờn K49 tại trung từm Tớnh toỏn hiệu năng cao trường Đai học Bỏch khoa Hà

Nội(phiờn bản này được gọi là LINDA – K49) Hiện tại, hệ thống LINDA – k49 đó xừy

dựng được cỏc chớnh sỏch khỏ hoàn thiện cho người sử dụng, các cơ chế kiểm soát dunglượng, cơ chế hạn chế download/ upload hoạt động ổn định Quá trình upload/ downloadđược thực hiện trên các mỏy chủ tại trung tâm Tính toán hiệu năng cao nên đạt tốc độcao Tuy nhiên, dựa vào những phân tích về tính chất của hệ phừn tỏn, những hạn chế củaLINDA đó làm giảm chất lượng và khả năng triển khai/ mở rộng của hệ thống:

chưa khai thỏc được sức mạnh của cỏc lưới dữ liệu đó đượcxừy dựng và hoạt động ổn định

cung cấp giao diện thêm các thành phần Ngoài ra, các tham

số cấu hình được đặt cố định trong mã nguồn nên hệ thốngkhông có khả năng triển khai rộng rãi

làm cho hệ thống hoạt động không ổn định và hiệu quả

Mục đích của đồ án là sử dụng các lưới tính toán có sẵn để xừy dựng tầng lưu trữ lướicho LINDA.Để có thể sử dụng các dịch vụ mà lưới cung cấp, cần phải nghiên cứu và xâydựng module quản lý giấy ủy quyền (proxy) hiệu quả cho người dùng

Sinh viên Đào Hải Hưng – Lớp Hệ thống thông tin – K50 2

Trang 3

Xừy dựng và quản lý hạ tầng lưu trữ lưới cho hệ thống lưu trữ và chia sẻ dữ liệu LINDA

trên các hệ thống lưới

Nhằm nừng cao chất lượng dịch vụ, đồ án nghiên cứu các cơ chế quản lý tài nguyên trênmôi trường lưới, đồng thời đưa ra thiết đế để xây dựng module quản lý tài nguyên.Module quản lý tài nguyên không những phải đảm bảo khả năng phát hiện các thànhphần của hệ thống gặp lỗi, mà còn có khả năng thu nhận thông tin cần thiết về tài nguyêncủa hệ thống để phục phụ cho cỏc module khỏc Các hệ thống tham gia các lưới tính toánthường có các cơ chế quản lý tài nguyên và bảo mật khác nhau Module quản lý tàinguyên được thiết kế độc lập với chính sách quản lý của từng hệ thống, và có thể dễ dàngthay đổi khi cần phải thu nhận những thông tin tài nguyên khác

Trong quá trình hoạt động của hệ thống, một số thành phần có thể gặp lỗi và cần phảithay thế, hoặc khi cần nừng cấp – mở rộng hệ thống Đồ ỏn xừy dựng những điều kiện,

cơ chế và giao diện để thờm cỏc thành phần ở tầng lưới dữ liệu: quy trình thêm Headnode

và Datanode Đầu tiờn, đồ ỏn xỏc định những yờu cầu cỏc mỏy chủ muốn trở thànhHeadnode và Datanode của LINDA cần phải đáp ứng, sau đó Đồ án đưa ra các bước vàgiao diện để thêm các thành phần này

Trong hệ thống đa người dùng như LINDA, việc kiểm soát tài nguyên của từng ngườidùng là điều quan trọng Đồ án đã nghiên cứu và áp dụng cơ chế kiểm soỏt tốc độ upload/download file của người dùng, bằng cách nghiên cứu sự phụ thuộc tốc độ giao thứcGridFTP và số luồng dữ liệu và độ lớn bộ đệm dữ liệu

Thành viên của công trình:

Chủ tịch hội đồng quản trị Viện tin học Phỏp ngữ, - Giỏm đốcTrung từm tớnh toỏn hiệu năng cao - Giảngviờn viện CNTTT và Truyền thông trường ĐHBKHN

toán hiệu năng cao - Giảng viên viện CNTTT và Truyềnthông trường ĐHBKHN

Truyền thông trường ĐHBKHN, cộng tỏc viờn của Trung từmtớnh toỏn hiệu năng cao – DHBKHN

toỏn hiệu năng cao, ĐHBKHN

Trang chủ: http://hpcc hut edu vn/ linda

LỜI NểI ĐẦU

Em xin gửi lời cảm ơn chừn thành tới PGS TSNguyễn Thanh Thuỷ,giỏm đốc

Sinh viên Đào Hải Hưng – Lớp Hệ thống thông tin – K50 3

Trang 4

Xừy dựng và quản lý hạ tầng lưu trữ lưới cho hệ thống lưu trữ và chia sẻ dữ liệu LINDA

Trung Từm tớnh toỏn hiệu năng cao, trường đại học Bách Khoa Hà Nội, người đã tạo cho

em cơ hội được học tập và nghiên cứu trong một môi trường khoa học lý tưởng, ngườitận tình hướng dẫn em trong suốt thời gian thực tập tốt nghiệp cũng như giai đoạn làm đồ

án tốt nghiệp

Em xin bày tỏ lòng biết ơn sâu sắc tới TS Nguyễn Hữu Đức,người đã có những đóng

góp quý báu cho nội dung của đồ án, đã hướng dẫn tận tình nhóm sinh viên chúng emtrong suốt quá trình thực tập và làm đồ án tốt nghiệp tại trung tâm

Em cũng xin gửi lời cảm ơn tới KSPhạm Hồng Phong, KSLê Đức Hùng đã có những

lời khuyên và đóng góp quý báu để đồ án của em được hoàn thiện

Em xin gửi lời cảm ơn tới viện Công nghệ thông tin và truyền thông, Trung từm Tớnhtoỏn hiệu năng cao cùng toàn thể các thầy cô, anh chị và các bạn đã nhiệt tình tạo mọiđiều kiện thuận lợi cho em trong quá trình nghiên cứu và học tập tại trường Đại HọcBách Khoa Hà Nội

Mình xin gửi lời cảm ơn tớibạn cùng nhómLINDA là Bùi Hải Phong, cùng cỏc bạn sinh

viờn K50 tại Trung từm Tớnh toỏn hiệu năng cao – Trường đại học Bỏch Khoa HàNộiđó sỏt cỏnh giúp đỡ nhau vượt qua những khó khăn trong quá trình thực tập, hoànthành đồ án

Cuối cùng, con xin gửi lời biết ơn vô hạn tới bố mẹ, bố mẹ luôn là điểm tựa vững chắccho con trong mọi công việc Chính sự hy sinh to lớn của bố mẹ đã giúp con có đượcngày hôm nay

Hà Nội, thỏng 5 năm 2010

Sinh viờn thực hiện

Đào Hải Hưng

Trang 5

DANH MỤC HốNH ẢNH

Hình 1.1 – Mô hình LINDA 19

Hình 1 2 - Cỏc trung từm và viện nghiờn cứu thành viờn tham gialướiPRAGMA 20

Hình 2 1 - Tổng quan một lưới dữ liệu 24

Hình 2 2 - Kiến trúc chung của một lưới dữ liệu 25

Hình 2.3 – Cỏc thành phần của Globus Toolkit 4 27

Hình 2 4 - Kiến trúc của Java CoG kit 29

Hình 2 5 –Cỏc lớp của Java Cog Kit 30

Hình 2 6 - Sự tương ứng giữa các gói với các lớp kiến trúc trong Java Cog Kit 31

Hình 2 7 – Biểu tượng lưới PRAGMA 32

Hình 2 8 - Giao thức FTP 33

Hình 2 9 - Truyền dữ liệu song song 34

Hình 2 10 - Truyền dữ liệu song song với đối tỏc thứ ba 34

Hình 2 11 - GateKeeper 38

Hình 2 12 - Sơ đồ vật lý của hệ thống 41

Hình 2 13 - Sơ đồluồng dữ liệu upload file từ người dùng: Các gói tin được chuyển tiếp thông qua bộ đệm trên Headnode tới Datanode là các server trên Lưới dữ liệu 42

Hình 2 14 - Sơ đồ download filetừ Datanode thông quabộ đệm nằm trờn Headnode 43

Hình 2 15 - Sơ đồ bố trí các dịch vụ trên Headnode 43

Hình 3 1 - Lưu giấy ủy quyền lờn mỏy chủ lưu trữ 46

Hốnh 3 2 - Truy xuất giấy ủy quyền từ mỏy chủ lưu trữ 47

Hình 3 3 –Biểu đồ use case của module quản lý proxy 48

Hình 3 4 – Lớp SHARED_ MEMORY 50

Hình 3 5 –Lớp PROXY_ SERVICE_ MONITOR 51

Hình 3 6 - Lược đồ tuần tự cho module quản lý proxy 51

Hình 3 7 - Biểu đồ tuần tự cho các chức năng khác 54

Hình 3 8 – Module quản lý proxy 54

Hình 4 1 – Cây thư mục trên Headnode 57

Hình 4 2 – Import file cấu hình cho Headnode 59

Hình 4 3 –Tạo cơ sở dữ liệu trờn Headnode 60

Hình 4 4 –Khởi tạo cỏc dịch vụ trờn Headnode 60

Hình 4.5 – Cừy thư mục trờn DATANODE 61

Hình 5 1 - Phỏt hiện lỗi phần cứng 63

Hình 5 2 - Phỏt hiện lỗi đường truyền 63

Hình 5 3 - Mô hình Push 64

Hình 5 4 - Phát hiện lỗi trong mô hình Push 65

Hình 5 5 - Mô hình Pull 65

Hình 5 6 - Phát hiện lỗi trong mô hình Pull 66

Hình 5 7 Sử dụng kết hợp hai mô hình Push và Pull 66

Trang 6

Hình 5 8 – Module quản lý tài nguyên 68

Hình 5 10 – Lớp RESOURCE_ MONITOR_ OBJECT 70

Hình 5 11 –Biểu đồ tuần tự lấy trạng thỏi của tài nguyờn 70

Hình 5 12 – Biểu đồ tuần tự quản lý module quản lý tài nguyên 72

Hình 5 13 – Module quản lý tài nguyên 73

Hình 6 1 - GridFTP nhiều luồng TCP với mô hình thời gian liên tục 75

Hình 6 2 – sự ảnh hưởng của số luồng dữ liệu vào tốc độ của GridFTP 77

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 10

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 10

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

CÁC TỪ VIẾT TẮT VÀ CHÚ GIẢI

Từ

viết

tắt

Nghĩa

tiếng Anh

Chú giải

API Applicati

on

Program

ming

Interface

Giao diện lập trình ứng dụng, thường làm một tập các hàm giúp lập trình viên dễ dàng tương tác với dịch vụ , hệ thống

CAS Communi

ty

Dịch vụ chứng thực cộng đồng Một dịch vụ bảo mật trong môi trường lưới cho phép dung hũa giữa chính sách sử dụng tài

Trang 7

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 12

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

LRC Local Replica

Catalogue

Catalog định vị bản sao địa phương, lưu trữ tậpcác ánh xạ bao gồm hai trường: {tên logic củathực thể dữ liệu, vị trí vật lý cụ thể của thực thểđó}

ODBC Open Database

Trang 8

giao thức truy cập, địa chỉ của máy màchứafile dữ liệu đó, người sử dụng có thể dễdàng truy cập được vào thực thể dữ liệu.

RLI Replica Location

Index

Lưu các thông tin chỉ mục cho dịch vụ định vịbản sao, mỗi bản ghi bao gồm {LFN, và contrỏ tới LRC tương ứng}

CHƯƠNG 1 – ĐẶT VẤN ĐỀ

1.1.Giới thiệu hệ thống LINDA – K49

1 1 2 Nhu cầu cho hệ thống lưu trữ trực tuyến

Hiện nay, nhu cầu upload, cất giữ dữ liệu trực tuyến đã trở thành một nhu cầu không thểthiếu của các cá nhân cũng như các tổ chức có sử dụng Internet Cỏctổchứckhoahọc,cáctrườngđạihọc,cácviện,cáctổchứckinhtế,chođếnrấtnhiềungườidùngcánhân đềucónhucầulưugiữvàchiasẻdữliệucủahọ.Vớinhữngdữliệulớn,họsẵnsàngtrảtiềnchodịchvụlưutrữđó.TrênInternethiệnnàycórấtnhiềutrangwebcungcấpcácdịchvụnhưvậynhư:RapidShare,MegaUpload…TuynhiênngườidùngViệtNam vẫn chưa hài lòng với các dịch vụnày vì nhiều lý do

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 13

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Xuất phát từ nhu cầu như vậy, nhóm dự án quyết định xây dựng một công cụ cho phépcác tổ chức, các cá nhân có thể upload dữ liệu và sử dụng các dich vụ như download, chia

sẻ dữ liệu, hoặc tạo các kho chứa lớn của mình (gồm rất nhiều các dịch vụ hỗ trợ kèmtheo ) Dự án hướng tới đối tượng sử dụng chuyên nghiệp, phục vụ nhu cầu nghiên cứu

và hướng tới cả người dùng phổ thông

Để xây dựng được một dịch vụ mạnh và đạt yêu cầu cần có một nền tảng công nghệ thíchhợp Nền tảng công nghệ này cần có khả năng kết hợp sức mạnh lưu trữ của nhiều máytính Một hệ thống chia sẻ dữ liệu như vậy sẽ cung cấp cho người dùng những dịch vụ tốthơn nhiều so với các hệ thống đơn lẻ khác Qua quá trình nghiên cứu, nhóm thấy rằngcông nghệ lưới dữ liệu là phù hợp với những yêu cầu đặt ra cho một hệ thống như vậy.Với những điểm mạnh về công nghệ tại Trung tâm tính toán hiệu năng cao trường ĐHBách Khoa Hà Nội, hệ thống LINDA được xừy dựng bởi cỏc sinh viờn k49 trờn nền lưới

Trang 9

dữ liệu (DataGrid) với cỏc kho lưu trữ nằm phừn tỏn về mặt địa lý k49).LINDA là viết tắt của LINDA Is Not a Data Archive.

(LINDA-1 (LINDA-1 3 Những vấn đề cho dịch vụ lưu trữ trực tuyến

1.1.3.1 Tính cục bộ

Có nhiều tiêu chí để đánh giá một dịch vụ chia sẻ dữ liệu Chất lượng của dịch vụ cũngphụ thuộc vào nhiều yếu tố Trong số đó, yếu tố được người dùng đánh giá cao nhất là tốc

độ truyền file Đây cũng là điều được các nhà cung cấp dịch vụ lưu trữ và chia sẻ dữ liệu

ưu tiên hàng đầu Để tăng tốc độ truyền tải dữ liệu giữa người dùng, người ta có nhiềugiải pháp

Một trong những giải pháp đó là đầu tư tiền vào một hệ thống máy chủ lưu trữ tập trungvới quy mô lớn, tài nguyên phần cứng và tài nguyên mạng dồi dào Hệ thống này có khảnăng đáp ứng một lượng lớn người sử dụng và khả năng lưu trữ lớn, đủ sức cung cấp chocộng đồng một dịch vụ chất lượng cao Đây là phương pháp đạt hiệu quả vì tính tiệndụng, nhanh chóng và dễ xừy dựng Tuy nhiên phương pháp này lại khá tốn kém và cần

có sự đầu tư ban đầu rất lớn Mặt khác, do hạ tầng mạng, hệ thống này khó phát huy tối

đa khả năng của mình

Đểgiảmtảiviệcđòihỏimộtlượnglớntàinguyênmạng,ngườitachiatoànbộhệthốngthànhcáccụmmáychủlưutrữkhácnhau,đặttạinhữngvịtríđịalýkhácnhau.Ngườidùngnhờvậycóthểthựchiệnviệctruyềndữliệutớinhữngmáychủgầnmìnhhơnvàđạttốcđộtốthơnnhiềusovớimáychủtậptrungtạimộtđịađiểm.Khiyêucầutớidịchvụ,ngườidùngsẽlàmviệcvớimáychủởgầnhoặcmáychủcókhảnăngđápứngtốthơn

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 14

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Việc đặt các máy chủ ở nhiều địa điểm khác nhau làm tăng tính cục bộ cho hệ thống Tuynhiên khi hệ thống được chia làm nhiều thành nhiều cụm máy sẽ nảy sinh những khókhăn trong việc quản lý, bảo mật và đồng bộ hoá

vụ đều dựa trên cơ chế chia sẻ file thông qua đường liên kết logic

Dưới khung nhìn của người dùng, mỗi đường dẫn logic ánh xạ đến một file duy nhấttrong hệ thống nhưng đường dẫn này lại độc lập với cỏc file tin thực được lưu trữ Đườngdẫn logic cũng độc lập với hệ thống quản lý người dùng và việc phân chia lớp ngườidùng Nhờ vậy, người sử dụng tham gia hệ thống có thể chia sẻ file cho nhau thông qua

Trang 10

đường dẫn logic này mà không cần quan tâm đến file đó của ai hay được lưu trữ ở đâu.Đương nhiên người dùng có quyền quản lý các đường dẫn logic do mình tạo ra.

Bên cạnh việc sử dụng cơ chế đường dẫn logic, các dịch vụ chia sẻ dữ liệu còn cung cấpchức năng cho phép người dùng chia sẻ file theo nhóm Người dùng có thể tạo ra mộtdanh sách các file tin muốn chia sẻ và một đường dẫn logic đến danh sách này để nhữngngười dùng khác có thể truy cập

1 1 4 Cỏch tiếp cận của hệ thống LINDA – K49

Dịch vụ lưu trữ dữ liệu đã được phát triển từ rất lâu trên thế giới, từ khi mạng Internet bắtđầu phổ biến với người dùng Tuy nhiên công nghệ lưu trữ và phân bố file tin trong hệthống được cỏc nhà phỏt triển che giấu

Đểxâydựngđượcmộtdịchvụmạnhvàđạtyêucầucầncómộtnềntảngcôngnghệthíchhợp.Nềntảngcôngnghệnàycầncókhảnăngkếthợpsứcmạnhlưutrữcủanhiềumáytính.Mộthệthốngchiasẻdữliệunhưvậysẽcungcấpchongườidùngnhữngdịchvụtốthơnnhiềusovớicáchệthốngđơnlẻkhác.Quaquátrìnhnghiêncứu,nhómthấyrằngcôngnghệlướidữliệulàphùhợpvớinhữngyêucầuđặtrachomộthệthốngnhưvậy.Vìlýdođó,dựánLINDA được xây dựng với việc sử dụng hạ tầnglưới phục vụ cho mục đích lưu trữ và chia sẻ

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 15

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

1.2 Khảo sỏt hệ thống LINDA – K49

1 2 1 Tớnh chất của hệ thống phân tán

Một hệ thống phừn tỏn, như Tannenbaum định nghĩa trong [1]:

Một hệ phân tán là một tập hợp các máy tính độc lập nhau, tồn tại với người dùng như một hệ thống đơn nhất.

Định nghĩa này có hai khía cạnh chính Khía cạnh thứ nhất về phần cứng: các máy tínhtrong hệ phân tán là các hệ thống độc lập với nhau, có thể có kiến trúc khác nhau và đượcliên kết, cộng tác với nhau trong suốt với người dùng Điểm thứ hai về phần mềm: người

sử dụng quan sát hệ thống như một hệ thống đơn nhất Nghĩa là mọi tương tác với hệthống của người sử dụng hay các hệ thống khác theo một cách cố định và duy nhất,không phụ thuộc vào không gian, thời gian mà tương tác đó diễn ra Cỏc mục đích chínhkhi xây dựng các hệ phân tỏn:

1.2.1.1 Liờn kết người sử dụng và tài nguyờn

Mục đích chính của các hệ phân tán là nhằm cung cấp phương tiện cho người dùng truycập và sử dụng các tài nguyên ở xa Các tài nguyên có thể là máy in, dung lượng lưu trữ,

dữ liệu hay các chương trình trên các máy tính khác Liên kết người dùng và các tàinguyên còn nâng cao tính cộng tác và trao đổi dữ liệu Sự bùng nổ của Internet đã dấn tới

Trang 11

sự thành lập của nhiều tổ chức ảo năm phân tán về mặt địa lý, các thành viên trong tổchức cộng tác với nhau thông qua các hệ thống phân tán.

Tuy nhiờn, khi sự liờn kết và chia sẻ tài nguyờn tăng lờn, vấn đề bảo mật cũng trở nờnquan trọng hơn Cỏc hệ thống phừn tỏn vừa phải giải quyết được cỏc yờu cầu bảo mậtcủa

hệ thống vừa phải phù hợp với chính sách bảo mật của từng thành phần trong hệ thống.LINDA– K49 là hệ thống khai thác khả năng lưu trữ của các hệ thống trên các lưới dữliệu cho mục đích lưu trữ file cho người sử dụng Nhờ những ưu điểm của lưới dữ liệu, hệthống có một nền tảng công nghệ bảo mật, ổn định và mạnh mẽ

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 82

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

1.2.1.2 Tính trong suốt

Một tính chất quan trọng khác của các hệ phân tán là làm ẩn đi thực tế các quá trình, tàinguyên nằm trên các máy tính phân tán về địa lý Một hệ phân tán có khả năng xuất hiệndưới quan sát của người dùng hay các chương trình ứng dụng khác như một hệ thống

nằm trên một máy tính được gọi là tính trong suốt (transparency).

Khỏi niệm trong suốt trong hệ phân tán có thể áp dụng cho cỏc khía cạnh khỏc nhau của

hệ thống:

tính khác nhau phải tuân theo định dạng, quy ước dữliệu riờng ở từng máy tính cục bộ Vì trong hệ phân tán, cácmáy tính động lập nhau, nên định dạng dữ liệu trên mỗi máykhác nhau Hơn nữa, các máy có hệ điều hành khác nhau dẫnđến cấu trúc cây thư mục và quy ước tên file khỏc nhau

Một ví dụ khác là các hệ thống Sun SPARC sử dụng big

endian, còn các hệ thống của Intel thì sử dụng little endian.

Quá trình truyềnfile trờn hệ thống LINDA– K49 có thể đượcchia thành hai loại:file do người dùng đang upload được lưuvào một mỏy chủ lưu trữ, và file được lưu trong quá trìnhnhân bản Các quá trình này đòi hỏi sự cộng tác của các máykhác nhau trong hệ thống, do sử dụng giao thức chuẩn duynhất – GridFTP ở tầng lưu trữ lưới, nờn LINDA – K49 đã

đảm bảo được tính trong suốt về truy cập dữ liệu trong hệ

thống

nguyên của hệ thống là ẩn với người sử dụng Nói chung, sựtrong suốt về vị trí có thể đạt được nhờ vào việc đặt tên chocác tài nguyên Người sử dụng dùng những tên này để ánh xạtới tài nguyên mà không quan tâm tới vị trí của tài nguyên Ví

Trang 12

dụ, để download một file trên hệ thống LINDA – K49, người

sử dụng phải sử dụng một link có dạnghttp://hpcc.hut.edu.vn/

nhất trên hệ thống mà người dùng có thể download về máytính, nhưng không chỉ ra vị trí thực của file đó nằm ở mỏychủ và thư mục nào Như vậy, hệ thốngLINDA – K49 đó đảm

bảo được tính trong suốt vị trí của quá trình download.

với ban đầu, nhưng sự truy cập tới tài nguyên đó không thayđổi Bằng cách sử dụng tên ánh xạ hay tờn logic, ví dụ đường

12345làhttp://hpcc.hut.edu.vn/LINDA/download?id=12345, ta

có thể đạt được tính trong suốt vị trí File có id như trên có thểđược chuyển giữa các mỏy chủ lưu trữ, nhưng quá trìnhdownload hay tìm kiếm file từ người dùng là không đổi

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 17

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

quan trọng nhằm tăng tính sẵn sàng của các hệ phân tán Tínhchất này chỉ ra rằng, mặc dù một filecó thể có các bản sao ởnhiều nơi khác nhau, hệ thống có thể lựa chọn vị trí tốt nhất

mà người dùng không phải quan tâm tới đó là bản sao nào Đểđạt được tính chất này, cỏc file phải có tên duy nhất và cácbản sao phải có cùng tên

Trong hệ thống LINDA – K49, tờn file được lưu trong hệthống là tờn của file do người dùng upload Khi hai ngườidùng upload file có cùng tên thìđiều kiện tờnfile duy nhất

không được đảm bảo, do đó hệ thống chưa có tính trong suốt

nhừn bản.

Do hệ thống quản lý file tập trung, tất cả thông tin về file đượcquản lý bởi WebServer, nên ta có thể gán cho mỗi file một giỏtrị id duy nhất File được lưu trong hệ thống dưới tờn id +filename sẽ đảm bảo mỗi file trong hệ thống có một tên duynhất

quan trọng của các hệ phân tán là cho phép người dùng chia sẻtài nguyên Một tài nguyên tại một thời điểm có thể được sửdụng bởi nhiều người dùng Các tình huống xảy ra tranh chấp

Trang 13

trong LINDA– K49 như khi hai người dùng upload file cócùng một tên, hay khi người sở hữu một file xúa file trongkhi file đó đang được chia sẻ và sử dụng bởi người dùngkhỏc… Hiện nay hệ thống tập trung vào file có nội dung cốđịnh, trong tương lai khi cung cấp thêm các dịch vụ thay đổinội dung file trong hệ thống, cần phải xem xét sự nhất quángiữa các nhân bản và quá trình tương tranh xảy ra khi haingười dùng cùng thay đổi một file.

sự cố xảy ra trên một số máy tính Đây là một trong nhữngmục tiêu rất khó đạt được trên hệ phân tán, để đạt được một hệthống có tình chịu lỗi cao, hệ thống phải được thiết kế cho tất

cả các lỗi có thể xảy ra

Đây là một tính chất quyết định tới chất lượng dịch vụ của hệ thống Hệ thống cần đượcthiết kế với một module quản lý tài nguyên hiệu quả, có khả năng phát hiện được các lỗixảy Hệ thống LINDA– k49 hiệntạichưacómodulequảnlýtàinguyên nên chưa đảm bảo

được tính trong suốt về lỗi.

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 18

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

1.2.1.3 Tính mởTính mở phản ánh tính mềm dẻo của hệ thống Hệ thống nên được thiết kế dựa trên càng

ít các điều kiện tiền định ban đầu càng tốt Những thay đổi trong các kiến trúc, các giaothức của nền tảng công nghệ đang sử dụng cần phải được tính tới Ngoài ra, tính mở còn

phản ánh khả năng thay đổi về “kích thước” Nếu một hệ thống có tính mở, người quản

trị dễ dàng thêm vào hoặc bớt đi cách thành phần mà không làm gián đoạn sự hoạt độngcủa hệ thống

1 2 2 Đỏnh giỏ

Hiện tại, hệ thống LINDA– K49 đó xừy dựng được cỏc chớnh sỏch khỏ hoàn thiện chongười sử dụng, cỏc cơ chế kiểm soỏt dung lượng, cơ chế hạn chế download/ upload hoạtđộng ổn định Quá trình upload/ download được thực hiện trờn cỏc mỏy chủ tại trung từmTớnh toỏn hiệu năng cao nờn đạt tốc độ cao Tuy nhiên, dựa vào những phân tích về tínhchất của hệ phân tán như đã chỉ ra ở phần trờn, những hạn chế của LINDA – K49 đólàmgiảm chất lượng và khả năng triển khai/ mở rộng của hệ thống:

chưa khai thỏc được sức mạnh của cỏc lưới dữ liệu đó đượcxừy dựng và hoạt động ổn định

cung cấp giao diện thêm các thành phần Ngoài ra, các tham

Trang 14

số cấu hình được đặt cố định trong mã nguồn nờn hệ thốngkhông có khả năng triển khai rộng rãi.

này đã làm cho hệ thống hoạt động không hiểu quả, cácmodule khác thường xuyờn gặp lỗi

1.3 Mục tiờu và vị trí của đồ ỏn

1 3 1 Mô hình của hệ thống

LINDAcung cấp dịch vụ lưu trữ và chia sẻ file, LINDA hướng tới cỏc chức năng:

chia sẻ cho cỏc ứng dụng khỏc sử dụng hệ thống

quyền lợi dựa trên các đóng góp

Hệ thống LINDA bao gồm 2 tầng chính: tầng giao diện giao tiếp người dùng và tầng lưutrữ lưới

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 19

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Hình 1.1 – Mô hình LINDA

xử lý các yêu cầu của người dùng, sau đó trả lời yêu cầungười dùng Người dùng liên hệ với dữ liệu ở tầng dưới thông

Trang 15

qua tầng giao diện này Giao thức được sử dụng ở tầng giaotiếp là giao thức HTTP.

người dùng Các filecủa người dùng sẽ được lưu trữ trên lưới

và hoàn toàn độc lập với tầng giao diện Dữ liệu của ngườidùng khi lưu trữ trên lưới sẽ tuân theo các chính sách và cơchế lưu trữ file trờn lưới

1.3.2 Cỏch tiếp cận mới cho tầng lưới dữ liệu

Để khai thỏc sức mạnh lưu trữ của cỏc lưới dữ liệu sẵn có, tầng lưu trữ lưới sẽ sử dụngcác hệ thống có sẵn trên cỏc lưới tớnh toỏn Sự thay đổi này đòi hỏi tầng lưu trữlướiphải được thiết kế lại để phù hợp với chính sách bảo mật và cỏc dịch vụ mà cỏc lướitớnh toỏn cung cấp.Ngoài ra, do tính chất phân tán của các hệ thống tham gia lưới,module quản lý tài nguyên phải được thiết kế để không những có khả năng phát hiện cácthành phần lỗi trên hệ thống, mà còn có khả năng thu thập các thông tin trạng thái của cácthành phần

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 82

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Trang 16

Hình 1 2 - Cỏc trung từm và viện nghiờn cứu thành viờn tham gialưới PRAGMA

1 3 3 Vị trí của đồ ỏn

Mục đích của đồ ỏnlà xừy dựng và quản lý tầng lưới dữ liệu của LINDA trên các lướitính toán có sẵn Công việc cụ thể bao gồm:

quyền(proxy) cho cỏc mỏy trờn hệ thống.

dữ liệu của hệ thống

CoG Kit để sử dụng cỏc dịch vụ lưới trờnweb/servlet

module quản lý tài nguyờn của LINDAcó khả năng mởrộng và độc lập với cỏc chớnh sỏch tài nguyờn trờn cỏc

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 21

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Chương 2: Nền tảng công nghệ

Chương này trình bày cơ bản về các công nghệ sử dụng trong đề tài, từ khái niệm, tới môhình lập trình Phần cuối của chương đưa ra mô hình vật lý và sơ đồ bố trí dịch vụ của hệthống Nội dung chính bao gồm:

GT4

Trang 17

- Khái niệm và mô hình lập trình cho các dịch vụ trênlưới: GridFTP, RSL, GRAMJOB.

Chương 3: Quản lý giấy ủy quyền cho cỏc Headnode

Chương này xừy dựng module quản lý giấy ủy quyền (proxy) cho Headnode Bắt đầu từviệc tìm hiểunhững yêu cầu cần phải có proxy, giới thiệu mô hình và cách sử dụng dịch

vụ MyProxy trong LINDA Phần cuối chương trình bày những phân tích và thiết kếmodule quản lý giấy ủy quyền trên các Headnode

Chương 4: Quy trình thêm các thành phần cho hệ thống LINDA

Nhằm cung cấp khả năng mở rộng và triển khai của hệ thống, chương này phừn tớch vàthiết kếquy trình bổ sung cỏc mỏy chủ thành Headnode và Datanode cho LINDA

Chương 5: Quản lý tài nguyờn ở tầng lưới dữ liệu cho LINDA

Chương 5 xỏc định những tài nguyờn cần phải quản lý trờn hệthống.Nghiêncứucácmôhìnhquảnlýtàinguyêntrênlưới.Đưaranhữngyêucầuchomodulequảnlýtàinguyên.CuốicùnglàphântíchvàthiếtkếmodulenàychoLINDA

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 22

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Chương 6: Kiểm soỏt tốc độ truyền file của hệ thống

Dựa trờn những nghiờn cứu ảnh hưởng của kích thước bộ đờm dữ liệu và số luồng TCPtới tốc độ truyền file của giao thức GridFTP, việc lựa chọn giỏ trị độ lớn của bộ đệm dữliệu và số luồng TCP sẽ giúp hệ thống có khả năng kiểm soát tốc độ download/ uploadhay nhân bản file

Chương 7: Kết luận và hướng phỏt triển.

Trình bày kết quả đồ án đã đạt được Đưa ra phương hướng phát triển cho đề tài

Trang 18

CHƯƠNG 2–NỀN TẢNG CễNG NGHỆ

Chương trước đã trình bày tổng quan về dịch vụ lưu trữ và chia sẻ dữ liệu dựa trên côngnghệ lưới Đồng thời cũng đã phân tích nhiều khía cạnh mà mỗi hệ thống phân tán cầnphải đỏp ứng để có thể hoạt động ổn định và tối ưu Để đưa ra giải phỏp cho những yờucầu mà hệ thống LINDA cần phải đảm bảo, trước tiên chúng ta xem xột những côngnghệ được sử dụng trong đề tài Phần cuối chương sẽ đưa ra mô hình của hệ thống

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 82

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

2.1 Lưới dữ liệu

2.1.1 Bối cảnh ra đời

Lưới dữ liệu ra đời trong bối cảnh các ứng dụng khoa học trong rất nhiều lĩnh vực khácnhau như vật lí năng lượng cao, mô hình húa phân tử, và khoa học trái đất đã tạo ra mộtlượng lớn các bộ dữ liệu từ việc mô phỏng hay từ các thí nghiệm qui mô lớn Việc phântích các bộ dữ liệu này cũng như lan truyền nú giữa các nhà khoa học ở nhiều nơi khácnhau đòi hỏi những tài nguyên mạnh như siêu máy tính, mạng băng thông rộng, và các hệthống kho chứa lớn

Sự kết hợp của kích cỡ bộ dữ liệu lớn, sự phân tán địa lí của người dùng cũng như tàinguyên, và yờu cầu cần tớnh toỏn trờn bộ dữ liệu lớn đặt ra các yêu cầu về độ phức tạp

và hiệu năng khắt khe mà không có một hạ tầng quản lí dữ liệu nào hiện có đáp ứngđược Một cộng đồng khoa học lớn có thể tạo ra nhiều truy vấn, mỗi truy vấn có thể làtruy nhập tới hàng gigabyte hay terabyte dữ liệu Để sự thực thi những truy vấn đó hiệuquả và tin cậy đòi hỏi việc quản lí một cách cẩn thận các cache cỡ terabyte, hàng gigabyte

dữ liệu truyền trên mạng WAN, đồng lập lịch cho cả dữ liệu và tính toán siêu máy tính,ước lượng hiệu năng chính xác để định hướng việc chọn lựa bộ dữ liệu nhân bản, và các

kĩ thuật khác nhằm tối ưu việc sử dụng kho dữ liệu lớn, mạng, và các tài nguyên tínhtoán

Trong bối cảnh đó, lưới dữ liệu ra đời trên nền tảng của công nghệ tính toán lưới, đáp ứngđược những yêu cầu đã kể trên Do vậy, lưới dữ liệu đã trở thành sự lựa chọn tối ưu chorất nhiều các tổ chức uy tín hàng đầu trong các lĩnh vực nghiên cứu khoa học

2.1.2 Khỏi niệm về lưới dữ liệu

Một lưới dữ liệu cung cấp các dịch vụ giúp người dùng có thể tìm kiếm, truyền, và sửdụng các bộ dữ liệu lớn trên các kho chứa phân tán và tạo ra và quản lí các bản sao củanhững bộ dữ liệu này Ở mức cơ bản nhất, một lưới dữ liệu cung cấp 2 chức năng: một cơchế truyền dữ liệu tin cậy, hiệu năng cao, và một cơ chế quản lí và tìm kiếm bản sao mềmdẻo.Tựy thuộc vào các yêu cầu ứng dụng, các dịch vụ khác có thể được cung cấp thêm

Trang 19

vào Ví dụ là việc quản lí nhất quán cho các bản sao, quản lí siêu dữ liệu và bộ lọc dữliệu, cũng như các cơ chế qui tập Tất cả các hoạt động trong một lưới dữ liệu được chêmmột lớp bảo mật để quản lí chứng thực các thực thể và đảm bảo sự tiếp nối chỉ nhữnghoạt động đã được chứng quyền

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 23

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Hình 2 1 - Tổng quan một lưới dữ liệu

Hình vẽtrình bày lưới dữ liệu nhìn ở mức khái quát bao gồm các tài nguyên tính toánởcỏc tổ chức khỏc nhau được kết nối qua một mạng tốc độ cao Đường nột đậm làmạngcó băng thông cao nối các trung tâm chính, và đường nét mảnh là các mạng băngthông thấp nối trung tâm dữ liệu với hệ thống phụ trợ cho nú

Một lưới dữ liệu, vì vậy, cung cấp một nền tảng thông qua đó người dùng có thể truynhập các tài nguyên mạng, tính toán và kho chứa được phối kết hợp với nhau để thực thicác ứng dụng sử dụng bộ dữ liệu lớntrờn cỏc hệ thống ở xa Nú đưa ra một môi trườngphong phú cho người dùng để phân tích dữ liệu, chia sẻ kết quả với đối tác, và bảo trìthông tin trạng thái về dữ liệu một cách liền mạch qua các biên giới về vật lí

2.1.3 Kiến trúc của lưới dữ liệu

Các thành phần của lưới dữ liệu có thể được phân chia dưới dạng một kiến trúc phân cấpnhư hình vẽ dưới Mỗi lớp được xây dựng dựa trên các dịch vụ được đưa ra bởi tầng thấphơn cùng với sự tương tác và phối hợp giữa các thành phần trong cùng một lớp Chúng ta

có thể mô tả các lớp từ thấp đến cao như sau:

Trang 20

Lớp cơ sở: bao gồm cỏc tài nguyờn tớnh toỏn phừn tỏn

(cluster, supercomputer), cỏc tài nguyờn lưu trữ, và cỏc tàinguyờn khỏc (cỏc thiết bị thu thập và sản sinh dữ liệu ) đượckết nối với nhau bởi các mạng băng thông cao

tiếp:baogồmcỏcgiaothứcđượcsửdụngđểtruyvấntàinguyờnởcỏcl

ớpcơsởcũngnhưtruyềndữliệugiữacỏclớpcơsởtươngứng.CỏcgiaothứcnàyđượcxừydựngdựatrờncỏcgiaothứcgiaotiếpnềntảngnhưTCP/IPvàcỏcgiaothứcchứngthựcnhưPKI(kiếntrúc khúa côngkhai), và SSL

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 25

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Hình 2 2 - Kiến trúc chung của một lưới dữ liệu

Trang 21

 Lớp dịch vụ lưới dữ liệu: cung cấp các dịch vụ quản lí và xử lí

dữ liệu trong một lưới dữ liệu Các dịch vụ cốt lõi như nhânbản, khai phá dữ liệu và đệ trình công việc cung cấp sự truynhập trong suốt tới các dữ liệu và tính toán phân tán Các dịch

vụ mức người dùng như môi giới dữ liệu (lựa chọn tài nguyêndựa trên yêu cầu của ứng dụng và yêu cầu của người dùng), vàquản lí bản sao cung cấp các cơ chế cho phép quản lí tàinguyên một cách hiệu quả Các dịch vụ này sẽ cung cấp cholớp ứng dụng trên nú giao diện gồm các lệnh trực quan và cácAPI

đượccungcấpbởimôitrườnglưới.GiaodiệnphổbiếnnhấtlàcácPortals.Portallàgiaodiệnwebcungcấpsựtruynhậptớicácdịchvụcácứngdụngcũngnhưcáctàinguyênmàlướiđưara.Cácgiaodiệnnàylạiđượccấuhìnhvàsửdụngmộtphùhợphướngtớilĩnhvựcmàngườidùngmongmuốnnhưvậtlínănglượngcao,môhìnhhúakhí thời tiết…

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 26

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

2.2 Bộ công cụ Globus Toolkit

2.2.1 Giới thiệu

Globus Toolkit là một bộ công cụ phần mềm sử dụng để xây dựng các hệ thống và ứngdụng lưới Bộ công cụ được phát triển bởi cộng đồng Globus Alliance và rất nhiều nhàphát triển khác trên khắp thế giới Ngày càng nhiều các dự án và các tổ chức sử dụngGlobus Toolkit để triển khai cho lưới của họ

Bộ công cụ mã nguồn mở Globus Toolkit hỗ trợ những thành phần cơ bản cho tính toànlưới, cho phép người sử dụng có thể chia sẻ sức mạnh của các máy tính, cơ sở dữ liệu vànhững thành phần khác một cách bảo mật giữa các doanh nghiệp, tổ chức, các vùng lãnhthổ mà không mất quyền tự chủ Bộ công cụ bao gồm các dịch vụ và thư viện cung cấpcác khả năng theo dõi, khai phá, quản lý, tăng cường bảo mật và quản lý tập tin Ngoàiviệc là thành phần quan trọng của các dự án mà tổng kinh phí gần một nửa tỷ đô la trêntoàn thế giới, Globus Toolkit còn được chọn làm tầng nền cho các công ty Công nghệthông tin sử dụng để phát triển các ứng dụng thương mại về lưới Hiện nay, hầu hết các

dự án tính toán lưới như EU DataGrid, GridPhysics Network, Particle Physics Data Grid,Earth System Grid… đều được triển khai trên nền Globus Toolkit

Globus Toolkit bao gồm các phần mềm dành cho bảo mật, hạ tầng thông tin, quản lý tàinguyên, quản lý dữ liệu, giao tiếp, phát hiện lỗi, và khả năng di động Globus Toolkit

Trang 22

được đóng gói thành một tập hợp các thành phần có thể được sử dụng độc lập, hoặc kếthợp với nhau để phát triển các ứng dụng.

Các tổ chức có chế độ vận hành riêng, và sự hợp tác giữa các tổ chức luôn gặp trở ngại do

sự không tương thích về tài nguyên như hệ thống lưu trữ, máy tính, mạng Globus Toolkit

đã gỡ bỏ được chướng ngại đó trong việc kết nối các tổ chức, cho phép người sử dụngtruy cập vào các tài nguyên từ xa một cách trong suốt, giống như họ đang truy cập vào tàinguyên cục bộ của mình, song cũng cũng cấp khả năng kiểm soát khi người dùng kháctruy cập tài nguyên của mình

GlobusToolkitđượcpháttriểnthôngquamộtchiếnlượcmãnguồnmởtươngtựnhưpháttriểnhệđiềuhànhLinux.Nhờvậy,sảnphẩmđượcquảngbárộngrãivàđượccácmọingườitrênkhắpthếgiớicùngpháttriển

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 27

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Dưới đừy là cỏc sơ đồ cỏc thành phần của Globus Toolkit 4:

Trang 23

Hình 2.3 – Cỏc thành phần của Globus Toolkit 4

Chia theo phương thức vận hành, cấu trúc của bộ Globus Toolkit được chia làm 2 phần:

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 82

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

phần chính:

Trang 24

 Execution Management: Quản lý thực thi công việc trên lưới.

động của lưới

Ngoài việc sử dụng các thành phần có sẵn được cung cấp trong Globus Toolkit, đồ án đãtriển khai thêm các chức năng khác phù hợp với đề tài LINDA

2.2.2 Thư viện lập trình lưới Java Cog Kit

2.2.2.1 Giới thiệuJava Cog Kit là bộ dụng cụ phỏt triển lưới, ánh xạ giữa công nghệ Java và Globus

Toolkit, cho phép các nhà phát triển xây dựng các ứng dụng lưới bằng ngôn ngữjava.Java Cog kit được lựa chọn để phỏt triển lưới bởi một số lý do sau đừy:

phần mềm

triển, do vậy nú tương thích với môi trường không đồng nhấtnhư lưới Ngoài ra nú cung cấp nhiều thư viện cho phép pháttriển các ứng dụng mạng, các kỹ thuật liên tác JASS, JINI,CORBA, IIOP…

2.2.2.2 Kiến trúc của Java Cog Kit

Dưới đây là kiến trúc của Java Cog Kit

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 28

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Trang 25

Hình 2 4 - Kiến trúc của Java CoG kit

Grid Middleware & Fabric: Đây là tầng thấp nhất trong kiến trúc, chứa tất cả

các gói để giao tiếp với các dịch vụ và các tài nguyên Hiện tại Java Cog Kit cungcấp một số dịch vụ cơ bản sau đây:

Các thành phần giao diện lưới mức thấp (Low-Level Grid Interface

Components): ánh xạ tới các dịch vụ lưới hay sử dụng, được xây dựng bằng

công nghệ Java Bean và Enterprise Java Bean

Các thành phần tiện ích mức thấp (Low-Level Utility Components): cung cấp

các tiện ích mức thấp cho phép tăng hiệu quả trong việc liên kết các thành phầnGlobus Toolkit được cài đặt bằng ngôn ngữ C

Các thành phần giao diện mức thấp (Low-Level GUI Components): cung cấp

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 29

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

tập các thành phần giao diện mức thấp có khả năng tái sử dụng như: bộ soạn

thảo LDAP, RSL, trình duyệt LDAP,

Các thành phần giao diện và tiện ích mức ứng dụng (Application Level Utility

Trang 26

& GUI components): là cầu nối giữa Java Cog với các ứng dụng thực tế.Với kiến trúctrên, Java Cog Kit cho phép

2 2 2 3 Lập trình với Java Cog Kit

Kiến trúc của Java Cog Kit cung cấp nền tảng ổn định cho phát triển các ứng dụng trênlưới Người sử dụng có thể dùng các lớp và phương thức không chỉ cho các thành phầnchức năng của lưới, mà còn có khả năng hiện thực húa các luồng công việc thông qua sự

mô tả bằng XML, từ dòng lệnh hay từ giao diện đồ họa Các lớp kiến trúc của Java CogKit cung cấp cho người sử dụng được tổ chức như sau:

Hình 2 5 –Cỏc lớp của Java Cog Kit

Java Cog Kit với tầng middleware của lười hay cỏc phần mềmphừn tỏn Java Cog Kit đó được phỏt triển cho GT2, GT4,

Condor.Khisửdụngcáclớptrừutrượng,haycácinterface,củaJavaCogKit,ngườisửdụngkhôngcầnphảilolắngvềnhữngthayđổicủatầngmiddlewaretrênlưới Các thư viện được tự động biên dịchlúc chạy, nên những lựa chọn cho phiên bản có thể được quyếtđịnh tại thời điểm chạy LINDA sử dụng Java Cog Kit đã đảmbảo được tính mở đối với những thay đổi của lưới trong tươnglai

Trang 27

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 31

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

với cỏc phiờn bản lưới Những lớp trừu tượng này bao gồmcác quá trình chuyển file, cách truy cập flie, đệ trình job vàchứng thực Các lớp này được lựa chọn để phù hợp với hầuhết, nhưng không phải tất cả người dùng trên lưới

tượng cơ bản, Java Cog Kit còn cung cấp nhiều lớp trừu tượngnâng cao để hỗ trợ cho cỏc mô hình lưới phức tạp

Hình 2 6 - Sự tương ứng giữa các gói với các lớp kiến trúc trong Java Cog

Kit Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 82

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Trang 28

2.3 Giới thiệu lưới PRAGMA

Hình 2 7 – Biểu tượng lưới PRAGMA

PRAGMA(The Pacific Rim Application and Grid Middleware Assembly) được thành lập

vào năm 2002 với mục đích duy trì sự cộng tác và nâng cao khả năng sử dụng tớnh toỏnlưới cho cỏc ứng dụng của cỏc trung từm tớnh toỏn thuộc khu vực chừu Á Thỏi BỡnhDương Hiện tại, có hơn 35 tổ chức tham gia lưới PRAGMA Trong PRAGMA, cỏc ứngdụng là trung từm cho việc tích hợp và cộng tác của những nền tảng phần cứng, phầnmềm để nâng cao chất lượng của ứng dụng

Vào thỏng 3 năm 2008, Trung từm tớnh toỏn hiệu năng cao, trường Đại học Bỏch Khoa

Hà Nội (HPCC) đã trở thành thành viên chính thức của tổ chức tình toán lưới quốc tế

PRAGMA Đây không những là sự kiện đỏnh dấu sự phỏt triển của Trung từm, sự ghinhận của giới chuyên môn quốc tế đối với Trung tâm, mà còn là cơ hội cho các ứng dụngđang phát triển tại trung tâm được triển khai trên những môi trường tính toán thực tế.Xừydựng tầng lưới dữ liệu của hệ thống LINDA trờn cỏc hệ thống tham gia lướiPRAGMA làmục đích của đề tài này

2.4 Lập trình sử dụng các dịch vụ của lưới bằng Java Cog Kit

Phần này giới thiệu các dịch vụ cơ bản của lưới, cách thức lập trình các dịch vụ này thôngqua bộ thư viện Java Cog Kit

2 4.1 Giao thức truyền file trờn lưới –GridFTP

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 32

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Trang 29

Hình 2 8 - Giao thức FTP

cầu tới mỏy chủ FTP tại cổng 21, và duy trì liên kết này trongsuốt phiên làm việc Luồng điều khiển được dùng để gửi cáclệnh điều khiển luồng dữ liệu (data connection), định danhngười dùng và mật khẩu người dùng

công luồng điều khiển, luồng dữ liệu được khởi tạo từ mỏykhỏch (chế độ passive) hay từ mỏy chủ(chế độ active) Dữ liệutruyền có thể dưới dạng: ASCII (hay text, Image Code (haybinary), EBCDIC hay local mode (chế độ tựy chọn) Luồng dữliệu có thể được khởi tạo dưới các mode: Stream mode, Blockmode, Compressed mode

2.4.1.2 GridFTP

Giao thức GridFTP được thiết kế dựa trên FTP để giải quyết những giới hạn đó GridFTP

kế thừa và mở rộng một số khả năng mới:

xác thực, đảm bảo toàn vẹn, tin cậy cho dữ liệu là rất quantrọng GridFTP hỗ trợ cơ sở hạ tầng bảo mật lưới GSI và xácthực Kerberos, với cấp độ cài đặt do người dùng định nghĩa

cho các tổ chức phân tán, GridFTP cung cấp chức năng điềukhiển đối bởi tác thứ ba trong truyền dữ liệu Chức năng nàycho phép người dùng hoặc ứng dụng tại một miền có thể khởitạo, giám sát và điều khiển một tiến trình truyền dữ liệu giữanguồn và đích của quá trình truyền

song:đốivớiliênkếtmạngdiệnrộng,sửdụngsongsongnhiềuluồng

Trang 30

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 34

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Hình 2 9 - Truyền dữ liệu song song

Hình 2 10 - Truyền dữ liệu song song với đối tỏc thứ ba

xen giữa nhiều máy chủ, như trong vùng đệm đĩa mạng trong

hệ thống DPSS GridFTP cho phép khởi tạo truyền dữ liệuphân đoạn, sử dụng nhiều luồng TCP Truyền phân đoạn giúp

mở rộng băng thông hơn nhiều so với truyền song song

cập đến một phần của file thay vì truy cập toàn bộ Giao thứcFTP chuẩn chỉ hỗ trợ khả năng truyền phần còn lại của file bắtđầu từ địa chỉ lệch nào đó GridFTP hỗ trợ khả năng truyềnmột phần bất kỳ của file

Trang 31

Tự động thương lượng vùng đệm TCP:ápdụngthiếtlậptốiưuvùngđệmTCPcóthểlàmtăngđángkểhiệuquảtruyền.Tuynhiên,tựthiếtlậpkíchthướcvùngđệmnàyrấtkhókhăn,thườngkhôngđượcthựchiện.GridFTPhỗtrợcảthiếtlậpthủcôngvàtựđộngđàmphánvềkíchthướcvùngđệmTCP.

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 35

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

lại : Truyền dữ liệu tin cậy đóng vai trò quan trọng trong ứngdụng quản lý dữ liệu Cần có phương pháp phục hồi khi có lỗi.Chuẩn FTP định nghĩa khả năng bắt đầu lại pha truyền dữliệu, nhưng tính năng này không được cài đặt rộng rãi.GridFTP khai thác và mở rộng các đặc tính này, tạo nên mộtgiao thức kênh dữ liệu mới

2.4.1.3 Mô hình lập trình

Phần hướng dẫn lập trình sau giả sử rằng đã biết sẵn địa chỉ URL của các mỏychủGridFTP, đồng thời đảm bảo rằng tiến trình chủ trên những máy này luôn chạy Phầntiếp theo sử dụng Java Cog Kit để viết chương trình minh họa khả năng truyền đối tác thứ

ba của GridFTP trong môi trường lưới Trình tự thực hiện truyền dữ liệu như sau:

dụng có đủ thẩm quyền để thực hiện quá trình truyền

Xỏc định giấy ủy nhiệm

/ / Load credentials from proxy file

private void getCredentials() throws Exception {

/ / read from harddisk or get from MyProxy server

}

Khởi tạo đối tượng khỏch

//Khởi tạo GridFTPClient trờn mỏy nguồn

private void initSourceClient() throws Exception {

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 82

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Trang 32

/ / init with source url, proxy, buffer size, tranfer mode

}

//Khởi tạo GridFTPClient trên máy đích

privatevoid initDestClient() throws Exception {

/ / init with des url, proxy, buffer size, tranfer mode

2.4.2 Đệ trình job sử dụng ngụn ngữ đặc tả tài nguyên - RSL

2.4.2.1 Ngôn ngữ đặc tả tài nguyên RSL

RSL là một ngôn ngữ được sử dụng nhằm xác định công việc sẽ chạy Mọi yêu cầu đệtrình công việc đều được mô tả bằng xâu RSL, nú bao gồm các thông tin như file thựcthi; các tham số của file này; các thông tin về sự định hướng lại của stdin, stdout, vàstderr… Về cơ bản, nú cung cấp một cách chuẩn để xác định tất cả các thông tin cần thiết

khi thực hiện một công việc, độc lập với môi trường được lựa chọn Sau đó job

manager sẽ chịu trách nhiệm phân tích các thông tin và khởi phát công việc một cách

thích hợp Cú pháp của RSL rất dễ hiểu Mỗi lệnh nằm trong một ngoặc đơn Các chúthích nằm trong ngoặc đơn với dấu sao dưới dạng (* chú thích *) Các thuộc tính thườngđược sử dụng khi đệ trình một công việc là:

dùng làm thư mục mặc định để chạy công việc được yêucầu Mặc định: thư mục làm việc hiện tại được thiết lập bởigatekeeper

xa Nếu giá trị là một GASS URL, file sẽ được truyền đếngass cache của máy đó trước khi thực hiện công việc và xúa

bỏ sau khi đã kết thúc Mặc định: không có

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 37

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

lệnh cho file thực thi Sử dụng dấu nháy kép “quotes” nếu

Trang 33

có dấu cách (space) trong tham số Mặc định: NULL Chẳnghạn với (arguments=" a and b" ccc d) thì argv[1]=" a and b"argv[2]="ccc" argv[3]="d"

file thực thi trên máy ở xa Nếu giá trị là một GASS URL,file được truyền đến gass cache trước khi thực hiện côngviệc và xúa bỏ khi đẵ kết thúc Mặc định: / dev/ null

chuẩn của công việc Nếu giá trị là một GASS URL, đầu rachuẩn của công việc sẽ được tự động chuyển về máy yêucầu trong suốt quá trình thực hiện công việc Giá trị mặcđịnh: /dev/null

trên máy thực hiện Nếu giá trị là một GASS URL, lỗichuẩn của công việc được truyền một cách động về máyyõu cầu Mặc định: / dev/ null

chuyển đến máy được lựa chọ cùng file thực thi Mặc định:không có

xúa bỏ khi công việc kết thúc Mặc định: không có

2.4.2.2 GateKeeper và đệ trình job lờn lưới (directory=job submission)GateKeeper là dịch vụ trên mỗi máy có nhiệm vụ đảm bảo cơ chế an ninh trong lưới:

chứng thực và chứng quyền Nú nhận các yêu cầu từ các máy khách, thực hiện việcchứng thực hai bên với máy khách Mỗi khi có yêu cầu từ máy khách, dịch vụ này sẽchứng thực quyền và chứng quyền nú khởi tạo một job manager chạy dưới sự ủy quyền(credential) của người dùng đã chứng thực

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 38

Trang 34

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Hình 2 11 - GateKeeper

Một Job Manager được tạo ra bởi Gatekeeper dựa vào mỗi yêu cầu nhận được Job

manager xử lý các đặc tả công việc được gửi từ các client theo kết quả lập lịch Nú cũngcung cấp giao tiếp cho việc điều khiển phân bố tài nguyên Các chức năng chính của núlà:

trình cho các công việc

ra các tiến trình cho nú

từ client Ứng dụng có thể cần các khả năng này để cungcấp feedback cho người dùng hay giải phóng các nguồn tàinguyên Ví dụ như trong trường hợp một công việc của ứngdụng bị lỗi, các công việc khác phụ thuộc vào nú cần phảiđược huỷ bỏ trước khi làm lãng phí các tài nguyên có thểcần dùng cho các công việc khác

2.4.2.3 Mô hình lập trình

Mô tả chuỗi RSL cho job: Job được đệ trình nhờ vào phương thức request() của

lớpGramJob

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 39

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

Trang 35

cỏc mỏy để thực hiện GassServer được tạo ra và được ghi nhớ những luồng input,

output của các job, sau đó thông tin này được bổ xung vào các chuỗi RSL Kết quả

làGassServer có khả năng thu nhận được kết quả sau khi kết thúc job.

2.4.3.2 Mô hình lập trình

GassServer được tạo ở các máy client, ghi nhớ thông tin của các server trong chuỗi RSL,

ta có thể thu được kết quả của các job trên máy client

Ghi nhớ thông tin của GassServer với chuỗi RSL:

Sinh viên Đào Hải Hưng – lớp Hệ thống thông tin – K50 40

Xừy dựng và quản lý tầng lưu trữ lưới của hệ thống lưu trữ và chia sẻ dử liệu LINDA

String gRSL = RSL +

+ "(stdout=x-gass-cache: //$(GLOBUS_GRAM_JOB_CONTACT)stdout test)"

Ngày đăng: 07/01/2015, 20:21

HÌNH ẢNH LIÊN QUAN

Hình 3. 3 –Biểu đồ use case của module quản lý proxy - xây dựng và quản lý hạ tầng lưu trữ lưới cho hệ thống lưu trữ và chia sẻ dữ liệu linda
Hình 3. 3 –Biểu đồ use case của module quản lý proxy (Trang 45)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w