Thực hành: triển khai một lưới trên mạng LAN• Triển khai một mạng máy tính với các máy tính thật và ảo với hệ điều hành Linux • Cài đặt các thông số của mạng như địa chỉ IP, Hostname, H
Trang 1Chương 5 Triển khai một Lưới
với Globus Toolkit 4
Giảng viên: TS Đàm Quang Hồng Hải
TÍNH TOÁN LƯỚI
Trang 2Khảo sát yêu cầu
• Trong thiết kế kiến trúc lưới, bước khảo sát yêu cầu là bước rất quan trọng, kết qủa của nó sẽ ảnh hưởng trực tiếp đến tất cả các bước tiếp theo
• Người thiết kế phải đưa ra được những thông tin cần thiết như:
– Mục đích của việc xây dựng lưới là gì?
– Lưới có những yêu cầu gì về nghiệp vụ, hạ tầng và ứng dụng?
• Cuối cùng cần phải tinh chỉnh và xem xét lại xem những yêu cầu này có phù hợp với hạ tầng phần cứng và phần mềm cũng như nguồn nhân lực sẵn
có hay không
Trang 3Thiết kế kiến trúc lưới
• Việc xây dựng một hệ thống tính toán lưới không chỉ đơn thuần là cài đặt các phần mềm, các ứng dụng trên các tài nguyên kết nối sẵn có mà phải thiết kế một cách bài bản, chuyên nghiệp.
• Cần thiết phải có các phân tích tổng thể bao gồm quy mô, phần mềm, cấu trúc lưới
Trang 4Lựa chọn topo lưới
• Intragrid: thường được triển khai trong các tổ
chức hoặc doanh nghiệp Dựa trên kiến trúc mạng LAN hoặc mạng Intranet dùng riêng của tổ chức, doanh nghiệp đó
• Nó có: Băng thông và mức độ sẵn sàng cao; Cơ chế an toàn, bảo mật riêng rẽ;
• Môi trường tác nghiệp độc lập Topo lưới dạng này rất phù hợp khi triển khai các lưới tính toán hoặc lưới dữ liệu
Trang 5Thực hành: triển khai một lưới trên mạng LAN
• Triển khai một mạng máy tính với các máy tính thật và ảo với hệ điều hành Linux
• Cài đặt các thông số của mạng như địa chỉ
IP, Hostname, Hosts … cho các máy tính
• Cài đặt các phần mềm hỗ trợ cho Globus Toolkit 4 trên Linux
• Cài đặt Globus Toolkit 4 trên các máy
trong mạng
• Cấu hình Grid trên các máy và cài đặt các phần mềm hỗ trợ
Trang 6Triển khai mạng máy tính
liên lạc với nhau
thông qua hostname
và alias
Trang 7Cài đặt các thông số mạng
• Cài đặt địa chỉ IP, Subnet mask
(255.255.255.0), Default geteway
DNS Server…
• Cài đặt Hostname, các hosts
• Cấu hình phần cứng của lưới bao gồm nút lưới chính và các nút lưới tính toán
• Nút lưới chính quản lý CA và các nút trong mạng có thể nhìn và liên lạc được với
nhau.
Trang 9Java SDK
• Java SDK - Java software Development Kit) bao gồm tất cả các thư viện lõi của Java
• Ngôn ngữ Java cho phép các lập trình viên viết
một chương trình để chạy trên bất cứ nền tảng
nào
• Java có 3 ấn bản, ấn bản chuẩn (Standard), ấn bản doanh nghiệp (Enterprise), và ấn bản di động (Mobile), hai ấn bản sau tương ứng dành cho việc phát triển ứng dụng doanh nghiệp và thiết bị cầm tay
• Download tại địa chỉ: http://java.sun.com/
Trang 10• Để kiểm tra Java SDK đã được cài đặt thành công:
– [root@hosta]# java version
Trang 11Apache Ant
• Ant là một công cụ để build code java dựa trên trình biên dịch java do James Duncan Davidson – tác giả tạo ra Ant,
• Ant là từ viết tắt của "Another Neat Tool", tạm dịch là một "Công cụ gọn nhẹ khác“
Trang 12Cài đặt Apache Ant
• Lấy gói tin Apache Ant tại http://ant.apache.org/
• Bung tệp nén Apache Ant:
– [root@hosta]# tar xvzf apache-ant-1.8.2-bin.tar.gz -C
• Để kiểm tra Apache Ant đã cài đặt thành công:
– [root@hosta]# ant version
Trang 13# yum install package-name-1 package-name-2
# yum install samba vnc-viewer
• Tìm một phần mềm nào đó:
yum search package-name
VD: #yum search java
• Xem trợ giúp thêm về lệnh Yum:
# man yum
Trang 15Ngôn ngữ Perl
• Practical Extraction and Report Language -
ngôn ngữ kết xuất và báo cáo thực dụng
• Perl là ngôn ngữ thông dụng trong lĩnh vực quản trị hệ thống và xử lí thông tin.
• Perl chạy ở chế độ nền phía server tạo nội dung web theo cách thức ẩn đối với người xem
• Perl có tính đối tượng, nhờ vậy việc bổ sung thư viện mới rất dễ dàng Nó thích hợp cho
cả ứng dụng web phức tạp lẫn các tác vụ xử
lý dữ liệu đơn giản.
Trang 16Đồng bộ thời gian giữa các nút
• Cài đặt NTP server trên nút chính
• Đầu tiên thay đổi nội dung tập tin /etc/ntp.conf
• Cài đặt NTP client trên các nút tính toán
• [root]#ntpdate -b ca.grid.com
Trang 17Cài đặt Globus Toolkit
• Đầu tiên là bước thiếp lập hạ tầng cho một lưới tính toán đơn giản dựa trên Globus Toolkit bao gồm các cài đặt trên máy chủ và các máy trạm như:
Trang 18Globus Toolkit 4
• Globus Toolkit 4 là phiên bản hỗ trợ dịch vụ Web - WSRF
• Globus Tookit 4 cung cấp các thành phần được
chia theo các danh mục sau:
Trang 19Cài đặt Globus Toolkit 4
• Globus Toolkit 4 có thể cài đặt trên nhiều môi trường như Linux, Windows, Mac …
• Có thể cài đặt từ source với compiler C và Java
• Phần mềm có thể download từ trang Web
Trang 20Cài gói GT4 trên các nút
• Tạo một user "globus", đây là user thực hiện công việc quản trị Globus Toolkit
• Chép gt4.2.1-all-source-installer.tar.gz về một thư mục trong máy
• [globus]$make
• [globus]$make install
Trang 21quyền, bảo mật liên lạc giữa các node trong Grid.
• GSI được xây dựng trên các công nghệ, các chuẩn như :
– Mô hình mã hoá khóa công khai (public key
infrastructure(PKI))
– X.509 certificate
– Protocol Secure Sockets Layer (SSL)
– Tất cả các kết nối liên lạc đều được mã hoá theo công
nghệ RSA 1024 bit và truyền tải với protocol SSL
Trang 22Bảo mật môi trường Lưới
• Xác thực, đăng nhập (Authentication): thẩm định tính hợp lệ của người được khai báo và định danh người này là ai
• Quyền hạn (Access Control): đảm bảo mỗi người dùng chỉ sử dụng các tài nguyên, dịch vụ được
Trang 23Mô hình một cơ quan cấp chứng nhận duy nhất với nhiều cơ sở đăng ký
Trang 24Phần mềm SimpleCA
• Phần mềm đơn giản thực hiện việc chứng nhận
• SimpleCA là một phần của bộ công cụ
Globus và có thể được cài đặt dễ dàng.
• Về cơ bản OpenSSL giấy chứng nhận
quyền cấu hình để làm việc với Globus.
• OpenSSL có thể được sử dụng trực tiếp.
Trang 25được mô tả, chúng ta sẽ được trái với khoá
bí mật và giấy chứng nhận được ký.
Trang 26Lệnh grid-cert-request
• Lệnh grid-cert-request sẽ tạo ra một cặp khoá riêng
và yêu cầu một giấy chứng nhận đã ký, có nghĩa là, một giấy chứng nhận không dấu có tên chủ thể và khoá công khai.
grid-cert-request –(user/host) tên-đối-tượng
• Các thể lựa chọn –user hay –host để thực hiện
chứng thực với người dùng hay host.
• Một tên mặc định (Giấy chứng nhận đối tượng) sẽ được hiển thị cho người sử dụng như là một phần của thông điệp.
• Lệnh có thể yêu cầu tạo một mật khẩu, mà sẽ được
sử dụng để mã hóa khóa riêng và phải được ghi
nhớ.
Trang 27Các File được tạo ra bởi lệnh
Empty file: (user/host) cert.pem
(user/host)cert_request.pem - có thể được coi như là một chứng chỉ chưa ký có tên chủ thể (user/host) và khoá công khai.
(user/host)key.pem (private key) – nơi chứa khóa bí mật (user/host)cert.pem - một nơi giữ chỗ cho giấy chứng nhận
đã ký kết sẽ được đặt sau này.
Trang 28Gửi các yêu cầu tới server CA
• File (user/host)cert_request.pem được gửi đến server CA.
Thông thường, các tập tin này được gửi
bằng email đến các quản trị viên của
server CA.
Lệnh grid-cert-request sẽ có một thông
báo cho người sử dụng phải làm gì.
Trang 29Lệnh grid-ca-sign-in sẽ ký giấy chứng nhận (user/host)cert.pem (trong câu lệnh được hiển thị).
Trang 30Gủi trả yêu cầu từ server CA
• Người quản trị server CA sẽ gửi trả lại giấy chứng nhận đã ký cho người dùng, thường là bằng email
Người dùng sau đó thay thế file
(user/host)cert.pem trống với tập tin này (đổi tên
Trang 31Lưu đồ của simpleCA
Trang 32Các file dùng cho chứng thực
• Cuối cùng chúng ta có các file chứng thực sau:
• Với user:
– User’s private key: userkey.pem
– User’s signed certificate: usercert.pem
• Với host:
– Host’s private key: host key.pem
– Host’s signed certificate: hostcert.pem
Trang 33Ánh xạ người dùng grid với các
Account cục bộ
• Mỗi người dùng sẽ được gắn với những tài khoản (Account) cục bộ khác nhau, các ủy nhiệm thư hoặc các tài khoản khác nhau trên các vùng khác nhau nhằm phục vụ cho quá trình theo dõi cũng như điều khiển truy cập mà được áp dụng cho
từng vùng ở các vị trí cụ thể
• Tại một số vùng, một người dùng có thể có tài
khoản thông thường Tại các vùng khác, người dùng có thể sử dụng tài khoản guest hoặc là một tài khoản được cấp bởi tổ chức đó
• Tài nguyên và người dùng có thể nằm ở những vùng khác nhau tại những quốc gia khác nhau
Trang 34Accounts ủy quyền
• Ủy quyền để truy cập vào một nguồn tài nguyên
có nghĩa người dùng cần một tài khoản để truy cập
• Trong hệ thống thông thường, các tài khoản chỉ cần thiết lập bằng tay (sử dụng một scrip)
Một cơ chế tự động để tạo và quản lý các tài
khoản này rất cần thiết
• Sử dụng một cơ sở dữ liệu mạng truy cập được (LDAP) có danh sách người dùng và đặc quyền của truy cập, và kết hợp các định dạng tên phân biệt tại chuẩn X-509
Trang 35Ánh xạ giữa Account được xác thực grid với Account local
gridmap file
• Để sử dụng được tài nguyên trên máy, Grid yêu cầu ánh xạ giữa người dùng được xác thực grid với người dùng local
• Mỗi người sử dụng trong file danh sáh có
dạng:
Distinguished_name local_user_account_name
Trang 36grid02.uncc.edu/OU=uncc.edu/CN=student1"
• GSI sử dụng file gridmap thành lập mà người dùng
có thể truy cập tài khoản
Ví dụ trong file gridmap
Trang 37Ví dụ người dùng grid với tên bob
Trang 38• Cập nhật tên người dùng này với tên người
dùng local trong file gridmap dùng lệnh:
grid-mapfile-add-entry
Trang 39Cấu hình bảo mật trong GT4
• Cấu hình an toàn bảo mật cho nút chính bằng
user globus Đây là bước tạo simpleCA, ký chứng thực cho host
$GLOBUS_LOCATION/etc/globus-• [root]#grid-cert-request -host ‘hostname’
Trang 40Xin và cấp giấy phép sử dụng lưới
• $ Grid-cert-request -host `hostname`
Sử dụng để tạo một cặp khóa công khai/bí mật và một bản yêu cầu cấp chứng chỉ trong thư mục
~/.globus/
• $ grid-ca-sign
Tạo người dùng và chứng chỉ cho máy theo yêu
cầu
Trang 41Cài đặt dịch vụ GRAM
• Login vào user root, gõ lệnh cấu hình
sudo:[root]#visudo
• Thêm 2 dòng sau vào file etc/sudoers:
• globus ALL=(user1,user2) NOPASSWD:
/opt/gt4/libexec/globus-gridmap-and-execute -g security/grid-mapfile /opt/gt4/libexec/globus-job-manager- script.pl *
/etc/grid-• globus ALL=(user1,user2) NOPASSWD:
/opt/gt4/libexec/globus-gridmap-and-execute -g security/grid-mapfile /opt/gt4/libexec/globus-gram-local- proxy-tool *
Trang 43container, GRAM và RFT đều thực hiện
tương tự như với nút server
Trang 44Cài đặt và cấu hình MyProxy server trên nút chính
• Dùng để quản lý các chứng thực người dùng tại các nút khác trong lưới.
Trang 45Cấu hình Java WS Core
• Vào www.globus.com để downloac Java
WS Core Ví dụ file
ws-core-4.2.1-src.tar.gz
Thực hiện giải nén bằng lệnh tar
• Vào tài khoản globus, thực hiện lệnh:
globus-start-container
hoặc
globus-start-container –nosec
Trang 46Hết chương 5