Tải bản đầy đủ (.docx) (27 trang)

Tiểu luận môn Điện toán lưới và đám mây ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY CÀI ĐẶT GLOBUS TOOLKIT TRÊN CENTOS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (292.59 KB, 27 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Phan Hữu Phước
TIỂU LUẬN
ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY
CÀI ĐẶT GLOBUS TOOLKIT TRÊN CENTOS
GIẢNG VIÊN: PGS.TS. Nguyễn Phi Khứ
TP HỒ CHÍ MINH – 6/2014

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Phan Hữu Phước
TIỂU LUẬN
ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY
CÀI ĐẶT GLOBUS TOOLKIT TRÊN CENTOS
GIẢNG VIÊN: PGS.TS. Nguyễn Phi Khứ
TP HỒ CHÍ MINH – 6/2014

MỤC LỤC
Trang 5
1. Giới thiệu
Ngày nay, tính toán lưới (Grid Computing) đang là công nghệ nổi bật trên khắp thế
giới và đang được nhiều tổ chức lớn áp dụng. Grid Computing hiện đang là nền
tảng công nghệ mới với nhiều chức năng tiên tiến cung cấp nền tảng công nghệ,
năng lực tính toán cho các tổ chức và doanh nghiệp với các yêu cầu cụ thể. Grid
Computing đáp ứng tốt các nhu cầu về bảo mật, nhu cầu cung cấp các chức năng cơ
bản và khả năng quản lý các tiến trình trong lưới một cách hiệu quả.
Các chương trình chạy trên môi trường mạng lưới có thời gian xử lý công việc ngắn
hơn và đạt hiệu suất nhanh hơn vì có khả năng truy cập nhanh đến các nguồn tài
nguyên phân tán trong môi trường lưới.
Các đặt tính nổi bật của Grid Computing bao gồm:


• Khai thác tài nguyên để xử lý chương trình.
• Kết hợp nhiều tài nguyên tạo thành tổ chức ảo.
• Khả năng xử lý song song đồng bộ và không đồng bộ.
• Khả năng quản lý người dùng, quản lý tài nguyên và tiến trình.
• Khả năng bảo mật cao với chứng thực, kiểm soát truy cập, mã hóa.
Trong bài báo cáo này, em sẽ nghiên cứu về cách cài đặt Globus Toolkit 4.2.1 trên
hệ điều hành CentOS 5.5 để xây dựng một hệ thống lưới tính toán với nhiều máy
tính và cách chạy một ứng dụng Grid dựa trên hệ quản trị tài nguyên GRAM được
cài đặt trong Globus Toolkit.
Trang 6
CA
Server_CA
192.168.1.10/24
HostA
sub1_HostA
192.168.1.11/24
HostB
sub2_HostB
192.168.1.12/24
HostC
sub3_HostC
192.168.1.13/24
Domain Name:
brtvc.edu.vn
Network Address: 192.168.1.0/24
Default Gageway: 192.168.1.1
Preferred DNS: 8.8.8.8
Cài đặt Grid
2. Cài đặt Grid
2.1 Mô hình mạng lưới

Em sẽ thực hiện mô hình với 4 máy bao gồm: một CA và ba Host.
• CA: là node chính dùng để chứng thực quyền hạn cho Host và cho các User.
• Host: là các node phụ được chứng thực bởi CA và chịu trách nhiệm quản lý
các User của Host đó.
Hình 1.1. Mô hình mạng
Bảng 1.2: Các máy trong mạng lưới
Tên Máy Tên Host
Hệ điều
hành Gói Globus cài đặt
Server_CA server.brtvc.edu.vn CentOS 5.5
Gói GT 4.2.1 All
Source
sub1_HostA sup1.brtvc.edu.vn CentOS 5.5
Gói GT 4.2.1 All
Source
sub2_HostB sup2.brtvc.edu.vn CentOS 5.5
Gói GT 4.2.1 All
Source
sub3_HostC sup3.brtvc.edu.vn CentOS 5.5
Gói GT 4.2.1 All
Source
Bảng 1.3: Nhiệm vụ và người dùng của từng máy
Trang 7
Cài đặt Grid
Tên Máy Nhiệm vụ Tên người dùng
Server_CA Node chính dùng để chứng thực globus, huuphuoc
sub1_HostA Node phụ globus, sub1
sub2_HostB Node phụ globus, sub2
sub3_HostC Node phụ globus, sub3
Bảng 1.4: Các gói phần mềm cài đặt

Tên phần
mềm
Phiên bản Tên gói cài đặt Thư mục chủ
Globus
Toolkit
4.2.1 gt4.2.1-all-source-
installer.tar.gz
/usr/local/globus-
4.2.1
Java SDK 1.7.0 jdk-7u3-linux-i586.rpm /usr/local/java
Apache Ant 1.8.3 apache-ant-1.8.3-bin.tar.gz /usr/local/ant
2.2 Cài đặt kết nối mạng
Phải đảm bảo rằng, các máy trong mạng lưới phải được kết nối với Internet để tiến
hành cài đặt và cập nhật các gói phần mềm hỗ trợ.
Cấu hình Host Name và DNS cho máy CentOS, việc thực hiện tương tự ở tất cả các
máy:
• Gõ lệnh # setup, sau đó chọn “Network Configuration”.
• Chọn “Edit DNS Configuration” để cấu hình DNS
o Đặt Hostname theo dạng Domain name như sau: server.brtvc.edu.vn,
sub1.brtvc.edu.vn, sub2.brtvc.edu.vn, sub3.brtvc.edu.vn.
o Cấu hình Primary DNS là 8.8.8.8 và Secondary DNS là 8.8.4.4
o Sau khi điền vào các thông số cấu hình, ta thực hiện Save cấu hình và
khởi động lại dịch vụ mạng bằng lệnh: # service network
restart
Cấu hình Card mạng eth0:
Gõ lệnh sau để chỉnh sửa các thông số trong file ifcfg-eth0:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Sau khi vào file trên, ta chỉnh sửa lại các thông số như sau:
DEVICE=eth0
BOOTPROTO=static

Trang 8
Cài đặt Grid
ONBOOT = yes
HWADDR=giữ nguyên không được chỉnh sửa
NETMASK=255.255.255.0
IPADDR=192.168.1.x (xem mô hình trên)
GATEWAY=192.168.1.1
TYPE=Ethernet
• Sau khi cấu hình xong ta nhấn ESC và Save lại bằng lệnh: wq
• Khởi động lại dịch vụ mạng # service network restart
Kiểm tra kết nối Internet và phân giải DNS bằng lệnh ping 8.8.8.8 và ping
goole.com.vn.
Disable Firewall trong CentOS: Gõ lệnh # setup, chọn Firewall Configuration,
sau đó đánh dấu chọn Disable, chọn Save và thoát.
Chỉnh sửa lại nội dung File hosts trong thư mục /etc để các máy có thể phân giải tên
và địa chỉ IP bằng lệnh sau:
# vi /etc/hosts
Thêm các dòng sau vào file trên (thực hiện cho tất cả các máy):
192.168.1.10 server.brtvc.edu.vn
192.168.1.11 sub1.brtvc.edu.vn
192.168.1.12 sub2.brtvc.edu.vn
192.168.1.13 sub3.brtvc.edu.vn
2.3 Cài đặt Globus Toolkit 4.2.1
Lưu ý: các bước cài đặt Globus Toolkit 4.2.1 dưới đây đều được thực hiện tương tự
trên tất cả các máy.
2.3.1 Cài đặt JDK
Tải file cài đặt JDK “jdk-7u3-linux-i586.rpm” với version 1.7.0 tại liên kết:
/>1501626.html
Trang 9
Cài đặt Grid

Sau khi tải về, ta sử dùng chương trình WinSCP kết nối đến máy CentOS thông qua
địa chỉ IP và tài khoản root để copy file “jdk-7u3-linux-i586.rpm” vào thư mục
/root.
Cài đặt gói trên bằng lệnh:
# rpm -ivh jdk-7u3-linux-i586.rpm
Sau đó dùng lệnh sau để kiểm tra việc cài đặt JDK thành công hay chưa:
# java –version
java version “1.7.0_03″
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing)
2.3.2 Cài đặt Apache Ant
Tải file nén của Apache “apache-ant-1.8.3-bin.tar.gz” tại liên kết:
/>Sau khi tải về, ta dùng WinSCP để copy file “apache-ant-1.8.3-bin.tar.gz” vào
mục /root.
Giải nén vào thư mục /usr/local/ bằng lệnh:
# tar -zxvf apache-ant-1.8.3-bin.tar.gz -C /usr/local/
Vào thư mục /usr/local/apache-ant-1.8.3:
# cd /usr/local/apache-ant-1.8.3
Thực hiện lệnh sau để cấu hình apache ant:
# ant -f fetch.xml -Ddest=system
Kiểm tra cài đặt thành công bằng lệnh:
# ant -version
Apache Ant(TM) version 1.8.3 compiled on February 26 2012
2.3.3 Cấu hình biến môi trường
Cấu hình các biến môi trường để dễ dàng truy cập trong suốt quá trình cài đặt và sử
dụng Globus Toolkit.
Ở đây, chúng ta sẽ cấu hình các biến môi trường cho Java, Apache Ant và Globus
Location bằng cách gõ lần lượt các dòng lệnh sau:
Trang 10
Cài đặt Grid

