Chuyển đến nội dung chính

Linux Cluster

1.Mở đầu:
Bài viết tham khảo hình ảnh, nội dung từ trang chủ của LVS www.linuxvirtualserver.org. Ngoài ra, không copy từ mọi tài liệu khác.

2.Khái niệm LVS:
LVS (Linux Virtual Server) là một server ảo được xây dựng dựa trên một cluster của các server thật. Với người sử dụng thì họ chỉ nhìn thấy một server ảo đầy quyền năng, không hề biết đến kiến trúc bên trong.
Như mô tả của hình trên, khi sử dụng Virtual Server, người sử dụng bên ngoài Internet chỉ nhìn thấy một địa chỉ IP, đó là địa chỉ IP của Load balancer. Load balancer là máy tính duy nhất liên lạc, nhận request từ các máy ngoài Internet. Sau đó, load balancer sẽ có cơ chế tự động phân chia request đến các real server bên trong. Load balancer và các real server có thể liên lạc qua một đường truyền mạng LAN tốc độ cao, hoặc cũng có thể liên lạc qua mạng WAN.
Để đảm bảo hệ thống hoạt động trong suốt với người sử dụng cần đảm bảo các vấn đề sau:
  • Khi load balancer bị lỗi, phải có cơ chế back up tốt để hoạt động của hệ thống vẫn tiếp diễn.
  • LVS phải có cơ chế để tự động cập nhật khi có một real server tham gia hoặc tách khỏi hệ thống.
  • Khi một real server bị lỗi, hệ thống phải phát hiện được để đảm bảo hoạt động không bị gián đoạn.
  • Mặt khác để hệ thống có thể hoạt động hiệu quả cần giải quyết vấn đề phân chia request hợp lí, tránh tình trạng một real server xử lí quá tải, trong khi các real server khác lại ở tình trạng “idle”.
3.Các mô hình LVS:
Để triển khai ý tưởng của LVS, người ta có 3 mô hình chính:
  • Virtual server via NAT.
  • Virtual server via IP Tunneling.
  • Virtual server via Direct Routing.
Mỗi mô hình có một số ưu, khuyết điểm khác nhau. Tùy theo cách triển khai, tùy theo thực trạng và yêu cầu của hệ thống mà ta có thể lựa chọn một mô hình thích hợp.
4.Mô hình Virtual Server via NAT:
Với mô hình NAT, dòng chuyển dữ liệu được thực hiện như sau:
  • Client gởi request cho load balancer.
  • Load balancer phân chia request đến cho những real server.
  • Real server gởi reponse cho load balancer.
  • Load balancer chuyển reponse cho client.
Load balancer có 2 địa chỉ: một để liên lạc với client, một để liên lạc với các real server bên trong. Địa chỉ để liên lạc với real server cũng như địa chỉ của các real server có thể là địa chỉ private. Địa chỉ mà load balancer sử dụng để liên lạc với client là địa chỉ public (địa chỉ thật).
Điểm bất lợi lớn nhất của mô hình NAT là Load balancer có thể sẽ trở thành một “bottle neck” bởi vì tất cả request và reponse đều sẽ phải đi qua điểm này. Mô hình NAT chỉ có thể phục vụ khoảng 10-20 real server.
Để khắc phục nhược điểm của mô hình NAT, ta có thể sử dụng mô hình Tunnel hoặc mô hình Direct Routing tùy theo yêu cầu triển khai cụ thể.
5.Mô hình Virtual Server via Tunneling:
Với mô hình Tunneling, dòng dữ liệu lưu chuyển như sau:
  • Client gởi request cho Load balancer.
  • Load balancer phân chia request cho các real server.
  • Các real server sau khi được phân chia sẽ tự động liên lạc với các client bằng con đường riêng, không thông qua Load balancer.
