Kỹ thuật cluster

Một phần của tài liệu Ứng Dụng Random Forest Nhận Dạng Lỗi Cho Cloud Computing Iaas (LV thạc sĩ) (Trang 27 - 30)

Chúng ta đều biết các máy chủ là trái tim của của mạng máy tính, nếu máy chủ mạng hỏng, hoạt động của hệ thống sẽ bị ngưng trệ. Điều đáng tiếc là dù các hãng sản xuất đã cố gắng làm mọi cách để nâng cao chất lượng của thiết bị, nhưng những hỏng hóc đối với các thiết bị mạng nói chung và các máy chủ nói riêng là điều không thể tránh khỏi.

Do vậy, vấn đề đặt ra là cần có một giải pháp để đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng, và công nghệ clustering là câu trả lời cho vấn đề này.

Kỹ thuật Clustering được chia làm 2 loại gồm Cluster và Network Load Balancing (cân bằng tải) (NLB)

 Cluster: được dùng cho các ứng dụng Stateful applications (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 như là Microsoft MySQL Server, Microsoft Exchange Server, File and Print Server… Tất cả các node trong Cluster dùng chung 1 nơi lưu trữ dữ liệu có thể dùng công nghệ SCSI hoặc Storage Area Network (SAN). Windows Sever 2003 Enterprise và Datacenter hỗ trợ cluster lên đến 8 node trong khi đó Windows 2000 Advance Server hỗ trợ 2 node còn Windows 2000 Datacenter Server được 4 node.

 NLB (Cân bằng tải mạng): 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 tốt hơn. Được dùng cho các ứng dụng Stateless applications (các ứng dụng hoạt động mang tính nhất thời) như Web, File Tranfer Protocol (FTP), Virtual Private Network (VPN), DHCP…Mỗi node phải dùng riêng một nơi lưu trữ cục bộ (Local Storage) cho nên cần phải có quá trình đồng bộ hóa (replication) dữ liệu ở mỗi nơi lưu trữ, số lượng node càng nhiều thì thời gian cho việc replication càng lâu chính vì điều này nên ta không nên triển khai các ứng

dụng Stateful trên kỹ thuật NLB này nhằm đảm bảo tính chính xác của dữ liệu. Luận văn không nói chi tiết về kỹ thuật này.

Cấu trúc của Cluster

Trong Cluster tùy theo nhu cầu mà chúng ta có thể triển khai nhiều ứng dụng trên cùng 1 cluster hay cài đặt trên mỗi node 1 ứng dụng, 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 sau:

 Thứ 1: Nếu ta triển khai 2 ứng dụng stateful trên hệ thống cluster thì có 1 phương pháp đơn giản là cài đặt cả 2 ứng dụng ấy vào mỗi node của cluster. Ở cấu trúc này thì 2 ứng dụng trên cùng 1 server do đó nếu ứng này bị lỗi thì sẽ ảnh hưởng đến ứng dụng kia, hiệu quả của hệ thống cluster thấp.

 Thứ 2: Tạo 2 hệ thống cluster riêng lẻ, trong mỗi cluster cài đặt duy nhất 1 ứng dụng. Ở cấu trúc này thì hệ thống sẽ hiệu quả hơn nếu có ứng dụng nào đó bị lỗi thì cũng không ảnh hưởng đến các ứng dụng 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 ứng dụng nhiều hơn loại 1.

 Thứ 3: Triển khai cả 2 ứng dụng trên cùng 1 cluster, mỗi node cài 1 ứng dụng nhưng khác với loại 1 là sẽ có 1 cluster làm nhiệm vụ backup (dự phòng). Hệ thống này có 1 node passive dùng làm backup và cài cả 2 ứng dụng 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ệ thống này có hiệu quả cao hơn 2 loại trước

Chế độ hoạt động

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ế dộ 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 (stanby) 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 (Ngầm định rằng các các máy chủ trong cluster có cấu trúc phần cứng giống nhau).

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 thườ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.

Trong cấu trúc cluster mà mỗi node chủ động được dự phòng bởi một node thụ động, các máy chủ cần có cấu hình sao cho với khối lượng công việc trung bình chúng sử dụng hết khoảng 50% CPU và dung lượng bộ nhớ. Trong cấu trúc cluster mà số node chủ động nhiều hơn số node bị động, các máy chủ cần có cấu hình tài nguyên CPU và bộ nhớ mạnh hơn nữa để có thể xử lý được khối lượng công việc cần thiết khi một node nào đó bị hỏng.

Các node trong một cluster thường là một bộ phận của cùng một vùng (domain) và có thể được cấu hình là máy điều khiển vùng (domain controllers) hay máy chủ thành viên. Lý tưởng nhất là mỗi cluster nhiều node có ít nhất hai node làm máy điều khiển vùng và đảm nhiệm việc failover đối với những dịch vụ vùng thiết yếu. Nếu không như vậy thì khả năng sẵn sàng của các tài nguyên trên cluster sẽ bị phụ thuộc vào khả năng sẵn sàng của các máy điều khiển trong domain.

Tính mở của Cluster

Một vấn đề mà các nhà đầu tư xây dựng hệ thống cần quan tâm là khả năng mở rộng của hệ thống Clustering. Tuỳ theo yêu cầu cụ thể các cluster có thể cần phải thêm các máy chủ vào Cluster, hoặc thêm CPU và RAM cho các máy chủ để tăng khả năng đảm nhận công việc cho các máy chủ đã có.

Một phần của tài liệu Ứng Dụng Random Forest Nhận Dạng Lỗi Cho Cloud Computing Iaas (LV thạc sĩ) (Trang 27 - 30)