MariaDB Advance: Reduction Disk BINARY LOGS & Relay Log (MariaDB Replication)

Trong  quá trình hoạt động của hệ thống MariaDB Replication  bạn sẽ gặp vấn  đề liên quan đến disk hệ thông thống khi các file Binary Log trên server matster và Relay Log trên các server slaver  gia tăng kích thước và  tổng số file log dẫn đến full disk  hệ thống. Để tránh tình trạng này thì bạn có thể cấu hình thêm các tham số hệ  thống để quy định disk được xử lý  cho các hoạt  động ghi log Replication.

Cấu hình quy định BINARY LOGS trên Master server

Trên mater server  MariaDB chỉ có 1 cấu hình duy nhất quy định số ngày sau đó BINARY LOGS có thể được tự động xóa. Theo mặc định 0 có nghĩa là không loại bỏ tự động. Khi sử dụng relication, phải luôn luôn  đặt giá trị̣ này  cao hơn độ trễ tối đa bởi bất kỳ máy chủ Slaver nào khác. Việc xóa sẽ diễn ra khi máy chủ khởi động, khi BINARY LOGS bị xóa, BINARY LOGS tiếp  theo sẽ được tạo ra cho đến khi kích thước file log này đạt đến giới hạn hoặc thực hiện PURGE BINARY LOGS thủ công sẽ xóa file trên hoặc tiếp tục tạo ra file mới và được đánh số thứ tự tăng dần để các Slaver có thể̉ đọc tiếp.

Ví dụ cấu hình sau trên my.cnf để quy định xóa các file BINARY LOGS có tuổi quá 8 ngày:

expire-logs-days=8

Cấu hình Relay Log treen Slaver server

Trên Slaver server có 2 thông số cấu hình để hạn chế   lạm dụng disk là relay_log_purge  và relay_log_space_limit .

Relay Log cũ sẽ tự động bị xóa sau khi tất cả các sự kiện đã được thực hiện trên Slave và Relay Log không còn cần thiết nữa. Hành vi này có thể được thay đổi bằng cách điều chỉnh biến hệ thống Relay_log_purge từ mặc định là 1 thành 0, trong trường hợp đó, nhật ký chuyển tiếp sẽ được để lại trên máy chủ.

Nếu các Relay Log đang chiếm quá nhiều không gian trên Slaver, biến hệ thống Relay_log_space_limit có thể được đặt để giới hạn kích thước. Luồng IO sẽ dừng cho đến khi luồng SQL xóa phần tồn đọng. Theo mặc định không có giới hạn.

Trong ví dụ sau ta sẽ cấu hình không xóa Relay Log khi dùng xong và chỉ quy định giới hạn 5GB Disk được sử dụng cho việc ghi Relay Log, các log  cũ nhất sẽ được xóa khỏi Slave:

relay-log-purge=1
relay-log-space-limit=5G

Với các cấu hình trên hy vọng bạn sẽ không còn gặp lỗi full disk do  log hệ thống Replicate gây ra.

Related Articles