Mô hình Tunneling sẽ giảm được tình trạng “bottle neck” cho load balancer. Load balancer chỉ đảm nhận nhiệm vụ lập lịch, phân chia request đến các real server. Với mô hình này, một load balancer có thể phục vụ cho khoảng 100 real server.
Tuy nhiên để triển khai mô hình Tunneling, bắt buộc tất cả real server phải cài hệ điều hành có cơ chế “IP Tunneling”. Muốn hiểu rõ hơn vấn đề này, các bạn tìm hiểu trên trang www.linuxvirtualserver.org.
6.Mô hình Virtual Server via Direct Routing:
Giống mô hình Tunneling, mô hình Direct Routing chỉ nhận request và lập lịch xử lí. Các real server sẽ gởi reponse cho client theo một con đường riêng, không thông qua load balancer. Mô hình Direct Routing đòi hỏi load balancer và real server phải thuộc cùng một segment vật lí.
7.Cách triển khai các mô hình:
Trước hết để Linux hỗ trợ LVS, cần thực hiện những việc sau:
  • Cài đặt gói các gói heartbeat.
  • Thực hiện các thao tác chặn ARP. (tìm hiểu kỹ hơn vấn đề này trên trang www.linuxvirtualserver.org).
  • Tùy theo mô hình chọn sử dụng (NAT, Tunneling, Direct Routing), ta sẽ chọn các cấu hình thích hợp.
  • Các bạn có thể tìm hiểu cách cấu hình cụ thể của từng mô hình trên trang www.linuxvirtualserver.org.
Ở đây chỉ trình bày cách cấu hình cụ thể với mô hình LVS via Direct Routing
8.Các bước triển khai LVS via Direct Routing:
a.Mô hình:
Ở đây, giới thiệu một mô hình chuẩn gồm 4 server: Load balancer Master (Master), Load balancer (Backup), Real1, Real2. Ta test thử với dịch vụ HTTP.
Khi client ở ngoài, gởi request http vào, request sẽ được tiếp nhận bởi Master, sau đó, Master sẽ tiến hành phân chia request cho Real1, và Real2.
Master và Backup sẽ dùng tín hiệu heartbeat để trao đổi với nhau, nếu Master có sự cố, thì Backup sẽ thay thế vai trò của Master, và Master trở thành Backup. Khi Master khắc phục xong sự cố, Backup sẽ nhường lại vai trò cho Master.
Master sẽ dùng ldirectord để monitor Real1 và Real2. Nếu Real1 có sự cố, Master sẽ chỉ chia request cho Real2 và ngược lại. Khi Real1 khắc phục xong sự cố, Master lại tiếp tục chia request cho Real1.
Giả sử hostname của các máy lần lượt là: Master, Backup, Real1, Real2. (Cần dùng lệnh uname –n để xác định chính xác hostname của các máy).
  • Master: eth0: 192.168.1.2, eth1: 172.16.1.2
  • Backup: eth0: 192.168.1.3, eth1: 172.16.1.3
  • Real1: 192.168.1.4
  • Real2: 192.168.1.5
  • VIP: 192.168.1.1 (IP ảo, Client gởi request đến IP này).
  • Master & Backup bắt buộc phải có 2 card mạng: eth0 để lắng nghe request từ bên ngoài, và eth1 để nhận tín hiệu heartbeat với nhau.
Đầu tiên, các bạn làm quen với mô hình chuẩn, gồm đủ các thành phần: Master, Backup, Real1, Real2. Khi đã hiểu nguyên tắc hoạt động, với các bài lab sau, mình sẽ hướng dẫn các bạn cách tinh chỉnh để giảm số server, mà vẫn đảm bảo được ý nghĩ logic của mô hình.
a.Cài đặt:
Cài đặt các gói heartbeat trên Master và Backup bằng lệnh:
# yum install heartbeat*
Hoặc cụ thể hơn, có thể cài đặt tất cả các gói rpm cho Master và Backup theo trình tự sau:
# rpm –ivh heartbeat-pils-1.2.3.cvs.20050927-1.rh.el.um.1.i386.rpm
# rpm –ivh libnet-1.1.2.1-1.rh.el.um.1.i386.rpm
# rpm –ivh perl-Authen-SASL-2.08-1.rh.el.um.1.noarch.rpm
# rpm –ivh perl-Convert-ASN1-0.18-1.rh.el.um.1.noarch.rpm
# rpm –ivh perl-Net-SSLeay-1.25-1.rh.el.um.1.i386.rpm
# rpm –ivh perl-IO-Socket-SSL-0.96-1.rh.el.um.1.noarch.rpm
# rpm –ivh perl-Parse-RecDescent-1.94-1.rh.el.um.1.noarch.rpm
# rpm –ivh perl-Mail-IMAPClient-2.2.9-1.rh.el.um.1.noarch.rpm
# rpm -ivh heartbeat-stonith-1.2.3.cvs.20050927-1.rh.el.um.1.i386.rpm
# rpm –ivh perl-XML-NamespaceSupport-1.08-1.rh.el.um.1.noarch.rpm
# rpm –ivh perl-XML-SAX-0.12-1.rh.el.um.1.noarch.rpm
# rpm –ivh perl-ldap-0.3202-1.rh.el.um.1.noarch.rpm
# rpm –ivh heartbeat-1.2.3.cvs.20050927-1.rh.el.um.1.i386.rpm
# rpm –ivh heartbeat-ldirectord-1.2.3.cvs.20050927-1.rh.el.um.1.i386.rpm
# rpm –ivh ipvsadm-1.21-1.rh.el.1.um.1.i386.rpm

