Tải bản đầy đủ (.pdf) (49 trang)

Nghiên cứu giải pháp chịu lỗi cho máy chủ cung cấp dịch vụ

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 (22.34 MB, 49 trang )

ĐẠI HỌC QUÓC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC T ự NHIÊN
• • • •
•jf/fkifkjfififk
N G H I Ê N C Ứ U G I Ả I P H Á P C H Ị U L Ỏ I
C H O M Á Y C H Ủ C U N G C Á P D Ị C H v ụ
MÃ SÓ: QT-08-04
Chủ trì đề tài: Bùi Vũ Anh
Bộ môn Tin học, Khoa Toán - Cơ - Tin học
Trường Đại học Khoa học Tự nhiên.
C á c c ả n b ộ th a m g ia :
CN. Lê Trung Kiên
Ths. Vũ Tiến Dũng
Hà Nội 2008
1
B á o c á o t ó m t ắ t t h ự c h i ệ n đ ề t à i
1. Tên đề tài: Nghiên cửu giải pháp chịu lói cho máy chủ cung câp dịch vụ.
2. M ã số: Q T -0 8 - 0 4 .
3. Chủ trì đề tài: Ths. Bùi Vũ Anh.
4. Các cán bộ tham gia.
• Ths. Vũ Tiên Dũng
• C N . L ẻ T r u n g K iê n
5. Mục tiêu và nội dung nghiên cứu.
Đe tài này nhầm phân tích vấn đề, đưa ra giải pháp nhằm triển khai để tăng cường
tính sẵn sàng cho hệ thổng máy chủ cung cấp dịch vụ qua mạng trước các nguy cơ hỏng
hóc các thiết bị phẩn cứng của máy chủ, mất đường truyền, lỗi dịch vụ Đê tài cũng
nghiên cứu khả năng phân tải cho máy chủ cung câp dịch vụ. Các kêt quả nehiên cứu dự
kiến sẽ được áp dụng tại công kết nổi điện tử của Trung tâm tính toán Hiệu năng cao,
Trường ĐH Khoa học Tự nhiên, ĐH Quốc gia Hà Nội.
6. Các kết quả đạt được.
♦> Tìm hiểu và cài đặt các dịch vụ Web. FTP, SFTP, SSH. quản lý tài neuvên lưu trừ


dùna các phiên bản mới cập nhật cho máy chủ dùng hệ điêu hành Linux Enterprise
3.0. Đây là hệ điều hành được mua và cài đặt cho cụm máy IBM 1350 của Trung
tâm tính toán Hiệu năns cao.
❖ Tìm kiếm giải pháp theo hướng mã nguồn mở đê đảm bảo các dịch vụ do máy chủ
cune cấp không bị gián đoạn khi máy chủ gặp trục trặc, hav ít nhất thì cũns có thể
hoạt động trở lại một cách tự động khi chưa có sự can thiệp kịp thời của con
người: dịch và tổng hợp tài liệu phục vụ việc chọn giải pháp.
❖ Tìm hiểu giải pháp dùng phần mềm mã nguồn mở High-Availability cluster.
Ultramonkey 3.0, cài đặt và vận hành thừ nghiệm trên máy chu ảo. máy desktop
cài đặt theo mô hình máy chủ trước khi triên khai trên máy chủ. Ultramonkev 3.0
là phiên bản của High-Availability cluster (heartbeat) được phát triển riêne cho
Linux Enterprise 3.0 (và 4.0).
2
Kiểm thử và đánh giá các dịch vụ sau khi triển khai ưltramonkey 3.0. đưa ra các
tình huống kiểm thừ, đánh giá kết quả kiểm thử và đề xuất các tình huốns sừ dụng
giải pháp.
❖ Thiết lập các cấu hình bảo mật cho máy chủ, cơ chế và quy trình vận hành máy
chủ sau khi cài đặt dịch vụ của Ultramonkey 3.0.
7. Tình hình kinh phí của đề tài (hoặc dự án).
Stt
Nội dung chi Số lượne
1
Quản lý đề tài
1,200,000
2 Mua thiết bị phục vụ đề tài
4,200,000
3 Văn phòng phẩm
100,000
4
Thuê chuyên gia trong nước

7,000,000
5 Thuê lao động trong nước
4,500,000
6 Dịch tài liệu
2,000,000
7 In và đóng quyên
200,000
8 Chi khác
800,000
20,000,000
(H ai m ư ơ i triệu đ ô ng ch ă n )
KHOA QUẢN LÝ CHỦ TRÌ ĐÈ TÀI
(Ký và ghi rõ họ tên) (Kỷ và ghi rõ họ tên)
JP
> L l C
t
PGS. TS. Vũ Hoàng Linh Ths. Bùi Vũ Anh
TRƯỜNG ĐẠI HỌC KHOA HỌC T ự NHIÊN
«»Ó HIÊU ĨBƯỎNO
3
P R O J E C T S U M M A R Y
1. Nam e of the project: FA ULT-TOLERAN CE SOLUTION FOR SERVICE-
PROVIDING SERVER.
2. Project ID: Q T -0 8 -0 4 .
3. Head of the project: M S C I. B U I v u A N H .
4. Project members:
• M S C . v u T I E N D U N G
• B S C . L E T R V N G K I E N
5. Objective and outlines of the project
This project is aimed to analyze and issue solution for improving the availability

o f service-providing servers through network over the risk o f hardware failure,
connection broken, service error This project also does research on ability of load
balancing for service-providing servers. Those results are intended to apply to the portal
and storage nodes o f Center for High Performance Computing, Hanoi University o f
science, Vietnam National University, Hanoi.
6. Results o f the project
<* Install Web, FTP, SFTP, SSH services on server (updated versions) for server that
runs Linux Enterprise Linux 3.0. This operating system was bought and installed
on IBM 1350 at Center for High-Performance Computing.
❖ Find an open source solution to ensure that services that are provided by servers
will not be interrupted in spite of server's failure; or at least, services can be
automatically available again without men's actions.
❖ Install Hiah-Availabilitv cluster. Ultramonkev 3.0 and test on virtual servers and
desktop computers (work as servers) before install on real servers.
❖ Testing services after install Ultramonkev 3.0. issue testing cases, issue solutions
for using in practical.
❖ Issue safety solutions for server, server's operation process after installing
Ultramonkey 3.0.
4
Báo cáo tóm tắt thực hiện đề tà i 2
PROJECT SUM M AR Y 4
Bảng các từ viết tắt 6
M ở đầu 7
Phân 1. Cụm máy tính sẵn sàng cao (High Availability cluster) 8
1. Mục tiêu 8
2. Yêu cầu thiết kế ứng dụng 12
3. Tính tin cậy của n od e 12
Phàn 2. Cài đặt các dịch vụ cho máy c h ủ
14
1. Cài đặt A p ach e 14

