Thứ Sáu, 11 tháng 11, 2022

High Availability - Phần 4: Tổng quan về Resource trong Pacemaker

Định nghĩa#

Resource hay tài nguyên là dịch vụ được pacemaker bảo đảm sự sẵn sàng. Resource có nhiều loại, bảo gồm các dịch vụ cơ bản (http, ssh, …) tới những dịch vụ phức tạp như các group resource, clone resource.

Tất cả dịch vụ cơ bản như ssh, .. đề sở hữu resource agentresource agent là module mở rộng, trừ tượng hóa dịch vụ cung cấp thành đối tượng cho phép cluster pacemaker có thể quản trị. Các hoạt động quản trị cơ bản bao gồm startstopmonitor.

Các loại Resource cơ bản#

Pacemaker hỗ trợ nhiều loại resource khác nhau

OCF (Open Cluster Framework)

Tiểu chuẩn quy ước của Linux Standard Base cho các script. Quy chuẩn các đối số đầu vào (support parameters), các tham số tự định nghĩa ( self-describing), khả năng tùy biến, mở rổng (extensible). Các quy ước của OCF tập trung vào các exit code trả lại bởi các thao tác (startstopmonitor, …). Các đối số của OCF được truyền vào thông qua môi trường thực thì với khóa OCF_RESKEY_.

Xem thêm tại

LSB (Linux Standard Base)

Tiêu chuẩn được cung cấp, hỗ trợ trong nhiều bản phân phối Linux, các tài nguyên thường được tìm thấy trong /etc/init.d.

Xem thêm tại

Systemd

Tiêu chuẩn mới trong các bản phân phối Linux, thay thế cho SysV. Pacemaker có thể quản trị tất các dịch vụ Systemd nếu chúng tồn tại. systemd quản trị dịch vụ thông qua unit files

Lưu ý:

  • Nếu sử dụng Pacemaker quản trị tiền trình systemd thì bảo đảm không cấu hình dịch vụ tự động khởi tạo khi boot (start service at boot time).

Xem thêm tại

Upstart

Tiêu chuẩn mới trong các bản phân phối Linux, thay thế cho SysV. Pacemaker có thể quản trị tất các dịch vụ Upstart nếu chúng tồn tại. Upstart quản trị dịch vụ thông qua jobs

Xem thêm tại

Service

Vì hệ thống có nhiều loại tiến trình quản trị dịch vụ, (systemd, upstart, lsb). Pacemaker hỗ trợ kiểu service, cho phép tự động phát hiện kiểu dữ liệu của dịch vụ (systemd, upstart, lsb) để quản trị dễ dàng hơn

STONITH

STONITH/ Fencing: STONITH là viết tắt của cụm từ Shoot Other Node In The Head đây là một kỹ thuật dành cho fencing. Fencing là kỹ thuật cô lập tài nguyên tại từng node trong Cluster. Mục tiêu STONITH là tắt hoặc khởi động lại node trong trường hợp Node trong trường hợp dịch vụ không thể khôi phục (Thực hiện thông qua vật chủ hoặc thông qua phần cứng).

Xem thêm tại chuyên mục High Availability

Nagios Plugins

Giảm sát tài nguyên từ xa thông qua Nagios Plugins trong trường hợp các dịch vụ là các máy ảo, các dịch vụ bên trong máy ảo.

Tham số cơ bản trên Resource#

Các tham số cơ bản:

  • ID: Tên resource
  • class: Kiểu scripts (ocf, service, upstart, systemd, lsb, stonith)
  • type: Tên dịch vụ quản trị được quản trị (Apache, ssh, ..)

Ví dụ minh họa:

[root@node1 ~]# crm_resource --resource Web_Cluster-clone --query-xml
 Clone Set: Web_Cluster-clone [Web_Cluster] (unique)
     Web_Cluster:0	(ocf::heartbeat:apache):	Started node3
     Web_Cluster:1	(ocf::heartbeat:apache):	Started node2
     Web_Cluster:2	(ocf::heartbeat:apache):	Started node1
