1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án Linux Cân bằng tải

28 803 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 1,08 MB

Nội dung

Hiện nay, cơ sở hạ tầng CNTT đang đóng một vai trò ngày càng quan trọng trong sự thành công của một doanh nghiệp. Thị phần, khách hàng hài lòng với sản phẩm của công ty và hình ảnh công ty tất cả những yếu tố này có thể do website của doanh nghiệp đó chiếm một phần quan trọng. Mạng lưới các máy chủ hiện nay thường xuyên được sử dụng để lưu trữ ERP, thương mại điện tử và vô số các ứng dụng khác. Nền tảng của các trang web này, các chiến lược kinh doanh, cơ sở hạ tầng tốt sẽ cung cấp hiệu suất cao, tính sẵn sàng cao, và các giải pháp an toàn và khả năng mở rộng để hỗ trợ tất cả các ứng dụng. Với một doanh nghiệp lớn hoặc một dự án thương mại điện tử mà website có lượng truy cập lớn trong cùng một thời điểm thì việc yêu cầu và xử lý yêu cầu của người dùng nhanhchậm thực sự quan trọng. Nó góp phần làm cho hệ thống của chúng ta vận hành trơn chu hơn, đảm bảo yêu cầu của khách hàng và giảm những rủi ro không nên có cho hệ thống, hạn chế tối đa mất mát của doanh nghiệp. Do vậy, cân bằng tải (Load Balancing) chính là một sự lựa chọn phù hợp để giúp chúng ta có thể giải quyết được những vấn đề trên. Nhóm chúng em xin chọn đề tài “Tìm hiểu về cân bằng tải (Load Balancing)” với mục đích tìm hiểu bài toán này và cách áp dụng nó để giải quyết các bài toán trong thực tế thường gặp. Chúng em xin chân thành cảm ơn các thầy giáo Cù Việt Dũng, giảng viên bộ môn “Hệ Điều Hành Linux” đã tận tình giảng dạy chúng em trong suốt thời gian học tập vừa qua để giúp chúng em hoàn thiện đề tài này. Chúng em xin chân thành cảm ơn thầy.

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN MÔN HỌC

HỆ ĐIỀU HÀNH LINUX

Đề tài: Tìm hiểu về cân bằng tải (Load Balaning)

Sinh viên thực hiện:

Nguyễn Hoài Sơn, D6CNTT Nguyễn Thị Kiều Trang, D6CNTT Nguyễn Tuấn Đạt, D6CNTT

Giáo viên hướng dẫn:

ThS CÙ VIỆT DŨNG

HÀ NỘI, THÁNG 12-2014

Trang 2

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN MÔN HỌC

HỆ ĐIỀU HÀNH LINUX

Đề tài: Tìm hiểu về cân bằng tải (Load Balancing)

Sinh viên thực hiện:

Nguyễn Hoài Sơn, D6CNTT Nguyễn Thị Kiều Trang, D6CNTT Nguyễn Tuấn Đạt, D6CNTT

Giáo viên hướng dẫn:

ThS CÙ VIỆT DŨNG

HÀ NỘI, THÁNG 12-2014

Trang 3

LỜI NÓI ĐẦU

Hiện nay, cơ sở hạ tầng CNTT đang đóng một vai trò ngày càng quan trọng trong sự thành công của một doanh nghiệp Thị phần, khách hàng hài lòng với sản phẩm của công ty và hình ảnh công ty tất cả những yếu tố này có thể do website của doanh nghiệp đó chiếm một phần quan trọng Mạng lưới các máy chủ hiện nay thường xuyên được sử dụng để lưu trữ ERP, thương mại điện tử và vô số các ứng dụng khác Nền tảng của các trang web này, các chiến lược kinh doanh, cơ sở hạ tầng tốt sẽ cung cấp hiệu suất cao, tính sẵn sàng cao, và các giải pháp an toàn và khả năng mở rộng để

hỗ trợ tất cả các ứng dụng

Với một doanh nghiệp lớn hoặc một dự án thương mại điện tử mà website có lượng truy cập lớn trong cùng một thời điểm thì việc yêu cầu và xử lý yêu cầu của người dùng nhanh/chậm thực sự quan trọng Nó góp phần làm cho hệ thống của chúng

ta vận hành trơn chu hơn, đảm bảo yêu cầu của khách hàng và giảm những rủi ro không nên có cho hệ thống, hạn chế tối đa mất mát của doanh nghiệp Do vậy, cân bằng tải (Load Balancing) chính là một sự lựa chọn phù hợp để giúp chúng ta có thể giải quyết được những vấn đề trên

