PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

ClusterControl - Quản lý sao lưu nâng cao - PostgreSQL

Thông tin là một trong những tài sản quý giá nhất trong công ty, vì vậy bạn sẽ cần có Kế hoạch khôi phục sau thảm họa (DRP) tốt để ngăn ngừa mất dữ liệu trong trường hợp xảy ra tai nạn hoặc lỗi phần cứng. Sao lưu là bước cơ bản trong tất cả các kế hoạch DR, nhưng việc quản lý và giám sát chúng có thể là một nhiệm vụ khó khăn nếu bạn có một môi trường phức tạp.

ClusterControl có nhiều tính năng Quản lý sao lưu nâng cao (trong số các tính năng quan trọng khác như Tự động chuyển đổi dự phòng, Giám sát, v.v.), cho phép bạn không chỉ thực hiện các loại sao lưu khác nhau, theo những cách khác nhau mà còn nén, mã hóa, xác minh và hơn thế nữa.

Trong blog này, chúng tôi sẽ xem cách bạn có thể sử dụng ClusterControl để quản lý các bản sao lưu của mình theo cách nâng cao cho cụm cơ sở dữ liệu PostgreSQL của bạn.

Các loại sao lưu

Trước tiên, hãy đề cập đến những loại sao lưu bạn có thể sử dụng để giữ an toàn cho dữ liệu của mình.

  • Logic:Bản sao lưu được lưu trữ ở định dạng con người có thể đọc được như SQL.

  • Vật lý:Bản sao lưu chứa dữ liệu nhị phân.

  • Đầy đủ / Tăng dần / Khác biệt:Định nghĩa của ba loại sao lưu này được ngầm hiểu trong tên gọi. Bản sao lưu đầy đủ là bản sao đầy đủ của tất cả dữ liệu của bạn. Sao lưu tăng dần chỉ sao lưu dữ liệu đã thay đổi kể từ lần sao lưu trước và sao lưu phân biệt chỉ chứa dữ liệu đã thay đổi kể từ lần sao lưu đầy đủ cuối cùng được thực thi. Các bản sao lưu gia tăng và khác biệt được giới thiệu như một cách để giảm lượng thời gian và dung lượng ổ đĩa sử dụng để thực hiện sao lưu đầy đủ.

  • Tương thích với Point In Time Recovery:PITR Liên quan đến việc khôi phục cơ sở dữ liệu tại bất kỳ thời điểm nào trong quá khứ. Để có thể thực hiện việc này, bạn sẽ cần khôi phục một bản sao lưu đầy đủ, sau đó áp dụng tất cả các thay đổi đã xảy ra sau khi sao lưu cho đến ngay trước khi xảy ra lỗi.

Bằng cách sử dụng ClusterControl, bạn có thể lấy tất cả các loại sao lưu này cho cơ sở dữ liệu PostgreSQL của mình hoặc thậm chí kết hợp chúng để cải thiện Chiến lược sao lưu của bạn.

Tính năng Quản lý Sao lưu ClusterControl

Bây giờ, hãy xem cách ClusterControl có thể giúp bạn quản lý tất cả các loại sao lưu khác nhau từ cùng một hệ thống và giao diện người dùng thân thiện.

Chúng tôi sẽ cho rằng bạn đã cài đặt máy chủ ClusterControl và nó đang quản lý cụm PostgreSQL của bạn. Nếu không, bạn có thể làm theo Tài liệu chính thức của chúng tôi để cài đặt ClusterControl và triển khai hoặc nhập cụm PostgreSQL của bạn bằng cách sử dụng nó.

Tạo bản sao lưu

Đối với điều này, hãy đi tới ClusterControl -> Chọn Cụm PostgreSQL của bạn -> Sao lưu -> Tạo Sao lưu.

Bạn có thể tạo bản sao lưu mới hoặc định cấu hình bản sao lưu đã lên lịch. Đối với ví dụ của chúng tôi, chúng tôi sẽ tạo một bản sao lưu duy nhất ngay lập tức.

Ở đây bạn có một phương pháp cho mỗi loại sao lưu mà chúng tôi đã đề cập trước đó.

Loại dự phòng

Công cụ

Định nghĩa

Logic

pg_dumpall

Đây là một tiện ích để ghi tất cả cơ sở dữ liệu PostgreSQL của một cụm vào một tệp script. Tệp tập lệnh chứa các lệnh SQL có thể được sử dụng để khôi phục cơ sở dữ liệu.

Vật lý

pg_basebackup

Nó được sử dụng để tạo bản sao nhị phân của các tệp cụm cơ sở dữ liệu trong khi đảm bảo hệ thống được đưa vào và ra khỏi chế độ sao lưu tự động. Các bản sao lưu luôn được lấy toàn bộ cụm cơ sở dữ liệu của một cụm cơ sở dữ liệu PostgreSQL đang chạy. Chúng được thực hiện mà không ảnh hưởng đến các máy khách khác đến cơ sở dữ liệu.

Đầy đủ / Tỷ lệ / Chênh lệch

pgbackrest

