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

Đồ án tìm hiểu và triển khai hệ thống linux virtual server

75 2,5K 14

Đ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 75
Dung lượng 3,01 MB

Nội dung

Đồ án tìm hiểu và triển khai hệ thống linux virtual server

Trang 1

LỜI CẢM ƠN

Trong suốt quá trình học tập và thực hiện đồ án này, tôi đã nhận được sự hướng dẫn và giúp đỡ tận tình của các thầy, cô, gia đình và tập thể lớp D17TMTB Với lòng kính trọng và biết ơn sâu sắc tôi xin bày tỏ lời cảm ơn chân thành đến:

Gia đình và tập thể lớp D17TMTB đã hỗ trợ về mặt tinh thần và vật chất giúp tôi hoàn thành đồ án

Xin gửi lời cảm ơn đến giáo viên bộ môn Hệ Điều Hành Linux thầy

Đặng Ngọc Cường đã cho tôi những kiến thức cơ bản về Linux.

Chân thành cảm ơn Ban giám hiệu nhà trường và khoa Công nghệ thông tin đã tạo điều kiện giúp tôi thực hiện đồ án này

Và đặc biệt nhất tôi xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn

Minh Nhật, người thầy kính mến đã tận tình chỉ bảo tôi trong suốt quá trình

thực hiện đồ án

Trang 2

LỜI CAM ĐOAN

a) Những nội dung trong đồ án là do tôi thực hiện dưới sự chỉ dẫn tận tình từ Giảng viên Thạc sĩ Nguyễn Minh Nhật

b) Những nội dung trong đồ án đều được tích dẫn và ghi rõ thông tin tên tác giả, tên tài liệu, ngày phát hành và đơn vị phát hành, thành gian công bố

c) Mọi sao chép không hợp lệ, quy phạm quy chế đào tạo, tôi xin hoàn toàn chịu trách nhiệm

Tác giả

Trang 3

Nguyễn Văn Châu Khôi

DANH MỤC CÁC TỪ VIẾT TẮT

01 LVS Linux Virtual Server

02 NBL Network Load Balancing

03 TCP Transmission Control Protocol

04 UDP User Datagram Protocol

05 FTP File Transfer Protocol

06 NAT Network Address Translation

07 SAN Storage Area Network

08 CPU Central Processing Unit

09 VPS Virtual Private Server

10 HTTP Hypertext Transfer Protocol

11 GUI Graphical User Interface

12 NAS Network Attached Storage

13 VIP Virtual IP

14 IPVS IP Virtual Server

15 RAID Redundant Array Of Independent Disks

16 RAM Random Access Memory

17 HDD Hard Disk Drive

18 GNU General Public License

19 KDE K Desktop Environment

20 IP Internet Protocol

21 VLAN Virtual Local Area Network

Trang 4

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

Trang 5

MỤC LỤC

Trang 6

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Năm 2012 đánh dấu sự phát triển mạnh mẽ của các hệ thống Cloud Computing và Big Data đi kèm đấy là sự phát triển mạnh mẽ của Internet và nhu cầu của số lượng người dùng ngày một tăng cao Điều này tạo ra cơ hội kinh doanh cũng như khả năng “hái ra tiền” từ các dịch vụ Thương mại điện tử Hàng loạt các Website thương mại điện tử, các mạng xã hội cũng như các dịch vụ khác ra đời nhằm đáp ứng nhu cầu đấy

Tuy nhiên, đứng trước việc luân chuyển dữ liệu mạnh mẽ ấy Các hệ thống

cũ đặc biệt là các Webserver dường như luôn bị quá tải bởi sự luân chuyển

dữ liệu Điều này đưa ra 1 thách thức cho doanh nghiệp Việc xoá bỏ các máy chủ cũ và thay thế một máy chủ mới thật sự tốn kém và chưa hẳn đáp ứng được nhu cầu ngày càng cao của người dùng

Từ những bất cập đấy, một công nghệ mới đã ra đời, công nghệ ảo hoá, mà

“Linux Virtual Server” là một trong những công nghệ đấy Linux Virtual Server như một chiếc phao cứu sinh cho những hệ thống máy chủ cũ Linux Virtual Server là sự kết hợp giữa các máy chủ, tạo nên một máy chủ bao gồm các máy chủ con, đảm nhiệm nhiều công việc khác nhau Việc này cho thấy được khả năng mở rộng cũng như khả năng kết hợp, bắt tay giữa các máy chủ khi cùng chia sẻ tài nguyên cho nhau

Linux Virtual Server kết hợp với “Mô hình mạng có tính sẵn sàng cao và cân bằng tải” dường như là cặp đôi hoàn hảo cho các doanh nghiệp vừa

và nhỏ ngay tại thời điểm này

2 Mục tiêu đề tài

- Tìm hiểu về tổng quan công nghệ ảo hoá

- Tìm hiểu về hệ thống Linux Virtual Server

- Ứng dụng thực tiễn cho các doanh nghiệp vừa và nhỏ tại Việt Nam

3 Phạm vi đề tài

- Nghiên cứu trong phạm vi lý thuyết các vấn đề về hệ thống Linux

Virtual Server

Trang 7

- Cách thức triển khai hệ thống Linux Virtual Server kết hợp với hệ

thống mạng có tính sẵn sàng cao

4 Đối tượng nghiên cứu

- Các lý thuyết về ảo hóa

- Lý thuyết về Linux

- Các mô hình Linux Virtual Server

- Cách triển khai, vận hành mô hình mạng có tính sẵn sàng trên Linux

Virtual Server

5 Phương pháp nghiên cứu

- Sử dụng các kiến thức đã học và các nguồn thông tin có tính xác

thực cao để nghiên cứu

- Sử dụng việc phân tích các vấn đề liên quan một cách logic về lý

thuyết để áp dụng vào thực tiễn

6 Ý nghĩa khoa học và thực tiễn

- Tạo một mô hình mới về hệ thống các máy chủ

- Giúp các doanh nghiệp tại Việt Nam có một hướng giải quyết mới khi

các vấn đề về điều kiện kinh tế còn hạn hẹp

Trang 8

CHƯƠNG 1 TỔNG QUAN VỀ CÔNG NGHỆ ẢO HÓA

1.2 LỊCH SỬ PHÁT TRIỂN

1.2.1 Lịch sử phát triển

Công nghệ ảo hóa (Virtualization) là công nghệ được thiết kế để tạo