Nhóm chúng em xin chọn đề tài “Tìm hiểu về cân bằng tải (Load

Balancing)” với mục đích tìm hiểu bài toán này và cách áp dụng nó để giải quyết các

bài toán trong thực tế thường gặp

Chúng em xin chân thành cảm ơn các thầy giáo Cù Việt Dũng, giảng viên bộ môn “Hệ Điều Hành Linux” đã tận tình giảng dạy chúng em trong suốt thời gian học

tập vừa qua để giúp chúng em hoàn thiện đề tài này

Chúng em xin chân thành cảm ơn thầy

Hà Nội, ngày 15 tháng 12 năm 2014

Trang 5

MỤC LỤC

Trang 6

DANH MỤC HÌNH ẢNHCHƯƠNG 1: TỔNG QUAN VỀ HIỆU ĐIỀU HÀNH MÃ NGUỒN MỞ

CHƯƠNG 2: CÂN BẰNG TẢI (LOAD BALANCING)

CHƯƠNG 3: TRIỂN KHAI CÂN BẰNG TẢI

Trang 7

CHƯƠNG 1: TỔNG QUAN VỀ HIỆU ĐIỀU HÀNH MÃ NGUỒN MỞ

1.1. Giới thiệu hệ điều hành mã nguồn mở

Mã nguồn mở là một thuật ngữ chuyên dụng với dân IT trong ngành nhưng còn

có vẻ khá xa lạ với một nguồi bắt đầu tìm hiểu về tin học Với ai có hầu bao rủng rỉnh thì họ chẳng phải quan tâm đến vấn đề giá cả hay bản quyền Nhưng đối với những người chú ý nhiều tới vấn đề chi phí thì phần mềm hay mã nguồn mở là vấn đề họ rất quan tâm

Hình 1.1: Mã nguồn mở - xu thế của ngành IT

Mã nguồn mở được biết đến dưới thuật ngữ Free And Open Source Software (FOSS) là những phần mềm mà người dùng có thể sửa đổi, cải tiến, phát triển và nâng cấp theo một số nguyên tắc chung đã được quy định từ trước Ngoài ưu điểm về giá thành sản phẩm thì mã nguồn mở còn có rất nhiều điểm hấp dẫn khác Sau đây chúng

ta sẽ cùng tìm hiểu những ưu điểm “độc đáo” mà chỉ có thể bắt gặp ở một FOSS

An ninh mã nguồn mở

Hãy thử hình dung một sản phẩm được hàng triệu người cùng chung tay góp sức xây dựng và một sản phẩm do một nhóm người thiết kế ra Nếu bỏ qua động lực làm việc thì chúng ta có thể thấy, nếu như có vấn đề về an ninh xảy ra thì sản phẩm đầu tiên chắc chắn sẽ được phát hiện và sửa chữa nhanh hơn

Trang 8

Hình 1.2: Đối tượng trong hệ điều hành mã nguồn mở

Đó là câu chuyện về HĐH Android trên các thiết bị điện thoại di động ngày nay Tuy không hoàn toàn là mã nguồn mở nhưng HĐH này đã chứng tỏ cho người ta thấy rằng, khi số đông cùng bắt tay vào sửa lỗi an ninh thì kết quả thu được sẽ hiệu quả và nhanh chóng hơn Rất nhiều các thống kê đã chỉ ra tính ưu điểm đó, điều mà bạn sẽ rất khó có thể bắt gặp trên một chiếc iPhone hay di dộng sử dụng HĐH Windows

Hình 1.3: Hệ điều hành mã nguồn mở FOSS

Trang 9

Ngoài ra, khi được số đông cùng phát triển thì sản phẩm sẽ dễ thích hợp với số đông hơn và ít chịu sự chi phối của một nhóm các nhà thiết kế trong một công ty nào

đó Xác xuất để “lọt” lỗi của FOSS cũng sẽ ít hơn rất nhiều

Chất lượng của các sản phẩm nguồn mở

Tất nhiên, chất lượng luôn là điều mà chúng ta cần quan tâm Giữa một sản phẩm được tạo ra bởi những nhà thiết kế hay một gói phần mềm do hàng nghìn người chung tay góp sức làm việc, bạn sẽ cảm giác an tâm nhiều hơn với lựa chọn nào? Mã nguồn mở không những có số người đóng góp công sức nhiều hơn mà tương đương với đó còn là những đóng góp về sáng tạo tính năng mới cũng như hoàn thiện hơn sản phẩm

Hình 1.4: Các phần mềm mã nguồn mở phổ biến