2. Cài đặt M ySQL 15
3. Cấu hình FTP và SFTP 17
4. Cấu hình N F S 17
Phần 3. Cài đặt heartbeat trên Linux Enterprise 3 .0
19
Phần 4. Cấu hình máy c h ủ 26
1. File cấu hình /etc/sysctl.con f 26
2. File /etc/hosts 27
3. Cấu hình giao diện loopback 28
4. Cấu hình giao diện mạng chính 28
Phần 5. Cấu hình Heartbeat 30
1. Cấu hình 30
2. Kiểm tra 36
Phần 6. Tính sẵn sàng cao và cân bằng tải 38
Phần 7. Một số giải pháp khác 40
1. Windows Cluster - giải pháp của M icrosoft 40
2. HACMP - giải pháp của IBM 40
3. Express Cluster X - giải pháp của N E C
40
Phần 8. Kiểm thử dịch v ụ 41
- Test case 1 41
- Test case 2 42
- Test case 3 43
- Test case 5 45
- Test case 6 45
Ket luận 47
Tài liệu tham kh ảo 48
Mục lục Trang
5
B ả n g c á c t ừ v i ế t t ắ t

Viết tắt
Viết đầy đủ
Viết tắt
Viết đầy đủ
DHCP
Dynam ic Host Configuration
Protocol
NA S
Network Attac Storage
DN S
Dom ain Name Service
NFS
Network File System
ERP
Enterprise Resource Planning
NNTP
Network N ews Transfer Protocol
FTP
File Transfer Protocol POP Post Office Protocol
HA
High Availability
SAN Storage Area Network
HACMP
High Availability Cluster
Multi-Processing
SFTP
Secure FTP
HTTP
HyperText Transfer Protocol SMTP Simple Mail Transfer Protocol
IMAP

Internet Message Access
Protocol
UPS Uninterruptible Power Supply
LAN Local Area Network
LDAP Lightweight Directory Access
Protocol
LVS Linux Virtual Server
6
Các máy chủ cung cấp dịch vụ qua mạng, đặc biệt là mạng internet, cần sẵn sàna
hoạt động liên tục trong khi các hỏng hóc phần cứng, lỗi phần mềm và ngừng điện năng
cung cấp cho chúng hoạt động luôn là nguy cơ tiền ẩn. Ngoại trừ các nguyên nhân như
mất điện (có thể khắc phục bàng cách sử dụng bộ lưu điện, máy phát điện thay thế, nguồn
điện dự ph òng ), hỏng về thiết bị phần cứng của bản thân máy chủ, lỗi dịch vụ là điều
hoàn toàn có thể xảy ra, đặc biệt là khi các máy chủ hoạt động 24/24 thì thời gian dần đến
trục trặc các thiết bị vật lý đến nhanh hơn. Điều này khiến các dịch vụ do máy chủ cung
cấp bị gián đoạn. Khi có sự cố dẫn đến ngừng cung cấp dịch vụ, dù có thể khắc phục
được trong thời gian ngắn hay dài, thì cũng đều ảnh hưởng. Bài toán chủng tôi đặt ra là
yêu câu về tính sằn sàng cung cấp các dịch vụ theo thời gian. Đương nhiên, khi tăng
cường được tính sẵn sàng của hệ thống, người sở hữu hệ thống sẽ tốn thêm chi phí nhưng
so với chi phí khấc phục lỗi hay thiệt hại do ngừng cung cấp dịch vụ, chi phí này là nhỏ
hơn nhiều. Bên cạnh đó, trong trường hợp tính toán chi phí, giải pháp được lựa chọn có
chi phí thấp trong các khả năng có thể.
Hệ thong được triển khai các giải pháp trong đề tài sử dụng hệ điều hành Linux
Redhat Enterprise Advanced Server 3.0. Trong đề tài chúng tôi chọn giải pháp dùng mã
nguồn mở chạy trên hệ điều hành Redhat Linux, tuy nhiên chúng tôi cũng điểm qua
những giải pháp tương tự trên hệ điều hành W indows và giải pháp thương mại của IBM.
M ở đ ầ u
7
P h ầ n 1 . C ụ m m á y t í n h s ẵ n s à n g c a o
(H ig h A v a ila b ility

Cluster)
Khái niệm tính sẵn sàng của máy chủ cung cấp các dịch vụ đề cập đến khả năng
cung cấp dịch vụ trong trường hợp có lồi xảy ra. Các lỗi này có thê là lỗi đường truvền.
lỗi phần cứng, phần mềm hay sự cố trong trường hợp bị tấn công do virus, hack khiến
dịch vụ trên máy chủ không thể tiếp tục hoạt động. Khả năng này còn được 2ỌĨ là khả
năng chịu lỗi. Đ ối với hệ thống lưu trữ dùng đĩa cứng, người ta có các phương pháp khắc
phục lỗi vật lý của đĩa như phương pháp dùng đĩa có khả năng hot swap (thay nóng đĩa
khi toàn bộ hệ thống đang hoạt động), hot spare (đĩa phòng hờ trong trường hợp có đĩa bị
hỏng thì đĩa hot spare sẽ đóng vai trò thay thế đĩa bị hỏng), hoặc đưa ra các chuẩn lưu trữ
như RAID, phương pháp lưu trừ đồng bộ (mirror). Tuy nhiên, sự sai hỏng của các thiết bị
phần cứng khác chưa có biện pháp khắc phục thay nóng hoặc xử lý nóng mà vẫn đảm bảo
tính liên tục trong hoạt động của máy chủ.
1. Mục tiêu
Tính săn sàng cao thê hiện ở việc dịch vụ được cung câp liên tục, không bị gián
đoạn. Tính sẵn sàng của cụm máy tính thường được sử dụng cho các dịch vụ như:
• Máy chủ CSDL
• Các ứng dụng ERP (Enterprise Resource Planning)
• Máy chủ web
• Máy chủ cân bằng tải LVS (Linux Virtual Server)
• Máy chủ mail
• Firewall
• Máy chủ file
• Máy chủ D NS
• Máy chủ DHCP
• Máy chủ proxy caching
• ứ n g dụng
Đây là các dịch vụ yêu cầu hoạt động thường xuyên, tự động và trong trường hợp
bị 2Ĩán đoạn thì cần có cơ chê đê có thê hoạt độne trờ lại trone thời gian naãn nhất. Nói
cách khác, các máy chủ cun2 cấp dịch vụ phải có khả năng chịu lỗi (failover). Có một số
giãi pháp khác, đó là phần cứna máy tính hoạt động song sons, (ví dụ của hãna NEC).

