Chỉ mục định vị bản sao RLI

Một phần của tài liệu Nghiên cứu và phát triển một số tính năng mở rộng cho hệ thống lưu trữ và chia sẻ dữ liệu lindax (Trang 33)

LRC chỉ lƣu trữ thông tin định vị bản sao tại các tổ chức, chỉ phục vụ ngƣời sử dụng trong phạm vi tổ chức đó. Nó không hỗ trợ ngƣời dùng truy vấn nhiều tổ chức cùng một lúc. Để hỗ trợ khả năng này, phải xây dựng cấu trúc đánh chỉ mục.

Thông tin chỉ mục trong dịch vụ định vị bản sao đƣợc lƣu dƣới dạng một tập các RLI, mỗi RLI bao gồm tập bản ghi gồm hai trƣờng (LFN, con trỏ tới LRC). Có thể định nghĩa nhiều cấu trúc dịch vụ định vị bản sao với các đặc tính hiệu năng khác nhau, bằng cách thay đổi số RLI và mức độ dƣ thừa, phân đoạn trong RLI. Một RLI có thể đánh chỉ mục cho một phần hoặc toàn bộ các LRC (Hình 2.13).

32

Hình 2.13 – RLS hai tầng

Hình 2.14 – Một hình trạng RLS phân cấp

RLI có thể đánh chỉ mục cho RLI khác (Hình 2.14). Nhƣ vậy, cấu trúc đánh chỉ mục trên toàn bộ lƣới dữ liệu đƣợc tổ chức theo hình cây phân cấp. Đặc trƣng của cây chỉ mục bao gồm độ rẽ nhánh và độ sâu phụ thuộc vào yêu cầu của từng lƣới dữ liệu cụ thể.

Dựa trên kỹ thuật dƣ thừa, phân đoạn và trạng thái mềm, có thể chỉ ra các yêu cầu đối với một nút chỉ mục định vị bản sao toàn cục RLI nhƣ sau:

Truy cập từ xa an toàn: RLI phải hỗ trợ chứng thực, xác nhận, tính toàn vẹn, tính tin cậy, và phải triển khai quyền điều khiển truy cập cục bộ trên thông tin mà nó quản lý.

Lan truyền trạng thái: RLI phải có khả năng nhận thông tin mô tả trạng thái do các LRC gửi đến định kỳ.

Truy vấn: RLI phải trả lời truy vấn tới bản sao của một LFN cụ thể bằng cách trả về vị trí vật lý của LFN đó hoặc thông báo rằng LFN không nằm trong chỉ mục hiện thời, trong trƣờng hợp không tìm thấy.

Trạng thái mềm: RLI phải ấn định thời gian hết hạn đối với thông tin lƣu trữ trong chỉ mục. Nếu một mục gắn liền với một LRC không nhận đƣợc thông tin trạng thái cập nhật từ LRC trong khoảng thời gian ấn định, RLI phải loại bỏ mục đó.

Phục hồi khi lỗi xảy ra: RLI không đƣợc phép chứa thông tin trạng thái bền vững về các bản sao. Nó phải khôi phục nội dung sau sự cố chỉ bằng cách sử dụng cập nhật trạng thái động từ các LRC.

33

2.5 Bảo mật trên lưới dữ liệu

Lƣới là môi trƣờng chia sẻ dữ liệu phân tán, với nhiều tài nguyên và cộng đồng ngƣời dùng tham gia. Làm thế nào để chứng thực nguồn gốc dữ liệu, chứng thực ngƣời dùng, bảo vệ dữ liệu khỏi truy nhập bất hợp pháp là những câu hỏi mà bảo mật trên lƣới dữ liệu phải trả lời.

Có những vấn đề bảo mật mới chƣa từng gặp trong công nghệ bảo mật hiện tại cho hệ thống tính toán phân tán truyền thống. Ví dụ, tính toán song song đòi hỏi nhiều tài nguyên tính toán, dẫn tới nhu cầu thiết lập các mối quan hệ bảo mật, không đơn giản chỉ giữa khách và chủ, mà giữa hàng trăm tiến trình thực hiện trên môi trƣờng lƣới. Ngoài ra, cần có chính sách bảo mật liên miền cho lƣới, các công nghệ điều khiển truy nhập giữa các miền khác nhau cũng phải đƣợc hỗ trợ.

