pacemaker là gì

I. Định nghĩa

Bạn đang xem: pacemaker là gì

1. Pacemaker: là trình quản lý và vận hành khoáng sản nhập cluster, được cách tân và phát triển được cho phép tùy vươn lên là, tương hỗ tối nhiều nhằm những khoáng sản (resource) nằm trong cluster luôn luôn đáp ứng tính sẵn sàng. Đồng thời pacemaker đem tài năng phân phát hiện nay bình phục những khoáng sản, những node đang được xẩy ra trường hợp hi hữu trải qua những engine tương hỗ (Corosync, Heartbeat), được cho phép tùy vươn lên là tùy từng những phong cách thiết kế cluster không giống nhau.

  • Corosync là 1 trong những layer đem trách nhiệm quản lý và vận hành những node member, đem vấn đề tình trạng hoặc sự thay cho thay đổi trong số node cho tới pacemaker nhằm tiến hành 1 sự khiếu nại này ê (start, stop,migrate resource monitor resource). Cung cấp cho hạ tầng tài liệu bộ lưu trữ (in-memory database) tàng trữ những thông số kỹ thuật, thông tiếp tình trạng (in-memory database). Cho luật lệ truy vấn, thiết lập, nhận thông tin khi thay cho thay đổi. Cung cấp cho khối hệ thống quorum, cảnh bảo khi đem hoặc mất mặt quorum (Một cluster đem quorum khi đem rộng lớn 50% con số những node đang xuất hiện tình trạng online)

2. Các công dụng chủ yếu của Pacemaker:

  • Không đòi hỏi share không khí tàng trữ (shared storage)
  • Tự động phân phát hiện nay, Phục hồi những node, những khoáng sản công ty bên trên node
  • Tất cả khoáng sản hoàn toàn có thể quản lý và vận hành vì chưng script đều hoàn toàn có thể quản lý và vận hành vì chưng Pacemaker
  • Hỗ trợ chuyên môn fencing, chuyên môn xa lánh khoáng sản bên trên từng node
  • Hỗ trợ những cluster kể từ nhỏ cho tới lớn
  • Hỗ trợ chuyên môn Resource-driven cluster – Kỹ thuật phân cấp cho, group khoáng sản nhằm quản lý và vận hành độc lập
  • Hỗ trợ chuyên môn Quorate Clusters – Kỹ thuật tính điểm bên trên những node nằm trong cluster, phát minh của chuyên môn là lúc cụm rộng lớn bị phân miếng trở nên 2 phần, cluster tiếp tục nhận xét đối chiếu số điểm của 2 cụm nhằm ra quyết định cụm này tiếp tục kế tiếp chạy, cụm này có khả năng sẽ bị ngừng hoạt động hoặc tắt hẳn.
  • Hỗ trợ những thiết lập dự phòng
  • Tự động nhân bạn dạng thông số kỹ thuật cho tới những node nằm trong cluster.
  • Có khả nhân thức sự thay cho thay đổi bên trên tài nguyên
  • Hỗ trợ những loại hình dịch vụ nâng cao
  • Nhân bạn dạng (Clone): Thương Mại & Dịch Vụ được nhân bạn dạng cho tới nhiều node dể tăng tinhs sẵn sàng
  • Đa tình trạng (Multi-state): Các công ty có không ít tình trạng (Master/Slave, Primary/ Secondary).
  • Thông thất quản ngại trị cluster qua chuyện những dụng cụ tương hỗ.

3. Kiến trúc của pacemaker.