# export JAVA_HOME=/usr/java/jdk1.7.0_03
# export PATH=$JAVA_HOME/bin:$PATH
# export ANT_HOME=/usr/local/apache-ant-1.8.3
# export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
# export GLOBUS_LOCATION=/usr/local/globus-4.2.1
# export PATH=$PATH:$GLOBUS_LOCATION/bin:
$GLOBUS_LOCATION/sbin
Sau đó, chạy lệnh dưới đây để cập nhật các biến môi trường:
# . /etc/profile
2.3.4 Cài đặt GCC và G++
GCC tên đầy đủ là GNU Compiler Collection là một bộ các trình biên dịch cho
ngôn ngữ lập trình. Tên gốc của GCC là GNU C Compiler vì lúc đầu nó chỉ sử dụng
cho ngôn ngữ lập trình C. Sau này, GCC hỗ trợ thêm các ngôn ngữ như: C++,
Objective-C, Java, Fortran và Ada
Để cài đặt bộ biên dịch ngôn ngữ GCC, ta dùng lệnh:
# yum install gcc
# yum install gcc-c++
2.3.5 Cài đặt tar
Tar (Tape Archive) là công cụ để nén hoặc giải nén các file trên hệ điều hành
Linux.
Để cập nhật bộ chương trình tar, ta dùng lệnh sau:
# yum install tar
2.3.6 Cài đặt sed
Sed (Stream Editor), dùng để thao tác trực tiếp với văn bản như thay thế, xóa, in ra
các đoạn text
Để cài đặt sed, ta dùng lệnh sau:
# yum install sed
Trang 11
Cài đặt Grid
2.3.7 Cài đặt zlib