ra tầng trung gian giữa hệ thống phần cứng máy tính và phần mềm chạy trên nó

Ý tưởng của công nghệ ảo hóa máy chủ là từ một máy vật lý đơn lẻ

có thể tạo thành nhiều máy ảo độc lập Mỗi một máy ảo đều có một thiết lập nguồn hệ thống riêng rẽ, hệ điều hành riêng và các ứng dụng riêng

Thuật ngữ “Ảo Hóa” ra đời năm 1990 trên những máy tính có khả năng xử lý lớn, ban đầu nó chỉ là những phương pháp phân chia tài chuyên

1 cách hợp lý để chạy các ứng dụng khác nhau, từ đó thuật ngữ “Ảo Hóa” phát triển cho đến nay

1.2.2 Nguyên nhân ra đời của công nghệ ảo hóa máy chủ

Internet trong tương lai, hay các công nghệ mới ra đời và ngày càng phụ thuộc vào hệ thống mạng Từ những thiết bị cơ bản như máy in, máy fax hay Desktop, Laptop và kể cả những thiết bị di động Trong thời điểm bùng nổ thông tin năm 2013, tất cả đều được kết nối Internet, từng giờ, từng phút dữ liệu được cập nhật liên tục Tất cả tạo nên 2 khái niệm Big Data và Cloud Computing

2 khái niệm này ra đời đánh giá 1 cuộc cải tổ về phần cứng trên tất cả các hệ thống máy chủ, những hệ thống máy chủ với phần cứng yếu kém không thể đáp ứng được lưu lượng truy cập khổng lồ của người dùng Bên cạnh đó các vấn đề về khủng hoảng kinh tế năm 2010 đến nay khiến cho việc tính toán chi phí để nâng cấp các phần cứng và hệ thống trở nên quá lớn, và việc loại bỏ những phần cứng cũ tạo ra nhiều thiệt hại không đáng về kinh tế

Trang 9

Từ các yếu tố đấy, để đáp ứng nhu cầu của người dùng thì khái niệm

“Ảo Hóa” là điều tất yếu mà tất cả các doanh nghiệp đều phải quan tâm Tiêu biểu trong đấy bao gồm rất nhiều tập đoàn lớn đã nhảy vào thị trường này như: Vmware, Microsoft, Oracle, Amazon, Redhat, Google…

1.3 GIỚI THIỆU VỀ CÁC CÔNG NGHỆ ẢO HÓA

1.3.1 Tìm hiểu các dịch vụ công nghệ ảo hoá

1.3.1.1 VMware

Trong lịch sử phát triển của công nghệ ảo hóa cho đến nay thì VMware thật sự là cái tên đầu tiên mà khi nhắc đến ảo hóa ai cũng có thể biết, từ những sản phẩm ảo hóa dành cho máy để bàn như Vmware Workstation, VMware Fusion Đến những sản phẩm ảo hóa trong hệ thống máy chủ như vCloud Directorv, Cloud Suite, VMware vSphere Hypervisor Thì sản phẩm nào của VMware đều thực sự rất tốt, chưa kể đến những sản phẩm miễn phí của VMware

Hiện nay, VMware đã bắt tay với IBM trong việc phát triển công nghệ ảo hóa tích hợp vào bên trong phần cứng máy chủ IBM, điều này càng khiến cho VMware trở nên mạnh mẽ và đáng tin cậy hơn bất kỳ công nghệ nào hiện nay, từ đấy VMware trở thành kẻ thống trị thị trường ảo hóa cho đến thời điểm này

1.3.1.2 Citrix

Citrix trước kia là ông trùm trong việc ảo hóa ứng dụng, cho đến ngày hôm nay các sản phẩm ảo hóa Xen Server, CloudPlatform, CloudPortal Business Manager của Citrix đã cum cấp cho 1 số các hệ thống Clound Computing lớn như Amazon EC2, Rackspace, Softlayer

1.3.1.3 Oracle

Oracle cái tên không hề xa lạ, kẻ thống trị trên thị trường máy chủ cơ sở dữ liệu Việc mua lại Sun Microsystems và phát triển hệ điều hành Sun Solaris đã giúp Oracle đưa ra nhiều giải pháp phầm mềm ảo hóa như

Trang 10

1.3.1.4 Microsoft

Microsoft kẻ khổng lồ đứng phía sau VMware trong công nghệ ảo hóa Sở hữu công nghệ ảo hóa duy nhất không dựa trên nhân Linux, Microsoft Hyber-V thực sự là 1 công nghệ tốt, xứng đáng là đối thủ cạnh tranh lớn của VMware

1.3.2 Phân Loại Ảo Hóa

1.3.2.1 Ảo hoá hệ thống máy chủ

a Khái niệm

Ảo hóa hệ thống máy chủ có thể được hiểu nôm na như việc tách rời sự lệ thuộc của hệ điều hành và phần cứng, điều này cho phép nhiều hệ điều hành cùng hoạt động độc lập trên 1 nền tảng phần cứng chung Điều này giải quyết được các nhu cầu về phần cứng cao mà vẫn tối ưu được chi phí khi sử dụng Ảo hóa hệ thống máy chủ thông thường được sử dụng trong việc phát triển các Server ảo (VPS: Virutal Private Server)

Xét về kiến trúc hệ thống các máy chủ ảo hóa có thể chia làm 2 mô hình là HOST-BASED và HYBERVISOR-BASED

b Mô hình hoạt động

Mô hình HOST-BASED

Khái niệm về Hybervisor: Hypervisor hay còn gọi là Virtual Machine

Monitor (VMM), là một lớp phần mềm “mỏng” giữa phần cứng và hệ điều hành để cho phép các hệ điều hành đó quản lý và sử dụng các tài nguyên phần cứng cùng lúc

Trang 11

Hình 1.1 Mô Hình HOST-BASED

Kiến trúc này sử dụng một lớp Hypervisor chạy trên nền tảng hệ điều hành, sử dụng các dịch vụ được hệ điều hành cung cấp để phân chia tài nguyên tới các máy ảo Hypervisor ở đây là một lớp phần mềm riêng biệt,

do đó thì các hệ điều hành khách của máy ảo sẽ nằm trên lớp thứ 3 so với phần cứng máy chủ

Trong 1 hệ thống ảo hóa sử dụng mô hình HOST-BASED bao gồm 4 lớp hoạt động như sau