xml:
<clone id="Web_Cluster-clone">
  <primitive class="ocf" id="Web_Cluster" provider="heartbeat" type="apache">
    <instance_attributes id="Web_Cluster-instance_attributes">
      <nvpair id="Web_Cluster-instance_attributes-configfile" name="configfile" value="/etc/httpd/conf/httpd.conf"/>
    </instance_attributes>
    <operations>
      <op id="Web_Cluster-monitor-interval-20s" interval="20s" name="monitor"/>
      <op id="Web_Cluster-start-interval-0s" interval="0s" name="start" timeout="40s"/>
      <op id="Web_Cluster-stop-interval-0s" interval="0s" name="stop" timeout="60s"/>
    </operations>
  </primitive>
  <meta_attributes id="Web_Cluster-clone-meta_attributes">
    <nvpair id="Web_Cluster-clone-meta_attributes-globally-unique" name="globally-unique" value="true"/>
  </meta_attributes>
</clone>

Tham số tùy chọn trên Resource#

Sử dụng tùy chọn mở rộng cho phép định nghĩa cách cluster quản lý các resource. Bổ sung tham số thông qua tùy chọn --meta thuộc crm_resource command

Các tham số cần lưu ý:

  • priority (default = 0): Nếu tất cả resource không thể sẵn sàng, cluster sẽ ngừng các resource có độ ưu tiên thấp, bảo đảm resource có độ ưu tiên cao sẵn sàng
  • target-role (default = Started): Trạng trái mong muốn, cluster sẽ cố gắng giữ trạng thái này trên resource
    • Stopped: Buộc tài nguyên ngừng hoạt động
    • Started: Cho phép tài nguyên hoạt động (Trong trường hợp cấu hình multistate (Dạng Active Passive))
    • Master: Cho phép tài nguyên hoạt động nếu trong trạng thái thích hợp
  • is-managed (default = TRUE): Cluster cố gắng start hoặc stop dịch vụ (Mặc định tự động start)
  • resource-stickiness (default = 0): Ràng buộc vị trí tài nguyên
  • migration-threshold (default = INFINITY(disabled)): Nếu quá nhiều lỗi xảy ra trên 1 node, tài nguyên sẽ di chuyển sang node khác
  • multiple-active (default = stop_start): Phản ứng khi phát nhiều một resource tương ứng đang chạy trên node khác
    • block: Quy định resource không được quản lý. Sẽ tạm dừng hoạt động resource. Đưa ra cảnh báo
    • stop_only: Dừng tất cả các trường hợp hoạt động
    • stop_start: Dừng tất cả các trường hợp hoạt động và thử khởi động lại

Tham số vận hành Resource#

Các tham số cần lưu ý trong quá trình vận hành Resource:

  • id: Định danh resource
  • name: Hành động thực hiện (monitor, start, stop)
  • interval: Tần số thực hiện hành động (Mặc đinh = 0)
  • timeout: Thời gian chờ tối đa nếu xảy ra sự cố
  • on-fail: Thao tác nếu phát hiện sự cố
    • ignore: Không phản ứng, bỏ qua lỗi
    • block: Không thực hiện thêm bất kỳ hoạt động nào khác trên resource
    • stop: Dừng hoạt động resource, không khởi động resource trên bất kỳ node nào khác
    • restart: Khởi động lại resource
    • fence: STONITH trên node mà resource đó bị lỗi
    • standby: Di chuyển tất cả các resource ra khỏi node xảy ra sự cố
  • enable: Nếu thiết lập false, bỏ qua giám sát tài nguyên

Cấu trúc

pcs resource create <Tên resource> <Tham số 1> <Tham số 2 ..> op <tham số vận hành>

Ví dụ minh họa

pcs resource create Virtual_IP IPaddr2 ip=10.10.10.89 cidr_netmask=24 op monitor interval=30s

# Mô tả
[root@node1 ~]# pcs resource show Web_Cluster-clone
 Clone: Web_Cluster-clone
  Meta Attrs: globally-unique=true # Metadata
  Resource: Web_Cluster (class=ocf provider=heartbeat type=apache)
   Attributes: configfile=/etc/httpd/conf/httpd.conf # Tham số tài nguyên
   Operations: monitor interval=20s (Web_Cluster-monitor-interval-20s) # Tham số vận hình
               start interval=0s timeout=40s (Web_Cluster-start-interval-0s)
               stop interval=0s timeout=60s (Web_Cluster-stop-interval-0s)

Nguồn#

https://github.com/hocchudong/ghichep-pacemaker-corosync

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/high_availability_add-on_overview/s1-fencing-haao

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
High Availability - Phần 4: Tổng quan về Resource trong Pacemaker, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master