Theo phong cách thiết kế Pacemaker, Cluster được tạo ra kể từ 3 trở nên phần:
Low-level infrastructure: Các project như Corosync, CMAN, Heartbeat cung ứng những lời nhắn tin cẩn về vấn đề về khoáng sản, node, quorum của cụm cho tới pacemaker.
Quản lý khoáng sản (Resource management): Pacemaker cung ứng trung tâm giám sát, phản xạ với những sự khiếu nại xẩy ra nhập cluser. Các sự kiện hoàn toàn có thể là những node bị nockout vứt, nhập cuộc nhập cụm, những hoạt động và sinh hoạt gia hạn, những thao tác quản ngại trị cơ bạn dạng. Pacemaker tiếp tục trí tuệ, tự động hóa nhận xét tình trạng hoàn hảo mang đến cụm rời khỏi thông tư mang đến cụm quay về tình trạng hoàn hảo (tự động dịch chuyển khoáng sản, vô hiệu bộ phận lỗi vì chưng những tắt công ty hoặc tắt hẳn node).
Các bộ phận cluster ko thể nhận ra (Non-cluster-aware components): Các bộ phận được script hóa nhằm hoàn toàn có thể tiến hành những hành vi tắt, nhảy, giám sát.
4. Các bộ phận nội bên trên Pacemaker.
pcmk-internals.png
– Pacemaker phân thành 5 bộ phận chính:
4.1. Cluster Information Base (CIB): CIB được viết lách bên dưới dạng XML nhằm thể hiện nay thông số kỹ thuật cluster tương đương tình trạng lúc này của những khoáng sản bên phía trong cluster. Nội dung của CIB tự động hóa đồng điệu cho tới toàn bộ những node bên trên toàn cluster, mặt khác dùng PEngine (Chịu trách móc nhiệm về sự chính thức thay cho thay đổi tình trạng nhập cluster) nhằm tiến công gía tình trạng hoàn hảo của Cluster và phương pháp để đạt tình trạng hoàn hảo.
* CIB bao hàm thực hiện 2 phần là configuration và status.
    * Trong mục configuration sẽ sở hữu 3 phần khác:
        * crm_config
        * node: Hiển thị những node
        * resouces: Các resource được khái niệm nhằm cluster quản lý và vận hành.
**resouces là gì?
    Để tạo ra một resource, tất cả chúng ta rất cần phải đem những resource agents (RAs). Một resource agent là 1 trong những script nhưng mà cluster dùng nhằm start, stop và monitor resource. Nó tương tự như một kịch bạn dạng dùng để làm load công ty được dùng nhập System-V runlevels, hoàn toàn có thể đối chiếu với systemctl và được kiểm soát và điều chỉnh riêng biệt nhằm nó dùng nhập cluster. Đối với cùng 1 admin, nó cực kỳ cần thiết nhằm hiểu rằng tính chất này hoàn toàn có thể dùng trước lúc chính thức thông số kỹ thuật resources. RAs được setup cùng theo với cluster và chia nhỏ ra trở nên những lớp không giống nhau như sau:
        – LSB: LSB (Linux Standard Base) resource agents là 1 trong những kịch bạn dạng phát động System-V runlevels hoàn toàn có thể phát động kể từ cluster. Được setup cùng theo với OS.
        – OCF: OCF (Open Cluster Framework) resource agents không như lsb resource agents đem những thông số đặc biệt quan trọng tương quan cho tới cluster bao hàm những đặc thù thông thường được tàng trữ nhập tệp tin thông số kỹ thuật. Giữa ocf và lsb thì tớ nên lựa chọn ocf resource agents. Trong ocf resource agents chia nhỏ ra trở nên những lớp “provider” như sau:
            * heartbeat
            * linbit
            * lvm2
            * ocfs2
            * pacemaker
        * service: Được quản lý và vận hành vì chưng system daemon (systemd) của khối hệ thống. Tránh dùng nếu như một ocf thay cho thế đang được tồn tại
        * stonith: Một resource agent sử dụng mang đến cách thức STONIT
* Cách liệt kê về những resource hiện nay đem bên trên hệ thống
    * Liệt kê rời khỏi những resource agents đi kèm theo cùng theo với vận tải đặt:
  pcs resource standards
    * Liệt kê rời khỏi những lớp provider nhập ocf resource agents:
  pcs resource providers
    * Liệt kê rời khỏi những lựa tuyển chọn được cung ứng vì chưng standards resource và provider:
  pcs resource agents standards:providers
ví dụ:
  pcs resource agents ocf:heartbeat