− Nền tảng phần cứng: Bao gồm các thiết bị nhập xuất, thiết bị lưu trữ (HDD, SSD, Ram), bộ vi xử lý CPU, và các thiết bị khác (các thiết bị mạng, vi xử lý đồ họa, âm thanh…)

− Hệ điều hành HOST: Hệ điều hành này thực hiện việc liên lạc trực tiếp với phần cứng, qua đó cung cấp các dịch vụ và chức năng thông qua hệ điều hành này

− Hệ thống Virtual Machine Monitor (hybervisor): Chạy trên nền tảng hệ điều hành host, các hệ thống này lấy tài nguyên và dịch vụ do hệ điều hành host cung cấp, thực hiện việc quản lý, phân chia trên các tài

Trang 12

Một số hệ thống hypervisor dạng Hosted có thể kể đến như VMware Server, VMware Workstation, Microsoft Virtual Server…

Mô Hình HYBERVISOR-BASED

Hình 1.2 Kiến Trúc HYBERVISOR-BASED

Trong kiến trúc này, lớp phần mềm hypervisor chạy trực tiếp trên nền tảng phần cứng của máy chủ, không thông qua bất kì một hệ điều hành hay một nền tảng nào khác Qua đó, các hypervisor này có khả năng điều khiển, kiểm soát phần cứng của máy chủ Đồng thời, nó cũng có khả năng quản lý các hệ điều hành chạy trên nó

Hệ thống ảo hóa HYBERVISOR-BASED gồm 3 lớp chính

− Nền tảng phần cứng: Bao gồm các thiết bị nhập xuất, thiết bị lưu trữ (HDD, Ram), bộ vi xử lý CPU, và các thiết bị khác (các thiết bị mạng,

vi xử lý đồ họa, âm thanh…)

− Lớp nền tảng áo hóa Virtual Machine Monitor: thực hiện việc liên lạc trực tiếp với nền tảng phần cứng phía dưới, quản lý và phân phối tài nguyên cho các hệ điều hành khác nằm trên nó

− Các ứng dụng máy ảo: Các máy ảo này sẽ lấy tài nguyên từ phần cứng, thông qua sự cấp phát và quản lý của hypervisor

Một số ví dụ về các hệ thống Bare-metal hypervisor như là: Oracle

VM, VMware ESX Server, IBM's POWER Hypervisor (PowerVM),

Trang 13

1.3.2.2 Ảo hoá hệ thống mạng

a) Khái niệm

Ảo hóa hệ thống mạng hình dung một cách đơn giản là gom các dịch

vụ, các ứng dụng dựa trên nền người dùng/máy chủ, đưa chúng lên hệ thống mạng Sau đó, các ứng dụng, dịch vụ này sẽ được gán và cung cấp vào các kênh phù hợp theo nhu cầu (như VLAN), hay ứng dụng cụ thể được đối tượng nào đó yêu cầu để sử dụng (Assign for request)

b) Mô hình hoạt động

Có nhiều phương pháp để thực hiện việc ảo hóa hệ thống mạng Các phương pháp này tùy thuộc vào các thiết bị hỗ trợ, tức là các nhà sản xuất thiết bị đó, ngoài ra còn phụ thuộc vào hạ tầng mạng sẵn có, cũng như nhà cung cấp dịch vụ mạng (ISP) Dưới đây là 2 các mô hình hoạt động của một vài phương pháp đã được nghiên cứu và triển khai bởi Cisco

Ảo hóa lớp mạng (Virtualized Overlay Network)

Trong mô hình này, nhiều hệ thống mạng ảo sẽ cùng tồn tại trên một lớp nền tài nguyên dùng chung Các tài nguyên đó bao gồm các thiết bị mạng như Router, Switch, các dây truyền dẫn, NIC (network interface card).Việc thiết lập nhiều hệ thống mạng ảo này sẽ cho phép sự trao đổi thông suốt giữa các hệ thống mạng khác nhau, sử dụng các giao thức và phương tiện truyền tải khác nhau, ví dụ như mạng Internet, hệ thống PSTN,

hệ thống Voip Điều này làm tăng tính linh động trong hệ thống mạng, giúp doanh nghiệp, người dùng thoát khỏi sự trói buộc của thiết bị, hạ tầng vật lý

Trang 14

Hình 1.3 Ảo hóa lớp mạng

− Substrate link: Các liên kết vật lý nền tảng

− Sustrate router: Các router vật lý

− Virtual link và Substrate router là các thiết bị và liên kết được ảo hóa

Mô hình ảo hóa của Cisco

Trang 15

Hình 1.4 Kiến trúc ảo hóa mạng của CiscoMột giải pháp về ảo hóa hệ thống mạng được Cisco đưa ra, đó là phân mô hình ảo hóa ra làm 3 khu vực, với các chức năng chuyên biệt Mỗi khu vực sẽ có các liên kết với các khu vực khác để cung cấp các giải pháp đến tay người dùng 1 cách thông suốt Cụ thể như sau:

− Khu vực quản lý truy nhập (Access Control): Có nhiệm vụ chứng thực người dùng muốn đăng nhập để sử dụng tài nguyên hệ thống, qua đó

sẽ ngăn chặn các truy xuất không hợp lệ của người dùng; ngoài ra khu vực này còn kiểm tra, xác nhận và chứng thực việc truy xuất của người dùng trong vào các vùng hoạt động (như là VLan, Access list)

− Khu vực đường dẫn (Path Isolation): Nhiệm vụ của khu vực này là

 Duy trì liên lạc thông qua hạ tầng cấu trúc Layer 3 (tầng Network trong mô hình OSI)

 Vận chuyển liên lạc giữa các vùng khác nhau trong hệ thống Trong các vùng này sử dụng giao thức khác nhau, như MPLs (Multiprotocol Label Switching) và VRF (Virtual Routing and Forwarding), do đó cần một cầu nối để liên lạc giữa chúng)

 Ngoài ra, khu vực này có nhiệm vụ liên kết (maping) giữa các

Trang 16

− Khu vực liên kết với dịch vụ (Services Edge): Tại đây sẽ áp dụng những chính sách phân quyền, cũng như bảo mật ứng với từng vùng hoạt động cụ thể; đồng thời qua đó cung cấp quyền truy cập đến dịch

vụ cho người dùng Các dịch vụ có thể ở dạng chia sẻ hay phân tán, tùy thuộc vào môi trường phát triển ứng dụng và yêu cầu của người dùng