Ứng dụng có thể đòi hỏi bất cứ chức năng nào trong các chức năng cơ bản của bảo mật nhƣ: chứng thực, điều khiển truy nhập, toàn vẹn, bí mật. Khi phát triển kiến trúc bảo mật lƣới, cũng cần phải lựa chọn giải pháp để đáp ứng đƣợc đòi hỏi của các đặc tính rất riêng của lƣới:

 Đăng nhập một lần

 Giấy ủy nhiệm ngƣời dùng

 Tích hợp các giải pháp bảo mật địa phƣơng

 Cơ sở hạ tầng giấy ủy nhiệm, giấy chứng nhận thống nhất Các thành phần trong kiến trúc bảo mật trên lƣới dữ liệu phải bao gồm:

Thực thể: bao gồm chủ thể và đối tƣợng. Chủ thể là ngƣời dùng và ứng dụng. Đối tƣợng là tài nguyên có sẵn nhƣ kho dữ liệu, dịch vụ trên lƣới phục vụ ứng dụng.

Giấy chứng nhận: là giải pháp cho yêu cầu thống nhất định danh của thực thể, bao gồm định danh của ngƣời dùng và tài nguyên. Cơ chế này giúp giảm bớt thời gian chứng thực khi thực hiện tính toán. Có hai loại giấy chứng nhận: giấy chứng nhận ngƣời dùng và giấy chứng nhận tài nguyên.

Giao thức: là quy ƣớc đƣa ra cho hoạt động bảo mật trong môi trƣờng lƣới, bao gồm các cơ chế đăng nhập một lần, định vị tài nguyên.

Hiện tại, có nhiều kiến trúc bảo mật trên lƣới, nhƣng phổ biến và đƣợc dùng rộng rãi nhất là cơ sở hạ tầng bảo mật GSI – Grid Security Infrastructure[14] của cộng đồng Globus. GSI đƣợc xây dựng dựa trên cơ sở hạ tầng khóa công khai PKI.

Để mỗi một thực thể có một định danh duy nhất, GSI đƣa ra khái niệm giấy ủy nhiệm lƣới, là một cặp gồm giấy chứng nhận và một khóa mã hóa còn gọi là khóa bí mật. Giấy chứng nhận một thực thể là kết nối giữa tên định danh của thực thể đối với khóa bí mật của họ. Sự kết nối này đƣợc thực hiện nhờ chữ kí điện tử của bên thứ ba đáng tin cậy gọi là nhà thẩm quyền.

Trong GSI, các thực thể xác thực nhau qua cơ chế bắt tay ba bƣớc. Khi truy xuất bất kỳ nguồn dữ liệu nào, ngƣời dùng phải thực hiện các bƣớc sau:

34

 Trình cho tài nguyên giấy chứng nhận để chứng tỏ mình là ngƣời sử dụng thực sự có thẩm quyền trên lƣới

 Tài nguyên cũng phải trình ra một giấy chứng nhận, để ngƣời dùng tin tƣởng

 đây là tài nguyên thực sự đã đƣợc chứng nhận, không phải là giả mạo

 Khi tin tƣởng nhau, quá trình truy xuất tài nguyên đƣợc diễn ra.

Hiện tại, GSI đƣợc triển khai trong một số mạng lƣới: lƣới thông tin năng lƣợng của NASA - Nasa Information Power Grid, NSF PACI Grid.

Dịch vụ bảo mật trên lƣới dữ liệu phải có khả năng tự động hóa quá trình trên. Ngƣời sử dụng phải trở nên trong suốt với những gì diễn ra trong giao thức bắt tay ba bƣớc. Họ không đƣợc có ý niệm gì về giấy chứng nhận, hoặc giấy ủy nhiệm. Lƣới dữ liệu cần cung cấp cho ngƣời dùng một giao diện bảo mật thống nhất, trong đó ngƣời sử dụng đƣợc xác định bằng hai thông tin là tài khoản và mật khẩu truy cập. Giải pháp kho lƣu trữ dữ liệu MyProxy[15] do cộng đồng phát triển Globus đƣa ra đã giải quyết đƣợc vấn đề này.

Do đặc thù của lƣới nên vấn đề dung hòa giữa chính sách sử dụng tài nguyên của cộng đồng ngƣời dùng với chính sách sử dụng tài nguyên của những nhà cung cấp mà bản thân họ cũng tham gia vào cộng đồng, cần đƣợc giải quyết triệt để. Mô hình CAS – Community Authorization Service[16]dùng trong cơ sở hạ tầng lƣới Globus là một trong những kiến trúc cho phép giải quyết vấn đề này. Với CAS, chủ tài nguyên quy định chính sách sử dụng đối với tài nguyên của mình. Nhà thẩm quyền của CAS quy định quyền hạn sử dụng đối với từng ngƣời tham gia lƣới. Kết hợp hai chính sách này tạo ra quyền sử dụng thực của ngƣời dùng đối với tài nguyên.

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