8
ỉ Q downtime □!
= >
about 1 mfnutt
appends on applicator
: 4h^*tie
te-afcr 3 i i >
-*■* t - .1
1.Detect failtre I
TBs
2.Stop application |
3 Deactivate virtual (floating) IP address | 6.Activate virtual (floating) IP address I
«MMM-

.


''Sệpa 7. Start application [
7

( Activ« serv«r
9k»«e-—

/

-

- Ỵ
Shved disk
Standby server j

Recorded in OS system log and reported via AỉertService
Hình 1. Co' chế chịu lỗi trong quản lý lun trữ
Thực chất, đây là một máy chủ gồm hai kiến trúc giống hệt nhau hoạt động đồng
thời và thường xuyên đồng bộ dữ liệu với nhau. Giải pháp này chi phí rất cao nhưng lại
không linh hoạt, không thể mở rộng, đặc biệt là không thể cân bàng tải. chia sẻ công việc
do mỗi kiến trúc chỉ là một cặp máy được đồng bộ thường xuyên dữ liệu phần cứng. Máy
chủ loại này cũng thường khó bảo trì, bảo dưỡng và thay thế, chi phí cao. Điển hình trong
dòng sản phẩm này (Fault-Tolerant Server) là họ các máy NEC Express5800/ft của
NEC, Stratus* ftServer của Stratus.
Giải pháp phần mềm có nguyên lý hoạt động tương tự. Tuy nhiên, hai máy tính
hoạt động theo mô hình này không nhất thiết phải giống nhau vê kiến trúc. Vì chủng là
hai máy tính riêng rẽ nên việc bảo trì đơn giản hơn, chi phí cũng thấp hon nhiều.
External tA N )
Hình 2. Quản lý hệ thống lun trữ có khả năng chịu lỗi
Hình vẽ trên là ví dụ về máy chủ quản lý dịch vụ lưu trừ dùna H e a rtb e a t (tương tự
kiểm tra n h ịp tim ) để kiêm tra hoạt động. Các mảy khách kết nối đến mạn2 LAN bên
9
ngoài sẽ truy cập đến một trong hai máy chủ quản lý tài nguyên lưu trữ. Việc lựa chọn
server nào cung cấp dịch vụ là tro n g su ố t đối với người dùng và được kích hoạt tự động
tùy theo tình trạng của hệ thống. Tài nguyên lưu trữ được quản lý chung trên cả hai node.
M ô hình này dùng cho các mạng lưu trữ SAN - Storage Area Network.
Dạng ứng dụng khác là truy cập đến bộ phận lưu trữ thông qua một địa chỉ máy
chủ ảo. Với mô hình đòi hỏi một điểm truy cập duy nhất và nằm phía sau điểm truy cập
(ảo) là cơ chế đảm bảo máy cung cấp dịch vụ lưu trữ thực sự néu bị lỗi thì hệ thống tự
động chuyển các yêu cầu sang máy còn hoạt động tốt. Như vậy, đối với người dùng, sự
gián đoạn này là không nhận ra. Còn về phía bảo mật, các địa chỉ của máy thực có thê
nằm sau một Firewall, không bị lộ ra bên ngoài nên không thể tiếp cận trực tiếp các máy
chủ, và khi thay thế, sửa đổi các địa chỉ này, chì cần thay thế trong các file cấu hình,
không cần công bố sự thay thế này ra ngoài.
' ' S - '

Hình 3. Cung cấp dịch vụ vói khã năng chịu lỗi hoặc cân bằng tải
Cluster chịu lồi (failover cluster hay fault tolerant) được dùng đê đảm bảo tính sằn
sàng cho các dịch vụ và ứng dụng hệ thống khi bị tấn công, xử lý các lỗi phần cứng và rủi
ro do môi trường. Trong môi trường cluster, hệ thống "có tính sẵn sàng cao” (High
Availability - HA) chịu trách nhiệm bẳt đầu và kết thúc các dịch vụ, cài đặt và gỡ bỏ tài
neuyên, giám sát khả năng sẵn sàng của hệ thống trong môi trường cluster và điều khiển
quyền sở hữu địa chỉ IP ảo chia sẻ giữa các nút cluster. Dịch vụ heartbeat (trung tâm)
cuna cấp các tính năng cơ sờ cần thiết cho hệ thống HA.
Cấu hình cluster phổ biến nhất là s ta nd by , sẽ được mô tả dưới đây. Trong cấu hình
cluster này. một nút thực hiện tất cả các việc, còn các nút khác ở trạng thái nahi ngơi.
Heartbeat giám sát "sức kh oè" của từng dịch vụ cụ thể, thông thường qua một giao diện
Ethernet riêng vốn chì dùng cho hệ thống HA. sử dụng câu lệnh đặc biệt ping. Nếu vì một
lý do nào đó. nút đana thực hiện bị hỏng, heartbeat sẽ chuyển tất cả thành phần HA sang
1 0
nút khoẻ mạnh khác. Khi nút cũ phục hồi, nó có thể khôi phục lại tình trạng cũ trước đó
của mình thông qua việc tiếp nhận các yêu cầu đã chuyển cho các node khác.
Kích thước thông thường cho cụm máy tính sẵn sàng cao (HA) là hai node, vì đó
là yêu cầu tối thiểu để cung cấp dự phòng, nhưng các cụm có thể có nhiều node hơn, có
thê là hàng chục các node như vậy. Các câu hình được chia thành các mô hình sau:
• Active/Active: Traffic dự kiến cho node bị lỗi hoặc là được chuyển cho node mới
(chạy dự phòng) hoặc cân bàng tải trong số các node còn lại. Điều này thường khả
thi khi các node tận đụng sự đồng nhất về cấu hình phần mềm.
• Active/Passive: Cung cấp trường họp dự phòng đầy đủ của node, cấu hình này chỉ
cho node dự phòng online khi node chính gắn với nó bị lỗi. cấu hình này thường
đòi hỏi sự dự phòng phần cứng nhiều nhất.
• N + l: Cung cấp một node bổ sung và node này sẽ online và đảm nhiệm công việc
của node bị lỗi. Trong trường hợp cấu hình các phần mềm là không đồng nhất trên
các node chính, node thêm phải có khả năng đóng vai trò của các node chính nó
chịu trách nhiệm. Trường hợp này thường dùng cho các cluster có nhiều dịch vụ
chạy đồng thời; trong trường hợp có 1 dịch vụ sẽ trở thành dạng Active/Passive.