Zlib là một công cụ nén dữ liệu với kích thước lớn và tốc độ xử lí nhanh, hỗ trợ các
tính năng trong việc đọc hoặc thực thi các file nén.
Để cài đặt zlib, ta dùng lệnh sau:
# yum install zlib
2.3.8 Cài đặt GNU make
Trong trường hợp ta viết một chương trình rất lớn được cấu thành bởi từ nhiều file,
việc biên dịch sẽ rất phức tạp vì phải viết các dòng lệnh gcc rất là dài. Để khắc phục
tình trạng này, công cụ GNU make đã được đưa ra. GNU make được giải quyết
bằng cách chứa tất cả các dòng lệnh phức tạp đó trong một file gọi là makefile. Nó
cũng làm tối ưu hóa tiến trình dịch bằng cách phát hiện ra những file nào có thay
đổi thì nó mới dịch lại, còn file nào không bị thay đổi thì nó sẽ không làm gì cả, vì
vậy thời gian dịch sẽ được rút ngắn.
Để cài đặt GNU make, ta dùng lệnh sau:
# yum install make
2.3.9 Cài đặt Sudo
Sudo là viết tắt của từ “su do” có nghĩa là: “do something as the supervisor”. Sudo
là một thay thế nâng cao của lệnh su trong Unix.
Sudo cho phép cung cấp đặc quyền truy cập để vào một số lệnh và thực hiện các
lệnh đó như một người dùng đặc quyền.
Sudo cho phép bạn hạn chế những người dùng có thể sử dụng nó bằng cách chỉnh
sửa file sudoers.
Để cài đặt sudo, ta dùng lệnh sau:
# yum install sudo
2.3.10 Cài đặt OpenSSL
SSL (Secure Sockets Layer) là phương thức mã hóa có sử dụng password thường
được sử dụng cho Web.
OpenSSL (Open Source Implementation Toolkit) cho SSL là mã nguồn mở được sử
dụng trong hệ điều hành Linux để quản lý việc mã hóa dữ liệu cho Web.
Trang 12
Cài đặt Grid