1.3.2.1 Ảo hoá hệ thống lưu trữ

a) Khái niệm

Ngày nay, nhu cầu lưu trữ dữ liệu của người dùng, doanh nghiệp ngày càng tăng lên Và hiển nhiên khi nhu cầu ấy tăng lên, các doanh nghiệp cần một số lượng đĩa cứng tăng tương ứng, cùng với sự phát triển dung lượng của các đĩa Do đó, vấn đề bị phát sinh khi doanh nghiệp có quá nhiều thiết bị lưu trữ vật lý cần được quản lý Mặc dù có nhiều phương pháp được đề xuất để phục vụ cho việc quản lý này như RAID (Ghép nhiều đĩa cứng vật lý thành 1 đĩa cứng, qua đó gia tăng tốc độ đọc ghi và có khả năng chịu lỗi cao), NAS (Network-attached storage), và SAN (Storage-area networks), việc quản lý vẫn rất khó khăn và độ phức tạp cao Do đó, khái niệm ảo hóa hệ thống lưu trữ (Storage virtualization) ra đời Ảo hóa hệ thống lưu trữ, về cơ bản là sự mô phỏng, giả lập việc lưu trữ từ các thiết bị lưu trữ vật lý Các thiết bị này có thể là băng từ, ổ cứng hay kết hợp cả 2 loại

Trang 17

Hình 1.5 Ảo Hóa Hệ Thống Lưu Trữ

Ảo hóa hệ thống lưu trữ mang lại các ích lợi như việc tăng tốc khả năng truy xuất dữ liệu, do việc trải rộng và phân chia các tác vụ đọc/ghi trong mạng lưu trữ Ngoài ra, việc mô phỏng các thiết bị lưu trữ vật lý cho phép tiết kiệm thời gian hơn thay vì phải định vị xem máy chủ nào hoạt động trên ổ cứng nào để truy xuất

b) Mô hình hoạt động

Mô Hình HOST-BASED

Hình 1.6 Mô Hình HOST-BASEDTrong mô hình này, ngăn cách giữa lớp ảo hóa và ổ đĩa vật lý là driver điều khiển của các ổ đĩa Phần mềm ảo hóa sẽ truy xuất tài nguyên (các ổ cứng vật lý) thông qua sự điều khiển và truy xuất của lớp Driver này

Mô Hình STORAGE-DEVICE-BASED

Trang 18

Hình 1.7 Mô Hình STORAGE-DEVICE-BASED

Trong dạng này, phần mềm ảo hóa giao tiếp trực tiếp với ổ cứng Ta

có thể xem như đây là 1 dạng firmware đặc biệt, được cài trực tiếp vào ổ cứng Dạng này cho phép truy xuất nhanh nhất tới ổ cứng, nhưng các thiết lập thường khó khăn và phức tạp hơn các mô hình khác Dịch vụ ảo hóa được cung cấp cho các Server thông qua một thiết bị điều khiển gọi là Primary Storage Controller

Mô Hình NETWORK-BASED

Hình 1.8 Mô Hình NETWORK-BASEDTrong mô hình này, việc ảo hóa sẽ được thực thi trên một thiết bị mạng, ở đây có thể là một thiết bị switch hay server Các switch/server này

Trang 19

kết nối với các trung tâm lưu trữ (SAN) Từ switch/server này, các ứng dụng kết nối vào được giao tiếp với trung tâm dữ liệu bằng các “ổ cứng” mô phỏng do Switch/server tạo ra dựa trên trung tâm dữ liệu thật Đây cũng là

mô hình hay gặp nhất trên thực tế

1.3.2.4 Ảo hoá ứng dụng

a) Khái niệm

Thông thường, khi muốn sử dụng một phần mềm nào đó như office, design, người dùng hay có suy nghĩ rằng cần phải tốn thời gian cài đặt phần mềm đó lên trên máy tính, cụ thể hơn là lên hệ điều hành đang sử dụng Điều này tốn khá nhiều thời gian, nhất là nếu áp dụng trên những doanh nghiệp lớn, có cả ngàn máy tính, và đồng thời vấn đề quản lý các phần mềm này như ai truy xuất, thời gian truy xuất cho phép ra sao trở thành một thách thức thật sự

Do đó, khái niệm ảo hóa ứng dụng ra đời Một ứng dụng được ảo hóa sẽ không được cài đặt lên máy tính một cách thông thường, mặc dù ở góc độ người sử dụng, ứng dụng vẫn hoạt động một cách bình thường Ảo hóa ứng dụng sẽ giúp tách rời sự phụ thuộc giữa nền tảng phần cứng, hệ điều hành và ứng dụng với nhau

b) Mô hình hoạt động

Có nhiều mô hình ảo hóa ứng dụng khác nhau trong đó vó thể kể đến như Citrix với mô hình Application Streaming, Microsoft với mô hình Microsoft Application Virtualization Dưới đây là mô hình Application Streaming của Citrix

Trang 20

Hình 1.9 Mô hình Application Streaming của Citrix

Kỹ thuật streaming cho phép người quản lý có thể “đẩy” và quản lý các ứng dụng trên nền tảng hệ điều hành Windows đến bất cứ người dùng nào theo yêu cầu Cụ thể hơn, thông qua các đường truyền dữ liệu được dành riêng, các ứng dụng được tải về thiết bị của người dùng, sau đó chạy trên một môi trường giả lập Các thành phần của hệ thống application streaming này bao gồm:

− Application Profiler: Tại đây các application được đóng gói, kèm với

nó là các thông tin như tài nguyên cần thiết để chạy ứng dụng, các quy tắc khi triển khai trên thiết bị người dùng, các thành phần của ứng dụng…

− Application Hub: Sau khi đã được đóng gói kèm theo các thông tin cần thiết, các ứng dụng/phần mềm được lưu trữ tại đây

Một đặc điểm với kỹ thuật này là: Các ứng dụng được lưu trữ tại bộ nhớ cục bộ tại các máy tính cuối của người dùng, và được sử dụng như các phần mềm được cài đặt theo cách truyền thống Nhưng thật sự nó không được cài đặt, mà là chạy trên lớp đệm là môi trường ảo hóa nằm ngay trên hệ điều hành

1.3.3 Thành phần của hệ thống ảo hoá

Một hệ thống ảo hóa bao gồm những thành phần sau

− Tài nguyên vật lý (host machine,host hardware)