Về mặt tổng quát, những phần mềm mã nguồn mở gần gũi với người dùng hơn bởi chính những người sử dụng là những người làm ra phần mềm đó Người phát triển lúc này cũng chính là người sử dụng, do vậy những sai khác hay thừa thãi là điều rất hiếm khi bắt gặp Đặc biệt, một cuộc khảo sát gần đây còn chỉ ra rằng chính những vượt trội về mặt kỹ thuật là lý do chính mà rất nhiều doanh nghiệp đã tìm đến mã nguồn mở

Trang 10

Tính tùy biến của các sản phẩm mã nguồn mở

Không những có nhiều ưu điểm về mặt an ninh và chất lượng, mã nguồn mở còn đa dạng trong tùy biến nguồn dữ liệu Doanh nghiệp có thể sử dụng mã nguồn mở

và tinh chỉnh để phù hợp với nhu cầu của riêng mình Những đoạn mã được công khai cũng sẽ dễ dàng được chỉnh sửa để thêm thắt các chức năng mà người dùng muốn có Tất cả những điều này bạn sẽ không thể tìm thấy ở một phần mềm có mã nguồn… đóng Tính cộng đồng chính là một điểm nhấn tạo nên điểm mạnh cho mã nguồn mở nói riêng và các sản phẩm từ mã nguồn mở nói chung

Tính tự do trong các sản phẩm mã nguồn mở

Hình 1.5: Tự do người dùng

Với FOSS, người dùng có thể kiểm soát mọi quyết định cũng như hành động của mình mà không phải phụ thuộc vào bất cứ luật lệ hay tổ chức nào cả Nói cách khác, tính tự do là những điều mà người dùng FOSS được hưởng nhiều hơn Không những vậy, giả sử bạn dùng Microsoft Windows và Office thì yêu cầu phần cứng sẽ nâng lên theo thời gian, trong khi ở FOSS, những yêu cần đó là rất nhỏ Bạn sẽ có thừa thời gian để nâng cấp phần cứng của mình sao cho thích hợp với yêu cầu của phần mềm mã nguồn mở

Chi phí xây dựng và vận hành các sản phẩm mã nguồn mở

Trang 11

Hình 1.6: Tiết kiệm chi phí vì nó là miễn phí

Tất nhiên, chi phí luôn là những gì mà người ta quan tâm đến nhiều nhất Bạn

có thể trả hàng trăm USD để sử dụng một phần mềm tiện ích Điều đó hoàn toàn không có gì sai cả Nhưng nếu sử dụng một mã nguồn mở có chức năng tương tự thì bạn đã tiết kiệm được một số tiền “nho nhỏ” có thể dùng để trang trải vào nhiều việc cần kíp hơn khác

Các sản phẩm mã nguồn mở được dùng thử

Có nhiều hãng phát triển phần mềm cũng cho phép khách hàng của mình có quyền được dùng thử trước khi ra quyết định mua sản phẩm của họ Nhưng với FOSS, dùng thử ở đây mang một ý nghĩa rộng lớn hơn: bạn hoàn toàn có quyền dùng đến khi nào “phát chán” thì thôi chứ không bị giới hạn trong số ngày nhất định mà mã nguồn đóng quy định

Linux là HĐH mã nguồn mở mà bạn có thể dùng thử cả đời OpenOffice cũng

là một phần mềm mã nguồn mở cho phép bạn dùng thử cả đời Nhưng chúng ta không thể nói Microsoft Windows hay Microsoft Office cũng có tinh năng tương tự

Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ

điều hành Nó có lẽ là một ví dụ nổi tiếng nhất củaphần mềm tự do và của việc phát triển mã nguồn mở

Trang 12

Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan Ông làm việc một cách hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994 Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public License Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn của Linux.

Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ Nhân Linux, nhưng tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều

hành giống Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra bởi việc đóng

gói nhân Linux cùng với các thư viện và công cụ GNU, cũng như là các bản phân phối Linux Thực tế thì đó là tập hợp một số lượng lớn các phần mềm nhưmáy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi trường làm việc desktop như GNOME và KDE, và các ứng dụng thích hợp cho công việc văn phòng như OpenOffice, LibreOffice

Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ điều hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các thiết bị nhúng ví

dụ như các máy điện thoại di động

Ban đầu, Linux được phát triển và sử dụng bởi những người say mê Tuy nhiên, hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM và Hewlett-Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền và thậm chí là một thách thức đối với sự thống trị của Microsoft Windows trong một số lĩnh vực Sở