4.2. Cluster Resource Management Daemon (CRMd): Các thao tác cho tới khoáng sản nằm trong Cluster được quyết định tuyến trải qua tiến thủ trình này. Tiến trình được cho phép truy vấn vấn đề, dịch chuyển, khởi tạo ra, thay cho thay đổi tình trạng khi cần thiết. Node là master crmd thực sự hoạt động và sinh hoạt được thừa nhận là designated coordinator (DC). Nếu DC fail, cluster tiếp tục tự động hóa lựa chọn một DC mới mẻ cực kỳ nhanh gọn lẹ.
4.3. Local Resource Management daemon (LRMd): tiến thủ trình này được điều khiển xe trên từng node nằm trong cluster, tiến thủ trình này như hình mẫu thân thích CRMd với những khoáng sản nội bên trên của node. Tiến trình LRMd tiếp tục đem thông tư kể từ CRMd cho tới những bộ phận khoáng sản nó quản lý và vận hành.
4.4. Policy Engine (PEngine): Chịu tách nhiệm đo lường tình trạng hoàn hảo của cụm, rời khỏi thông tư, kịch bạn dạng mang đến CRMd nhằm thực tế hóa tình trạng ước muốn., Cách tốt nhất có thể nhằm 1 admin tác dụng cho tới hành động của pengine là đinh nghĩa những giới hạn nhập cluster.
4.5. Shoot the Other Node in the Head (STONITH): Giải pháp cho những node cứng đầu ko phản hồi, không sở hữu và nhận thông tư mượt, CRMd tiếp tục thông tư mang đến STONITH tắt rét, hoặc phát động lại thẳng trải qua Hartware (IPMI, IDRAC, ILO, ..), * Nếu 1 node ko vấn đáp, membership layer (corosync) tiếp tục phát biểu mang đến crmd biết và crmd chỉ dẫn stonith xong xuôi node ê.
5. Sự khiếu nại nhập pacemaker:
###Split Brain
**một tình huống nhưng mà cluster được tách trở nên nhiều phần. Nhưng từng phần lại kế tiếp hoạt động và sinh hoạt tựa như các cluster riêng lẻ, đem tài năng ghi nhập và một tài liệu thực hiện duplicate tài liệu .Nếu khoáng sản là tệp tin system và multi nodes nỗ lực ghi tệp tin system mặt khác và không tồn tại sự kết hợp. Nó hoàn toàn có thể dẫn cho tới corruption của tệp tin system và mất mặt tài liệu.
###quorum:
* Để giữ lại tính chu toàn và sẵn đem của cluster, những khối hệ thống cluster dùng định nghĩa này nhằm ngắn ngủi ngừa sự mất mặt non tài liệu. Một cluster đem quorum khi đem rộng lớn 50% con số những node đang xuất hiện tình trạng online. Để thuyên giảm nguy cơ tiềm ẩn mất mặt non tài liệu, khoác quyết định pacemaker tiếp tục ngừng toàn bộ những resource nếu như cluster không tồn tại quorum
* quorum được tạo hình vì chưng những dùng voting system khi nhưng mà một node nhập cluster ko hoạt động và sinh hoạt như ý hoặc mất mặt liên hệ với phần sót lại của cluster, những node sót lại nhập cluster hoàn toàn có thể tiến hành vote nhằm xa lánh và nếu như quan trọng thì vô hiệu node hiện nay đang bị lỗi, … này thoát khỏi cluster
* Trong tình huống nhưng mà con số những node khả dụng và ko khả dụng đều bằng nhau quorum hoàn toàn có thể được thông số kỹ thuật để sở hữu quyết sách tiebreaker nhằm kế tiếp quorum và giữ lại những node nhập cluster sót lại và dành riêng quorum mang đến node nhưng mà đem id thấp nhất.
* quorum gật đầu đồng ý 4 độ quý hiếm được thông số kỹ thuật ứng với 4 hành vi sau khoản thời gian cluster xẩy ra lỗi:
    * ignore: Tiếp tục quản lý và vận hành toàn bộ những tài nguyên
    * freeze: Tiếp tục quản lý và vận hành toàn bộ những khoáng sản, tuy nhiên ko bình phục khoáng sản kể từ node lỗi
    * stop: Dừng toàn bộ những resource nhập vùng tác động.
    * suicide: Lập rào cản toàn bộ những node nhập vùng đem cluster bị hình ảnh hưởng