− Các phần mềm ảo hóa (virtual software) cung cấp và quản lý môi trường làm việc của các máy ảo

− Máy ảo (virtual machine) là các máy được cài trên phần mềm ảo hóa

− Hệ điều hành: là hệ điều hành được cài trên máy ảo

Trang 21

Hình 1.10 Các thành phần của hệ thống ảo hóa

1.3.3.1 Tài nguyên vật lý

Các tài nguyên vật lý trong môi trường ảo hóa cung cấp tài nguyên

mà các máy ảo sẻ sử dụng đến Một môi trường tài nguyên lớn có thể được dùng cho nhiều máy ảo chạy trên nó và hiệu quả làm việc của các máy ảo cao hơn.Các tài nguyên vật lý thông thường như là ổ đĩa cứng, ram, card mạng

1.3.3.2 Phần mềm ảo hoá

Lớp phần mềm ảo hóa này cung cấp sự truy cập cho mỗi máy ảo đến tài nguyên hệ thống Nó cũng chịu trách nhiệm lập kế hoạch và phân chia tài nguyên vật lý cho các máy ảo Phần mềm ảo hóa là nền tảng của một môi trường ảo hóa Nó cho phép tạo ra các máy ảo cho người sử dụng, quản lý các tài nguyên và cung cấp các tài nguyên này đến các máy ảo Kế hoạch quản lý sử dụng tài nguyên khi có sự tranh chấp một tài nguyên đặc biệt của các máy ảo, điều này dẫn tới sự hiệu quả làm việc của các máy ảo Ngoài ra phần mềm ảo hóa còn cung cấp giao diện quản lý và cấu hình cho các máy ảo

Trang 22

1.3.3.3 Máy ảo

Thuật ngữ máy ảo được dùng chung khi miêu tả cả máy ảo và hệ điều hành ảo Máy ảo thực chất là một phần cứng ảo một môi trường hay một phân vùng trên ổ đĩa Trong môi trường này có đầy đủ các thiết bị phần cứng như một máy thật Đây là một kiểu phần mềm ảo hóa dựa trên phần cứng vật lý Các hệ điều hành khách mà chúng ta cài trên các máy ảo này không biết phần cứng mà nó nhìn thấy là phần cứng ảo

1.3.3.4 Hệ điều hành khách

Hệ điều hành khách được xem như một phần mềm được cài đặt trên một máy ảo giúp ta có thể sử dụng dễ dàng và xử lý các sự cố trong môi trường ảo hóa Nó giúp người dùng có những thao tác giống như là đang thao tác trên một lớp phần cứng vật lý thực sự

1.3.4 Ưu điểm và nhược điểm của công nghệ ảo hoá

1.3.4.1 Ưu điểm của công nghệ ảo hoá

Từ những lý thuyết về ảo hóa trên, ta có thể thấy rằng công nghệ ảo hóa là một trong những công nghệ giúp tiết kiệm về chi phí phần cứng vì phần lớn tất cả các phần cứng cũ đều được sử dụng lại Ngoài ra ưu điểm lớn nhất của ảo hóa là tối ưu hóa việc sử dụng các tài nguyên vật lý như Router, Switch, CPU và các tài nguyên logic như tài nguyên vi xử lý, tài nguyên mạng, tài nguyên lưu trữ

Các hệ thống ảo hóa còn tách biệt tương tác với các phần cứng nên ảo hóa có thể giúp phần cứng ít hư hỏng hơn

1.3.4.2 Nhược điểm của công nghệ ảo hoá

Đối với công nghệ ảo hóa, nhược điểm lớn nhất là hiệu suất của ảo hóa, các máy ảo hay các thiết bị ảo đều cho hiệu suất kém hơn các phần cứng thật

Các hệ thống ảo hóa đều được hỗ trợ các phần mềm quản trị tập trung từ xa, điều này giúp người quản trị có khả năng quản lý hệ thống tốt hơn, tuy nhiên nếu không được hỗ trợ thì hệ thống ảo hóa thực sự khó quản lý hơn rất nhiều Ngoài ra việc cài đặt các ứng dụng hỗ trợ ảo hóa

Trang 23

cũng nan giải hơn, vì không phải ứng dụng nào cũng hỗ trợ cho việc ảo hóa.

Trang 24

CHƯƠNG 2 LINUX VIRTUAL SERVER

2.1 TỔNG QUAN VỀ LINUX