dĩ Linux đạt được những thành công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) cũng như là các đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung cấp Một đặc tính nổi trội của nó là được phát triển bởi một mô hình phát triển phần mềm nguồn mở hiệu quả

Tuy nhiên, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn còn rất khiêm tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows nhiều hơn là Linux Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho Linux

sẽ tăng lên

Nguồn gốc của Linux

Vào năm 1991 trong khi đang học tại University of Helsinki, Torvalds bắt đầu

có ý tưởng về một hệ điều hành, hơn nữa ông cũng nhận thấy hạn chế trong giấy phép

Trang 13

của MINIX Nó chỉ cho phép việc sử dụng MINIX trong giáo dục mà thôi Ông bắt đầu viết nên hệ điều hành riêng của mình.

Torvalds phát triển Linux kernel trên môi trường MINIX, các ứng dụng viết cho MINIX có thể sử dụng trên Linux Sau đó khi Linux đã "trưởng thành" thì việc phát triển Linux diễn ra ngay trên hệ thống Linux Các ứng dụng GNU cũng thay thế các thành phần của MINIX, do các lợi ích sử dụng mã nguồn có sẵn một cách tự do từ

dự án GNU với một hệ điều hành còn "non nớt"

Tính tương mại và sự phổ biến

Ngày nay, hệ thống Linux đã được sử dụng một cách rộng rãi, từ các hệ thống nhúng đến các siêu máy tính, đã có một chỗ đứng lớn trong thị trường máy chủ Việc

sử dụng các bản phân phối linux ở nhà và doanh nghiệp đang phát triển, kể cả trong các tổ chức địa phương và các tổ chức chính phủ Chính phủ liên bang Brazill nổi tiếng về những hỗ trợ của họ cho Linux Có tin tức là quân đội Nga đang xây dựng một bản phân phối Linux cho riêng họ, điều đó đã trở thành hiện thực như dự án G.H.ost Bang Kerala của Ấn Độ đã buộc tất cả các trường trung học chạy Linux trên máy tính Trung Quốc sử dụng Linux một cách riêng biệt như một hệ điều hành cho dòng xử lí mang tên Loongson, với mục đích thoát khỏi sự phụ thuộc về công nghệ Ở Tây Ban Nha, một vài khu vực đã phát triển các bản phân phối Linux cho riêng họ, và được sử dụng rộng rãi trong trường học và các tổ chức Bồ Đào Nha sử dụng bảng phân phối Caixa Mágica cuả họ Pháp và Đức cũng có những bước thực hiện cho việc chấp nhận Linux

Các bản phân phối Linux đã được cài đặt mặc định trong các dòng máy tính DELL, ASUS,

1.2. Giới thiệu hệ điều hành Centos

CentOS là một bản phân phối hệ điều hành tự do dựa trên Linux kernel Nó có

nguồn gốc hoàn toàn từ bản phân phối Red Hat Enterprise Linux (RHEL) CentOS tồn tại để cung cấp một nền tảng điện toán doanh nghiệp tự do và phấn đấu để duy trì khả năngtương thích nhị phân 100% với nguồn thượng nguồn của nó, Red Hat CentOS là

viết tắt của Community ENTerprise OperatingSystem.

Trong tháng 7/2010 CentOS đã vượt qua Debian trở thành bản phân phối Linux phổ biến nhất cho máy chủ web, với gần 30% của tất cả máy chủ web Linux sử dụng nó Tuy nhiên vào tháng 1/2012, sau một cuộc đua đối đầu, nó bị mất vị trí dẫn đầu vào tay Debian

Cơ cấu tổ chức

Trang 14

Red Hat Enterprise Linux chỉ có sẵn thông qua một dịch vụ thuê bao trả tiền, cung cấp truy cập để cập nhật phần mềm và mức độ hỗ trợ kỹ thuật khác nhau Sản phẩm chủ yếu bao gồm các gói phần mềm được phân phối theo nguồn mở hoặc một giấy phép phần mềm tự do và mã nguồn những gói này được công bố bởi Red Hat Các nhà phát triển CentOS sử dụng mã nguồn của Red Hat để tạo ra một sản phẩm cuối cùng rất tương tự như Red Hat Enterprise Linux Thương hiệu và logo của Red Hat đã bị thay đổi bởi vì Red Hat không cho phép họ được phân phối lại

CentOS là miễn phí Hỗ trợ kỹ thuật chủ yếu được cung cấp bởi cộng đồng thông qua mailing lists chính thức, diễn đàn, và các chat room Dự án không liên kết với Red Hat do đó không nhận được hỗ trợ tài chính hoặc hậu cần từ công ty; thay vào