Để cài đặt và cập nhật OpenSSL, ta sử dụng lệnh sau:
# yum install openssl-devel
2.3.11 Cài đặt Perl
Perl viết tắt của Practical-Extraction and Report- Language là một ngôn ngữ lập
trình do Larry Wall sáng tác với mục đích chung quy là tạo ra những bản báo cáo
một cách nhanh chóng và dễ dàng. Do có nhiều toán tử cũng như hàm để hỗ trợ
riêng cho xử lý text nên Perl khác biệt với các ngôn ngữ khác là có tính chất xử lý
text rất mạnh, có thể xử lý dễ dàng những tác vụ giống như C hoặc UNIX shell
thường làm trong việc viết một Script nhưng có thể ngắn gọn và đơn giản hơn.
Không giống như các trình biên dịch C hay C++, Perl là một trình thông dịch .
Để cài đặt gói ngôn ngữ Perl, ta sử dụng các lệnh sau:
# yum install perl
# yum install perl-Archive-Tar
# yum install perl-XML-Parser
2.3.12 Cài đặt bộ thư viện Libtool
Libtool là một bộ thư viện dùng để hỗ trợ các thư viện lập trình cho ngôn ngữ lập
trình C trong hệ thống tính toán lưới.
Để cài đặt libtool, ta sử dụng lệnh sau:
# yum install libtool-ltdl-devel
2.3.13 Cài đặt gói Globus Toolkit
Để cài đặt Globus Toolkit 4.2.1, ta tải gói “gt4.2.1-all-source-installer.tar.gz” tại
link:
/>installer.tar.gz
Sau đó, dùng WinSCP để copy file “gt4.2.1-all-source-installer.tar.gz” vào thư
mục /home/globus/ là thư mục của user globus.
Tạo folder globus-4.2.1 trong folder /usr/local/ để chứa Globus sau khi được build
bằng lệnh:
# mkdir /usr/local/globus-4.2.1
Trang 13
Cài đặt Grid

Đăng nhập vào tài khoản Globus bằng lệnh:
# su - globus
Giải nén gói Globus trên bằng lệnh:
$ tar -zxvf gt4.2.1-all-source-installer.tar.gz
Chuyển vào folder vừa được giải nén ra:
$ cd gt4.2.1-all-source-installer
Lần lượt thực hiện các lệnh sau để Build Globus Toolkit 4.2.1 vào thư mục
/usr/local/
$ ./configure prefix=/usr/local/globus-4.2.1
Lưu ý: khi thực hiện lệnh trên nếu thấy xuất hiện các thông báo Warning, lúc này
quá trình cài đặt đã gặp lỗi, cần phải kiểm tra lại các bước cài đặt trên.
Nếu không xất hiện Warning thì thực hiện tiếp các lệnh sau:
$ make
$ make install
Quá trình build và install Globus Toolkit 4.2.1 mất khoảng một giờ đến hai giờ.
2.4 Cài đặt Certificate Authority
2.4.1 Cài đặt SimpleCA
Lưu ý: việc cài đặt SimpleCA chỉ thực hiện trên node chính Server_CA.
Login với root và chạy lệnh sau để cài đặt biến môi trường cho globus-user:
# .$GLOBUS_LOCATION/etc/globus-user-env.sh
Login với tài khoản globus và chạy lệnh sau để tiến hành cài đặt SimpleCA:
$ $GLOBUS_LOCATION/setup/globus/setup-simple-ca
Do you want to keep this as the CA subject (y/n) [y]: y
Enter the email of the CA (this is the email where certificate requests will be sent to
be signed by the CA):
Enter the number of DAYS the CA certificate should last before it expires [default:
5 years (1825 days)]:
[nhấn Enter]
Enter PEM pass phrase: 123456789 (là password bảo vệ private key của CA)
Trang 14