2.1.1 Giới thiệu về Linux

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 được phát triển dựa trên 1 phần của hạt nhân của UNIX Nó có lẽ là một ví dụ nổi tiếng nhất của ầph n m ề m t ự do và của việc phát triển mã ngu ồ n m ở

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 (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

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

Trang 25

phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ tin cậy cao 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

2.1.2 Ưu điểm nổi bật của Linux

Khi nhắc đến Linux thì điều đầu tiên mà ai cũng có thể nhận ra là nó hoàn toàn miễn phí Tuy nhiên đấy không phải là nguyên nhân giúp Linux trở nên phổ biến Linux có những đặc điểm nổi trội mà các hệ điều hành khác không có được

2.1.1.1 Linh hoạt, uyển chuyển

Linux là một hệ điều hành mã nguồn mở nên bất cứ ai cũng có thể tùy ý sửa chữa theo như mình thích (miễn là người đấy có đủ kiến thức) Bạn có thể chỉnh sửa Linux và các ứng dụng trên đó sao cho phù hợp với mình nhất Việc Việt hóa Windows được xem là không thể nếu như bạn không có sự đồng ý và hỗ trợ của Microsoft Tuy nhiên với Linux thì bạn có thể làm được điều này một cách đơn giản hơn Mặt khác do Linux được một cộng đồng rất lớn những người làm phần mềm cùng phát triển trên các môi trường, hoàn cảnh khác nhau nên tìm một phiên bản phù hợp với yêu cầu của bạn sẽ không phải là một vấn đề quá khó khăn

Tính linh hoạt của Linux còn được thể hiện ở chỗ nó tương thích được với rất nhiều môi trường Hiện tại, ngoài Linux dành cho server, máy tính để bàn nhân Linux (Linux kernel) còn được nhúng vào các thiết bị điều khiển như máy tính palm, robot Phạm vi ứng dụng của Linux được xem

là rất rộng rãi

2.1.1.2 Độ an toàn cao

Trang 26

thống Ngoài ra Linux cũng có cơ chế để một người dùng bình thường có thể chuyển tạm thời chuyển sang quyền "root" để thực hiện một số thao tác Điều này giúp cho hệ thống có thể chạy ổn định và tránh phải những sai sót dẫn đến sập toàn bộ hệ thống Trong những phiên bản Windows gần đây,

cơ chế phân quyền này cũng đã bước đầu được áp dụng, nhưng so với Linux thì vẫn kém chặt chẽ hơn

Ngoài ra chính tính chất "mở" cũng tạo nên sự an toàn của Linux Nếu như một lỗ hổng nào đó trên Linux được phát hiện thì nó sẽ được cả cộng đồng mã nguồn mở cùng vá lỗi và thường thì chỉ sau 24h sẽ có thể cho ra bản vá Mặt khác đối với những hệ điều hành mã nguồn đóng như Windows, bạn không thể biết được người ta viết gì, và viết ra sao mà chỉ biết được chúng chạy như thế nào Vì vậy nếu như Windows có chứa những đoạn mã cho phép tạo những "backdoor" để xâm nhập vào hệ thống của bạn thì bạn cũng không thể biết được Đối với người dùng bình thường như chúng ta vấn đề này có vẻ như không quan trọng nhưng đối với một hệ thống tầm cỡ như hệ thống quốc phòng thì vấn đề như thế này lại mang tính sống còn Các nhân viên an ninh không được phép để lộ một kẽ hở nào, dù là nhỏ nhất vì nó liên quan đến an ninh của cả một quốc gia.Và một lần nữa các phần mềm mã nguồn mở nói chung và Linux nói riêng lại là sự lựa chọn số một Trong Linux mọi thứ đều công khai, người quản trị có thể tìm hiểu tới mọi ngõ ngách của hệ điều hành Điều đó cũng có nghĩa là độ

an toàn được nâng cao

2.1.1.3 Thích hợp cho quản trị mạng

Được thiết kế ngay từ đầu cho chế độ đa người dùng, Linux được xem là một hệ điều hành mạng rất giá trị Nếu như Windows tỏ ra là một hệ điều hành thích hợp với máy tính Desktop thì Linux lại là hệ điều hành thống trị đối với các Server Đó là do Linux có rất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ điều hành mạng: tính bảo mật cao, chạy ổn định, các cơ chế chia sẻ tài nguyên tốt… Giao thức TCP/IP mà chúng ta vẫn thấy ngày nay chính là một giao thức truyền tin của Linux (sau này mới được đưa vào Windows)

Trang 27

2.1.1.4 Chạy thống nhất trên các hệ thống phần cứng

Dù cho có rất nhiều phiên bản Linux được các nhà phân phối khác nhau ban hành nhưng nhìn chung đều chạy khá ổn định trên mọi thiết bị phần cứng, từ Intel 486 đến những máy Pentium mới nhất, từ những máy

có dung lượng RAM chỉ 4MB đến những máy có cấu hình cực mạnh (tất nhiên là tốc độ sẽ khác nhau nhưng về nguyên tắc vẫn có thể chạy được) Nguyên nhân là Linux được rất nhiều lập trình viên ở nhiều môi trường khác nhau cùng phát triển (không như Windows chỉ do Microsoft phát triển) và bạn sẽ bắt gặp nhiều người có "cùng cảnh ngộ" như mình và dễ dàng tìm được các driver tương ứng với thiết bị của mình Tính chất này hoàn toàn trái ngược với Windows Mỗi khi có một phiên bản Windows mới ra đời thì bao giờ kèm theo đó cũng là một cơn khát về phần cứng vì hệ điều hành mới thường không hỗ trợ các thiết bị quá cũ

2.1.2 Các bản phân phối Linux

Linux vốn là hệ điều hành mã nguồn mở cho nên hiện nay có rất nhiều bản phân phối khác nhau Dưới đây là 1 số bảng phân phối cơ bản của Linux

Bảng 1.1: Các bảng phân phối Linux

Tên bản phân phối Trang web chính thức Các bản tương tự

Debian GNU/Linux 5.0 www.debian.org

Trang 28

Sabayon

Dreamlinux

OpenSolaris 2008 www.opensolaris.org

Hacao Linux 4.21 http://www.hacao.com/

Asianux 2.0 http://www.asianux.com/ Asianux Server

Asianux http://www.asianux.com/ Asianux Server 3

Fenix Desktop 2009 http://www.rongvietnam.vn/

2.1.3 Hệ điều hành Centos

2.1.3.1 Nguồn gốc

CentOS (tên viết tắt của Community ENTerprise Operating System )

là một phân phối Linux tập trung vào lớp doanh nghiệp, xây dựng từ nhiều nguồn miễn phí (theo GPL và một số bản quyền tương tự) của Red Hat

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ăng tương thích nhị phân 100% với nguồn thượng nguồn của nó, Red Hat

CentOS dựa trên nền tảng Red Hat Enterprise Linux , hỗ trợ dòng x86 (i586 và i686), dòng x86_64 (AMD64 và Intel EMT64), các cấu trúc IA64, Alpha, S390 và S390x

Trang 29

2.1.3.2 Lịch Sử Phát Hành

Bảng 1.2 Lịch sử phát hành Centos

S390,S390X

4.3 21/03/2006 12/03/2006

2.1.3.3 Yêu Cầu Phần Cứng

CentOS có thể cài đặt trên các loại máy tính để bàn, máy tính mini có cấu trúc dựa trên nền tảng Intel-based Mac architectures (dành cho chíp 64bit có phiên bản riêng) Yêu cầu tối thiểu để chạy Ubuntu là 256MB RAM (384MB RAM để chạy trực tiếp Ubuntu từ đĩa CD), nhưng khuyến cáo nên cài đặt trên máy có 512MB RAM trở lên Ubuntu khi cài đặt vào ổ đĩa cứng cần ít nhất 5GB trống (bao gồm cả phân vùng trao đổi) Nên có card đồ họa mạnh để sử dụng các hiệu ứng trên giao diện đồ họa

Trang 30

2.2 GIỚI THIỆU VỀ CLUSTERING

2.2.1 Tổng quan về Clustering

2.2.1.1 Khái niệm

Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng cho các hệ thống mạng Clustering bao gồm nhiều server riêng lẻ được liên kết và hoạt động cùng với nhau trong một hệ thống Các server này giao tiếp với nhau để trao đổi thông tin và giao tiếp với mạng bên ngoài

để thực hiện các yêu cầu Khi có lỗi xảy ra các dịch vụ trong cluster hoạt động tương tác với nhau để duy trì tính ổn định và độ sẵn sàng cao cho hệ thống

Hình 2.1 Mô Hình Clustering

2.2.1.2 Cấu trúc Clustering

Tùy theo nhu cầu mà chúng ta có thể triển khai nhiều dịch vụ trên cùng 1 cluster hay cài đặt trên mỗi node 1 dịch vụ, nói chung cấu trúc của 1 cluster không cố định nhưng chủ yếu chúng ta thấy hữu ích nhất là các loại cấu trúc như

a) Dịch vụ chạy song song: Triển khai 2 dịch vụ trên hệ thống cluster thì