đó, dự án CentOS dựa vào sự đóng góp từ người dùng và các nhà tài trợ tổ chức

1.3. Hướng phát triển của hệ điều hành mã nguồn mở

Trang 15

CHƯƠNG 2: CÂN BẰNG TẢI (LOAD BALANCING)

2.1 Mô hình bài toán

Cơ sở hạ tầng CNTT đang đóng một vai trò ngày càng quan trọng trong sự thành công của một doanh nghiệp Thị phần, khách hàng hài lòng với sản phẩm của công ty và hình ảnh công ty tất cả những yếu tố này có thể do website của doanh nghiệp đó chiếm một phần quan trọng Mạng lưới các máy chủ hiện nay thường xuyên được sử dụng để lưu trữ ERP, thương mại điện tử và vô số các ứng dụng khác Nền tảng của các trang web này, các chiến lược kinh doanh, cơ sở hạ tầng tốt sẽ cung cấp hiệu suất cao, tính sẵn sàng cao, và các giải pháp an toàn và khả năng mở rộng để hỗ trợ tất cả các ứng dụng

Hình 2.1: Mô hình giải pháp cân bằng tải (Load Balancing)

Vì vậy một yêu cầu đặt ra cho hệ thống web server của các doanh nghiệp hiện nay là phải đảm bảo cho hệ thông luôn luôn hoạt động thông suốt Tuy nhiên đối với những website lớn hiện nay yêu cầu này đang bị đe dọa nghiêm trọng, bởi số lượng

Trang 16

người dùng kết nối vào hệ thống trên cùng một thời điểm ngày càng lớn Năng lực xử

lý của một server đơn thuần không còn khả năng đáp ứng yêu cầu của tất cả người dùng Vì vậy, người ta phải tính đến xây dựng từng cụm server chia tải để đảm bảo đáp ứng được yêu cầu của người dùng

2.2 Lợi ích của cân bằng tải

Server Load Balancing (máy chủ cân bằng tải) là một quá trình phân phối các yêu cầu dịch vụ trên một nhóm các máy chủ Server Load Balancing (máy chủ cân bằng tải) ngày càng trở nên quan trọng trong hệ thống cơ sở hạ tầng mạng trong doanh nghiệp:

 Tăng cường khả năng mở rộng

 Nâng cao hiệu suất

 Tính sẵn sàng cao và khắc phục sự cố

Nhiều ứng dụng chuyên sâu có quy mô lớn, vì vậy đòi hỏi các máy chủ phải có

sự cân bằng tải cho nhau mới có thể chạy tốt các ứng dụng như vậy Cả doanh nghiệp

và nhà cung cấp dịch vụ cần sự linh hoạt để triển khai thêm các máy chủ một cách nhanh chóng để đáp ứng được nhu cầu xử lý công việc trong doanh nghiệp Server Load Balancing làm cho nhiều máy chủ xuất hiện như là một máy chủ duy nhất, một dịch vụ đơn ảo, phân phối các yêu cầu người sử dụng trong các máy chủ

Hãy tượng tượng máy chủ xử lý 1 yêu cầu của client mất khoảng 3s, vậy sẽ như thế nào nếu có khoảng 10.000 yêu cầu được gửi đến đồng thời tới một máy chủ? Load Balancing sẽ chịu trách nhiệm phân phối 10.000 yêu cầu này cho một nhóm máy chủ cùng xử lý Mỗi máy chủ sẽ nhận được số lượng yêu cầu dựa vào khả năng xử lý của nó vào thời điểm đó Qua đó giúp việc xử lý các yêu cầu đồng thời của nhiều client được nhanh chóng và không gây nên hiện tượng quá tải cho một máy chủ riêng biệt

Lợi ích thứ ba của cân bằng tải máy chủ là khả năng cải thiện tính sẵn sàng ứng dụng Nếu một ứng dụng hoặc máy chủ không thành công, cân bằng tải có thể tự động phân phối lại yêu cầu dịch vụ người dùng cuối đến các máy chủ khác trong một nhóm

xử lý Khi một máy chủ nào trong nhóm có vấn đề thì các session đang được nó xử lý

sẽ tự động chuyển qua cho các máy chủ khác thực hiện mà client không bị mất session Ngoài ra việc xây dựng mô hình load balancing giúp cho công tác bảo trì của nhân viên kỹ thuật thuận lợi hơn, họ có thể tiến hành bào trì từng bước mà không gây gián đoán đến dịch vụ của mình

Ngày đăng: 21/01/2016, 12:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w