• N+M: Trong trường hợp một cluster quản lý nhiều dịch vụ, nếu chi có một node
chịu lỗi là không đủ phòng dư. Trong trường hợp đó, ta cần nhiều hơn một (M)
server dự phòng, s ổ server dự phòng là giá đổi giữa chi phí và yêu cầu sẵn sàng.
• N-2: Cho phép node dự phòng chịu lỗi trở thành active tạm thời, cho đến khi node
ban đầu được khôi phục hoặc online trở lại, tại thời điểm đó các dịch vụ hoặc các
thông tin thể hiện tình huống phải được chuvển trờ lại để đảm bảo tính sẵn sàng
cao (High Availability).
• N-N: Hợp của A ctive/A ctive và N+M cluster. N -N cluster phân phổi lại c á c dịch
vụ của node lỗi trong số các node được hoạt động, do đó hạn chế (như
Active/A ctive) nhu cầu node dự phòng, nhưng cần khả năn2 hoạt động tăns cường
trên tất cả các node đana hoạt động đê chia sẻ yêu cầu từ node bị lồi.
Thuật ngữ Logical host hay C luster logical host được dùne. để mô tả các địa chỉ
dùng để truy cập các dịch vụ do cluster cung cấp. Logical host không làm hộ cho một
node cluster nào. N ỏ thực sự là một địa chỉ mạng/hosíname được eẳn với dịch vụ do
cluster cung cấp. Neu node cluster có một CSDL bị lỗi. CSDL sẽ khởi tạo lại trên node
cluster khác, và địa chi mạng người dùng sử dụng để truy cập CSDL sẽ chuyển cho node
mới và người dùns lại có thê truy cập CSDL.
11
2. Yêu cầu thiết kế ứng dụng
Không phải tất cả các ứng dụng đều có thể chạy trong môi trườns hiah-availability
cluster, các quyết định cần thực hiện sớm trong pha thiết kế phần mềm. Đẻ chạy trong
môi trường high-availability cluster, ứng dụng phải thỏa mãn ít nhất các yêu cầu kỳ thuật
như sau:
• Có một cách đơn giản để start, stop, bắt stop, và kiểm tra trạng thái của ứng dụng.
Theo nghĩa thực tiễn, điều này có nghĩa ứng dụng phải có giao diện dòng lệnh hay
script để điều khiển ứng dụng, bao gồm cả chạy nhiều thể hiện của ứng dụng.
• ứ n g dụng phải có khả năng chia sẻ lưu trữ (N A S'/SA N2).
• Điều quan trọng nhất, ứng dụng phải lưu trữ càng nhiều trạng thái trên vùng bộ
nhớ chia sẻ không bị rơi vào không ổn định càng tốt. Điều quan trọng không kém
là khả năng restart trên mồi node ở trạng thái cuối cùng trước khi bị lỗi (failure)

dùng trạng thái được lưu ở vùng nhớ chia sẻ.
• ứng dụng phải không được làm hỏng dữ liệu nếu nó bị hỏng hay restart từ trạng
thái được lưu trừ.
Hai tiêu chuẩn cuối cùng là thiết thực cho chức năng tin cậy của cluster, và khó thỏa mãn
một cách đầy đủ.
3. Tính tin cậy của node
HA cluster thường lợi dụna các kỹ thuật hiện có đê làm cho các hệ thống riêng và cơ sở
hạ tầng chia sẽ càng tin cậy càng tốt. Chúng là:
• Ảnh đĩa: việc hỏng của các đĩa không dẫn đến hệ thống bị sập.
• Mạng dự phòng: các kết nối sao cho một cáp. switch, hay giao diện mạng bị hỏng
không dẫn đến mạna bị ngừng hoạt động.
• Dự phòng SAN data connection: cáp. switch, hay 2Ìao diện mạng bị hỏna không
đẫn đến mất liên kết đến bộ phận lưu trữ.
' Network Attac Storage
2 Storage Area Network
1 2
• Dự phòng cung cấp điện: trên mạch điện khác, thường cả hai được bảo vê bời bộ
phận UPS, và bộ phận năng lượng dự phòng: một nguồn cung cấp, cáp. hay nguồn
cung cấp bị hỏng không dẫn đến mất năng lượng cho hệ thống.
Những đặc trung này giúp tối thiểu hóa khả năng cluster bị lỗi giữa các hệ thống.
Trong trường hợp có lỗi, dịch vụ được cung cấp sẽ không sẵn sàng trong một chôc lát.
nên sẽ tốt hơn nếu lường trước điều này để tránh được lỗi.
13
Phần 2. Cài đặt các dịch vụ cho máy chủ
Đề tài dùng HTTP, HTTPS, FTP, FTPS, MySQL làm các dịch vụ để kiểm tra tính
săn sàng của hệ thống khi một trong hai máy chủ chạy dịch vụ gặp vấn đề. Ta có thể triển
khai các dịch vụ như IMAP, POP, SMTP, LDAP, NNTP cùng Heartbeat, tuy nhiên trong
khuôn khổ hạn chế, đề tài chưa triển khai các dịch vụ này.
1 . C à i đ ặ t A p a c h e
Phiên bản hiện tại của Apache là 2.2.8. Có thể tải về ở địa chỉ

hưp://httpd.apache.org/download.cgi. Đây là một web service được dùng phổ biến, theo
chuẩn mã nguồn mở, có thể được chủ động phát triển theo nhu cầu.
Quá trình cài đặt Apache đã triển khai như sau:
Tải Apache về máy (file nén h ttp d -2 .2.8. ta r . gz). Đăng nhập bằng tài khoản root.
Bước 1. Giải nén h ttp d -2 . 2 . 8 . ta r . gz bằng lệnh tar - z v f httpd-2 . 2 . 8 . tar . gz,
kết quả nhận được thư mục h ttp d -2 .2.8 trong thư mục /r o o t
Bước 2. Chuyển vào làm việc tại thư mục này: cd /r o o t /h t t p d -2 . 2.8
*3 Download The Apache HTTP Server Project - Mozilla Firefox
File Edit View Go BookjTiart<5 Tools Help
i 'f ' N />Q
Go i d
^ Getting Started , Latest Headlines
A p a c h e
H T T P S E R V E R P R O JE C T
E s sen tia ls
♦ About
♦ 1.:. .■

♦ . Ui r-
ü sjii
D o w n lo a d 1
♦ fa' .•'ffi a m irror
I Hi- lU H fllt -in ull
♦ j r .J -
Downloading the Apache HTTP Server
Use the links be low to download the Apache H T TP Server from one o f our m irrors You
m u s t i-:- ' of the dow nloaded files using signatures dow nloaded from our main
distribution directory
O nly current recom m ended releases are available on the mam distribution site and its mirrors
O lde r releases are available from the :k

I f yo u are dow nloading the W in 32 distribution, please read these
-saz
• •
The currently selected m irro r is hrtp n w eng ls u e th im m o is np a rh e I f
you encounter a problem w ith this m irror, please select another m irror I f all
/>Hình 4. Trang download của Apache
14
Bước 3. Cấu hình: ./configure -p re fix=PREFIX
Trong đó PREFIX là đường dẫn nơi cài đật Apache, mặc định thường là
/usr/local/apache2
Bước 4. Dịch lại: ./make, và lệnh ./make install
Bước 5. Khởi động Apache: PREFIX/bin/apachectl start
(tức là /usr/local/apache2/bin/apachectl s tart)
Bước 6. Kiểm tra xem dịch vụ chạy chưa: M ở trình duyệt, gõ địa chỉ http : //localhost
nhận được kết quả It work! Là thành công.
Bước 7. Neu muốn giữ lại các liên kết sẵn có của Redhat thì dùng lệnh
ln -s /httpd /home/httpd
ln -s /httpd/conf /etc/httpd/conf
khi muốn ghi thông tin log. dùng
In -s /httpd/logs /etc/httpd/logs
In -s /httpd/logs /var/log/httpd
trong trường hợp đã cài Apache sẵn có của Redhat.
Địa chi trang web mặc định của Apache2: /u s r/lo c a l/apache2/htdocs
(/var/www/html đối với dùng dịch vụ sằn của Linux)
2 . C à i đ ặ t M y S Q L
Tải M ySQ L ở địa chỉ http : / /www.mysql.com
Chọn đủne phiên bản dành cho hệ điều hành sẽ cài đặt.
Việc cài đặt M ySQ L được thực hiện thông qua câu lệnh sau:
./configure -prefix = /usr/local/mysql -localstatedir =
/usr/local/inysql/data disable-maintainer-mode with-mysqld-user =

rnysql enable-large-files-without-debug ; make ; make install
Tạo nhóm mysql: /usr/sbin/groupadd mysql
Tạo người dùng mysq] thuộc nhóm đó: /usr/sbìn/useradd -g mysql mysqi
Tạo file CSDL: . / s c rip ts /m ysql_install_db
15
' MySQL The world's moil popular open sourcc database Mozilta fircfox
Bte £d* £ew Qo BockmỏrVs loots ịjẹ*p
^ 4 ß ' L Ỉp ’ ¿ ẵ ? http ://*»»■. .my sql-cornf
E 0 B
ĨL * Q a ỊÙ4.My5QL
Cũslomee U ik ĩ Free Hotmaá w idows Marketplace Windows Meda Windows
MirSQL = The • ra rid 'iin o s t popular o p _ MySQt. ;; M/SQL Cluster
T'y s u n * R & to m m e n ơ ^ ờ S e r v e r s to r M ySQ L
C o nta c t a MySQL R e p re s en ta tiv e
MySQL
•trSQUaw
Pru4u<.t> • U n M lt W t • S M im m W m * « e r* * t ir » -
GEI ST ART to -r * r-, _ :
__
rfs’i rroit tjCpjlâ' ope- 50-rce Cãtãbss
a a n m i g a m ^ i
C us to m er Login
«•»«fern.»!!
M •/': OL Enterprise
rS’j -rli»V Trial
MyCQL enterprise
Ụnltrrit.ed
MyiûL Training
Fi<rii Web £•■? miners
ï»uccfcis Stcrifcs'-