Java 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:

 Tối đa hóa tính động, khả năng mở rộng và tái sử dụng phần mềm

 Ngôn ngữ Java là độc lập hệ điều hành và các nền tảng phát triển, do vậy nó tƣơng thích với môi trƣờng không đồng nhất nhƣ lƣới. Ngoài ra nó cung cấp nhiều thƣ viện cho phép phát triển các ứng dụng mạng, các kỹ thuật liên tác JASS, JINI, CORBA, IIOP…

35

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

Hình 2.15 – 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:

 An toàn và bảo mật (GSI).

 Đệ trình và theo dõi các công việc thực thi từ xa (GRAM).

 Đánh giá chất lƣợng dịch vụ (GARA).

 Dịch vụ truyền file bảo mật (GSIFTP)

 Dịch vụ tra cứu thông tin (MDS)

 Dịch vụ lƣu trữ giấy ủy nhiệm (MyProxy)

Các thành phần giao diện lưới mức thấp (Low-Level Grid InterfaceComponents): ánh xạ tới các dịch vụ lƣới hay sử dụng, đƣợc xây dựng bằngcô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ấpcá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ấptậ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ạnthả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& 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úc trên, Java Cog Kit cho phép.

36

2.6.2 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ên lƣớ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ần chứ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 Cog Kit cung cấp cho ngƣời sử dụng đƣợc tổ chức nhƣ sau:

Hình 2.16 – Các lớp của Java Cog Kit

 Cog Kit providers: đƣa ra ánh xạ giữa những interface của Java Cog Kit với tầng middleware của lƣời hay các phần mềm phân tán. Java Cog Kit đã đƣợc phát triển cho GT2, GT4, GT3, SSH và Condor. Khi sử dụng các lớp trừu trƣợng, hay các interface, của Java Cog Kit, ngƣời sử dụng không cần phải lo lắng về những thay đổi của tầng middleware trên lƣới. Các thƣ viện đƣợc tự động biên dịch lú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. LindaX sử dụng Java Cog Kit đã đảm bảo đƣợc tính mở đối với những thay đổi của lƣới trong tƣơng lai.

 Basic abstractions: Là một tập các chức năng của lƣới độc lập với các phiên bản lƣới. Những lớp trừu tƣợng này bao gồm cá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ầu hết, nhƣng không phải tất cả ngƣời dùng trên lƣới.

 Data and task management abstractions: ngoài các lớp trừu tƣợng cơ bản, Java Cog Kit còn cung cấp nhiều lớp trừu tƣợng nâng cao để hỗ trợ cho các mô hình lƣới phức tạp.

37

một cách cụ thể, triển khai phù hợp với hệ thống LindaX sẽ đƣợc trình bày trong chƣơng này. Nội dung của chƣơng tập trung vào việc thiết kệ hệ thống và các thành phần cấu thành hệ thống LindaX. Các vấn đề sẽ trình bày bao gồm ứng dụng công nghệ lƣới dữ liệu, các chức năng đƣợc triển khai trên lƣới dữ liệu, các chức năng đƣợc ứng dụng LindaX cung cấp và các chức năng đƣợc triển khai để kết nối các tầng của hệ thống.

3.1 Mô hình tổng thể

Mục đích cho việc nghiên cứu và triển khai hệ thống lƣu trữ dựa trên lƣới dữ liệu chính là tạo ra một nền tảng lƣu trữ dữ liệu ổn định và linh hoạt, có khả năng đáp ứng không chỉ cho một ứng dụng mà còn cho nhiều ứng dụng khác nhau. Hệ thống LindaX là chính là một trong những ứng dụng nhƣ vậy.

LindaX bao gồm 2 tầng chính là tầng ứng dụng webtầng lữu trữlưới. Nhƣ đã trình bày trong phần “Những đóng góp của luận văn”, chức năng của các tầng đƣợc phân chia rõ ràng.

Hình 3.1 – Mô hình tổng thế hệ thống LindaX

Tầng ứng dụng web Tầng lƣu trữ lƣới

39

 Tầng ứng dụng web: là tầng trung gian giữa ngƣời sử dụng hệ thống lƣu trữ và dữ liệu đƣợc lƣu trữ trên lƣới.

 Tầng lƣu trữ lƣới: là tầng thực hiện việc lƣu trữ dữ liệu, cung cấp các dịch vụ lƣu trữ theo yêu cầu từ tầng giao tiếp ngƣời dùng.

3.1.1 Tầng ứng dụng web