###Để giải quyết và xử lý split brain người tớ dùng quorum hoặc fencing/stonith
* Quá trình thương thảo Quorum: xẩy ra khi một node đang được chiếm hữu một quorum resource bị lỗi hay là không hoạt động và sinh hoạt, và những node sót lại tiếp tục xác lập node này sẽ lưu lại quyền chiếm hữu quorum resource. Mục đích của quy trình thương thảo quorum là bên trên 1 thời điểm đảm nói rằng có một node độc nhất được chiếm hữu quorum resource. Việc chỉ cho 1 node chiếm hữu quorum resource là cực kỳ cần thiết chính vì nếu như toàn bộ những tiếp xúc thân thích 2 hoặc nhiều node bị lỗi, nó đem tài năng phân chia Cluster trở nên 2 hoặc nhiều phần riêng lẻ để lưu lại mang đến nó vần kế tiếp hoạt động và sinh hoạt (split brain). Server Cluster ngăn chặn nó bằng phương pháp chỉ được cho phép độc nhất một Cluster tách rời khỏi này còn có chứa chấp node đang được chiếm hữu quorum resource kế tiếp hoạt động và sinh hoạt như 1 Cluster. Bất kỳ node này ko thể tiếp xúc với node đang được chiếm hữu quorum resource, thì node này sẽ không hề là node member nhập Cluster.
* fencing/stonith
Lý vì thế nhớ dùng cho tới cách thức STONITH:
        * Giả sử nhập một cluster mang trong mình 1 node A bị lỗi. Node A sẽ tiến hành phát động lại và được tăng lại nhập cluster một đợt nữa. Điều này còn có vẻ đang được xử lý lỗi. Nhưng nếu như đó là một lỗi cần thiết và ngay lập tức sau khoản thời gian phát động lại node A. Node A vẫn hội ngộ lỗi ê và lại được phát động lại, điều này cứ lặp lên đường tái diễn như vậy tuy nhiên lỗi thì vẫn tiếp tục lỗi. STONITH cực kỳ quan trọng nhập tình huống này và tất cả chúng ta cần thiết thông số kỹ thuật được cho phép tắt node A này lên đường nhằm ngăn việc node A cứ phát động lại như thế.
* Fencing là gì?

       * Trong một khối hệ thống cluster, hoàn toàn có thể có không ít node thao tác làm việc nằm trong dùng cộng đồng 1 phần tài liệu cần thiết. Khi nhưng mà những node nhập cluster rớt vào tình trạng ko khả dụng, hầu như những node sót lại nhập cluster chính thức trở lên trên thất thông thường hoặc trở lên trên ko hoạt động và sinh hoạt dẫn theo cần phải có những hành vi tay chân của những người quản ngại trị viên. Các yếu tố tạo nên vì chưng những node nhập cluster hoàn toàn có thể được hạn chế nhẹ nhàng bằng sự việc thiết lập một quyết sách fencing.

6. Các quy mô thực hiện pacemaker

  • Pacemaker không tồn tại số lượng giới hạn về phong thái thực hiện của khách hàng, chủ yếu điều này nhưng mà nó được cho phép tớ hoàn toàn có thể thực hiện theo dõi đa số những quy mô như:

Xem thêm: bằng chữ số la mã từ 1 đến 100

* Active/ Active
* Active/ Passive
* N + 1
* N + M
* N to tướng 1
* N to tướng M

  • Dưới đó là một vài ba quy mô triển khai:

* Active / Passive

pcmk-active-passive.png

* Active / Active

pcmk-active-active.png

Xem thêm: k ai tắm 2 lần trên 1 dòng sông