Cài đặt các gói sau trên Real1 và Real2:
# rpm –ivh arptables-noarp-addr-0.99.2-1.rh.el.um.1.noarch.rpm
# rpm –ivh arptables_jf-0.0.7-0.3E.i386.rpm

Ghi chú: tùy theo cách cài đặt perl kèm theo hệ điều hành ban đầu, các gói perl trên đây có thể thiếu, hoặc có thể thừa. Có thể bổ sung cho đúng với cách cài đặt hệ điều hành. RPM download tại: http://www.ultramonkey.org
b.Các bước cấu hình:
Như đã trình bày, phần cấu hình cho Master sẽ gồm các bước sau:
  • Cấu hình hearbeat để Master và Backup lắng nghe nhau.
  • Cấu hình ldirectord để Master monitor Real1 và Real2
c.Cấu hình heartbeat:
Phần này cấu hình cho cả Master và Backup.
Các file cần cấu hình cho dịch vụ heartbeat là: file ha.cf, haresources, authkeys. Chép các file này vào thư mục /etc/ha.d
cp /usr/share/doc/heartbeat-1.2.3.cvs.20050927/ha.cf /etc/ha.d/
cp /usr/share/doc/heartbeat-1.2.3.cvs.20050927/authkeys /etc/ha.d/
cp /usr/share/doc/heartbeat-1.2.3.cvs.20050927/haresources /etc/ha.d
Sửa các tham số sau trong file ha.cf:
udpport 694 # Port để gởi tín hiệu heartbeat
bcast eth1 # Card mạng để gởi tín hiệu heartbeat
keepalive 2
deadtime 30
initdead 120
node Real1 Real2 ( Sử dụng lệnh uname –n để xác định chính xác tên server real).

Sửa các tham số sau trong file authkeys:
auth 1
1 sha1 lvsvtdns11
Chuẩn bị các script để đặt vào file haresources: ldirectord.cf.
Thêm dòng sau vào file haresources.
Master 192.168.1.1 \
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master \
d.Cấu hình ldirectord:
Phần này cấu hình cho cả Master và Backup.
ldirectord cần có file ldirectord.cf. File này có nội dung như sau:
checktimeout=3
checkinterval=5
autoreload=yes
logfile=”/var/log/ldirectord.log”
virtual=192.168.1.1:80
real=192.168.1.4:53 gate 5
real=192.168.1.5:53 gate 5
request=”/.testpage”
receive=”test page”
scheduler=rr
service=http
checkcount=3
protocol=tcp
e.Cầu hình cho Real1, Real2:
  • Trên Real1 và Real2 cần cấu hình dịch vụ http.
  • Tạo một trang web test cho dịch vụ http, đặt trong Document Root.
echo “test page” > .testpage
  • Tạo IP ảo cho các Real1 và Real2:
ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0
  • Chặn ARP trên IP ảo của các Real1 và Real2:
/usr/sbin/arptables-noarp-addr 192.168.1.1 start
/etc/init.d/arptables_jf save
/etc/init.d/arptables_jf restart
f.Test thử cấu hình:
  • Sau khi thực hiện xong các bước cấu hình trên, thực hiện test như sau:
  • Trên Master, thực hiện:
# service heartbeat start
  • Trên Backup, thực hiện:
# service heartbeat start
  • Trên Master, xem kết quả:
# ipvsadm
Nếu hiển thị kết quả bảng phân chia request có IP của Real1, Real2 là đúng.
  • Trên Backup, xem kết quả:
# ipvsadm
Vì backup, lúc này chỉ đang đứng lắng nghe, trên không có bảng phân chia request.
  • Từ Client kết nối dịch vụ http, hoạt động bình thường, dùng lại lệnh ipvsadm trên Master, sẽ thấy request được phân chia cho Real1 hoặc Real2.

Nhận xét

Bài đăng phổ biến từ blog này

Backup and Restore MS SQL Server 2008 Database

  Backup and Restore MS SQL Server 2008 Database Bài viết này hướng dẫn các bạn backup và restore database sử dụng Microsoft SQL Server Management Studio. Công việc quản trị database đồi hỏi các bạn thật sự cẩn thận và phải có chiến lược backup hợp lý. vì lỡ một ngày đen đủi ổ cứng server die là coi như mình cũng die theo nó đối vế hệ thống server dữ liệu quan trọng thì việc backup database là vô cùng cần thiết. Sau đây mình hướng dẫn cách backup và restore database Mysql server 2008. 1. Backup database Sqlserver 2008. Step 1 : Open your Microsoft SQL Server Management Studio, whichever you prefer, standard or express edition. Step 2 : Dùng  User có quyền quản trị databse để login vào MS SQL server database. Step 3 : Select the database >> Right-click >> Tasks >> Back Up [xem hình bên dưới]: Bấm chọn  “ Backup ” hợp thoại backup xuất hiện Step 4 : chọn các loại backup. ở đậy mình chọn backup full. Backup type: F...

Hotswap và hot Plug là gì ?

Thuật ngữ Hot swap (tạm dịch: trao đổi nóng) là khả năng tháo gỡ và thay thế các bộ phận của một chiếc máy tính trong khi hệ thống vẫn đang chạy. Người ta còn dùng thuật ngữ Hot plug để chỉ khả năng này. Tháo lắp "nóng" thiết bị trong khi hệ thống vẫn đang hoạt động. Một khi phần mềm chuyên xử lý cái vụ hot swap được cài đặt vào máy tính, bạn có thể gắn vào và tháo ra thiết bị mà không cần phải tắt máy (shutdown, turn off) hay khởi động lại (reboot). Khả năng này cho phép bạn gắn hay tháo gỡ một cách dễ dàng các linh kiện ngoại vi như chuột, bàn phím, máy in,... Hồi xửa hồi xưa, chỉ có các hệ thống đắt tiền mới có khả năng này, vì việc hiệu chỉnh, cấu hình nó rất là nhiêu khê. Nguyên lý hoạt động của nó thế này: Các máy hỗ trợ hot swap cần phải có khả năng dò tìm và phát hiện có một bộ phận nào đó vừa được gỡ ra. Ngoài ra, tất cả các mối kết nối điện và cơ khí cũng cần phải được thiết kế làm thế nào để không làm tổn hại cho thiết bị cũng như người sử dụng mỗi ...

Hướng dẫn cài đặt Apache, MySQL, PHP, PhpMyAdmin trên CentOS 5.2

 Hướng dẫn cài webserver trên hệ điều hành Linux Centos Trong quá trình làm lab, test cho webserver chạy hệ điều hành linux dưới localhost, bài test đã hoàn thành đúng yêu cầu, nên mình viết lại các quá trình làm lab. Bài viết có gì thiếu xót mong các bạn bỏ qua. " Các bước cài đặt yêu cầu máy tính bạn được kết nối internet " Centos là một hệ điều hành mã nguồn mở mạnh mẽ với những tính năng quả trị rất mạnh, Nếu bạn muốn setup cho mình một hệ thống máy chủ webserver nhưng với chị phí hạn hẹp, trong khi đó server 2008/2003 thì chi phí quá cao. Thì Centos là một giải pháp cho các bạn đơn giản vì nó free và hiệu quả. Sau đây mình hướng dẫn các bạn các ứng dụng cơ bản ban đầu của Centos. TIẾN HÀNH CÀI ĐẶT NHÁ. 1. Cài đặt Apache server: Apache là chương trình máy chủ của HTTP . Apache chạy được trên các hệ điều hành như Unix, Window, Novell Netware và các hệ điều hành khác. Nó đóng vai trò quan trọng trong việc phát triển web.     Các bước cài đặt:  ...