Suri SVIterre fer
MySOl
CnntJiCt. M*Ç.C'L
Test Drive the new MySQL Query Analyzer
« ■ ■ k ^Free for 48 Hours!
OF in cta lla tm n r»kf|iur*»d)
L e a r n M o r e
Hình 5. Trang download của MySQL
Phiên bản hiện tại chạy ổn định của MySQL là 5.1.
M y S Q L C o m m u n ity S e rv e i
Download >»
%
M y S Q L E n t e r p ris e
L e « m M o r e » H 3 0 - d a y T r i a i »
w h e n tt co m e s to u sin g M yS Q L, y o u h a v e ch oic e s. U se th is g rid t o h e lp v o t d e te rm in e w h ic h v e rs io n
Im p o rta nt P latfo rm S up p o rt Updates
MySQL Community Server
C u rre n t Release (R ec om m e nd ed)
MySQL 5 .1 ¿eneraJi -vé!:3E"e ilfU .

U pcom ing Releases
M V z 0 L N 'ur c= - r t v I* ft
5^ 3-; Li — source code snapshots of the
ơev6*opment t ree?
Gisssfirh-i'ViC.'L rurctee — developers edition
1 Q u ic k
J u m p

MyîQL Corrimurnty
Server

»
My SQL Cluster
My SQt Worl-'ber.c'h
fr
Myâ
QL Tooli-
b
MyS
QL Proxy
Drivers and
Connectửrs
* MrSQL
Cc-nnector/J