Ngƣời dùng sẽ sử dụng giao diện và các chức năng do web cung cấp để trao đổi với dữ liệu của mình. Khi đó, ứng dụng web sẽ tiếp nhận và xử lý các yêu cầu của ngƣời dùng, triệu gọi các dịch vụ đƣợc cung cấp ở tầng lƣu trữ lƣới, trả lại kết quả thông qua giao diện tƣơng tác. Với góc nhìn của mình, ngƣời dùng chỉ giao tiếp với dữ liệu của mình thông qua tầng này.

Tầng ứng dụng web sẽ cung cấp cho ngƣời dùng các chức năng chính sau:

 Đẩy dữ liệu lên kho lữu trữ

 Tải dữ liệu về ngƣời dùng

 Quản lý thông tin và phân quyền ngƣời dùng

 Quản lý không gian lƣu trữ của ngƣời dùng

 Quản trị hệ thống, báo cáo, thông kê, v.v..

Ngƣời dùng sẽ sử dụng các chức năng của tầng này qua giao diện ứng dụng (ở đây là giao diện web), khi đó, ngƣời dùng sẽ không cần quan tâm đến công nghệ lƣu trữ và quản lý bên dƣới. Ngƣời dùng chỉ cần có 1 trình duyệt web nhƣ FireFox, Chrome, Internet Explorer, v.v.. và có thể dùng kèm theo với các tiện ích của các hãng thứ ba nhƣ Internet Download Manager, Flashget, v.v..

3.1.2 Tầng lưu trữ lưới

Do LindaX sử dụng công nghệ lƣới dữ liệu để lƣu trữ dữ liệu, nên các tệp tin củ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 ứng dụng web. Dữ liệu của ngƣời dù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ữ tệp tin trên lƣới.

Tầng lƣu trữ lƣới chủ yếu thực hiện các tác vụ chính sau:

 Lƣu trữ tệp tin vào vị trí xác định trên lƣới dữ liệu.

 Tạo lập bản sao cho các tệp tin cho tần suất sử dụng cao.

 Quản trị các nút tham gia lƣu trữ: cập nhật thông tin lƣu trữ, kết nạp hay loại bỏ nút lƣu trữ.

 Thực hiện các cơ chế bảo mật dữ liệu cũng nhƣ các máy tham gia lƣu trữ dữ liệu.

40

3.1.3 Kết nối tầng ứng dụng web và tầng lưu trữ lưới

Nhƣ đã trình bày ở trên, hệ thống LindaX bao gồm 2 tầng riêng biệt là tầng ứng dụng web và tầng lƣu trữ lƣới. Mỗi tầng có cơ chế hoạt động đặc trƣng khác nhau, đƣợc liệt kê và so sánh nhƣ ở bảng “Phân chia chức năng 2 tầng của hệ thống” dƣới

Tiêu chí đánh giá Tầng ứng dụng web Tầng lưu trữ lưới Giao thức Giao tiếp với ngƣời dùng qua giao

thức của ứng dụng web là HTTP

Giao tiếp với các máy lƣu trữ khác qua giao thức GridFTP.

Giao diện

Có giao diện để quản lý và giao tiếp với ngƣời dùng.

Không có giao diện song vẫn cần truyền dữ liệu tới ngƣời dùng bằng HTTP.

Bảo mật Không cần thiết có các cơ chế bảo

mật dữ liệu.

Yêu cầu bảo mật trên lƣới cao do các tổ chức khác nhau tham gia.

Tính chất

Quản lý thông tin về tệp logic tƣơng ứng với mỗi ngƣời dùng.

Quản lý thông tin về tệp vật lý và các bản sao.

Máy chủ không tham gia vào lƣới. Sử dụng các dịch vụ lƣới dữ liệu. Không tiếp xúc với tệp của ngƣời

dùng.

Trực tiếp truyền tải tệp với ngƣời dùng.

Do những đặc điểm nhƣ vậy, tầng giao diện không thể trực tiếp gọi các dịch vụ lƣới của tầng lƣu trữ. Ta cần có cơ chế trung gian triển khai các dịch vụ lƣới, đáp ứng các yêu cầu của tầng trên. Đề tài đã xây dựng lƣới dữ liệu dựa trên nền tảng bộ công cụ Globus Toolkit 4 với 2 dịch vụ then chốt là: dịch vụ truyền tệp GridFTP và dịch vụ định vị bản sao RLS (Replica Location Service). Dựa trên nền tảng bảo mật và ứng dụng 2 dịch vụ trên, luận văn xây dựng các chức năng phục vụ cho việc lƣu trữ dữ liệu. Các chức năng này đƣợc triệu gọi từ tầng giao diện ngƣời dùng thông

Một phần của tài liệu Nghiên cứu và phát triển một số tính năng mở rộng cho hệ thống lưu trữ và chia sẻ dữ liệu lindax (Trang 33)

Tải bản đầy đủ (PDF)

(78 trang)