Nên chú ý rằng giữa các Unix sự khác nhau cũng không kém gì giữa Unix và Linux.Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần lan, bắt đầu xem xét Minix, một phiê
Trang 1ĐẠI HỌC DUY TÂNTRƯỜNG KHOA HỌC MÁY TÍNHKHOA KỸ THUẬT MMT & TRUYỀN THÔNG
Trang 3CHƯƠNG 1 GIỚI THIỆU LINUX
1.1 Lịch sử hình thành
Linux là một HDH dạng UNIX (Unix-like Operating System) chạy trên máy PC với bộ điều khiển trung tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý trung tâm tương thích AMD, Cyrix Linux ngày nay còn có thể chạy trên các máy Macintosh hoặc SUN Sparc Linux thỏa mãn chuẩn POSIX.1.
Linux được viết lại toàn bộ từ con số không, tức là không sử dụng một dòng lệnh nào của Unix để tránh vấn đề bản quyền của Unix Tuy nhiên hoạt động của Linux hoàn toàn dựa trên nguyên tắc của hệ điều hành Unix Vì vậy nếu một người nắm được Linux, thì sẽ nắm được UNIX Nên chú ý rằng giữa các Unix sự khác nhau cũng không kém gì giữa Unix và Linux.
Năm 1991 Linus Torvalds, sinh viên của đại học tổng hợp Helsinki, Phần lan, bắt đầu xem xét Minix, một phiên bản của Unix làm ra với mục đích nghiên cứu cách tạo ra một hệ điều hành Unix chạy trên máy PC với bộ vi xử lý Intel 80386
Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo trên comp.os.minix của Internet về dự định của mình về Linux 1/1992, Linus cho ra version 0.12 với shell và C compiler Linus không cần Minix nữa để recompile HDH của mình Linus đặt tên HDH của mình là Linux 1994, phiên bản chính thức 1.0 được phát hành.
Linus Tovarlds – Tác giả của Linux
Trang 4Quá trình phát triển của Linux được tăng tốc bởi luật bản quyền GNU (GNU’s Not Unix), đó là chương trình phát triển các Unix có khả năng chạy trên nhiều platform Từ phiên bản của Linux kernel là 2.4.20, có khả năng điều khiển các máy đa bộ vi xử lý ( hiện tại Linux hỗ trợ máy tính có tối đa 16 CPUs) và rất nhiều các tính năng khác
Phiên bản mới nhất có thể tìm thấy tại http://www.kernel.org
Biểu tượng của Linux là chim cách cụt (Linux Penguin Tux), được lựa chọn bởi Linus Torvalds để trình bày hình ảnh kết hợp với hệ điều hành.
1.2 Cấu trúc hệ điều hành Linux
Cấu trúc HĐH Linux là bộ các chương trình ứng dụng bao gồm cả 4 phần chính của một hệ điều hành (shell, kernel, file system, utility) và các chương trình phục vụ người dùng,…
Hầu hết các chương trình trong bản phân phối hầu hết đều theo bản quyền GPL Hiện nay có rất nhiều công ty cung cấp các bản phân phối khác nhau.
Nhân (kerlnel)
Kernel là phần chính của hệ điều hành, phụ trách hầu hết các chức năng chính của hệ điều hành như quản lý bộ nhớ, thực thi nhiệm vụ và truy nhập phần cứng
Phần hạt nhân (lõi hay kernel) của Linux có thể hiểu đơn giản là một tập hợp các chương trình thường trú trong bộ nhớ
Dự án nhân Linux được khởi xướng vào năm 1991 bởi Linus Tovard bằng một bài viết nổi tiếng trong nhóm tin Usenet comp.os.minix, trong đó có
Trang 5đoạn viết: "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones "
Một số bản phân phối Linux Redhat và Fedora Core
Redhat và Fedora Core là hai bản Linux có lẽ là thịnh hành nhất trên thế giới, phát hành bởi công ty Redhat Từ 2003, Công ty Redhat phát triển Redhat Enterprise Linux (RHEL) với mục đích thương mại, nhằm vào các công ty, xí nghiệp Redhat cũng đầu tư mở ra dự án Fedora nhằm phát triển phiên bản Fedora Core cho người dùng bình thường.
SuSE Linux
Made in Germany (Đức) Bản Linux cực kỳ thịnh hành ở châu Âu và Bắc Mỹ Năm 2003, công ty SuSE bị Novell mua Novell đang dốc sức đầu tư cho SuSE để nhắm vào enterprise users cạnh tranh với Redhat.
Debian Linux
Là bản phân phối Linux cũng rất phổ biến Nhiều người có ý kiến cho rằng:
Người không chuyên nên dùng Fedora Core để có thể làm quen với những kỹ thuật mới Dân chuyên nghiệp nên dùng Debian vì sự ổn định tuyệt vời của nó.
Mandrake Linux
Made in France Cũng rất thịnh hành ở châu Âu, Mỹ và Việt Nam Đây là bản được ưu ái nhất trong vấn đề Việt hóa.
Turbo Linux
Nổi tiếng tại Nhật, Trung Quốc Công ty Turbo đang đầu tư mạnh để thống trị thị trường Trung Quốc.
1.3 Một số dịch vụ trong Linux
Trang 6a, Các ứng dụng văn phòng & multimedia
Cùng với thời gian, hệ điều hành Linux ngày càng được hoàn thiện, nhiều hãng sản xuất cùng với các lập trình viên đã xây dựng được một kho thư viện phần mềm khổng lồ đáp ứng phần lớn nhu cầu của người dùng Nếu như trong Windows có bộ Microsoft Office thì trong Linux có những bộ Office khác như KOffice hoặc bộ Start Office của hãng Sun Microsystem được phân phối miễn phí.
- KOffice Workspace: Trình xử lý bảng tính
- KWord: Trình soạn thảo văn bản
Trang 7b, Các ứng dụng giải trí
Ngoài các ứng dụng văn phòng ra, Linux cũng có khá nhiều games phục vụ nhu cầu thư giãn và giải trí của người dùng.
c Các ứng dụng cơ sở dữ liệu
Trang 8Các ứng dụng cơ sở dữ liệu là không thể thiếu trong lãnh vực CNTT cũng như các ngành khác Một khi đã nói đến sự tin học hoá trong mọi lãnh vực của đời sống thì dù ít, dù nhiều cũng phải liên quan đến cơ sở dữ liệu.
Linux hỗ trợ khá mạnh các hệ quản trị cơ sở dữ liệu từ miễn phí đến các hệ chuyên nghiệp như: Postgres SQL, MySQL, Oracle Database Server 9i, IBM DB2.
d Các ứng dụng mạng và Internet
Có thể nói các ứng dụng mạng là tập hợp những ứng dụng nổi bật nhất của hệ điều hành Linux Những khả năng mà các ứng dụng mạng trên Linux có thể thực hiện được làm cho hệ điều hành này trở nên vượt trội hơn so với Windows Linux cho phép người dùng có thể cấu hình 1 server với đầy đủ các ứng dụng cơ bản nhất của Internet: Domain Name Service (DNS), Web Server, Web Proxy Server, Routing, SMTP Server, Pop3 Server, Firewall, …
Với sự bùng nổ các ứng dụng trên Internet, hệ điều hành Linux hỗ trợ một môi trường lý tưởng cho các server ứng dụng Các hãng phần mềm nổi tiếng đều nghiên cứu để làm sao có thể cài các ứng dụng của họ lên Linux Tiêu biểu là các ứng dụng sau: -Oracle Internet Application Server 9i -IBM WebSphere
Trang 9CHƯƠNG 2 GIỚI THIỆU VỀ PACEMAKER
2.1.Giới thiệu về Pacemaker
Pacemaker là trình quản lý tài nguyên trong cluster, được phát triển cho phép
tùy biến, hỗ trợ tối đa để các tài nguyên (resource) thuộc cluster luôn đảm bảo tính sẵn sàng Đồng thời pacemaker có khả năng phát hiện phục hồi các tài nguyên, các node đang xảy ra sự cố thông qua các engine hỗ trợ (Corosync, Heartbeat), cho phép tùy biến tùy theo các kiến trúc cluster khác nhau.
Corosync là một layer có nhiệm vụ quản lý các node thành viên, chuyển
thông tin trạng thái hoặc sự thay đổi trong các node đến pacemaker để thực hiện 1 sự kiện nào đó (start, stop,migrate resource monitor resource) Cung cấp cơ sở dữ liệu bộ nhớ (in-memory database) lưu trữ các cấu hình, thông kế trạng thái (in-memory database) Cho phép truy vấn, thiết lập, nhận thông báo khi thay đổi Cung cấp hệ thống quorum, cảnh bảo khi có hoặc mất quorum (Một cluster có quorum khi có hơn một nửa số lượng các node đang có trạng thái online).
Các tính năng chính của Pacemaker:
Không yêu cầu chia sẻ không gian lưu trữ (shared storage) Tự động phát hiện, khôi phục các node, các tài nguyên dịch vụ trên
Hỗ trợ kỹ thuật Resource-driven cluster – Kỹ thuật phân cấp, nhóm tài nguyên để quản lý độc lập
Hỗ trợ kỹ thuật Quorate Clusters – Kỹ thuật tính điểm trên các node thuộc cluster, ý tưởng của kỹ thuật là khi cụm lớn bị phân mảnh thành 2
Trang 10phần, cluster sẽ đánh giá so sánh số điểm của 2 cụm để quyết định cụm nào sẽ tiếp tục chạy, cụm nào sẽ bị đóng băng hoặc tắt hẳn.
Hỗ trợ các thiết lập dự phòng
Tự động nhân bản cấu hình tới các node thuộc cluster Có khả nhân thức sự thay đổi trên tài nguyên Hỗ trợ các kiểu dịch vụ nâng cao
Nhân bản (Clone): Dịch vụ được nhân bản tới nhiều node dể tăng tinhs sẵn sàng
Đa trạng thái (Multi-state): Các dịch vụ có nhiều trạng thái (Master/Slave, Primary/ Secondary).
Thông thất quản trị cluster qua các công cụ hỗ trợ.
- Pacemaker hỗ trợ các loại cluster bao gồm: Active/Active, Active/Passive, N+1, N+M, N-to-1 và N-to-N:
Active/Passive cluster sử dụng Pacemaker và DRBD là một giải pháp có hiệu quả kinh tế cho những trường hợp cần tính sẵn sàng cao
Shared Failover cluster: bằng cách hỗ trợ nhiều node, Pacemaker có thể giảm đáng kể chi phí phần cứng bằng cách cho phép một vài cluster Active/Passive được kết hợp và chia sẽ một node dự phòng chung.
Trang 11 N to N cluster: khi bộ nhớ chia sẽ sẵn sàng, mọi node đều có khả năng sử dụng để chuyển đổi dự phòng Pacemaker thậm chí có thể chạy nhiều bản sao của các dịch vụ để trải đều khối lượng công việc.
2.2 Cấu trúc Pacemaker
Theo kiến trúc Pacemaker, Cluster được tạo từ 3 thành phần:
Trang 12– Low-level infrastructure: Các project như Corosync, CMAN, Heartbeat cung cấp các tin nhắn tin cậy về thông tin về tài nguyên, node, quorum của cụm tới pacemaker.
– Quản lý tài nguyên (Resource management): Pacemaker cung cấp trung tâm giám sát, phản ứng với các sự kiện xảy ra trong cluser Các event có thể là các node bị loại bỏ, tham gia vào cụm, các hoạt động bảo trì, các thao tác quản trị cơ bản Pacemaker sẽ nhận thức, tự động đánh giá trạng thái lý tưởng cho cụm ra chỉ thị cho cụm trở lại trạng thái lý tưởng (tự động di chuyển tài nguyên, loại bỏ thành phần lỗi bằng các tắt dịch vụ hoặc tắt hẳn node).
– Các thành phần cluster không thể nhận biết (Non-cluster-aware components): Các thành phần được script hóa để có thể thực hiện các hành động tắt, bật, giám sát.
Các thành phần của Pacemaker
Cluster Resource Manager (CRM): CRM là thành phần chính của Pacemaker, chịu trách nhiệm quản lý tài nguyên và đưa ra các quyết định về việc chuyển đổi tài nguyên giữa các nút trong cụm máy chủ Nó lắng nghe các sự kiện từ môi
Trang 13trường, như sự thay đổi trạng thái của các tài nguyên hoặc thông báo về sự cố, và thực hiện các hành động cần thiết để duy trì tính khả dụng.
Configuration Information Base(CIB): CIB là một cơ sở dữ liệu XML đồng bộ được sử dụng bởi Pacemaker để lưu trữ thông tin cấu hình của hệ thống cluster Nó chứa mô tả về các tài nguyên, ràng buộc, quy tắc chuyển đổi, và trạng thái hiện tại của cụm máy chủ CRM đọc và cập nhật CIB để theo dõi trạng thái thực tế của hệ thống.
Local Resource Manager (LRM): LRM là một thành phần chạy trên mỗi nút trong cụm máy chủ và quản lý các tài nguyên cục bộ trên nút đó Nó chịu trách nhiệm thực hiện các hành động như khởi động, dừng, và kiểm tra trạng thái của các tài nguyên cụ thể CRM sử dụng LRM để tương tác với các tài nguyên cụm máy chủ thông qua giao diện chuẩn.
Cluster Communication Layer: Pacemaker sử dụng một lớp giao tiếp cụm máy chủ để kết nối các nút trong cụm và chia sẻ thông tin về trạng thái của tài nguyên và các sự kiện Một số giao thức như Corosync thường được sử dụng để đảm bảo việc truyền thông tin liên tục và đồng bộ giữa các nút.
Policy Engine (PEngine): Chịu tránh nhiệm tính toán trạng thái lý tưởng của cụm, ra chỉ thị, kịch bản cho CRMd để hiện thực hóa trạng thái mong muốn.
2.3 Nguyên tắc hoạt động của Pacemaker