MySQL
Connector/Met

MïSQL
Cari ne cto r/OD B c

MïSQL
c onnector/MXJ
*
MySQL
Conr>ecior/C++
*
MySQL
Cửnnector/PMP
Hình 6. Tải MySQL
Chuyển quyền phụ:

chown -R root:mysql /usr/local/mysql
chown -R mỵsql:mỵsql /usr/local/mysql/data
Bổ suna đườne dẫn vào file I d . s o . conf:
vi /etc/ld.so.conf.bô sun2 /usr/lo ca l/mysql/lib/mysql
Chạy mysql: /usr/local/mysql/bin/mysqld_safe user=mysql &
Đặt mật khẩu root cho mysql:
/usr/local/mysql/bin/mysqladmin -u root password new_password
16
Red Hat Enterprise Linux 3 RPM (x86) downloads
Server S.1.31-0 17.9V Pic: a mirror
Client £.1.31-0 6 91/ P iS f frit
Shared libraries S.1.31-0 1.7M - a Turr;-
Shared compatibility libraries
(3.23, 4,x, s,y. irbs in same packagej
.1,31-0 4.9M
Headers arid libraries s.1.31-0 6.6M p¡cir a Til '
Test suite S'. 1.31-0 11 9M Pit! ỹ: Mitró:1
Debug information s.1.31-0 41.6M pick d rrnrra*
Hình 7. Các file của MvSQL dành cho Redhat Enterprise Linux 3
Sau khi cài đặt xong cần cấu hình để khởi động Apache và MySQL tự động khi khởi
động máy chủ
3 . C ấ u h ì n h F T P v à S F T P
FTP và SFTP là các dịch vụ cung câp sẵn. đi kèm với Hệ điều hành. Dịch vụ FTP
được sử dụng rộng rãi nhưng không an toàn, khác với dịch vụ SFTP, thông tin gửi đi đều
được mã hóa, đề phòng một sổ dạng trộm thông tin. Do tính nãng của phiên bản mới
không khác biệt nên chúng tôi giữ nguyên các dịch vụ này, chỉ cấu hình cho các dịch vụ
này hoạt độna. Các dịch vụ này được cài đặt cùng khi lựa chọn trone khi cài đặt hệ điều
hành hoặc cài đặt bổ suns thông qua chương trình quàn lý các gói cài đặt có sằn của
Linux.
về bảo mật, danh sách nhừn2 naười khôna được dùns dịch vụ FTP được liệt kê

trona /e tc /ít p u s e r s . Mặc định, file này không tồn tại hoặc có nội dung rồng.
4 . C ấ u h ì n h N F S
NFS là dịch vụ chia sẻ file được dùng rộng rãi trone Linux và các hệ Unix thông
qua mạng.
- Để chia sẻ một thư mục, sử dụng câu lệnh:
exportfs <dir>
j ỵ r / 4 0 J
17
- Để xem danh sách các thư mục được chia sẻ tò một node, sử dụng:
showmount -e chost name/IP>
- Tại các node sử dụng tài nguyên chia sẻ, có thể sử dụng lệnh mount <source> Cmount
point> để gắn tài nguyên chia sẻ vào cây thư mục và sử dụng.
- Cấu hỉnh phân quyền và phạm vi chia sẻ thư mục (tài nguyên) được đặt trong
/ etc/exports.
18
Phần 3 . Cài đ ặ t h e a r tb e a t tr ê n Linux E n te r p r is e 3 .0
Heartbeat có các phiên bản khác nhau chạy trên các bản Linux khác nhau. Phiên bản ổn
định hiện tại là Heartbeat 2.1.4. Các hệ điều hành mà phiên bản này hỗ trợ trên nền x 86
và X86-64 là
• Centos 5
• Debian Etch
• Fedora 8, 9
• Mandriva 2007, 2008
• Red Hat Enterprise Linux 4, 5
• SUSE Linux Enterprise Server 10
• openSUSE 10.2, 10.3, 11.0, Factory
Địa chỉ đê tải Heartbeat vê là http : / /W W W .l inux-ha. org/DownloadSof tware.
Ta cũng có thể chọn cách build trực tiếp từ file nguồn ổn định. Có thể tải các file nguồn
từ địa chỉ: http ://hg . linux-ha . org/{ repository (/archive/
(some_version|.tar.bz2

Ví dụ: sẽ thu
được phiên bản 2.1.4.
cho ta phiên bản phát
triển mới nhất. Đe có danh sách các phiên bản 2.1.X . xem http://h g . linux-
ha. org/lha-2. l/tags. Đe có được sanh sách các phiên bản 2ần đâv nhất, xem
/>Do đặc thù của việc ứng dụng trên hệ thốna cụ thể: các máy chủ tại Trung
tâm tính toán Hiệu năng cao sử dụng hệ điều hành Linux Enterprise 3.0, đề tài không thể
sử dụng các phiên bản Heartbeat trên mà phải sử dụne phiên bản phát triên riêns cho hệ
điều hành Linux Enterprise là UltraMonkey với phiên bản hiện tại là 3. UltraMonkey 3
được tải từ địa chỉ
2.0.2/rhel3/.
ƯltraMonkey phát triển dựa trên Heartbeat 2.0.2. có thê sử dụng trên Linux Enterprise 4.
19
v o Go IC»
2:009-01-:* 15 51 j5
printer friendly view "
) fJownloadSofrware. I ininrHA Morilla Firefox
Ele Ed* y)ew <¿0 Bookmarks Toob Hefe
V * i-yr v/^ ^ x*-ha.org/Do*,rtoad5oft^are
^ Getting Started L. Late« hcad^es
Linux HA 2.1.x branch
Current release s 2.1 4, available from
m sirtan ed t •/
LarsMarowskyBree
Linux HA 3.x branch
Available frcin-' the openSUSE Puid Service
h ttp ://softw are .0pensuse.0rg/dc1w nload/server:/ha -du 5ter1r1g rr,eintained t ' Andre wBeekhof.
Di stri bution-speci fi c i nstructi 011 s
This section contains ¡ntormation about how to pic^ up packages fror-i the
otficra!

