Cấu hình LMV

Hướng dẫn Cài đặt Quản lý Cluster (Peacemaker)

Vì lý do chạy các lệnh bằng CLI nên các thông số và tên các biến trên hình ảnh minh họa có thể thay đổi so với câu lệnh

Create VPC

1. Cài đặt pcs trên cả hai node

  1. PCS (Pacemaker/Corosync Configuration System) là một công cụ quản lý cluster. Để cài đặt pcs trên cả hai node, sử dụng các lệnh sau:
sudo dnf --enablerepo=highavailability,resilientstorage -y install lvm2-lockd gfs2-utils dlm pcs pacemaker fence-agents-aws
sudo systemctl start pcsd.service
sudo systemctl enable pcsd.service

Trong đó:

  • lvm2-lockd, gfs2-utils, dlm: là các gói phần mềm cần thiết cho hệ thống file GFS2 và DLM (Distributed Lock Manager).
  • pcs, pacemaker: là các gói cần thiết cho việc quản lý cluster.
  • fence-agents-aws: là gói cho agent fencing, đặc biệt hữu ích trong môi trường AWS.
  1. Sau đó, thiết lập mật khẩu cho tài khoản hacluster (nhập mật khẩu giống nhau trên cả hai node). Khởi động và kích hoạt dịch vụ pcsd, dùng để quản lý và cấu hình Pacemaker.
sudo passwd hacluster
  • Lệnh trên thiết lập mật khẩu cho tài khoản hacluster, dùng để xác thực giữa các node trong cluster.
  1. Cấu hình pcs cluster trên node chính. Chọn một node làm node chính để cấu hình cluster:
sudo pcs host auth <dns name of node1> <dns name of node2> -u hacluster
sudo pcs cluster setup macluster <dns name of node1> <dns name of node2>
sudo pcs cluster enable --all
sudo pcs cluster start --all

Create VPC

Create VPC

Create VPC

Giải thích:

  • sudo pcs host auth: Xác thực các node trong cluster.
  • sudo pcs cluster setup: Tạo và cấu hình cluster mới.
  • sudo pcs cluster enable –all và sudo pcs cluster start –all: Kích hoạt và khởi động cluster trên tất cả các node.
  1. Cấu hình Fencing Agent trên bất kỳ node nào. Fencing agent giúp đảm bảo tính toàn vẹn của cluster bằng cách cô lập node gặp sự cố.
sudo pcs stonith create clusterfence fence_aws \
access_key=<your access key> \
secret_key=<your secret key> \
region=us-east-1 \
pcmk_host_map="<dns name of node1>:Instance-ID-1;<dns name of node2>:Instance-ID-2" \
power_timeout=240 pcmk_reboot_timeout=480 pcmk_reboot_retries=4

Create VPC

Trong đó:

  • fence_aws: là fencing agent dành cho AWS.
  • access_key, secret_key: là thông tin xác thực AWS.
  • region: là vùng AWS mà các node đang hoạt động.
  • pcmk_host_map: ánh xạ DNS của node với Instance ID trong AWS.
  • power_timeout, pcmk_reboot_timeout, pcmk_reboot_retries: là các tham số cấu hình cho việc khởi động lại máy.

2) Cài đặt gfs2

Sau khi hoàn thành cấu hình cluster, bạn cần thiết lập GFS2. Bộ phụ trợ Lưu trữ Đảm bảo của Red Hat Enterprise Linux (RHEL) cung cấp GFS2, và nó phụ thuộc vào bộ phụ trợ RHEL High Availability để cung cấp quản lý cluster cần thiết cho GFS2. Tuy nhiên, trong lab này, chúng ta sẽ sử dụng các gói được cung cấp với CentOS 9 stream.

  1. Trên cả hai node:
sudo mkdir /var/lib/mysql
  1. Trên cả hai node của cluster, thiết lập tùy chọn cấu hình use_lvmlockd trong file /etc/lvm/lvm.conf để sử dụng use_lvmlockd=1

  2. Trên bất kỳ node nào, thiết lập tham số Pacemaker toàn cục no-quorum-policy thành freeze:

