Khóa luận Nghiên cứu phát triển ứng dụng trên GRID

Mục lục

Lời cảm ơn i

Tóm tắt ii

Bảng các ký hiệu viết tắt ix

Mở đầu 1

Chương 1. Cơ bản về Grid Computing 4

1.1. Grid Computing là gì? 4

1.2. Lợi ích của Grid Computing 5

1.2.1. Khai thác tài nguyên xử lý 5

1.2.2. Khả năng xử lý song song 6

1.2.3. Sự cộng tác các tài nguyên ảo và tổ chức ảo 6

1.2.4. Sự truy cập tới các tài nguyên khác 7

1.2.5. Cân bằng tài nguyên 8

1.2.1. Độ tin cậy 9

1.2.2. Khả năng quản lý 10

Chương 2. Các thuật ngữ và khái niệm 12

2.1. Các kiểu tài nguyên 12

3.1.1. Tài nguyên tính toán 12

3.1.2. Kho lưu trữ 12

3.1.3. Truyền thông 13

3.1.4. Phần mềm và bản quyền 13

3.1.5. Các thiết bị đặc biệt, sức chứa, kiến trúc và quyền hạn 14

2.2. Công việc và ứng dụng 14

2.3. Lập lịch, đặt chỗ, và quét dọn 15

2.4. Các gói phần mềm grid 16

3.4.1. Gói quản lý 16

3.4.2. Gói lập lịch 17

3.4.3. Các gói truyền thông 18

3.4.4. Gói quan sát và đo đạc 18

2.5. Các cấu hình mạng grid 18

Chương 3. Người dùng trong mạng Grid Computing 21

3.1. Người dùng bình thường 21

3.1.1. Tham gia vào grid và cài đặt các phần mềm 21

3.1.2. Đăng nhập vào grid 21

3.1.3. Truy vấn và đưa công việc 22

3.1.4. Cấu hình dữ liệu 22

3.2. Nhà quản trị 22

3.2.1. Cài đặt 23

3.2.2. Quản lý người dùng 23

3.2.3. Chứng thực 23

3.2.4. Quản lý tài nguyên 24

Chương 4. Một số chuẩn trong môi trường Grid 25

4.1. Kiến trúc dịch vụ Grid mở - Open Grid Services Architecture (OGSA) 25

4.2. Cơ sở hạ tầng của dịch vụ Grid mở - Open Grid Service Infrastructure (OGSI) 26

4.3. GridFTP 27

4.4. Cơ chế tài nguyên của dịch vụ Web – Web service resource framework. 27

4.5. Một số chuẩn của dịch vụ Web 28

4.6. Tổng kết chương 29

Chương 5. Tổng quan về dịch vụ Web 30

5.1. Ưu điểm của dịch vụ Web so với các công nghệ khác 30

5.2. Nhược điểm khi dùng dịch vụ Web 31

5.3. Lời gọi dịch vụ Web điển hình 31

5.4. Địa chỉ dịch vụ Web 32

5.5. Kiến trúc dịch vụ Web 32

5.6. Ứng dụng dịch vụ Web 33

5.7. Các bước để gọi một dịch vụ Web 34

5.8. Tổng kết chương 35

Chương 6. Cơ chế tài nguyên của dịch vụ Web – Web service resource framework 36

6.1. Quản lí trạng thái tài nguyên trong dịch vụ Grid 36

6.1.1. Dịch vụ Grid là gì 36

6.1.2. Những yêu cầu của dịch vụ Grid theo chuẩn OGSA 37

6.2. Chuẩn WSRF 37

6.2.1. Khái niệm WS-Resource 38

6.2.2. Các thành phần trong WSRF 39

6.3. Tổng kết chương 40

Chương 7. An ninh trong mạng Grid 41

7.1. Các yêu cầu về an ninh trong mạng lưới 41

7.2. Cơ sở hạ tầng an ninh của mạng lưới 43

7.2.1. Truy cập vào mạng lưới 44

7.2.2. Xác thực và quyền hạn 44

7.3. Tổng kết chương 45

Chương 8. Các thành phần của Globus Toolkit 4.0 46

8.1. Tổng quan về Globus Toolkit 4.0 46

8.2. Các thành phần thường trực 46

8.2.1. Java WS Core 47

8.2.2. C WS Core 47

8.2.3. Python WS Core 47

8.3. Các thành phần bảo mật 47

8.3.1. Thẩm định và cấp phép WS 48

8.3.2. Thẩm định và cấp phép Pre-WS 48

8.3.3. Dịch vụ cấp phép cộng đồng (Community Authorization Service - CAS) 48

8.3.4. Dịch vụ uỷ quyền 48

8.3.5. SimpleCA 48

8.3.6. GSI-OpenSSH 48

8.4. Các thành phần quản lý dữ liệu 49

8.4.1. GridFTP 49

8.4.2. Truyền Tệp tin cậy (Reliable File Transfer - RFT) 49

8.4.3. Dịch vụ mô hình hoá địa chỉ (Replica Location Service - RLS) 50

8.4.4. Dịch vụ sao lưu dữ liệu (Data Replication Service - DRS) 50