Cài đặt Grid
Ở đây, ta đặt password để bảo vệ private key của CA là 123456789.
Các file sau sẽ được tạo ra:
• Private key của CA: /home/globus/.globus/simpleCA/private/cakey.pem
• Certificate của CA: /home/globus/.globus/simpleCA/cacert.pem
• Distribution package để các Host cài đặt khi muốn đăng kí certificate từ CA:
/home/globus/.globus/simpleCA/globus_simple_ca_[ca_hash]_setup-
0.20.tar.gz
Lưu ý: [ca_hash] là một chuỗi được tạo ra ngẫu nhiên khi cài SimpleCA.
Login với root và chạy lệnh sau để tiến hành cài đặt gói globus_simple_ca:
#
$GLOBUS_LOCATION/setup/globus_simple_ca_[ca_hash]_setup/
setup-gsi –default
setup-gsi: Configuring GSI security
Installing /etc/grid-security/certificates//grid-security.conf.CA_Hash…
Running grid-security-config…
Installing Globus CA certificate into trusted CA certificate directory…
Installing Globus CA signing policy into trusted CA certificate directory…
setup-gsi: Complete
Kết thúc quá trình cài đặt Simple CA trên máy CA.
2.4.2 Cài đặt Certificate cho node phụ
Lưu ý: bước này chỉ thực hiện tại các node phụ để nhận node chính Server_CA làm
CA chứng thực cho các node phụ trong hệ thống mạng lưới.
Ta copy file distribution packet globus_simple_ca_[ca_hash]_setup-0.20.tar.gz từ
máy CA và bỏ vào thư mục /Home/globus của các node phụ.
Tại các node phụ, ta login với tài khoản globus, sau đó chạy lần lượt các lệnh:
$ $GLOBUS_LOCATION/sbin/gpt-
build globus_simple_ca_[ca_hash]_setup-0.20.tar.gz gcc32
dbg
$ $GLOBUS_LOCATION/sbin/gpt-postinstall

Trang 15
Cài đặt Grid
Login với root và chạy lệnh:
#
$GLOBUS_LOCATION/setup/globus_simple_ca_[ca_hash]_setup/
setup-gsi -default
2.5 Cấp Certificate cho Host
Lưu ý: Bước này thực hiện tương tự ở node chính lẫn node phụ.
Login với root và chạy lệnh sau:
# grid-cert-request -host hostname
Với hostname là tên của host như server.brtvc.edu.vn, sub1.brtvc.edu.vn,
Sẽ có 3 file được tạo ra sau khi thực hiện lệnh trên:
• Private key của host: /etc/grid-security/hostkey.pem
• Yêu cầu certificate của host để gửi cho CA ký xác thực: /etc/grid-
security/hostcert_request.pem
• certificate của node host: /etc/grid-security/hostcert.pem (file rỗng)
Copy file hostcert_request.pem từ file /etc/grid-securituy/ vào folder
/home/globus/ trên máy CA để tiến hành ký tên xác thực.
Tại máy CA, login với tài khoản globus và chạy lệnh sau để ký vào
hostcert_request.pem của host.
$ grid-ca-sign -in hostcert_request.pem -out
hostcert.pem
To sign the request please enter the password for the CA key:
(nhập vào PEM pass phrase đã đặt 123456789)
……
The new signed certificate is at:/home/globus/.globus/simpleCA//newcerts/xx.pem
Sau đó, đăng nhập với root và chép đè file hostcert.pem vừa được tạo ra trong
folder /home/globus/ của máy CA lên tập tin có sẵn trong thư mục /etc/grid-
security.
Việc kí xác thực cho host đã thành công. Host sẽ chịu trách nhiệm quản lý các

người dùng được tạo trên host đó.
Trang 16
Cài đặt Grid
2.6 Cấp Certificate cho User
Lưu ý: Bước này thực hiện tương tự cho tất cả các User trong mạng lưới.
Login với tài khoản người dùng (ví dụ như huuphuoc, sub1 ) sau đó chạy lệnh:
$ grid-cert-request
Enter your name, e.g., John Smith: HuuPhuoc
(nhập username sở hữu cert, ở đây là HuuPhuoc)

Enter PEM pass phrase: huuphuoc
Verifying – Enter PEM pass phrase: huuphuoc
(nhập password bảo vệ cho private key của user huuphuoc là huuphuoc)