distribution
repositories, as opposed to the project re;?ositcnes. If v'ou are contused 'A'eiccme tc
Linux! ©
Red Hat-compatible Packages
Fedora Packages
* Thinks to ^e^m Fenz , the lates*: Fedora-corriDatible versions fro " Fedora extras can be
included sm p'v tv ssuna tr.:s conn m and:
$ sudo yum in s t a ll h ea rtb eat
RHEL-compatible packages
For PMEL-çom'iatit'Ie r *'• r.j~~
Done
rhe Centos fr ras "rpcsirr'-ie-
Hình 8. Trang download Heartbeat
"^DawnloadSoftware: Linux HA - Mozitla rirefo*
File ¡¿dit ÿew £0 gookmarks Tools Ijelp
• fi? ' Vs * "
^ Gettng started * Latest Headlnes
ti+iVM hnưy-ha. 01 q i*Dòv<nbađ5(ỹtwai

H ighA vailability
Providing Open Source High-Availabihty Software for Linux and other OSes since 1999
Homepage ADOut Lis C ontact Us
Lecal Info
-Cv-J o
Contribute
Secjrit
[ssjes
Download Software
Spe cial Note
The ? -M IS no.* rwaintained ¿“5

sn
independent project Gäled
Pacemaker and na»v has rn n ". new Matures, including support f.'r tie
OpenAlS duster stad
Hearthea* 2 1 4 was the last release :c- contain thé CPM or •• ''ersion 2
Re-ource Manager’1 and 5nee :te r ell de./ebprr.ent ạ -d m ainte n ant r
pe'i'fôrr' ec 3Ỉ. Oãrt c f The Psce"!fil er ' r and all CPI'' " ■ re I“
L-rrn remeveä f'Oiri Heartbral
pQr more de'äil-r. O'I PaceTìM nclu^ir.ọ iitest ve rriers nstfÜ cfiL'
détails ard d o c un'.e rta to r. ;le = :e “ is t http /Ydusterlabs .org
In tro du ctio n
Fact Sheet 'vi/
P re ss R o o m
Success Stones
T alk'S
T e c h n ic a l O ve r v ie w
T e c h n ic a l P ap ers
U sing Linux-H A
Download Software
L ea r nir.q h e a rtb e a t
FAQ
L i n k s
Related Tec^nzicicies
Projec* friends
Hình 9. Các phiên bản HA
Danh sách các file neuồn và file rpm được cung cấp:
h e a r t be a.t-2 . 0 . 2 - : ■ L 3 ? c ■ r err.
2 0
w a rning : ip v s a d m -1.2 1 - 1 . r h . e l . 1 .u m .1 . i 3 8 6 .rpm: V3 DSA s ig n a t u re : NOKE
I D 87 b lc fb 5

P r e p a r i n g . ###########################################
1 : ipvsadm ###########################################
rpm - i v h p e rl - C r y p t -S S L e a y -0 . 5 7 -1 . e l 3 . r f . i3 8 6 .rpm
w a rn in g : p e r l -C r y p t-S S L e a y -0 . 5 7 - 1 .e l 3 . r f . i 3 8 6 . rpm: V3 DSA s ig n a t u r e :
key ID 6b8d79e6
P r e p a r i n g . ###########################################
1 :p e rl- C rypt-S S L e a y ###########################################
rpm -i v h p e r l - D ig e s t - S H A l - 2 .01-15.1.i3 8 6 .rpm
warning: perl-Digest-SHAl-2.01-15.1.i386.rpm: V3 DSA signature: NCKEY,
db 4 2 a 6 0 e
P re p a r in g . ft##########################################
1 : p e rl-D ig e s t- S H A l ###########################################
rpm -ivh per1-Digest-HKAC-1.01-11.1.noarch.rpm
warning: perl-Digest-HMAC-1.01-11.1.noarch.rpm: V3 DSA signature: NOKI
ID 73307de6
Preparing . ######################*####################
1 :perl-D ig e s t-H M A C ###########################################
rpm -ivh perl-Net-DNS-0 . 31-3 . 1. r.oarch . rpm
warning: per1-Net-DNS-0.31-3.1.noarch.rpm: V3 DSA signature: NCKEY,
73307de6
P r e p a r i n g #•#############################■############*
1:peri-Net-DNS ############################*##############
rpm -ivh per 1-Convert-ASN1-0 . 18-1. rh . el . um. 1 r.oarch . rcrr.
warning: peri-Convert-ASN1-0.18- 1.rh.e l.um.1.noarch.rpm: 73 DSA sig
NOKEY, key ID 87blcfb5
P r e p a r in g . £#############■##■###********#* #■#»#*####*"«»«
1 : per 1 -Convert -ASN1
:Y, key
[100%]
[100%]

NOKEY,
[100%]
[100%]
key ID
[100%]
Cl 00,]
LY, key
[10 0%]
[100%.]
key ID
[100%]
[100%.]
n a tu r e :
[1CC-]
2 2
rpm -ivh perl-Net-SSLeay-l.25-1.rh.e l.um.1.i336.rpm
warning: perl-Net-SSLeay-l.25-1.rh.e l.um.1.i386 . rpm: V3 DSA signature: NOKEY,
key ID 87blcfb5
Preparing. . . ########################################### [100%-]
l:perl-Net-SSLeay ########################################### [100*]:
rpm -ivh perl-IO-Socket-SSL-O.96-1.rh.e l.um.1.noarch.rpm
warning: perl-IO-Socket-SSL-O.96-1.rh.e l.um.1.noarch.rpm: V3 DSA signature:
NOKEY, key ID 87blcfb5
Preparing ########################################### [100%]
l:perl-IO-Socket-SSL ########################################### [100%]
rpm -ivh peri-XML-NamespaceSupport-1.08-1.rh.el.um.1.noarch.rpm
warning: perl-XML-NamespaceSupport-1.08-1.rh.e l.um.1.noarch.rpm: V3 DSA
signature: NOKEY, key ID 87blcfb5
Preparing ########################################### [100;]
1 :perl-XML-Namespace ########################################### [100%]

rpm -ivh perl-XML-SAX-0.12-1.rh.e l.um.1.noarch.rpm
warning: perl-XML-SAX-0.12-1.rh.e l.um.1.noarch.rpm: V3 DSA signature: NOKEY,
key ID 87blcfb5
Preparing #################################*######### ¡100?]
1:perl-XML-SAX ########################################### [1001]
rpm -ivh peri-Parse-RecDescent-1.94-1.rh.e l.um.1.noarch.rpm
warning: per1-Parse-RecDescent-i.94-1.rh.e l.um.1.noarch.rpm: V3 DSA
signature: NOKEY, key ID 87blcfb5
Preparing ########################################### [100%]
1 :peri -Parse-RecDescent ########################################## ft [ 10.0V]
rpm -ivh perl-Module-Compat-5.8.0-4.rhel3.noarch.rpm
warning: per1-Module-Compat-5.8.0-4.rhel3.noarch.rpm: V3 DSA signature;
NOKEY, key ID b56a8bac
Preparing. ##################*##*#Ma##M#ft#####Mft*fc# [10C*]
23
1 :p e r 1-Module-Compat
########################################### 1100%]
rpm ivh perl-Authen-SASL-2.08-1.rh.e l.urn.1.noarch.rpm
warning: perl-Authen-SASL-2.08-1.rh.e l.um.1.noarch.rpm: V3 DSA signature:
NOKEY, key ID 87blcfb5
Preparing ########################################### [100%]
1:peri-Authen-SASL ########################################### [100%]
rpm -ivh perl-ldap-0.3202-1.rh.e l.urn.1.noarch.rpm
warning: perl-ldap-0.3202-1.rh.e l .um.1.noarch.rpm: V3 DSA signature:
key ID 87blcfb5
Preparing ###########################################
1:perl-ldap ###########################################
rpm -ivh perl-Mai1-IMAPClient-2.2.9-1.rh.e l.um.1.noarch.rpm
warning: per1-Mai1-IMAPC1ient-2.2.9-1.rh.e l.urn.1.noarch.rpm: V3 DSA
signature: NOKEY, key ID 87blcfb5

Preparing ########################################### [100%]
1: peri-Mai 1-IMAPClient ########################################### [100%.]
rpm -ivh heart*
warning: heartbeat-1.2.3.CVS.20050927-1.rh.e l.urn,4.Í38 6.rpm: V3 DSA
signature: NOKEY, key ID 05410e97
Preparing ft##################*#######################
[100%]
1:heartbeat-pils
###########################################
[ 2 5%]
2:heartbeat-stonith
###########################################
[ 501]
3:heartbeat
###########################################
Ẹ 75%]
4:heartbeat-Idírectord
######################*####################
[100%]
Nếu muốn dùng ldirectord đê theo dõi dịch vụ MvSQL dùns kiểm tra kết nổi, cần
các gói perl-DBI. libdbi. peri-CGĨ, mysql. lib đ b i-d b c ì-n y sq l và perl-DED-MySQL
của Redhat.
Các gói sau cần thiết cài đặt trên các server thực sự nếu một trons hai topo sau
được sử dụng. Trái lại. chúng là không cân thiết. Ta có thê download tại download.
NOKEY,
[100%]
[100%]
24
Topo streamline:
Linux Director i Real Server Linux Director / Real Server Real Server