8.4.5. Các dịch vụ kiểm tra và khám phá thông tin (Monitoring and Discovery Services - MDS) 51

8.4.6. Index service 51

8.5. Các thành phần quản lý thi hành 51

8.5.1. WS GRAM 51

Chương 9. Cài đặt và cấu hình Globus Toolkit 4.0 52

9.1. Download Globus Toolkit 4.0 52

9.2. Mô hình môi trường mạng Grid 52

9.3. Cài đặt Globus Toolkit 4.0 54

9.3.1. Cài đặt các phần mềm yêu cầu cho Globus Toolkit 4.0 54

9.3.2. Cấu hình môi trường Linux cho Globus Toolkit 4.0 55

9.3.3. Cài đặt Globus Toolkit 4.0 56

9.4. Cấu hình và thử nghiệm môi trường Grid 58

9.4.1. Cấu hình các biến môi trường 58

9.4.2. Cấu hình bảo mật 58

9.4.3. Cấu hình Java WS Core 63

9.4.4. Cấu hình và kiểm tra GridFTP 64

9.5. Gỡ bỏ Globus Toolkit 4.0 65

Chương 10. Các bước lập trình một chương trình Grid 66

10.1. Giới thiệu sơ lược về chương trình Math Service 66

10.2. Các bước lập trình chương trình Math Service 66

10.2.1. Bước 1: Định nghĩa giao diện dịch vụ 67

10.2.2. Bước 2: Thực thi dịch vụ. 70

10.2.3. Bước 3: Định nghĩa việc triển khai dịch vụ. 73

10.2.4. Bước 4: Biên dịch và tạo tệp GAR 74

10.2.5. Bước 5: Triển khai dịch vụ 75

10.3. Chạy thử chương trình Math Service 76

Chương 11. Tự xây dựng một dịch vụ Grid: Bài toán số nguyên tố 78

11.1. Giới thiệu công cụ phát triển 79

11.1.1. Giới thiệu công cụ GT4IDE 80

11.1.2. Cài đặt GT4IDE 80

11.2. Tạo project GT4 với GT4IDE 81

11.3. Thuật toán tìm số nguyên tố Mersenne 83

11.3.1. Các khái niệm và mệnh đề 84

11.3.2. Một số thuật toán tiêu biểu 84

11.3.3. Lựa chọn thuật toán 87

11.4. Phân tích và thiết kế bài toán 88

11.4.1. Mô tả hệ thống 88

11.4.2. Phân tích hệ thống 90

11.4.3. Thiết kế hệ thống 92

11.5. Kết quả thử nghiệm 98

11.5.1. Viết mã chương trình 98

11.5.2. Giao diện của chương trình client: 100

11.5.3. Biên dịch và chạy chương trình 100

11.6. Kết luận về bài toán Số nguyên tố 102

Kết luận 103

Tài liệu tham khảo 104

 

 