có 1 phương pháp đơn giản là cài đặt cả 2 dịch vụ ấy vào mỗi node của cluster Ở cấu trúc này thì 2 dịch vụ trên cùng 1 server do đó nếu

Trang 31

ứng này bị lỗi thì sẽ ảnh hưởng đến dịch vụ kia, hiệu quả của hệ thống cluster thấp

Hình 2.2 Dịch vụ chạy song song trên mỗi node

b) Cluster riêng lẻ: Tạo 2 hệ thống cluster riêng lẻ, trong mỗi cluster cài

đặt duy nhất 1 dịch vụ Ở cấu trúc này thì hệ thống sẽ hiệu quả hơn nếu có dịch vụ nào đó bị lỗi thì cũng không ảnh hưởng đến các dịch

vụ khác Nhưng chi phí đầu tư cho kiểu này rất cao bởi vì số lượng các node cho mỗi dịch vụ nhiều hơn loại a ở trên

Trang 32

Hình 2.3 Hệ thống Clustering chứa 2 dịch vụ khác nhau

c) Dịch vụ dự phòng: Triển khai cả 2 dịch vụ trên cùng 1 cluster, mỗi

node cài 1 dịch vụ nhưng khác với loại 1 là sẽ có 1 cluster làm nhiệm

vụ backup Cụ thể như hình cho ta thấy hệ thống này có 1 node passive dùng làm backup và cài cả 2 dịch vụ của node 1 và node 2 (2 node Active) Nếu 1 trong 2 node này bị lỗi thì node passive sẽ thay thế chức năng của node bị lỗi

Hình 2.4 Hai node active được dự phòng bởi 1 node passive

2.2.2 Phân loại Clustering

Kỹ thuật clustering được chia thành hai loại là Cluster và Network Load Balancing

2.2.2.1 Cluster

Được dùng cho các ứng dụng hoạt động thường xuyên trong thời gian dài bao gồm các database server hay còn gọi là các ứng dụng stateful applications Tất cả các node trong cluster dùng chung một nơi lưu trữ dữ liệu có thể sử dụng công nghệ SCSI (Small Computer System Interface)

Trang 33

hay Storage Area Network (SAN) chi tiết về SAN sẽ được trình bày trong chương tiếp theo.

2.2.2.2 Network Load Balancing

Network Load Balancing(NLB) Là một loại khác của kỹ thuật clustering có khả năng chia tải và nâng cao khả năng chịu lỗi của hệ thống Được dùng cho các ứng dụng hoạt động không tiên tục như File tranfer protocol (FTP) hay Virtual Private Network (VPN) Các node trong cluster không dùng chung một nơi lưu trữ cơ sở dữ liệu cho nên cần phải có quá trình đồng bộ hóa (replication) dữ liệu giữa các nơi lưu trữ, số lượng node càng nhiều thì thời gian cho việc đồng bộ càng lâu

Mỗi node trong nhóm có thể định ra mức tải mà nó sẽ xử lý hoặc tải

có thể phân phối một cách đồng đều giữa các node Nhờ sử dụng việc phân phối tải này, mỗi server sẽ lựa chọn và xử lý một phần yêu cầu Tải do các client gửi đến được phân phối sao cho mỗi server nhận được số lượng các yêu cầu theo đúng phần tải đã định của nó Sự cân bằng tải này có thể điều chỉnh động khi các host tham gia vào hoặc rời khỏi nhóm

Các node trong nhóm cân bằng tải phát đi một bản tin đặc biệt thông báo trạng thái hoạt động của nó (heartbeat message) tới các node khác trong nhóm đồng thời nghe bản tin này từ các node khác Nếu một node trong nhóm gặp sự cố, các node còn lại sẽ điều chỉnh và tái phân phối lại tải

để duy trì việc cung cấp dịch vụ một cách liên tục cho các client

NLB sử dụng thuật toán lọc phân tán hoàn toàn để ánh xạ các client đến các node trong nhóm Thuật toán này cho phép các node trong nhóm đưa ra các quyết định cân bằng tải một cách độc lập và nhanh chóng cho từng gói đến Nó được tối ưu hoá để cung cấp khả năng cân bằng tải một cách thống kê đối với một số lượng lớn các yêu cầu nhỏ do vô số client tạo ra

Một điểm cần lưu ý là cả cluster và network load balancing đều có khả năng cân bằng tải và có khả năng chịu lỗi (failover) cho các dịch vụ Tuy

Trang 34

không được chuyển tới node này cho đến khi nào node khôi phục lại trạng thái hoạt động bình thường Trong khi đối với network load balancing thì không có cơ chế này.

2.2.3 Nguyên tắc hoạt động của Clustering

Mỗi máy chủ trong cluster được gọi là một node (cluster node), và có thể được thiết lập ở chế độ chủ động (active) hay thụ động (passive) Khi một node ở chế độ chủ động, nó sẽ chủ động xử lý các yêu cầu Khi một node là thụ động, nó sẽ nằm ở chế độ dự phòng nóng (standby) chờ để sẵn sàng thay thế cho một node khác nếu bị hỏng

Trong một cluster có nhiều node có thể kết hợp cả node chủ động và node thụ động Trong những mô hình loại này việc quyết định một node được cấu hình là chủ động hay thụ động rất quan trọng Để hiểu lý do tại sao, hãy xem xét các tình huống sau:

− Nếu một node chủ động bị sự cố và có một node thụ động đang sẵn sàng, các ứng dụng và dịch vụ đang chạy trên node hỏng có thể lập tức được chuyển sang node thụ động Vì máy chủ đóng vai trò node thụ động hiện tại chưa chạy ứng dụng hay dịch vụ gì cả nên nó có thể gánh toàn bộ công việc của máy chủ hỏng mà không ảnh hưởng gì đến các ứng dụng và dịch vụ cung cấp cho người dùng cuối