Hình 10. Topo streamline
Real Server
Topo high capacity.
L inux
Director
Rffvjl
Server
Hình 11. Topo streamline
rpm -Uhv arptables-noarp-addr-0.0.1-1.rh.e l .urn,2.noarch.rpm
Gói này dựa trên iproute và arptables j f do Red Hat Enterprise Linux cung cấp.
Bên cạnh đó ta còn cần arptables jf phiên bản 0.0. 7-0. 3E hoặc mới hơn. là một
phần trong cập nhật của Red Hat, nhưng không phải phiên bản có sằn trong Red Hat
Enterprise Linux 3, nó được dịch lại mà không cần sửa và có trong download. Để cài đặt
và cập nhật, dùng:
rpiĩi -Uhv arptables_j f-0 . 0 . 7-0 . 3E . Í386 . rpm
25
P h ầ n 4. Cấu hình máy chủ
Mô hình lựa chọn để cấu hình:
Hình 12. Topo triển khai trong đề tài
Các dịch vụ được triển khai trên cả hai máy chủ tương đươne nhau. Đê hệ thống
High Availability Linux hoạt động, mỗi node cần có một card mạng ethemet thứ hai dành
cho heartbeat.
1 . F i l e c ấ u h ì n h / e t c / s y s c t l . c o n f
# Enable configuration of arp_ignore option
net.ipv4.conf.a ll.arp_ignore = 1
# When an arp request is received on ethO, only respond i f that address is
# configured on ethO. In particular, do not respond i f the address is
# configured on lo
net.ipv4.conf.ethO.arp_ignore = 1
# Ditto for ethl, add for all ARPing interfaces

ttnet. ipv4 . conf . ethl. arp_ignore = 1
# Enable configuration of arp_arinoun.de option
net.ipv4.conf.al1.arp_announce = 2
# When making an ARP request sent through ethO A^way:
# is configured on ethO as the source address of the
an
V- Ç. '-r • ' a. c ■*
26

×