doc117 trang | Chia sẻ: lethao | Lượt xem: 1813 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu phát triển ứng dụng trên GRID, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
vụ Web mong muốn và đã sinh ra được đoạn mã client stubs từ đặc tả WSDL của dịch vụ này. Tương tự chương trình bên phía server cũng đã có server stubs. Mỗi khi cần gọi dịch vụ Web, ứng dụng client sẽ gọi client stub. Client stub sẽ tạo ra một yêu cầu SOAP hợp lệ từ các tham số truyền tới từ ứng dụng. Đây còn gọi là quá trình marshaling hay serializing. Yêu cầu SOAP được đến server qua mạng sử dụng giao thức HTTP. Web Services container nhận yêu cầu SOAP và chuyển tới server stub. Server stub sau đó sẽ chuyển đổi yêu cầu SOAP này thành cái gì đó mà chương trình cài đặt dịch vụ hiểu. Quá trình này gọi là unmarshaling hay deserializing. chương trình cài đặt dịch vụ thực hiện yêu cầu được giao từ service stub. Kết quả sẽ được trao cho server stub để chuyển đổi thành một đáp ứng SOAP. Đáp ứng SOAP này được gửi trả về client stub qua mạng dùng giao thức HTTP. Client stub nhận đáp ứng rồi chuyển đổi thành dữ liệu mà ứng dụng client có thể hiểu. Cuối cùng, ứng dụng nhận được kết quả từ lời gọi dịch vụ Web và tiếp tục công việc của mình. Tổng kết chương Trong chương này ta đã tìm hiểu về công nghệ dịch vụ Web: kiến trúc, ưu nhược điểm, các ứng dụng, cách thức truy cập dịch vụ. Qua đó thấy được lí do sử dụng công nghệ dịch vụ Web để phát triển dịch vụ Grid. Cơ chế tài nguyên của dịch vụ Web – Web service resource framework Môi trường Grid bao gồm một tập các tài nguyên được chia sẻ. Các tài nguyên có thể là các ứng dụng phần mềm, cơ sở dữ liệu, băng thông mạng, bản quyền phần mền, không gian lưu trữ…Việc chia sẻ tài nguyên trong môi trường phân tán, không đồng nhất đã nảy sinh các vấn đề trong việc quản lí và chia sẻ các tài nguyên này. Đó là vấn đề trong cơ chế truy cập, phát hiện, xác thực và chứng thực tài nguyên. Trong chương này sẽ giới thiệu một số khái niệm cơ bản trong việc quản lí trạng thái tài nguyên trong bối cảnh của môi trường tính toán mạng lưới. Quản lí trạng thái tài nguyên trong dịch vụ Grid Dịch vụ Grid là gì Có thể hiểu một dịch vụ Grid là một giao diện dịch vụ kết hợp với một mạng luới tài nguyên. Tài nguyên và trạng thái của tài nguyên được điều khiển và quản lí bằng các dịch vụ Grid trong một môi trường Grid. Một dịch vụ Grid có thể thao tác với nhiều tài nguyên và ngược lại một tài nguyên cũng có thể được sử dụng bởi nhiều dịch vụ Grid khác nhau. Các tài nguyên có thể phải tương tác hay kết hợp với nhau tùy theo đòi hỏi của yêu cầu. Hơn nữa các tài nguyên lại được lưu trữ trên một môi trường không đồng nhất. Do đó đòi hỏi framework phải trừu tượng hóa chi tiết việc cài đặt cho một môi trường cụ thể ra khỏi sự truyền thông thực sự giữa các dịch vụ Grid. Kiến trúc hướng dịch vụ (Service Oriented Architechture - SOA) là một kiến trúc thỏa mãn yêu cầu trên. Tất cả các tài nguyên (vật lí hay logic) trong mạng tương thích với chuẩn OGSA được mô hình như là các dịch vụ Grid. Các dịch vụ Grid xây dựng trên chuẩn SOA thúc đẩy sự phát trển của công nghệ dịch vụ Web. Điều đó cho phép các dịch vụ Grid sử dụng các khả năng của mô hình truyền thông dịch vụ Web, mô tả của dịch vụ, và phát hiện dịch vụ. Các chuẩn của dịch vụ Web đã phát triển và cho phép các giao tác với dịch vụ Web diễn ra an toàn và tin cậy. Lựa chọn công nghệ dịch vụ Web để xây dựng các dịch vụ Grid tương thích với chuẩn OGSA đã thúc đẩy sự phát triển của kiến trúc dịch vụ Web và các chuẩn của nó. Những yêu cầu của dịch vụ Grid theo chuẩn OGSA Tất cả các dịch vụ Grid đều phải tuân theo đặc tả yêu cầu của OGSA để có thể quản lí trạng thái của các tài nguyên phân tán một cách an toàn và tin cậy. Một số yêu cầu chính mà mô hình dịch vụ OGSA đòi hỏi dịch vụ Grid tương thích phải cung cấp là: Khởi tạo tài nguyên: nghĩa là có thể khởi tạo các thể hiện của các tài nguyên gắn với dịch vụ Grid theo một thao tác nào đó. Thể hiện có thể được tạo mới hoàn toàn hoặc khởi tạo lại từ trạng thái đã được lưu trữ của tài nguyên đó. Định danh và tham chiếu duy nhất: khi có một thể hiện của tài nguyên thì môi trường Grid yêu cầu có một tham chiếu duy nhất trên mạng tham chiếu tới tài nguyên và các thông tin để có thể tương tác với thể hiện đó thông qua dịch vụ Grid. Quản lí vòng đời: quản lí vòng đời nhằm xác định thời gian hoạt động của tài nguyên, thời gian đó có thể hết hạn sau một khoảng thời gian hay ngay lập tức. Đăng kí và phát hiện dịch vụ: đây là một tập các thao tác liên quan tới khả năng tìm kiếm thể hiện của dịch vụ Grid và các thông tin về thời gian triển khai, thời gian chạy của chúng. Thông báo: là cơ chế truyền thông không đồng bộ để thông báo cho các client đã đăng kí về các sự kiện cụ thể nào đó ví dụ: sự kiện về vòng đời của tài nguyên, sự kiện về sự thay đổi của các thuộc tính của tài nguyên… Hiện nay có hai chuẩn để cài đặt dịch vụ Grid tương thích với chuẩn OGSA đang tồn tại đó là Cơ sở hạ tầng của dịch vụ Grid mở - Open Grid Service Infrastructure (OGSI) Cơ chế tài nguyên của dịch vụ Web – Web service resource framework (WSRF). Chuẩn OGSI ra đời sớm hơn và được cài đặt trong phiên bản thứ ba của Globus Toolkit (GT3). Chuẩn WSRF ra đời muộn hơn và được cài đặt trong phiên bản thứ tư của Globus Toolkit (GT4). Chuẩn WSRF đang dần thay thế chuẩn OGSI trong việc cài đặt các dịch vụ Grid trên môi trường mạng lưới. Chuẩn WSRF Trong phần này sẽ trình bày một số khái niệm và cơ chế chính được đề cập đến trong chuẩn WSRF. Khái niệm WS-Resource WS-Resource là sự kết hợp giữa dịch vụ web và tài nguyên trạng thái, và có thể được mô hình bằng công thức sau đây: Web service + Stateful Resource = WS-Resource Trong đó Stateful Resource (tài nguyên trạng thái) có các dữ liệu trạng thái được mô tả bằng một tài liệu bằng ngôn ngữ XML, có một vòng đời xác định, được biết và sử dụng bởi một hay nhiều dịch vụ web. Tài nguyên trạng thái có thể được thực thi bằng nhiều cách khác nhau, có thể sử dụng tệp trong hệ thống tệp, các bản ghi trong cơ sở dữ liệu, hoặc theo một cấu trúc dữ liệu riêng của ứng dụng. Ví dụ: Hình dưới đây mô tả mối quan hệ giứa một dịch vụ dựng phim với tài nguyên trạng thái của nó. Các thao tác mà dịch vụ cung cấp và các tài nguyên trạng thái đều được mô tả trong tệp mô tả bằng ngôn ngữ WSDL. Hình 16:WS-Resource Mỗi WS-Resource bao gồm một hoặc nhiều thuộc tính, giá trị của các thuộc tính đó là trạng thái của WS-Resource, thay đổi giá trị của các thuộc tính là thay đổi trạng thái của WS-Resource. WSRF là một tập các đặc tả nhằm định ra một mô hình thông điệp chuẩn, hay nói một cách khác đó là những cách để yêu cầu lấy hoặc cập nhật giá trị của một hay nhiều thuộc tính của tài nguyên. Như vậy WSRF đã xác định một cách chung để làm việc với WS-Resource: tương tác với các thuộc tính của WS-Resource, nhóm các WS-Resource… Các thành phần trong WSRF Hình 17: Các thành phần WSRF WSRF bao gồm năm đặc tả: WS-ResourceProperties (WSRF-RP) WS-ResourceLifetime (WSRF-RL) WS-ServiceGroup (WSRF-SG) WS-Base Faults (WSRF-BF) WS-RenewableReferences (WSRF-RR) Sau đây là bảng tóm tắt các đặc tả trên Tên đặc tả Mô tả WS-ResourceProperties Mô tả các thuộc tính của WS-Resource, các các thuộc tính này được khai báo trong tệp WSDL, mô tả cách tương tác (lấy giá trị, thay đổi giá trị) với các thuộc tính nà y, mô tả cách để thay đổi, thêm, xóa thuộc tính của một WS-Resource WS-ResourceLifetime Định nghĩa xem một WS-Resource sẽ được hủy như thế nào: được container hủy tự động sau một thời gian, hay được chương trình client gọi lệnh hủy khi chương trình client không cần đến WS-Resource nữa. WS-ServiceGroup Định nghĩa cách để tạo ra tập các dịch vụ Web WS-Base Faults Định nghĩa cách xác định lỗi trong một ứng dụng dựa trên WSRF WS-Renewable References Chú thích rằng cần phải lấy tham chiếu mới khi tham chiếu cũ kết thúc. Tổng kết chương Trong chương này đã trình bày vấn đề quản lí tài nguyên trạng thái trong dịch vụ Grid. Và các đặc tả trong chuẩn WSRF nhằm phục vụ cho việc quản lí tài nguyên. An ninh trong mạng Grid Một câu hỏi thường được đặt ra khi đề cập đến môi trường mạng lưới đó là tính an toàn của mạng lưới đó. Trong chương này sẽ đề cập đến một số vấn đề, kĩ thuật và giải pháp an ninh cần thiết để xây dựng một môi trường Grid mạnh và an toàn. Các yêu cầu về an ninh trong mạng lưới An ninh là một yêu cầu cơ bản trong thiết kế một mạng lưới. Các thành phần an ninh cần thiết cơ bản đó là các cơ chế xác thực, chứng thực, bảo mật các trao đổi giữa các máy tính trong mạng grid. Nếu thiếu đi chức năng đó sự toàn vẹn, bảo mật của quá trình sử lí dữ liệu trong mạng lưới sẽ có nguy cơ rủi ro cao. Sau đây là một số yêu cầu về an ninh trong mạng lưới. Môi trường mạng lưới thường được các tổ chức ảo (VO) – Tổ chức ảo là một nhóm động các cá nhân, các nhóm, các tổ chức chia sẻ tài nguyên với nhau - sử dụng để kết hợp việc chia sẻ và quản lí tài nguyên. Một tổ chức ảo có thể bao gồm nhiều tổ chức khác nhau vì vậy một ứng dụng mạng lưới có thể trải rộng trên nhiều phạm vi hành chính. Mỗi một phạm vi này có thể có những yêu cầu công việc cũng như các chính sách khác nhau. Như vậy cơ sở hạ tầng an ninh của mạng lưới phải thỏa mãn những chính sách an ninh cục bộ của mỗi tổ chức cũng như các chính sách an ninh của tổ chức ảo đề ra. Để đạt được điều đó, cơ sở hạ tầng an ninh mạng lưới phải có khả năng cùng làm việc giữa các miền trong khi vẫn giữ được sự phân cách rõ ràng của các cơ chế, chính sách an ninh của các tổ chức (cả tổ chức ảo và tổ chức thật). Do vậy các thách thức về an ninh trong môi trường mạng lưới đó là: Khả năng tích hợp: cơ sở hạ tầng an ninh mạng lưới phải có khả năng tích hợp được với các cơ sở hạ tầng an ninh đã tồn tại sẵn trên môi trường chủ, môi trường nền. Trên cơ sở đó mở rộng và cung cấp các dịch vụ an ninh mới. Khả năng cùng làm việc: các dịch vụ mạng lưới có thể trải rộng trên nhiều miền, môi trường chủ do đó cần phải có khả năng tương tác với nhau để cho phép trao đổi thông điệp trong các miền cũng như cho phép mỗi thành viên xác định chính sách an ninh được sử dụng trong các hội thoại an toàn, cung cấp cơ chế để nhận biết một người dùng của miền này trong một miền khác. Mối quan hệ tin cậy: một yêu cầu dịch vụ mạng lưới có thể trải rộng trên nhiều miền an ninh. Do đó đòi hỏi phải thiết lập mối quan hệ tin cậy giữa các miền. Do tính chất động của môi trường mạng lưới nên không thể thiết lập được mối quan hệ tin cậy giữa các điểm cuối (end-to-end) trước khi mà ứng dụng được chạy. Vấn đề thiết lập mối quan hệ tin cậy càng trở nên phức tạp với các dịch vụ mạng lưới tạm thời. Ở mức độ tổng thể các yêu cầu an ninh mạng lưới có thể được xác định như sau: Xác thực (authentication): khả năng cung cấp một giao diện để có thể gắn vào một cơ chế xác thực khác, đồng nghĩa với việc chuyển cơ chế xác thực. Ủy thác (delegation): khả năng cung cấp một cơ chế ủy thác các quyền truy cập của một người dùng tới các dịch vụ trong khi vẫn đảm bảo các quyền truy cập được ủy thác được giới hạn cho các nhiệm vụ được thực hiện trong sự giới hạn của chính sách an ninh. Đăng nhập một lần (single logon): Khả năng một người dùng đã đăng nhập không phải đăng nhập lại khi truy cập tới các tài nguyên mạng lưới khác. Thời gian tồn tại của chứng nhận người dùng (credentials) và gia hạn chứng nhận: khả năng làm mới các chứng nhận của người dùng nếu thời gian hoàn thành của một hoạt động của một ứng dụng nào đó lớn hơn thời gian tồn tại của các chứng nhận người dùng đó. Chứng thực (authorization): khả năng kiểm soát sự truy cập tới các bộ phận của mạng lưới dựa trên các chính sách về quyền hạn của người dùng. Riêng tư (privacy): cho phép người sử dụng, người cung cấp dịch vụ xác định và thi hành các chính sách riêng tư. Bảo mật (confidentiality): khả năng bảo mật nội dung trên đường truyền và trong các bộ phận của mạng lưới (lưới tương thích với chuẩn OGSA). Toàn vẹn thông tin (Message integrity): Đảm bảo rằng những thay đổi trái phép nội dung thông tin có thể được xác định tại nơi nhận. Trao đổi chính sách (policy exchange): cho phép sự thỏa thuận về an ninh giữa người dùng dịch vụ và người cung cấp dịch vụ dựa trên chính sách an ninh. Bản ghi an toàn (Secure logging): là cơ sở cho việc thừa nhận và kiểm định cho phép các dịch vụ đánh nhãn thời gian và ghi lại nhiều loại thông tin mà không làm gián đoạn hay thay đổi thông tin của bên đối địch. Đảm bảo (assurance): là chất lượng của mức độ bảo đảm an ninh. Có thể điều khiển (manageability): yêu cầu này chủ yếu liên quan đến các vấn đề về quả lí dịch vụ an ninh: quản lí nhận dạng, quản lí chính sách… Vượt qua tường lửa (firewall traversal): khả năng đi qua tường lửa mà không phải thỏa hiệp với các chính sách điều khiển cục bộ của tường lửa. Bảo vệ cơ sở hạ tầng OGSA: bảo vệ các thành phần lõi của OGSA Sơ đồ dưới đây cung cấp cái nhìn tổng thể các thành phần của một mô hình an ninh mạng lưới để giải quyết các yêu cầu đề ra ở trên. Hình 18: mô hình an ninh mạng lưới Cơ sở hạ tầng an ninh của mạng lưới Trong phần nãy sẽ trình bày những cơ chế cơ bản được sử dụng Cơ sở hạ tầng an ninh mạng lưới – Grid Security Infrastructure (GSI) – được cung cấp bởi Globus Toolkit.Và các dịch vụ an ninh mà GSI cung cấp. Truy cập vào mạng lưới Để có thể thiết lập một môi trường mạng lưới sử dụng các thành phần của GSI, ta cần tạo ra một tập các khóa cho mã hóa công khai, và yêu cầu chứng nhận từ Certificate Authority (CA) và sao chép khóa công khai của CA. Hình sau đây mô tả từng bước quá trình thiết lập truyền thông trong GSI. Hình 19: Cơ chế bảo mật grid bước 1: sao chép khóa công khai của CA về máy sẽ cài đặt GSI bước 2: tạo khóa bí mật và yêu cầu chứng nhận bước 3: gửi yêu cầu chứng nhận cho CA (qua email hay qua một đường truyền tin cậy khác) bước 4: CA sử dụng khóa riêng của mình để kí vào yêu cầu chứng nhận và gửi lại chứng nhận đó. Khi thủ tục đó kết thúc ta sẽ nhận được một chứng nhận số đã được kí bởi CA, ta sẽ có ba tệp quan trọng trên máy cài Grid đó là: Khóa công khai của CA Khóa bí mật của máy cài Grid Chứng nhận số đối với máy cài Grid. Xác thực và quyền hạn Để có thể đảm bảo rằng đối tác trong phiên truyền thông trong mạng lưới là đối tác tin cậy, ta có thể sử dụng chức năng xác thực của GSI. Sau khi ta đã được xác thực có thể tài nguyên mạng lưới yêu cầu phải xác định các quyền truy cập. Khi đó ta có thể sử dụng chức năng kiểm tra quyền của GSI. Sau đây ta sẽ mô tả các bước để xác thực, kiểm tra quyền của một máy A (người dùng trên máy A) bởi một máy B trong mạng lưới. Hầu hết các bước là để xác thực, trừ bước cuối cùng để kiểm tra quyền hạn. Bước 1: người dùng trên máy A hay một ứng dụng trên máy A gửi chứng nhận của nó tới máy B. Bước 2: máy B sẽ sử dụng khóa công khai của A để trích ra tiêu đề từ chứng nhận được gửi ở bước 1 Bước 3: máy B sinh ra một số ngẫu nhiên và gửi lại cho máy A Bước 4: máy A nhận được số ngẫu nhiên đó rồi sử dụng khóa riêng của mình để mã hóa số nhận được và gửi kết quả lại cho B. Bước 5: máy B giải mã nhận được kết quả là một số, rồi kiểm tra số này với số đã sinh ra ở bước 3. Nếu 2 số này là bằng nhau thì máy B đã biết rằng chứng nhận mà nó nhận được đúng là của người dùng trên máy A. Vì chỉ có anh ta mới có khóa bí mật của mình. Bước 6: chứng nhận đã được xác thực tại máy B, và tiêu đề của xác thực được map tương ứng với một tên người dùng trên máy B. Tiêu đề ở dạng tên phân biệt (distinguished name) giống như: “/O=Grid/O=Globus/OU=hostA.grid.com/CN=name”. Tiều đề này được sử dụng để xác định định danh của người dùng trong môi trường mạng lưới. Người dùng được xác định từ tiêu đề sẽ được máy B kiểm tra quyền như một người dùng trên máy B. Tổng kết chương Trong chương này đề cập đến vấn đề cơ sở hạ tầng an ninh trong mạng lưới, các yêu cầu về an ninh trong mạng lưới. Và một cài đặt của cơ sở hạ tầng an ninh trong môi trường mạng lưới - GSI được cài đặt trong Globus Toolkit. Các thành phần của Globus Toolkit 4.0 Bộ công cụ Globus Toolkit được phát triển bởi Globus Alliance ( là phần mềm mã nguồn mở, một công cụ để xây dựng các hệ thống và chương trình grid. Đã có rất nhiều công ty và tổ chức sử dụng công cụ Globus Toolkit như là nền tảng và tiêu chuẩn cho việc phát triển công nghệ Grid computing. Hiện nay, phiên bản mới nhất của Globus Toolkit là 4.0. Bộ công cụ Globus Toolkit không chỉ chứa các thành phần làm nền tảng cho một môi trường grid mà còn bao gồm các công cụ hữu ích cho việc phát triển các chương trình grid. Chương này mô tả các thành phần chính của Globus Toolkit 4.0. Tổng quan về Globus Toolkit 4.0 Bộ công cụ Globus Toolkit 4.0 là tập hợp các thành phần mã nguồn mở, cung cấp nền tảng cho môi trường phát triển và các ứng dụng Grid computing. Phiên bản 4 của bộ công cụ là phiên bản đầu tiêu hỗ trợ dịch vụ Web - WSRF (Phiên bản 3 hỗ trợ OGSI, còn phiên bản 2 thì không hỗ trợ các chuẩn trên). Và được chia ra hai phần: Một thành phần là nền tảng cho dịch vụ Web, một thành phần là nền tảng cho các dịch vụ khác. Globus Tookit 4.0 cung cấp các thành phần được chia theo các danh mục sau: Các thành phần thường trực Các thành phần bảo mật Các thành phần quản lý dữ liệu Các dịch vụ kiểm tra và khám phá thông tin Các thành phần quản lý thi hành Các thành phần thường trực Globus Toolkit 4.0 chứa các thành phần thường trực. Thành phần thường trực là thành phần bao gồm các thư viện và công cụ làm cốt lõi cho mạng Grid computing và là nền tảng cho các thành phần khác. Các thành phần thường trực bao gồm: Java WS Core, C WS Core, Python WS Core. Java WS Core Java WS Core bao gồm các API và công cụ thi hành các chuẩn WSRF và WS-Notification trên nền ngôn ngữ Java. Các thành phần đó trở thành nền tảng cho một số dịch vụ trong Grid computing. Ngoài ra, Java WS Core còn cung cấp các thư viện và công cụ cho việc phát triển các dịch vụ WSRF. Hình 6.2 thể hiện mối quan hệ giữa Java WS Core và các dịch vụ khác. Hình 20: Mối quan hệ giữa Java WS Core và các dịch vụ trong Grid computing C WS Core C WS Core bao gồm các API và công cụ thi hành các chuẩn WSRF và WS-Notification trên nền ngôn ngữ C. Python WS Core Python WS Core bao gồm các API và công cụ thi hành các chuẩn WSRF và WS-Notification trên nền ngôn ngữ Python. Thành phần này còn gọi là pyGridWare. Các thành phần bảo mật Bảo mật là vấn đề rất quan trọng trong môi trường Grid computing. Do đó, Globus Toolkit 4.0 cung cấp một số cách thức bảo mật trong các thành phần bảo mật. Phần này giới thiệu khái quát một số thành phần bảo mật trong GT4. Thẩm định và cấp phép WS Trong truyền thông SOAP ở các dịch vụ Web, Globus Toolkit 4.0 mở rộng khả năng bảo mật với các thông điệp (message) và truyền tải (transport) nhiều mức độ bảo mật. Thẩm định và cấp phép Pre-WS Thẩm định và cấp phép Pre-WS bao gồm các API và các công cụ quản lý việc thẩm định, cấp phép và chứng thực. Dịch vụ cấp phép cộng đồng (Community Authorization Service - CAS) CAS cung cấp việc điều khiển đến các quá trình truy nhập vào các tổ chức ảo. Một CAS server cung cấp quyền hạn đối với các tài nguyên của tất cả các thành viên trong cộng đồng. Hiện nay, CAS không hỗ trợ các dịch vụ Web, tuy nhiên, nó hỗ trợ GridFTP. Dịch vụ uỷ quyền Dịch vụ uỷ quyền có khả năng uỷ quyền cho người có thẩm quyền sử dụng các dịch vụ trong một host. Dịch vụ uỷ quyền cho phép một người có thẩm quyền có khả năng sử dụng nhiều dịch vụ khác nhau. SimpleCA SimpleCA là một công cụ chứng thực quyền hạn đơn giản. SimpleCA là công cụ được sử dụng phổ biến trong Grid computing. Chúng tôi sẽ sử dụng SimpleCA khi xây dựng môi trường Grid computing. GSI-OpenSSH GSI-OpenSSH là phiên bản sửa của OpenSSH với việc thêm tính năng thẩm định GSI. GSI-OpenSSH tạo một shell trên một hệ thống từ xa để chạy shell scripts hoặc để tương tác với các câu lệnh shell, nó cung cho phép truyền các tệp giữa các hệ thống mà không cần phải nhập mật khẩu và ID người dùng. Trước khi sử dụng GSI-OpenSSH, cần xác lập proxy bằng lệnh grid-proxy-init. Các thành phần quản lý dữ liệu Globus Toolkit 4.0 cung cấp một số công cụ cho phép quản lý dữ liệu trong môi trường Grid computing. Phần này sẽ giới thiệu một số dịch vụ quản lý dữ liệu trong GT4. GridFTP GridFTP là thành phần cung cấp khả năng bảo mật và đáng tin cậy trong việc truyền tệp giữa các host trong mạng grid. GridFTP được mở rộng từ giao thức FTP, thêm vào một số tính năng mới, bao gồm hỗ trợ việc thẩm định thông qua GSI. Một trong những tính năng quan trọng của GridFTP là khả năng truyền có sự tham gia của bên thứ ba. Hình 21: Mô hình truyền tệp với sự tham gia của bên thứ ba trong GridFTP Trong mô hình trên, tệp lưu trữ trong một server. Client có thể copy tệp này sang một server khác. Client đóng vai trò như một bên thứ ba yêu cầu truyền tệp từ nốt thứ nhất sang nốt thứ hai. Truyền Tệp tin cậy (Reliable File Transfer - RFT) RFT cung cấp một giao diện dịch vụ Web cho việc truyền tải các tệp. Hình 6.4.2 mô tả mô hình hoạt động của RFT và GridFTP. Hình 22: Mô hình hoạt động của RFT và GridFTP Mô hình này được mô tả như sau: Đầu tiên, Client yêu cầu truyền một tệp từ Server A sang Server B RFT tiếp nhận yêu cầu từ Client dưới dạng thông điệp SOAP thông qua giao thức HTTP và bắt đầu khởi tạo GridFTP. RFT sử dụng một cơ sở dữ liệu để lưu trữ danh sách các tệp truyền và trạng thái của chúng. Ngoài ra, RFT cũng lưu các yêu cầu truyền tệp đề phòng trường hợp việc truyền tệp bị ngắt. Cuối cùng RFT đóng vai trò như nốt thứ ba, yều cầu truyền tệp từ Server A sang Server B thông qua GridFTP. Dịch vụ mô hình hoá địa chỉ (Replica Location Service - RLS) RLS cung cấp việc truy nhập thông tin đến các địa chỉ vật lý trong mạng thông qua dữ liệu mô hình hoá địa chỉ. Nghĩa là RLS ánh xạ tất cả các địa chỉ vật lý trong mạng vào một tệp logic. Việc truy nhập đến một địa chỉ vật lý nào đó được thông qua tệp logic này. Dịch vụ sao lưu dữ liệu (Data Replication Service - DRS) DRS cung cấp một hệ thống để sao lưu các tệp trong mạng grid và đăng ký chúng với RLS. DRS sử dụng RFT và GridFTP cho việc truyền tệp. DRS cũng sử dụng RLS cho việc địa chỉ hoá và đăng ký sao lưu. Các dịch vụ kiểm tra và khám phá thông tin (Monitoring and Discovery Services - MDS) MDS là dịch vụ để tập hợp, phân tán, chỉ mục… các thông tin trạng thái của các tài nguyên, dịch vụ và cấu hình hệ thống. GT4 cung cấp các thành phần WSRF và WS-Notification trong MDS, còn gọi là MDS4. Các dịch vụ được khởi tạo khi khởi động GT4 container được đăng ký thông qua MDS4. Dịch vụ tiêu biểu của MDS4 là Dịch vụ chỉ mục (Index Service). Index service Index Service là thành phần trung tâm trong việc thực thi GT4 MDS. Mọi thể hiện của Grid container đều chứa một Index Service mặc định (gọi là DefaultIndexService). Index Service tương tác với các tài nguyên trên mạng. Index Service có thể chọn lọc tài nguyên, dịch vụ, đánh chỉ mục các tài nguyên và dịch vụ đó ở các nốt trên mạng Grid và tập hợp thông tin của chúng vào một nơi. Các thành phần quản lý thi hành Globus Tookit 4.0 cung cấp một số công cụ nhằm mục địch quản lý thi hành trong mạng Grid. Công cụ tiêu biểu của thành phần này là WS GRAM. WS GRAM WS GRAM là một dịch vụ Grid cung cấp khả năng thực thi từ xa và quản lý trạng thái các công việc. Khi một client yêu cầu công việc, yêu cầu đó được gửi đến host ở dạng thông điệp SOAP và được quản lý bởi dịch vụ WS GRAM.WS GRAM trả lại thông tin trạng thái của công việc sử dụng WS-Notification. Cài đặt và cấu hình Globus Toolkit 4.0 Chương này mô tả quá trình cài đặt và cấu hình Globus Toolkit 4.0. Chúng tôi sẽ triển khai cài đặt Globus Toolkit trong mạng gồm 3 máy tính. Các vấn đề chính trong chương này gồm có: Download Globus Toolkit 4.0 Các gói tin của Globus Toolkit 4.0 Mô hình môi trường mạng Grid Cài đặt Globus Toolkit 4.0 Cấu hình và thử nghiệm môi trường Grid Gỡ bỏ Globus Toolkit 4.0 Download Globus Toolkit 4.0 Globus Toolkit 4.0 là phần mềm mã nguồn mở hỗ trợ nhiều hệ điều hành. Các gói tin binary hỗ trợ môi trường Windows, Linux (SuSE Linux 9/8, Red Hat Linux 9, Fedora Core 2/3 và Debian 3.1) và Solaris 9. Việc biên dịch GT4 từ các gói tin nguồn có thể hỗ trợ thêm các hệ điều hành AIX và Mac OS X. Các thành phần phát triển trên nền tảng Java như WSRF hoặc WS Java Core đều tương thích với các hệ điều hành hỗ trợ Java, trong đó có Windows. Hiện nay, việc sử dụng hệ điều hành Linux để phát triển môi trường Grid đang trở nên phổ biến. Vì vậy, chúng tôi sử dụng hệ điều hành Fedora Core 3 để phát triển môi trường Grid. Các gói tin sử dụng là các gói tin binary. Truy cập địa chỉ: để download các gói tin này. Gói tin GT4 cho Fedora Core 3 là: gt4.0.0-ia32-fedora3-binary-installer.tar.gz Mô hình môi trường mạng Grid Chúng tôi sử dụng 3 máy tính để cài đặt môi trường mạng Grid. Hình 23: Mô hình mạng Grid Các máy tính bao gồm: CA: Đây là nơi chứng thực quyền hạn. Do đó, chúng tôi sử dụng SimpleCA có sẵn trong gói tin GT4. Host A, Host B: là các nốt mạng Grid. Chúng tôi cài đặt gói tin GT4 cho các nốt này. Host A và Host B sử dụng hai tên người dùng khác nhau là auser1 và buser1, nhưng chúng cùng chia sẻ một ID người dùng chung là: /O=Grid/O=Globus/OU=gridk47.com/CN=grid user 1 Bảng 7.2a mô tả các máy tính của mạng Grid. Tên máy Tên host Chức năng Hệ điều hành Gói tin cài đặt CA ca.gridk47.com

Các file đính kèm theo tài liệu này:

  • docNghiên cứu phát triển ứng dụng trên Grid.doc
Tài liệu liên quan