Đị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 agent
. resource 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 start
, stop
, monitor
.
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 (start
, stop
, monitor
, …). 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_
.
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
.
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
).
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
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àngtarget-role
(default =Started
): Trạng trái mong muốn, cluster sẽ cố gắng giữ trạng thái này trên resourceStopped
: Buộc tài nguyên ngừng hoạt độngStarted
: 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ắngstart
hoặcstop
dịch vụ (Mặc định tự độngstart
)resource-stickiness
(default =0
): Ràng buộc vị trí tài nguyênmigration-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ácmultiple-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ácblock
: Quy định resource không được quản lý. Sẽ tạm dừng hoạt động resource. Đưa ra cảnh báostop_only
: Dừng tất cả các trường hợp hoạt độngstop_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 resourcename
: 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ỗiblock
: Không thực hiện thêm bất kỳ hoạt động nào khác trên resourcestop
: Dừng hoạt động resource, không khởi động resource trên bất kỳ node nào khácrestart
: Khởi động lại resourcefence
: STONITH trên node mà resource đó bị lỗistandby
: Di chuyển tất cả các resource ra khỏi node xảy ra sự cố
enable
: Nếu thiết lậpfalse
, 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