Sẽ có 3 file sau được tạo ra trong folder home của sub1:
• Private key của user: /home/sub1/.globus/userkey.pem
• Yêu cầu Certificate của user để CA ký xác thực:
/home/sub1/.globus/usercert_request.pem
• Certificate của user: /home/sub1/.globus/usercert.pem (file rỗng)
Copy file usercert_request.pem trong folder /home/”tên user”/.globus vào thư mục
/home/globus/ trên máy CA.
Tại máy CA, login với tài khoản globus và chạy lệnh sau để ký xác thực cho user:
$ grid-ca-sign -in usercert_request.pem -out
usercert.pem
To sign the request
please enter the password for the CA key: gõ vào 123456789
The new signed certificate is at:
/home/globus/.globus/simpleCA//newcerts/02.pem
Sau đó, đăng nhập với root và chép đè file usercert.pem vừa được tạo ra trong
folder /home/globus/ của máy CA lên tập tin có sẵn trong thư mục /home/”tên

user”/.globus
Để kiểm tra người dùng đã được chứng thực hay chưa, đăng nhập vào tài khoản
người dùng và gõ lệnh sau:
Trang 17
Cài đặt Grid
$ grid-proxy-init -debug -verify

Enter GRID pass phrase for this identity: huuphuoc
(nhập vào password nhận dạng, giả sử ở đây là huuphuoc)

Creating proxy
Done
Proxy Verify OK
2.7 Ánh xạ người dùng Local với người dùng Grid
Lưu ý: bước này thực hiện tương tự trên tất cả các máy trong Grid.
Globus Toolkit 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.
Để lấy tên người dùng được xác thực Grid, đăng nhập vào tài khoản người dùng và
gõ lệnh:
$ grid-cert-info -subject
/O=Grid/OU=GlobusTest/OU=simpleCA-
server.brtvc.edu.vn/OU=brtvc.edu.vn/CN=huuphuoc
Để xem tên người dùng Local, ta gõ lệnh:
$ whoami
huuphuoc
Đăng nhập vào root, ánh xạ tên người dùng Grid với tên người dùng Local bằng
lệnh sau:
# grid-mapfile-add-entry -dn "/O=Grid/OU=GlobusTest/OU=SimpleCA-
server.brtvc.edu.vn./OU=brtvc.edu.vn/CN=huuphuoc" -ln huuphuoc
Modifying /etc/grid-security/grid-mapfile

/etc/grid-security/grid-mapfile does not exist Attempting to create
/etc/grid-security/grid-mapfile
New entry:
"/O=Grid/OU=GlobusTest/OU=SimpleCA-
Trang 18
Cài đặt Grid
server.brtvc.edu.vn/OU=brtvc.edu.vn/CN=huuphuoc" -ln huuphuoc
entry added
Để xem thông tin người dùng được ánh xạ, mở tệp tin /etc/grid-security/grid-
mapfile:
# cat /etc/grid-security/grid-mapfile
"/O=Grid/OU=GlobusTest/OU=SimpleCA-
server.brtvc.edu.vn/OU=brtvc.edu.vn/CN=huuphuoc" -ln huuphuoc
Để kiểm tra độ chính xác của người dùng được ánh xạ, ta dùng lệnh:
# grid-mapfile-check-consistency
2.8 Cài đặt GridFTP
Lưu ý: bước này thực hiện tương tự tại tất cả các máy trong Grid.
2.8.1 Cài đặt Xinetd
Trong hệ điều hành CentOS 5.5 đã không cài đặt mặc định gói Xinetd. Để sử dụng
dịch vụ này, ta tiến hành cài đặt theo các bước dưới đây:
Đăng nhập vào root, thực hiện Mount CD của CentOS 5.5 để cài đặt gói Xinetd có
sẵn trên CD CentOS:
# mkdir /etc/cdrom (tạo folder chứa các file Mount)
# mount /dev/cdrom /etc/cdrom
Vào thư mục sau:
# cd /etc/cdrom/CentOS
Sau đó tiến hành cài đặt gói xinetd-2.3.14-10.el5.i386.rpm
# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
Quá trình cài đặt thành công, tiến hành khởi động dịch vụ Xinetd bằng lệnh:
# service xinetd start