− Nếu tất cả các máy chủ trong cluster là chủ động và có một node bị

sự cố, các ứng dụng và dịch vụ đang chạy trên máy chủ hỏng sẽ phải chuyển sang một máy chủ khác cũng đóng vai trò node chủ động Vì

là node chủ động nên bình thuờng máy chủ này cũng phải đảm nhận một số ứng dụng hay dịch vụ gì đó, khi có sự cố xảy ra thì nó sẽ phải gánh thêm công việc của máy chủ hỏng Do vậy để đảm bảo hệ thống hoạt động bình thường kể cả khi có sự cố thì máy chủ trong cluster cần phải có cấu hình dư ra đủ để có thể gánh thêm khối lượng công việc của máy chủ khác khi cần

Trang 35

2.3 TỔNG QUAN VỀ LINUX VIRTUAL SERVER

2.3.1 Giới thiệu về Linux Virtual Server

Linux virtual server (LVS) là kỹ thuật tập hợp các server thành một server duy nhất đối với client Server này được gọi là virtual server, bên trong là các real server, chúng chịu sự điều khiển của director hay còn gọi là load balancer với một địa chỉ IP ảo (IPV) IPVS là một đặc tính quan trọng trong load balancer, nó thực hiện cân bằng tải ở tầng vận chuyển bên trong nhân linux Nó điều hướng các yêu cầu về các dịch vụ TCP/UDP tới các real server và làm cho các dịch vụ của real server xuất hiện như một dịch vụ

ảo với một IP duy nhất

Load balancer được xem như một router lớp 4 nắm giữ bảng định tuyến Khi client gửi yêu cầu đến một dịch vụ mà LVS cung cấp, director sẽ lựa chọn một real server thích hợp và sau đó yêu cầu sẽ được chuyển đến cho real server đó Sự giao tiếp giữa client và real server chỉ tồn tại trong một phiên kết nối, ở phiên kết nối khác thì director sẽ chọn một real server khác

LVS cung cấp các dịch vụ mạng có tính sẵn sàng và độ tin cậy cao bằng việc sử dụng cluster là tập hợp của nhiều real server Chồng giao thức TCP/IP của nhân linux được mở rộng để hổ trợ 3 kỹ thuật IP Load Balancing mà có thể tạo ra nhiều dịch vụ chạy song song trên các real server khác nhau của cluster để tạo ra một dịch vụ với một IP duy nhất Tính tin cậy cũng được thực hiện bằng việc thêm hay gỡ bỏ real server một cách trong suốt trong hệ thống cluster cũng như khả năng phát hiện sự cố

và khắc phục lỗi của node hoặc daemon một cách tương thích

2.3.2 Kiến trúc chung của Linux Virtual Server

2.3.2.1 Các thành phần trong hệ thống LVS

Trang 36

Hình 2.5 Các thành phần trong hệ thống LVS

− Virtual Server: Tập hợp các server thành một hệ thống duy nhất

− Real Server: Các server các dịch vụ để cung cấp cho client như: Web, mail, ftp, dns … Các server này nằm sau Load balancer

− Virtual service: Các dịch vụ mà virtual server cung cấp cho client

− Director: hay còn gọi là Load balancer, là server cài LVS, nó tiếp nhận yêu cầu từ client và phân phối cầu đến các real server Server làm director không cài ứng dụng hay dịch vụ nào cả

− IPVS (IP Virtual Server): Là một thành phần quan trọng trong LVS, nó được tích hợp trong nhân Linux Nhiệm vụ của nó là tiếp nhận yêu cầu từ client và phân phối đến các real server trong hệ thống

− VIP (Virtual IP): Director sử dụng một địa chỉ IP ảo để giao tiếp với client Khi client gửi yêu cầu đến VIP, director sẽ lựa chọn real server thích hợp và chuyển yêu cầu tới nó Các dịch vụ mà real server cung

Trang 37

cấp có thể tìm thấy ở /etc/services LVS được đại diện bằng một địa chỉ IP trên director khi giao tiếp với client VIP không phải là địa chỉ của của bất kỳ director hay real server nào cả Mỗi director có thể có nhiểu VIP, mỗi VIP dùng cho một dịch vụ Các VIP này có thể được trả lời từ các real server khác nhau hoặc từ một real server.

2.3.2.2 Kiến trúc 3 lớp trong hệ thống LVS

Kiến trúc 3 lớp của LVS được mô tả như hình sau:

− Load Balancer: là front-end đối với dịch vụ và được thấy bởi client

Nó điều khiển các kết nối từ client đến các real server trong cluster

− Server Cluster: là tập hợp các Real Server nằm trong cluster đang thực thi các dịch vụ có thể cung cấp cho client

− Storage: cung cấp lưu trữ chia sẽ cho các server để các server có thể

dễ dàng theo dõi cùng một nội dung và cung cấp các dịch vụ giống nhau

Load balancer hổ trợ các kết nối đi vào bằng cách sử dụng kỹ thuật

IP Load Balancer, nó lựa chọn server từ Server Cluster, duy trì kết nối hiện hành và thực hiện chuyển gói tin, tất cả các công việc đều được thực hiện bên trong nhân vì vậy nên Load Balancer có thể hổ trợ số lượng lớn kết nối

mà không xảy ra tình trạng thắc cổ chai (bottleneck) Các server trong kiến trúc này có thể sao chép qua lại với nhau để tang tính sẵn sàng và tính bảo mật Khi yêu cầu được chuyển tới thì hệ thống sẽ tính toán xem node server nào phù hợp để chọn, có thể có nhiều node server được chọn để tối

ưu hóa công việc Một trong những thuận lợi của hệ thống cluster là nó có tính dư thừa về phần cứng và phần mềm Tính sẵn sàng cao được cung cấp bởi sự phát hiện sự hư hỏng của các node hay dịch vụ và cấu hình lại

để hệ thống để mà công việc có thể thực hiện trên các node trong cluster Thông thường sẽ có một dịch vụ giám sát cluster chạy trên Load Balancer

để theo dõi tình trạng của các Real server Nếu không thể ping hay không nhận được phản hồi từ các real server trong một thời gian nào đó thì dịch

Ngày đăng: 07/06/2014, 08:15

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w