Cài đặt phần mềm symantec backup exec 11d for windows server

1.    Tìm hiểu về ph ần mềm symantec backup exec 11d for windows server 1.1.               Giới thiệu Đây là giải pháp quản lý dữ liệu hiệu suất cao của symantec, được thiết kế theo mô hình client/server cung cấp khả năng backup và restore nhanh và tin cậy cho hệ thống server và workstation trên nền Windows. Bộ phần mềm symantec backup exec 11d có các version sau: ·          Symantec backup exec 11d for windows server ·          Small business server edition ·          Quickstart edition Tùy vào viersion khác nhau mà tính năng và số lượng agent được hỗ trợ khác nhau. 1.2.               Symantec backup exec 11d for windows server hoạt động như thế nào   1.1.       ...

Giải pháp Load Balancing và Fail Over toàn diện dành cho Web Server

    Xây dựng một hệ thống High Available (HA) là một nhiệm vụ sống còn dành cho doanh nghiệp hiện nay. Đã có những trường hợp đáng tiếc khiến cho doanh nghiệp phải chịu những thiệt hại lớn không đáng có, thậm chí là mất đi các khách hàng quan trọng – nguồn sống trong kinh doanh.  Trong bài “Để website luôn online với cluster Apache High Availability Linux” đăng trên một số trang web hiện nay tuy thuận tiện nhưng vẫn còn những nhược điểm đáng kể. Một trong những nhược điểm đó là hệ thống chỉ có tác dụng chịu lỗi (Fail Over) mà không thể cân bằng tải (Load Balancing). Do đó, hệ thống chỉ có thể thích hợp với những doanh nghiệp nhỏ lẻ, nhu cầu truy cập web của khách hàng không cao. Nếu sử dụng phương thức trên cho doanh nghiệp lớn thì sẽ gây hiện tượng thắt cổ chai (bottle neck) làm nghẽn lưu lượng truy cập. Mặt khác, doanh nghiệp muốn triển khai thêm nhiều dịch vụ khác thì đây không phải là một lựa chọn thật sự hiệu quả. Một giải pháp được  đưa ra l...

Lênh căn bản cho người bắt đầu dùng linux

 Những lệnh căn bản về Linux Khi bước chân vào Linux, các bạn nào mới tiếp xúc và lần đầu tiên làm quen với linux thì lúc đầu còn gặp nhiều bỡ ngỡi. hôm nay mình chia sẻ với các bạn vài lệnh căn bản để sử dụng và làm quen với hệ điều hành Linux. Lệnh cơ bản hệ thống. Lệnh change password root.   Passwd Lệnh mở thư mục # cd / var/www/html (câu l ệnh này dùng để mở thư mục html nằm trong www-var) L ệnh xem quyền hạn thư mục và file ll  ( Ví dụ ta muốn xem các tập tin và thư mục trong folder www quyền là gì, vào thư mục html và đánh lệnh ll để xem) 4.         Lệnh Rename tập tin, folder. # mv phpMyAdmin-3.2.4-english phpmyadm ( đ ổi tên thư mục phpMyAdmin-3.2.4-english thành phpmyadm) L ệnh xem dung lượng ổ cứng Df Xem dung l ượng sử dụng bộ nhớ (Ram) Free –m L ệnh xem ai đã login về hệ thống. Last ...

TỔNG QUAN MICROSOFT FOREFRONT THREAT MANAGEMENT GATEWAY