2.8.2 Cấu hình GridFTP
Để cấu hình GridFTP, ta quy định một port lắng nghe cho dịch vụ này là cổng
2811/TCP.
Đăng nhập bằng root, Mở file /etc/services, thêm dòng sau vào file trên:
gsiftp 2811/tcp # GridFTP
Trang 19
Cài đặt Grid
Tạo file gridftp trong folder /etc/xinetd.d/:
# vim /etc/xinetd.d/gridftp
Ghi đoạn code sau vào file trên:
service gsiftp
{
instances = 100
socket_type = stream
wait = no
user = root
env += GLOBUS_LOCATION=/usr/local/globus-4.2.1
env += LD_LIBRARY_PATH=/usr/local/globus-4.2.1/lib
server = /usr/local/globus-4.2.1/sbin/globus-gridftp-
server
server_args = -i
log_on_success += DURATION
nice = 10
disable = no
}
Khởi động lại Xinetd Daemon, dùng lệnh:
# /etc/init.d/xinetd reload
Kiểm tra lắng nghe của port 2811, dùng lệnh:
# netstat -an | grep 2811
2.8.3 Chạy thử nghiệm GridFTP

Đăng nhập vào tài khoản người dùng đã được chứng thực bởi CA. Sau đó tạo proxy
cho người dùng bằng lệnh:
$ grid-proxy-init
Enter GRID pass phrase for this identity: huuphuoc
(nhập vào password nhận dạng, giả sử ở đây là huuphuoc)

Creating proxy
Trang 20
Cài đặt Grid
Done
Dùng lệnh: globus-url-copy <URL-Source> <URL-Destination> để
kiểm tra hoạt động của GridFTP:
$ globus-url-copy gsi />file:///tmp/user.test.copy
Hoặc có thể copy một file từ một máy khác trong Grid sử dụng gsiftp:
$ globus-url-copy gsi />file:///tmp/user.test.copy
Để xem được sự khác biệt sau khi copy file /etc/group , ta dùng lệnh:
$ diff /tmp/user.test.copy /etc/group
2.9 Cấu hình Webservices Container
Lưu ý: bước này thực hiện tương tự tại tất cả các máy trong Grid.
Cấu hình để Container chạy dưới quyền của người dùng non-root và Host có thể ủy
quyền cho các user đó trong suốt quá trình thực thi trong lưới.
Login với root và chạy lần lượt các lệnh sau:
# cd /etc/grid-security
# cp hostkey.pem containerkey.pem
# cp hostcert.pem containercert.pem
# chown globus.globus containerkey.pem containercert.pem
Kiểm tra lại permission của các file *.pem
# ls -l /etc/grid-security/*.pem
-rw-r–r– 1 globus globus 2670 2012-04-14 19:47
containercert.pem

-r——– 1 globus globus 887 2012-04-14 19:47 containerkey.pem
-rw-r–r– 1 root root 2670 2012-04-14 16:51 hostcert.pem
-rw-r–r– 1 root root 1391 2012-04-14 16:40 hostcert_request.pem
-r——– 1 root root 887 2012-04-14 16:40 hostkey.pem
Copy file globus-ws-java-container trong thư mục /usr/local/globus-4.2.1/etc/init.d
bỏ vào thư mục /etc/init.d bằng lệnh:
Trang 21
Cài đặt Grid
# cp $GLOBUS_LOCATION/etc/init.d/globus-ws-java-
container /etc/init.d
Vào tài khoản globus, chạy lệnh sau để khởi động Container:
$ /etc/init.d/globus-ws-java-container start
Starting Globus container. PID: 29985
Khởi động lại dịch vụ Xinetd Daemon bằng lệnh:
# /etc/init.d/xinetd reload
Đăng nhập vào tài khoản người dùng, chạy lệnh sau để kiểm tra môi trường điều
khiển của Webservices Container và Version của nó:
$ globus-check-remote-environment -s
https://localhost:8443
### Remote Endpoint Version Information ###
Axis Version on remote endpoint https://localhost:8443:
Apache Axis version: 1.4
Built on Mar 01, 2007 (10:42:15 CST)
Java WS Core Version on remote endpoint https://localhost:8443:
4.2.1
2.10 Cấu hình RFT
Lưu ý: bước này thực hiện tương tự tại tất cả các máy.
Đăng nhập vào tài khoản người dùng, tạo file transfer bằng lệnh vim chứa nội dung
sau:
gsi gsiv