Đây là một giải pháp sao lưu và khôi phục đơn giản, đáng tin cậy có thể mở rộng liên tục lên đến cơ sở dữ liệu và khối lượng công việc lớn nhất bằng cách sử dụng các thuật toán được tối ưu hóa cho các yêu cầu cụ thể của cơ sở dữ liệu. Một trong những tính năng quan trọng nhất là hỗ trợ Sao lưu Toàn bộ, Tăng dần và Khác biệt.

PITR

pg_basebackup + WALs

Để tạo bản sao lưu tương thích PITR, ClusterControl sẽ sử dụng pg_basebackup và các tệp WAL để có thể khôi phục cơ sở dữ liệu tại bất kỳ thời điểm nào trong quá khứ.

Bạn phải chọn một phương pháp, máy chủ sẽ lấy bản sao lưu và nơi bạn muốn lưu bản sao lưu. Bạn cũng có thể tải bản sao lưu của mình lên đám mây (AWS, Google Cloud hoặc Azure) trong cùng một công việc sao lưu bằng cách bật tùy chọn tương ứng.

Sau đó, bạn có thể chỉ định nén, mã hóa và khoảng thời gian lưu giữ sao lưu.

Trên phần sao lưu, bạn có thể xem tiến trình sao lưu và thông tin như phương pháp, kích thước, vị trí, v.v.

Khôi phục Bản sao lưu

Sau khi sao lưu xong, bạn có thể khôi phục bằng cách sử dụng ClusterControl. Đối với điều này, trong phần sao lưu của bạn (ClusterControl -> Chọn Cụm PostgreSQL -> Sao lưu), bạn có thể chọn Khôi phục Sao lưu hoặc trực tiếp Khôi phục trên bản sao lưu mà bạn muốn khôi phục.

Bạn có ba tùy chọn để khôi phục bản sao lưu. Bạn có thể khôi phục nó trong một nút cơ sở dữ liệu hiện có, khôi phục và xác minh bản sao lưu trên một máy chủ độc lập hoặc tạo một cụm mới từ bản sao lưu.

Nếu bạn đang cố gắng khôi phục một bản sao lưu tương thích với PITR, bạn cũng cần chỉ định thời gian.

Dữ liệu sẽ được khôi phục như ban đầu tại thời điểm được chỉ định. Lưu ý rằng múi giờ UTC được sử dụng và dịch vụ PostgreSQL của bạn sẽ được khởi động lại trong nút đích.

Bạn có thể theo dõi tiến trình khôi phục của mình từ phần Hoạt động trong máy chủ ClusterControl.

Xác minh Sao lưu Tự động

Bản sao lưu không phải là bản sao lưu nếu nó không được khôi phục. Việc xác minh các bản sao lưu là một việc thường bị nhiều người bỏ qua. Hãy xem cách ClusterControl có thể tự động hóa việc xác minh các bản sao lưu PostgreSQL và tránh bất ngờ trong trường hợp bạn cần khôi phục nó.

Trong ClusterControl, chọn cụm của bạn và chuyển đến phần Sao lưu, sau đó chọn Tạo bản sao lưu.

Tính năng sao lưu tự động xác minh khả dụng cho các bản sao lưu đã lên lịch. Vì vậy, hãy chọn tùy chọn Lên lịch sao lưu.

Khi lên lịch sao lưu, ngoài việc chọn các tùy chọn phổ biến như phương pháp hoặc bộ nhớ, bạn cũng cần chỉ định lịch trình / tần suất.

Trong bước tiếp theo, bạn có thể nén và mã hóa bản sao lưu của mình và chỉ định khoảng thời gian lưu giữ. Tại đây, bạn cũng có tính năng Xác minh sao lưu.

Để sử dụng tính năng này, bạn cần một máy chủ (hoặc máy ảo) chuyên dụng không phải là một phần của cụm.

ClusterControl sẽ cài đặt phần mềm và khôi phục bản sao lưu trong máy chủ này. Bạn có thể giữ cho nút này chạy để kiểm tra hoặc báo cáo hoặc tắt nút cho đến khi thực hiện công việc xác minh tiếp theo.

Sau khi khôi phục, bạn có thể thấy biểu tượng xác minh trong phần ClusterControl Backup.

Kết luận

Sao lưu là bắt buộc trong bất kỳ môi trường nào vì chúng giúp bạn bảo vệ dữ liệu của mình. Để quản lý chúng, điều quan trọng là phải có một công cụ tốt với các tính năng sao lưu nâng cao, để làm cho nó càng đơn giản càng tốt.

ClusterControl có nhiều tính năng để trợ giúp bạn trong công việc này, như lập lịch sao lưu, giám sát, xác minh sao lưu, v.v. Nó cũng hỗ trợ các phương pháp sao lưu khác nhau và bạn có thể kết hợp chúng để có một DRP tốt.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khóa chính tổng hợp trong django

  2. Java.sql.SQLException khét tiếng:Không tìm thấy trình điều khiển phù hợp

  3. Hướng dẫn phân vùng dữ liệu trong PostgreSQL

  4. Cách liệt kê các chỉ mục được tạo cho bảng trong postgres

  5. Lời khuyên khóa hoặc NOWAIT để tránh phải chờ các hàng bị khóa?