Tải bản đầy đủ (.doc) (32 trang)

Tiểu luận môn Tính toán lưới và điện toán đám mây CÀI ĐẶT GLOBUS TOOLKIT 5.2.0 TRÊN CENTOS 6.2

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 (288.54 KB, 32 trang )

GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
******
BÁO CÁO:
Môn: Tính toán lưới & Điện toán đám mây
CÀI ĐẶT GLOBUS TOOLKIT 5.2.0
TRÊN CENTOS 6.2

SINH VIÊN THỰC HIỆN: GIẢNG VIÊN HƯỚNG DẪN:
Huỳnh Thanh Việt – CH1301114 PGS.TS Nguyễn Phi Khứ


TPHCM, 06-2014
Tính toán lưới và Điện toán đám mây
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
LỜI CÁM ƠN
Đầu tiên, em xin chân thành cám ơn thầy PGS.TS Nguyễn Phi Khứ đã truyền đạt hết sức
nhiệt tình cho tôi những kiến thức quý báu trong môn Tính toán lưới và Điện toán đám mây
để tôi hoàn thành đề tài này.
Em cũng xin gửi lời cám ơn chân thành đến các thầy cô trong trường Đại học Công Nghệ
Thông Tin đã tận tình giúp đỡ em trong thời gian học vừa qua.
Xin cảm ơn tất bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập và hoàn
thành đề tài này.
TPHCM, ngày 03 tháng 06 năm 2014
Lớp CH08
Học viên thực hiện
Huỳnh Thanh Việt
Tính toán lưới và Điện toán đám mây
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
LỜI NÓI ĐẦ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, tôi sẽ nghiên cứu về cách cài đặt Globus Toolkit 5.2.0 trên hệ điều
hành CentOS 6.2 để 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.
Tính toán lưới và Điện toán đám mây
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
NHẬN XÉT CỦA GIẢNG VIÊN





















Tính toán lưới và Điện toán đám mây
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt

MỤC LỤC
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH 1
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN 1
LỜI CÁM ƠN 2
LỜI NÓI ĐẦU 3
MỤC LỤC 5
6
CHƯƠNG 1: TỔNG QUAN VỀ GRID COMPUTING 1
CHƯƠNG 2: CÀI ĐẶT GRID 5
CHƯƠNG 3: THỰC THI ỨNG DỤNG 22
TÀI LIỆU THAM KHẢO 26
DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
Tính toán lưới và Điện toán đám mây
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
Hình 1: Sơ đồ mô hình CA và Host

Bảng 1: Các máy trong mạng lưới
Bảng 2: Tên người dùng của từng máy
Bảng 3: Các gói phần mềm cài đặt
Tính toán lưới và Điện toán đám mây
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
CHƯƠNG 1: TỔNG QUAN VỀ GRID COMPUTING
1. Khái niệm:
Một định nghĩa về Grid khá hoàn chỉnh được đưa ra bởi tiến sỹ Ian Foster như sau :
“Grid là một loại hệ thống song song, phân tán cho phép chia sẻ, lựa chọn, kết hợp các tài
nguyên phân tán theo địa lý, thuộc nhiều tổ chức khác nhau dựa trên tính sẵn sàng, khả
năng, chi phí của chúng và yêu cầu về chất lượng dịch vụ (QoS) của người dùng để giải
quyết các bài toán, ứng dụng có quy mô lớn trong khoa học, kỹ thuật và thương mại. Từ đó
hình thành nên các “tổ chức ảo” (Virtual Organization (VO)), các liên minh tạm thời giữa
các tổ chức và tập đoàn, liên kết với nhau để chia sẻ tài nguyên và/hoặc kỹ năng nhằm đáp
ứng tốt hơn các cơ hội kinh doanh hoặc các dự án có nhu cầu lớn về tính toán và dữ liệu,
toàn bộ việc liên minh này dựa trên các mạng máy tính”.
Một hệ thống Grid có những đặc trưng sau:
Có sự kết hợp, chia sẻ các tài nguyên không được quản lý tập trung Grid tích hợp và
phối hợp tài nguyên, người dùng thuộc nhiều vùng quản lý khác nhau, nhiều đơn vị khác
nhau trong một tổ chức, hay nhiều tổ chức khác nhau. Công nghệ Grid tập trung giải quyết
các vấn đề về bảo mật, chính sách quản trị, chi phí, thành viên,… nảy sinh trong quá trình
chia sẻ và sử dụng tài nguyên.
Sử dụng các giao diện và giao thức chuẩn, mang tính mở, đa dụng. Grid được xây
dựng trên các giao thức và giao diện tổng quát, đa dụng để giải quyết các vấn đề cơ bản như
chứng thực người dùng, phân quyền, tìm kiếm và truy xuất tài nguyên.
Đáp ứng yêu cầu cao về chất lượng dịch vụ. Grid cho phép sử dụng phối hợp các tài
nguyên để cung cấp nhiều loại dịch vụ với các mức chất lượng khác nhau, liên quan đến ví
dụ như thời gian đáp ứng, hiệu suất, tính sẵn sàng, bảo mật, cho phép kết hợp nhiều kiểu tài
Tính toán lưới và Điện toán đám mây Page 1
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt

nguyên để đáp ứng nhu cầu phức tạp của người dùng. Mục tiêu là phải phối hợp làm sao để
khả năng của hệ thống sau khi kết hợp phải lớn hơn hẳn tổng khả năng của từng đơn vị cấu
thành nên Grid.
2. Lịch sử phát triển:
Mặc dù công nghệ Grid Computing được nhắc đến rất nhiều trong thời gian gần đây,
nhưng thực ra nhiều ý tưởng cơ bản về Grid đã xuất hiện dưới dạng này hay dạng khác trong
lịch sử tính toán.
Ví dụ như ý tưởng “chia sẻ năng lực tính toán” đã xuất hiện từ những năm 60-70 của thế
kỷ XX, lúc đó toàn bộ năng lực tính toán được chia sẻ từ các máy mainframe. Năm 1965,
những người phát triển hệ điều hành Multics (tiền thân của hệ điều hành Unix) đã đề cập đến
việc sử dụng năng lực tính toán như là một tiện ích, một quan điểm rất gần với quan điểm về
Grid hiện nay. Đó là một hệ thống cung cấp năng lực tính toán tương tự như hệ thống cung
cấp điện, nước hiện đang được sử dụng trong cuộc sống hàng ngày. Người dùng khi muốn sử
dụng tài nguyên tính toán để xử lý công việc, chỉ cần cắm thiết bị vào hệ thống cung cấp, sử
dụng và trả tiền giống như khi cắm thiết bị điện vào lưới điện. Tuy trước đó đã có nhiều ý
tưởng về Grid nhưng nguồn gốc của Grid chính thức được xác định vào năm 1990, khi thuật
ngữ “siêu tính toán” (metacomputing) ra đời, dùng để mô tả các dự án kết nối các trung tâm
siêu máy tính của Mỹ nhằm kết hợp sức mạnh xử lý của nhiều siêu máy tính lại với nhau.
Đến năm 1995, 2 dự án siêu tính toán quan trọng, ảnh hưởng lớn đến các công nghệ nền
tảng trong các dự án Grid ngày nay là FAFNER (Factoring via Network-Enabled Recursion)
và I-WAY(Information Wide Area Year) ra đời. Khái niệm Grid ra đời ở phòng thí nghiệm
Argonne National Laboratory vào tháng 7/1997, sau đó được đưa vào quyển sách "The Grid:
Blueprint for a New Computing Infrastructure" viết bởi tiến sỹ Ian Foster (Argonne
National Laboratory) và Carl Kesselman (University of Southern California) năm 1998. Ian
Tính toán lưới và Điện toán đám mây Page 2
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
Foster đã từng tham gia dự án I-WAY, Carl Kesselman là người tham gia dự án Globus
Toolkit, một dự án nền tảng của công nghệ Grid và Metacomputing. Từ đó đến nay, việc phát
triển công nghệ Grid trở nên rất sôi động với sự tham gia nghiên cứu, đầu tư của nhiều tổ
chức, tập đoàn công nghệ thông tin, nhiều quốc gia, và đã thu được những thành tựu bước

đầu. Có thể nói, việc phát triển và xây dựng hệ thống Grid là sự kế thừa và phát triển các ý
tưởng, các công nghệ hiện hành ở mức cao hơn. Sự phát triển không ngừng của cơ sở hạ
tầng, phần cứng máy tính, mạng đã giúp các hệ thống Grid ngày nay thực hiện được nhiều
điều hơn những ý tưởng trước đây.
3. Tài nguyên:
3.1 Tài nguyên tính toán:
Đây là tài nguyên phổ biến nhất, là các chu kỳ tính toán (computing cycles) được cung cấp
bởi bộ vi xử lý của các thiết bị trong Grid. Các bộ vi xử lý không cần phải cùng loại mà có
thể có tốc độ, kiến trúc, chạy phần mềm khác nhau. Có 3 cách để khai thác tài nguyên tính
toán của Grid:
• Cách đơn giản nhất là chạy các ứng dụng hiện có trên một node của Grid thay vì chạy
trên máy tính cục bộ.
• Thiết kế ứng dụng, tách các công việc thành các phần riêng rẽ để có thể thực thi song
song trên nhiều bộ xử lý khác nhau.
• Chạy ứng dụng thực thi nhiều lần trên nhiều node khác nhau trong Grid.
3.2 Tài nguyên lưu trữ:
Tài nguyên phổ biến thứ nhì trong Grid là tài nguyên lưu trữ. Mỗi thiết bị trong Grid
thường cung cấp một số dung lượng lưu trữ phục vụ cho việc thực thi ứng dụng trên Grid.
Tài nguyên lưu trữ có thể là bộ nhớ trong, ổ đĩa cứng hoặc các thiết bị lưu trữ khác. Bộ nhớ
trong thường dùng để lưu trữ dữ liệu tạm thời cho ứng dụng, trong khi các thiết bị lưu trữ
Tính toán lưới và Điện toán đám mây Page 3
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
ngoài có thể được sử dụng để tăng không gian lưu trữ, tăng hiệu suất, khả năng chia sẻ và
đảm bảo tính tin cậy của dữ liệu.
3.3 Phương tiện liên lạc:
Khả năng liên lạc giữa các máy tính phát triển nhanh chóng đã giúp cho công nghệ Grid
trở nên hiện thực, do đó đây cũng là một tài nguyên quan trọng. Ở đây bao gồm việc liên lạc,
trao đổi dữ liệu giữa các thành phần trong Grid và giao tiếp giữa Grid với bên ngoài. Một số
công việc đòi hỏi một lượng dữ liệu lớn nhưng các dữ liệu này thường không nằm trên máy
đang thực thi công việc. Khả năng về băng thông trong những trường hợp như vậy là một tài

