nh0c_k0ol_9x
New Member
Download miễn phí Luận văn Nghiên cứu, đánh giá và phát triển các mô hình cluster server
MỤC LỤC
1. Đặt vấn đề ( bài toán) .1
2. Giới thiệu .1
2.1 Single Server Solution. 1
2.2 Cluster Server Solution . 2
3. Các giải pháp chia tải Server .3
3.1 DNS Load balancing (DNS Round Robin) . 4
3.1.1 Giới thiệu. 4
3.1.2 Cấu hình . 6
3.1.3 Đánh giá ưu khuyết điểm . 8
3.2 Hardware-based Load balancing. 9
3.2.1 Giới thiệu. 9
3.2.2 Mô hình hoạt động. 10
3.2.3 Cisco LocalDirector 4000 series . 11
3.2.4 Đặc điểm của thiết bị . 11
3.2.5 Cấu hình thiết bị . 13
3.2.6 Bảng giá tham khảo . 13
3.3 Software-based Load balancing . 14
3.3.1 Application level load balancing với Apache/mod_jk/Tomcat. 14
A. Giới thiệu . 14
B. Cài đặt . 15
3.3.2 Kỹ thuật IP load balancing với LVS (Linux Virtual Server) . 19
A.Giới thiệu . 19
B. Kiến trúc hệ thống. 20
C. Kỹ thuật IP load balancing .25
D. Các thuật toán load balancing trong LVS. 31
E. Các công cụ dùng để quản trị LVS. 34
F. Cài đặt và cấu hình LVS cluster . 35
G. Đánh giá ưu khuyết điểm .42
H. Kết luận. 43
3.4 Oracle 9iAS clustering .43
3.4.1 Kiến trúc n-tier clustering . 43
A. Single tier-clustering ( basic clustering) . 44
B. Two tier-clustering . 45
C. Multi tier-clustering. 47
3.4.2 n-tier clustering với Oracle 9iAS . 48
A. Kiến trúc của một Oracle 9i cluster. 49
B. Cấu trúc cây phân cấp của Enterprise Manager trên Oracle 9iAS. 57
C.Instance- specific. 58
D. Software & Hardware failure trên Oracle9iAS . 59
E. Cấu hình clustering và load balancing . 60
F. Cấu hình OC4J Instance trên Oracle9i AS . 63
3.5 Mô hình cải tiến ( phát triển) . 64
3.5.1 Apache/mod_jk/Tomcat với session replication . 64
A. Giới thiệu session replication .64
B. Cơ chế hoạt động. 65
C. Nâng cấp mô hình Apache/mod_jk/Tomcat với Session Replication . 66
D. Nhận xét ưu khuyết điểm .68
3.5.2 Content-based load balancing kết hợp LVS với Reverse proxy. 68
A. Tại sao phải chia tải theo nội dung yêu cầu ( content-based)? . 68
B. Hướng giải quyết - cluster of cluster . 68
C. Cài đặt cluster of cluster. 71
3.5.3 Giải quyết single point of failure . 74
4. Cluster testing và Results .75
4.1 Testing plan . 75
4.2 Results . 78
5. Hướng phát triển .80
6. Kết luận .80
7. Tài liệu Tham khảo.82
8. Phụ lục.85
8.1 Phụ lục Các internet site xử dụng Cluster server với LVS . 85
8.2 Phụ lục Một số Thuật ngữ chuyên ngành sử dụng trong báo cáo . 86
8.3 Phụ lục Cấu trúc CD báo cáo .88
http://cloud.liketly.com/flash/edoc/-images-nopreview.swf /tai-lieu/de-tai-ung-dung-tren-liketly-53877/
Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí
Tóm tắt nội dung tài liệu:
equirement cho client, Director, RealServers* Clients : Bất cứ máy tính nào chạy bất kỳ hệ điều hành nào hỗ trợ telnel client và http
client (như browsers : netscape, lynx, IE) sử dụng cho công việc testing.
* Director : Máy tính chạy linux kernel 2.2.x (x>=14) hay 2.4.x patch với ipvs. Hiện tại
nên sử dụng kernel 2.4.x.Với mục đích testing, director không đòi hỏi phải có cấu hình cao –
các máy 486 với 10 bps ethernet card là đủ.
* Các RealServers : Đây là các máy tính cung cấp dịch vụ chính cho hệ thống (telnet
hay http service). Director forward các packets bằng 3 mode, tuỳ theo mỗi mode mà ta chọn
OS cho realservers:
- LVS-NAT: any machine, any OS , real server phải có tcp/ip stack.
- LVS-DR : OS hỗ trợ loopback aliasing ( không tốt với windows).
- LVS-TUN: real server cần chạy OS hỗ trợ tunnel (linux).
Lưu ý:
- Real servers và Client thường khác network ( thực tế khi triển khai thực hiện nếu client
và LVS cùng một network – sẽ không chạy), cho nên chúng ta sẽ sử dụng 2 network ( các
realserver private network vd : 192.168.1.0/24 ) , và client để test các dịch vụ nằm trên một
network khác. RealServers kết nối Director-Router-…Clients .
- Director thường sử dụng 2 NICs để có thể bổ sung thêm các chức năng filter và
security. Tuy nhiên ta cũng có thể đặt 1 NIC trên director với 2 IP address thuộc 2 network
khác nhau ( vd : eth0:1 , eth0:2).
- Ta không thể truy cập các dịch vụ cung cấp bởi LVS trên các máy tính trong hệ thống
LVS, tức là ta cần 1 client không thuộc realservers hay director. Nếu truy cập từ director thì
kết nối sẽ bị treo, kết nối từ realserver thì sẽ truy cập dịch vụ trên máy local mà không qua
LVS. Do đó minimum cho hệ thống là 3 machines : client, director, realserver(s).
F.2 Software ( các packages)
Để sử dụng được LVS ta phải patch và dịch lại kernel cho nó hỗ trợ IPVS. Kernel hiện
tại là bản 2.4, và công việc này thực hiện như sau:
Download bản standard kernel tại ftp://ftp.kernel.org/pub/linux/kernel/v2.4/ chọn bản
thích hợp như linux-2.4.17.tar.gz ( hay có thể cài đặt gói rPhần mềm kernel có kèm trong bộ đĩa CD
cài đặt RedHat Linux – sau khi cài đặt source kernel nằm ở : /usr/src/linux-2.4 )
Download hidden patch tại
Download IPVS patch tại
2.4.20-ipvs-1.0.8.patch.gz (April 11, 2003)
Khoa CNTT
Báo cáo Luận văn Tốt nghiệp
Nghiên cứu, Đánh giá & Phát triển các mô hình Cluster Server Trang 36 /
98
Công cụ quản trị và cấu hình LVS đơn giản ipvs admin :
hoặc
đều được.
F.3 Các bước thực hiện
Các bước re-compile lại kernel như sau:
#unpack new kernel
tar zxvf linux-2.4.17.tar.gz
#unpack ipvs patch
gunzip linux-2.4.20-ipvs-1.0.8.patch.gz
#unpack kernel
mv linux /usr/src/linux-2.4.17
cd /usr/src
# tạo symlink
rm –f linux-2.4
ln -s linux-2.4.17 linux-2.4
ln –s linux-2.4.17 linux
# Apply “hidden” patch
cd linux-2.4.17
patch –p1 < hidden-2.4.5-1.diff
output dạng như sau:
patching file include/linux/inetdevice.h
patching file include/linux/sysctl.h
Hunk #1 succeeded at 334 (offset 9 lines).
patching file net/ipv4/arp.c
Hunk #3 succeeded at 754 (offset -1 lines).
patching file net/ipv4/devinet.c
Hunk #1 succeeded at 756 (offset 20 lines).
Hunk #2 succeeded at 1013 (offset -4 lines).
Hunk #3 succeeded at 1079 (offset 20 lines).
patching file Documentation/filesystems/proc.txt
Hunk #1 succeeded at 1583 (offset 5 lines).
patching file Documentation/networking/ip-sysctl.txt
#apply ipvs patch
patch –p1 < linux-2.4.20-ipvs-1.0.8.patch
#Bắt đầu biên dịch
make clean
make mrproper
make menuconfig
make bzImage
make modules
make modules_install
#lưu ý là các bước trên diễn ra rất lâu – phải kiên nhẫn
#sau khi biên dịch, tập tin nhân kết quả lưu trong /usr/src/linux-2.4/arch/i386/boot/bzImage
#tiếp theo copy tập tin nhân kết quả vào thư mục /boot
cp /usr/src/linux/System.map-2.4.17 /boot/System.map-2.4.17
cd /boot
rm System.map
ln –s System.map-2.4.17 System.map
Khoa CNTT
Báo cáo Luận văn Tốt nghiệp
Nghiên cứu, Đánh giá & Phát triển các mô hình Cluster Server Trang 37 /
98
#Bây giờ cấu hình lại bootloader để nó nhận ra kernel mới (edit file /etc/lilo.conf nếu chọn bootloader là lilo lúc
cài đặt) , hay /boot/grub/grub.conf nếu chọn GRUB bootloader lúc cài đặt
vi /etc/lilo.conf
image=/usr/src/linux-2.4/arch/i386/boot/bzImage
label=linuxipvs
root=/dev/hda1
#reboot lại hệ thống
-------------------------------------------------------------------------------------------------
#Bước tiếp theo là cài đặt ipvsadm
#Nếu download gói rPhần mềm ta chỉ thực hiện
rPhần mềm –ivh ipvsadm-1.20-5.src.rpm
#Nếu download gói .tar.gz ta thực hiện unpack, make, makeinstall
Mọi việc cài đặt cho hệ thống xem như xong, sau đây là bước cấu hình hệ thống LVS,
nếu sử dụng các công cụ hỗ trợ cấu hình giao diện GUI, hay các script cấu hình có sẵn như
( thì có thể
download và cài đặt theo Giúp của nhà cung cấp . Để đơn giản trong việc cấu hình LVS phục
vụ cho testing, sau đây 3 cách cấu hình đơn giản LVS/NAT, LVS/TUN, LVS/DR “by hand” sử
dụng ipvsadm .
F.3.1 LVS/NAT
Cấu hình LVS-NAT với các real server thuộc cùng một LAN, client dùng test thuộc một
network khác và director có 2 card mạng với 2 IP thuộc 2 mạng server và client. Chi tiết như
sơ đồ sau:
________
| |
| client |
|________|
CIP=172.29.0.2 /16(eth0)
|
|
__________ |
| | | (VIP=172.29.0.1/16, eth0)
| director |---|
|__________| | DIP=192.168.0.9/25 (eth1)
|
|
-----------------------------------
| |
| |
RIP1=192.168.0.1/25(eth0) RIP2=192.168.0.2/25(eth0)
____________ ____________
| | | |
|realserver1 | |realserver2 |
|____________| |____________|
Khoa CNTT
Báo cáo Luận văn Tốt nghiệp
Nghiên cứu, Đánh giá & Phát triển các mô hình Cluster Server Trang 38 /
98
* Cấu hình với dịch vụ telnet port 23: Để đơn giản cho việc testing cấu hình ta setup
trước tiên làdịch vụ telnet, các dịch vụ khác tương tự ta chỉ cần thay đổi port (ví dụ http, ftp,..)
Các công việc sau đây sẽ được thực hiện trên director (load balancer).
- Ta có thể thực hiện bằng command line trên console director hay gom chúng lại
thành một shell script tên tự đặt lvs_nat_telnet.sh và thực thi $sh lvs_nat_telnet.sh để thực hiện
cấu hình
- Shell script lvs_nat_telnet như sau:
#!/bin/sh
#------lvs_nat_telnet-director----------
#set ip_forward ON for vs-nat director (1 on, 0 off).
cat /proc/sys/net/ipv4/ip_forward
echo "1" >/proc/sys/net/ipv4/ip_forward
#director is gw for realservers
#turn OFF icmp redirects (1 on, 0 off)
echo "0" >/proc/sys/net/ipv4/conf/all/send_redirects
cat /proc/sys/net/ipv4/conf/all/send_redirects
echo "0" >/proc/sys/net/ipv4/conf/default/send_redirects
cat /proc/sys/net/ipv4/conf/default/send_redirects
echo "0" >/proc/sys/net/ipv4/conf/eth0/send_redirects
cat /proc/sys/net/ipv4/conf/eth0/send_redirects
#cấu hình VIP
/sbin/ifconfig eth0 172.29.0.1 broadcast 172.29.0.255 netmask 255.255.0.0 up
#Cấu hình DIP
/sbin/ifconfig eth1 192.168.0.9 netmask 255.255.255.0 up
#set default gateway
#nếu director đứng sau một router thì đây là địa chỉ router đó
#trong trường hợp này là địa chỉ của client
/sbin/route add default gw 172.29.0.2 netmask 255.255.0.0 metric 1
#clear ipvsadm tables
/sbin/ipvsadm -C
#install LVS services with ipvsadm
#add telnet to VIP with rr sheduling (dùng thuật toán điều phối round robin: rr)
/sbin/ipvsadm -A -t 172.29.0.1:telnet -s rr
#Ghi chú
#(-A): virtual service; (-t): TCP sau đó là host
connection, wlc: weighted least-connection,..)
#first realserver
#forward telnet to realserver 192.168.0.1 using LVS-NAT (-m), with weight w=1
/sbin/ipvsadm -a -t 172.29.0.1:telnet -r 192.168.0.1:telnet -m -w 1
# (-r hostname
#check that realserver is reachable from director
ping -c 1 192.168.0.1
#Tương tự cho ealserver2
#forward telnet to realserver 192.168.0.2 using LVS-NAT (-m), with weight=1
/sbin/ipv...