sudo pcs property set no-quorum-policy=freeze
  1. Trên bất kỳ node nào: Thiết lập một tài nguyên dlm. Đây là một phụ thuộc cần thiết để cấu hình hệ thống file GFS2 trong cluster. Ví dụ này tạo tài nguyên dlm như một phần của nhóm tài nguyên có tên là locking.
sudo pcs resource create dlm --group locking ocf:pacemaker:controld op monitor interval=30s on-fail=fence
  1. Nhân bản nhóm tài nguyên locking để nhóm tài nguyên có thể hoạt động trên cả hai node của cluster.
sudo pcs resource clone locking interleave=true
  1. Thiết lập một tài nguyên lvmlockd như một phần của nhóm tài nguyên locking.
sudo pcs resource create lvmlockd --group locking ocf:heartbeat:lvmlockd op monitor interval=30s on-fail=fence
  1. Kiểm tra trạng thái của cluster để đảm bảo rằng nhóm tài nguyên locking đã khởi động trên cả hai node của cluster.
sudo pcs status –full
  1. Trên một node của cluster, tạo một nhóm volume chia sẻ. Nhóm volume sẽ chứa một hệ thống file GFS2.
sudo pvcreate /dev/nvme1n1
sudo vgcreate --shared shared_vg1 /dev/nvme1n1
  1. Trên một node trong cluster, tạo các volume logic chia sẻ và định dạng các volume với hệ thống file GFS2.

Lưu ý: vì chúng ta sẽ cài đặt mysql trên hệ thống file gfs2 này, chúng ta sẽ mount hệ thống file vào /var/lib/mysql. /var/lib/mysql là thư mục mặc định của Mysql.

sudo lvcreate --activate sy -L5G -n shared_lv1 shared_vg1
sudo mkfs.gfs2 -j2 -p lock_dlm -t macluster:gfs2-demo1 shared_lv1
  1. Tạo một tài nguyên LVM-activate cho mỗi volume logic để tự động kích hoạt volume logic đó trên tất cả các node.
sudo pcs resource create sharedlv1 --group shared_vg1 ocf:heartbeat:LVM-activate lvname=shared_lv1 vgname=shared_vg1 activation_mode=shared vg_access_mode=lvmlockd
  1. Nhân bản hai nhóm tài nguyên mới.
sudo pcs resource clone shared_vg1 interleave=true
  1. Cấu hình các ràng buộc thứ tự để đảm bảo rằng nhóm tài nguyên locking bao gồm các tài nguyên dlm và lvmlockd khởi động đầu tiên.
sudo pcs constraint order start locking-clone then shared_vg1-clone
  1. Cấu hình các ràng buộc đồng vị trí để đảm bảo rằng nhóm tài nguyên vg1 khởi động trên cùng một node như nhóm tài nguyên locking.
sudo pcs constraint colocation add shared_vg1-clone with locking-clone
  1. Trên cả hai node trong cluster, xác minh rằng các volume logic đang hoạt động.
[root@z1 ~]# sudo lvs
[root@z2 ~]# sudo lvs
  1. Tạo một tài nguyên hệ thống file để tự động mount mỗi hệ thống file GFS2 trên tất cả các node.
sudo pcs resource create sharedfs1 --group shared_vg1 ocf:heartbeat:Filesystem device="/dev/shared_vg1/shared_lv1" directory="/var/lib/mysql" fstype="gfs2" options=noatime op monitor interval=10s on-fail=fence

Create VPC

  1. Xác minh rằng hệ thống file GFS2 đã được mount trên cả hai node của cluster.
[root@z1 ~]# sudo mount | grep gfs2
[root@z2 ~]# sudo mount | grep gfs2
  1. Kiểm tra trạng thái của cluster.
sudo pcs status --full
  • Hình ảnh ở node-01

Create VPC

  • Hình ảnh ở node-02

Create VPC