c.edu.vn/tmp/groupcopy
Để kiểm tra hoạt động của RFT, ta thực hiện lệnh sau để thực thi file transfer:
$ globus-crft -ez -f transfer
Communicating with delegation service.
Creating the RFT service.
Starting the RFT service.
Waiting for the RFT transfers to complete.
Trang 22
Cài đặt Grid
Transfered 1 of 1| Status: Done
Thực hiện lệnh sau để kiểm tra sự khác biệt của file vừa copy:
$ diff /etc/group /tmp/groupcopy
2.11 Cài đặt GRAM
Lưu ý: bước này thực hiện tương tự tại các máy trong Grid.
GRAM là dịch vụ được xây dựng trên cơ chế bảo mật GSI, đóng vai trò là bộ quản
lý, phân chia tài nguyên trong toàn bộ hệ thống tính toán lưới.
Để cấu hình GRAM, login với root, mở file sudoers trong /etc/sudoers và cấu hình
bằng lệnh:
# visudo
Sẽ có hai bước để cấu hình file này:
Bước 1: tìm đến dòng Defaults requiretty và thêm dấu # vào đầu dòng đề
tránh trường hợp báo lỗi sudo khi chạy GRAM.
Bước 2: thêm đoạn code sau vào cuối file:
Runas_Alias GLOBUSUSERS = ALL, !root;
globus ALL=(GLOBUSUSERS) NOPASSWD: /usr/local/globus-
4.2.1/libexec/globus-gridmap-and-execute -g /etc/grid-
security/grid-mapfile /usr/local/globus-
4.2.1/libexec/globus-job-manager-script.pl *
globus ALL=(GLOBUSUSERS) NOPASSWD: /usr/local/globus-
4.2.1/libexec/globus-gridmap-and-execute -g /etc/grid-

security/grid-mapfile /usr/local/globus-
4.2.1/libexec/globus-gram-local-proxy-tool *
Trang 23
Thực thi ứng dụng Grid
3. Thực thi ứng dụng Grid
Lưu ý: bước này thực hiện tương tự tại tất cả các máy trong Grid.
Đăng nhập tài khoản người dùng, để kiểm tra tính khả dụng của GRAM, ta sử dụng
lệnh globusrun-ws như sau:
$ globusrun-ws -submit -c /bin/true
Submitting job Done.
Job ID: uuid:a4b5e324-3bec-11dd-95ac-003048241085
Termination time: 06/16/3008 21:39 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job Done.
$ echo $?
0
$ globusrun-ws -submit -c /bin/false
Submitting job Done.
Job ID: uuid:b49462c0-3bec-11dd-9441-003048241085
Termination time: 06/16/3008 21:39 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job Done.
$ echo $?
1
Để chạy một ứng dụng Grid bằng hệ quản trị tài nguyên GRAM, ta soạn một file có
tên prog.xml với nội dung như sau:

# vi prog.xml
<job>
<executable>my_echo</executable>
Trang 24
Thực thi ứng dụng Grid
<directory>${GLOBUS_USER_HOME}</directory>
<argument>Hello</argument>
<argument>World!</argument>
<stdout>${GLOBUS_USER_HOME}/stdout</stdout>
<stderr>${GLOBUS_USER_HOME}/stderr</stderr>
<fileStageIn>
<transfer>
<sourceUrl>gsi:2811/
bin/echo</sourceUrl>
<destinationUrl>file:///$
{GLOBUS_USER_HOME}/my_echo</destinationUrl>
</transfer>
</fileStageIn>
<fileCleanUp>
<deletion>
<file>file:///$
{GLOBUS_USER_HOME}/my_echo</file>
</deletion>
</fileCleanUp>
</job>
Ý nghĩa các tham số trong đoạn code trên:
• <executable>: chương trình sẽ tạo ra một file thực thi có tên my_echo để
chứa tài nguyên trong quá trình thư thi.
• <transfer>: chương trình sẽ dùng lệnh gsiftp để copy file /bin/echo đến file
my_echo đã được tạo nhầm chuyển giao tài nguyên cho file my_echo, mục

đích của việt thực thi lệnh này nhầm tạo ra một bộ tài nguyên phụ my_echo
đảm nhiệm quá trình thực thi thay cho bộ tài nguyên chính /bin/echo, nếu
trường hợp xảy ra lỗi hay mất tài nguyên sẽ không ảnh hưởng trực tiếp đến
tài nguyên chính /bin/echo.
• <argument>: dùng để xuất ra các thông báo và ghi vào file stdout
Trang 25

×