Vừa qua, Microsoft đã công bố sản phẩm Forefront Threat Management Gateway (Forefront TMG) Beta1, đây là sản phẩm cung cấp tính năng bảo mật tích hợp giữa Internet Security and Acceleration Server (ISA) , Forefront Client Security, Forefront Security for Exchange Server, Forefront Security for SharePoint. Các đặc điểm của Forefront TMG: - Bảo vệ hệ thống toàn diện - Quản lý đơn giản - Đơn giản giám sát hệ thống Forefront TMG cung cấp đầy đủ các tính năng của một Firewall: A. Các tính năng mới: Tính năng Mô tả Tương thích với Windows Server 2008, 64-bit TMG chỉ có thể chạy trên Windows Server 2008 64-bit Tùy chọn Antivirus, Antimalware - Quét những file bị lây nhiễm - Ngăn chặn những file bị nghi ngờ - Ngăn chặn những file tìm thấy đã bị hỏng - Ngăn chặn những file không thể scan - Ngăn chặn tất cả file đã được mã hóa - Ngăn chặn những file vượt quá thời gian admin qui định cho phép quét - Ngăn chặn những file có kích thước lớn do admin qui định ...

Scheduling automated backup using SQL server 2008

Ở bài trước mình đã hướng dẫn các bạn backup database Mysql server 2008 bằng cách thủ công là khi nào mình cần backup thì vào trong database chọn database backup lại, nhưng công việc này thì không mấy khả thi cho lắm, đối với những ai quản lý một lúc cùng nhiều con server database thì việc này vô cúng chiếm nhiều thời gian và lỡ như một ngày nào đó vô tình quên thì mọi chuyện trở nên rắc rối khi đúng ngày mình quên backup databse thì server die, lúc này không biết lấy gì lấy đâu database ngày đó restore lại. Các bạn đừng lo, trong bài viết này mình hướng dẫn các bạn xếp lịch backup database hoàn toàn một cách tự động. Ở bài này mình thực hiện việc backup định kỳ mỗi ngày vào lúc 12:00 AM. Các bước thực hiện Scheduling automated backup using SQL server 2008 :   1. Để bắt đầu tiến hành backup được Database chúng ta phải login vào Qsl server 2008 với quyền tài khoản quản trị. ớ đây mình dùng tài khoản mật định là Sa ( là tài khoản có quyền cao nhất trong sql server 2008). ...

Cài đặt VMware vSphere ESXi 5

Cài đặt VMware vSphere ESXi 5 Nghiên cứu vSphere cũng đã khá lâu, cũng có viết một số bài lab nhưng chưa publish lên. Thôi thì hôm nay dành ít thời gian để đăng tải loạt bài về VMware vSphere ESXi 5 lên blog, để nó mốc meo lâu quá rồi ^^! Mô hình mạng sẽ sử dụng trong các bài lab sắp tới như sau : Trong bài này, Tôi sẽ viết về quá trình cài đặt ESXi 5 và giới thiệu tổng quan một số thông tin, tùy chọn trên phiên bản ESXi 5. Đầu tiên là các bạn phải file .iso của ESXi 5 về và boot từ CD (.iso nếu cài trên máy ảo. Quá trình cài đặt: - Load các file cần thiết - Thông tin phần cứng - Nhấn [Enter] - Nhấn F11 để đồng ý các điều khoản - Quét kiểm tra phần cứng - Chọn ổ cứng để cài đặt vSphere ESXi 5.0 - Nhấn Enter để tiếp tục ( Default) - Nhập password cho quyền root. - Quá trình cài đặt bắt đầu. . - Việc cài đặt vSphere ESXi 5đã hoàn tất. - Khởi động lại server. Màn hình Console và các Option: Màn hình mặcđịnh kh...

File Monitoring and Auditing "Phần mềm giám sát try cập vào File server"

File Monitoring and Auditing PA File Sight is a file monitoring software that will help you determine who is reading from and writing to important files. It can tell you when a new file or folder is created or renamed. And, with our file watcher, when a file or folder gets deleted, PA File Sight can tell you who did it and what computer they did it from (IP address and computer name). Besides file access auditing and logging actions, the Ultra Edition helps you further by providing historical reports to help see what happened earlier, whether you chose to be notified or not. AND it lets you alert on user usage patterns (reading X files in Y time for example) to help detect file copying activity . Report from PA File Sight Ultra. Note: the Lite edition has alerting, but not reporting.