nguyên then chốt, ảnh hưởng đến khả năng của Grid. Việc giao tiếp với bên ngoài được thực
hiện thông qua mạng Internet. Grid có thể sử dụng các kết nối Internet để liên lạc giữa các
node. Vì các kết nối này không chia sẻ một đường truyền nên làm tăng băng thông truy cập
Internet. Các đường truyền dự phòng đôi khi cần thiết để giải quyết tốt hơn các vấn đề về hư
hỏng mạng và truyền dữ liệu lớn.
3.4 Phần mềm ứng dụng:
Grid có thể được cài đặt các phần mềm mà có thể quá mắc để cài trên tất cả mọi máy tính
trong Grid. Các phần mềm này chỉ cần được cài trên một số node. Thông qua Grid, khi một
công việc cần đến chúng, nó sẽ gửi dữ liệu đến node đã được cài đặt phần mềm và cho thực
thi. Đây có thể là một giải pháp tốt để tiết kiệm chi phí về bản quyền phần mềm.
3.5 Các thiết bị đặc biệt:
Là các thiết bị dùng trong khoa học, kỹ thuật như kính viễn vọng, các bộ cảm biến
(sensor),… Các thiết bị này chủ yếu thu thập các dữ liệu khoa học, phục vụ cho các bước
phân tích, xử lý sau này.
Tính toán lưới và Điện toán đám mây Page 4
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
CHƯƠNG 2: CÀI ĐẶT GRID
1. Mô hình mạng lưới
Tôi 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: Sơ đồ mô hình CA và Host
Tên Máy Tên Host Hệ điều hành Gói Globus cài đặt
may1_CA may1pc.viethuynh.com CentOS 6.2 Gói GT 5.2.0 All Source
may2_HostA may2pc. viethuynh.com CentOS 6.2 Gói GT 5.2.0 All Source
may3_HostB may3pc. viethuynh.com CentOS 6.2 Gói GT 5.2.0 All Source
may4_HostC may4pc. viethuynh.com CentOS 6.2 Gói GT 5.2.0 All Source
Bảng 1: Các máy trong mạng lưới
Tính toán lưới và Điện toán đám mây Page 5

GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
Tên Máy Nhiệm vụ Tên người dùng
May1_CA Node chính dùng để chứng thực globus, may1
May2_HostA Node phụ globus, may2
May3_HostB Node phụ globus, may3
May4_HostC Node phụ globus, may4
Bảng 2: Tên người dùng của từng máy
Tên phần mềm Phiên bản Tên gói cài đặt Thư mục chủ
Globus Toolkit 5.2.0 gt4.2.1-all-source-installer.tar.gz /usr/local/globus-5.2.0
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
Bảng 3: Các gói phần mềm cài đặt
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
+ Đặt “Hostname” theo dạng Domain name như sau: may1.viethuynh.com,
may2.viethuynh.com, may3.viethuynh.com, may4.viethuynh.com.
+ Cấu hình Primary DNS là 8.8.8.8 và Secondary DNS là 8.8.4.4
+ 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
Tính toán lưới và Điện toán đám mây Page 6
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
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
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.
Disable Firewall trong CentOS: Gõ lệnh # setup, chọn Firewall Configuration, sau đó stick
vào Disable, 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 may1pc.viethuynh.com
192.168.1.11 may2pc.viethuynh.com
192.168.1.12 may3pc.viethuynh.com
192.168.1.13 may4pc.viethuynh.com
3. Cài đặt Globus Toolkit 5.2.0
Lưu ý: các bước cài đặt Globus Toolkit dưới đây đều được thực hiện tương tự trên tất cả các
máy.
Tính toán lưới và Điện toán đám mây Page 7
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
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 link:
/>Sau khi down 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)
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 link:
/>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:
Tính toán lưới và Điện toán đám mây Page 8
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
# ant -version
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:
# 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-5.2.0
# 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
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++
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:
Tính toán lưới và Điện toán đám mây Page 9
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
# yum install tar
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
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
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
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.
Tính toán lưới và Điện toán đám mây Page 10
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
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
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.
Để cài đặt và cập nhật OpenSSL, ta sử dụng lệnh sau:
# yum install openssl-devel
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
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:
Tính toán lưới và Điện toán đám mây Page 11
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
# yum install libtool-ltdl-devel
3.13 Cài đặt gói Globus Toolkit
Để cài đặt Globus Toolkit 5.2.0, ta tải gói “gt5.2.0-all-source-installer.tar.gz” tại link:
/>Sau đó, dùng WinSCP để copy file “gt5.2.0-all-source-installer.tar.gz” vào thư mục
/home/globus/ là thư mục của user globus.
Tạo folder globus-5.2.0 trong folder /usr/local/ để chứa Globus sau khi được build bằng lệnh:
# mkdir /usr/local/globus-5.2.0
Đă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 gt5.2.0-all-source-installer.tar.gz
Chuyển vào folder vừa được giải nén ra:
$ cd gt5.2.0-all-source-installer
Lần lượt thực hiện các lệnh sau để Build Globus Toolkit 5.2.0 vào thư mục /usr/local/
$ ./configure prefix=/usr/local/globus5.2.0
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 5.2.0 mất khoảng một giờ đến hai giờ.
4. Cài đặt Certificate Authority
4.1 Cài đặt SimpleCA
Lưu ý: việc cài đặt SimpleCA chỉ thực hiện trên node chính May1_CA.
Tính toán lưới và Điện toán đám mây Page 12
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
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)
Ở đâ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.
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 may1_CA làm CA chứng
thực cho các node phụ trong hệ thống mạng lưới.
Tính toán lưới và Điện toán đám mây Page 13
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
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 gcc32dbg
$ $GLOBUS_LOCATION/sbin/gpt-postinstall
Login với root và chạy lệnh:
# $GLOBUS_LOCATION/setup/globus_simple_ca_[ca_hash]_setup/setup-gsi -default
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ư may1pc.viethuynh.com, may2pc. viethuynh.com, may3pc.
viethuynh.com, may4pc. viethuynh.com,
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:
Tính toán lưới và Điện toán đám mây Page 14
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
(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 đó.
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ư may1, may2 ) sau đó chạy lệnh:
$ grid-cert-request
Enter your name, e.g., John Smith: May1
(nhập username sở hữu cert, ở đây là May1)

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

Sẽ có 3 file sau được tạo ra trong folder home của may2:
- Private key của user:

/home/ may2/.globus/userkey.pem
- Yêu cầu Certificate của user để CA ký xác thực:
/home/ may2/.globus/usercert_request.pem
- Certificate của user:
/home/ may2/.globus/usercert.pem (file rỗng)
Copy file usercert_request.pem trong folder /home/”tên user”/.globus bỏ 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
Tính toán lưới và Điện toán đám mây Page 15
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
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:
$ grid-proxy-init -debug -verify

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

Creating proxy
Done
Proxy Verify OK
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-
may1pc.viethuynh.com/OU=viethuynh.com/CN=May1
Để xem tên người dùng Local, ta gõ lệnh:
$ whoami
may1
Đă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:
Tính toán lưới và Điện toán đám mây Page 16
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
# grid-mapfile-add-entry -dn "/O=Grid/OU=GlobusTest/OU=SimpleCA-
may1pc.viethuynh.com/OU=viethuynh.com/CN=May1" -ln may1
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-
may1.viethuynh.com/OU=viethuynh.com/CN=May1" -ln may1
(1) 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-
may1.viethuynh.com/OU=viethuynh.com/CN=May1" -ln may1
Để 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
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.
8.1 Cài đặt Xinetd
Trong hệ điều hành CentOS 6.2 đã 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 6.2 để 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
Tính toán lưới và Điện toán đám mây Page 17
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
# 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
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
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-5.2.0
env += LD_LIBRARY_PATH=/usr/local/globus-5.2.0/lib
server = /usr/local/globus-5.2.0/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
Tính toán lưới và Điện toán đám mây Page 18
GVHD: PGS.TS Nguyễn Phi Khứ HVTH: Huỳnh Thanh Việt
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: may1
(nhập vào password nhận dạng, giả sử ở đây là may1)

Creating proxy
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
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
Tính toán lưới và Điện toán đám mây Page 19

×