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

Các tùy chọn khôi phục thảm họa cho PostgreSQL được triển khai cho một đám mây lai

Trong các blog Hybrid Cloud trước đây của chúng tôi, chúng tôi thường đề cập rằng một trong những tùy chọn chính để hỗ trợ thiết lập cấu trúc liên kết Hybrid Cloud là sử dụng điều này làm mục tiêu khắc phục thảm họa của bạn. Đối với cơ cấu tổ chức, Kế hoạch khôi phục sau thảm họa (DRP) luôn được giải quyết trước khi triển khai kiến ​​trúc thiết lập cơ sở dữ liệu của bạn, trên đám mây hoặc tại chỗ. Bạn có thể nghĩ rằng mọi thứ sẽ thất bại không thể đoán trước và có thể ảnh hưởng đến công việc kinh doanh của bạn nếu nó không được giải quyết và hiểu đúng. Vượt qua những thách thức này đòi hỏi phải có DRP (Kế hoạch khôi phục sau thảm họa) hiệu quả, hệ thống của bạn được cấu hình tốt theo ứng dụng, cơ sở hạ tầng và yêu cầu kinh doanh của bạn. Chìa khóa thành công trong những loại tình huống này là tốc độ chúng tôi có thể khắc phục hoặc khắc phục sự cố.

Trong khi DRP giải quyết các trường hợp thảm họa, Business Continuous sẽ đảm bảo rằng DRP luôn được kiểm tra và hoạt động khi cần thiết. Các tùy chọn Khôi phục sau thảm họa cho cơ sở dữ liệu của bạn phải đảm bảo hoạt động liên tục và đạt đến giới hạn mong đợi. Nó phải phù hợp với RTO và RPO mong muốn của bạn. Bắt buộc phải đảm bảo rằng cơ sở dữ liệu sản xuất luôn sẵn sàng cho các ứng dụng ngay cả khi xảy ra thiên tai; nếu không, nó có thể trở thành một thương vụ đắt đỏ. DBA, các Kiến trúc sư, cần đảm bảo rằng môi trường cơ sở dữ liệu có thể duy trì các thảm họa và tuân thủ SLA phục hồi sau thảm họa. Việc triển khai cơ sở dữ liệu phải được định cấu hình chính xác để đảm bảo các thảm họa không ảnh hưởng đến tính khả dụng của cơ sở dữ liệu và tính liên tục của hoạt động kinh doanh.

Tùy chọn khôi phục sau thảm họa

Cụm PostgreSQL của bạn phải được định cấu hình với cách tiếp cận có hệ thống cam kết thực hiện các phương pháp hay nhất và có thể chấp nhận được theo tiêu chuẩn ngành. Cùng với các phương pháp tiếp cận có hệ thống, các quy trình hoặc cơ chế sau đây giúp bạn đảm bảo rằng PostgreSQL của bạn được triển khai cho Đám mây lai có các hiện tượng sau:

  • Chuyển đổi dự phòng / Chuyển mạch

  • Sao lưu tự động

  • Khả dụng cao

  • Cân bằng tải

  • Môi trường phân tán cao

Dự phòng / Chuyển mạch

Chuyển đổi dự phòng là một quá trình tự động trong trường hợp chủ của bạn bị lỗi; máy chủ ở chế độ chờ nóng hoặc máy chủ ở chế độ chờ ấm được nâng cao vai trò của máy chủ chính / chủ. Cách tốt nhất là tạo môi trường sẵn sàng cao để có ít nhất một nút phụ hoạt động như một ứng cử viên cho một nút chuyển đổi dự phòng. Khi máy chủ chính bị lỗi, máy chủ dự phòng sẽ bắt đầu các quy trình chuyển đổi dự phòng và sau đó máy chủ phụ hoặc máy chủ dự phòng sẽ đóng vai trò chủ. Thông thường, một hệ thống chuyển đổi dự phòng sử dụng tối thiểu hai máy chủ, đóng vai trò là máy chủ chính và máy chủ dự phòng. Kiểm tra kết nối của nó được hỗ trợ bởi một cơ chế nhịp tim không ngừng kiểm tra và xác minh xem cả hai có ở trạng thái tốt hay không và giao tiếp vẫn hoạt động. Tuy nhiên, trong một số trường hợp, kết nối có thể báo động sai. Do đó, trong một số thiết lập và môi trường, sự hiện diện của hệ thống thứ ba như nút giám sát nằm trên một mạng hoặc trung tâm dữ liệu riêng biệt. Đây là một tùy chọn tuyệt vời để ngăn chặn chuyển đổi dự phòng không phù hợp hoặc không mong muốn. Một nút xác minh dễ hiểu có thể sở hữu các tính năng và kiểm tra bổ sung, điều này làm tăng thêm độ phức tạp. Thiết lập này yêu cầu kiểm tra đầy đủ và nghiêm ngặt để đảm bảo chuyển đổi dự phòng được thực hiện ngay khi có thay đổi trong quá trình triển khai. Ngoài ra, điều này rất quan trọng để ngăn chặn bất kỳ sự xuống cấp nào của PostgreSQL

Giả sử bạn có cụm phụ hoặc cụm dự phòng trên một trung tâm dữ liệu khác với thiết lập phần cứng khác; bạn có thể không muốn chuyển đổi dự phòng đột ngột, đặc biệt nếu nó không phải là một trường hợp lý tưởng vì chỉ là một dương tính giả. Tuy nhiên, trong trường hợp này, nút hoặc cụm mục tiêu khôi phục dữ liệu của bạn phải có cùng tài nguyên và thông số kỹ thuật với nút hoặc cụm chính của bạn. Nếu mục tiêu khôi phục dữ liệu của bạn nằm trong một đám mây công cộng và mục tiêu chính là tại chỗ, hãy đảm bảo rằng mục tiêu đó đã được bao gồm trong kế hoạch năng lực của bạn và các tài nguyên có các thông số kỹ thuật gần như giống nhau để tránh các kết quả không mong muốn.

Khi sử dụng và chuẩn bị cho cơ chế chuyển đổi dự phòng của bạn trong Cụm PostgreSQL trong Đám mây lai, bạn phải đảm bảo rằng công cụ của mình hoàn toàn phù hợp để thực hiện công việc được cho là phải đạt được. Có các công cụ của bên thứ ba không được đóng gói trong PostgreSQL liên quan đến việc chuyển đổi dự phòng trước. Ví dụ, có ClusterControl, pg_auto_failover của CitusData (c / o Microsoft), Pgpool-II, Bucardo và những người khác. Các công cụ tiện ích tiên tiến này cung cấp tính năng rào nút hay còn gọi là STONITH (bắn vào đầu nút khác). Điều này đảm bảo rằng nút chính hoặc nút chính bị lỗi của bạn sẽ tránh việc chấp nhận ghi hoặc quay lại trực tuyến như trạng thái trước đó của nó để phục vụ các giao dịch bình thường. Vấn đề này thường được gọi là kịch bản não bộ. Nó mất đồng bộ hóa dữ liệu do lỗi (phần cứng hoặc mức tài nguyên) nhưng vẫn là máy chủ chính của bạn, được cho là chỉ một máy chủ chính, hoạt động như thể người nhận yêu cầu ghi dữ liệu bình thường gây ra hỏng dữ liệu trên toàn cụm.

Sao lưu tự động

Bản sao lưu luôn cung cấp sự đảm bảo cao và các biện pháp bảo vệ chống mất mát dữ liệu. Sao lưu tối đa hóa RPO của bạn vì nó hỗ trợ giảm thiểu mất dữ liệu khi thảm họa xảy ra. Những điều bạn phải xem xét và chuẩn bị cho quá trình sao lưu tự động bao gồm thiết bị / phần cứng sao lưu, khả năng dự phòng dữ liệu sao lưu, bảo mật, hiệu suất, tốc độ và lưu trữ dữ liệu.

Công cụ sao lưu

Bạn phải có lựa chọn tốt nhất cho thiết bị dự phòng của mình tại đây. Tốc độ, dung lượng lưu trữ đáng kể và tính khả dụng cao có thể là lựa chọn mong muốn của bạn. Một số dựa vào lưu trữ SAN hoặc NAS hoặc phân tán dữ liệu của họ cho các nhà cung cấp dịch vụ lưu trữ sao lưu bên thứ ba khác. Điều cần thiết là thiết bị sao lưu của bạn phải cung cấp tốc độ ghi và đọc dữ liệu, đặc biệt nếu bạn áp dụng tính năng nén và mã hóa cho dữ liệu của mình. Quá trình giải nén và giải mã yêu cầu tài nguyên, vì vậy bạn phải cân nhắc khi phải sử dụng khôi phục dữ liệu. Trong trạng thái này, bạn phải xác định rằng bạn phải đạt được RPO tối đa và cam kết SLA có thể đạt được (Thỏa thuận mức dịch vụ) cho khách hàng của mình. Điều lý tưởng là bạn có thể phải cách ly bản sao lưu của mình khỏi mạng cục bộ hoặc lưu trữ nó ở một vị trí từ xa. Một cách tiếp cận thay thế là tham gia với các nhà cung cấp bên thứ ba. Ví dụ:lưu trữ bản sao lưu của bạn trên đám mây có thể là một tùy chọn và cơ sở của họ rất phức tạp và đáp ứng yêu cầu của bạn.

Dự phòng Dữ liệu Dự phòng

Phân tán dữ liệu của bạn ở nhiều vị trí là một giải pháp lý tưởng. Điều này tăng cường cơ hội khôi phục dữ liệu của bạn, chẳng hạn như lỗi do con người hoặc lỗi logic phần mềm khiến bạn xóa các bản sao lưu cũ nhưng lại xóa nhầm toàn bộ các bản sao lưu quan trọng. Trong một số môi trường phức tạp, chẳng hạn như lưu trữ trong môi trường đám mây như Amazon S3, Cloud Storage của Google hoặc Azure Blob Storage cung cấp bản sao tệp được lưu trữ của bạn. Điều này cung cấp nhiều dự phòng hơn và có thể được thiết lập theo cách linh hoạt phù hợp với yêu cầu của bạn.

Sẵn có

Một cụm PostgreSQL có tính khả dụng cao trong Đám mây lai luôn đảm bảo rằng giao tiếp cơ sở dữ liệu của bạn đảm bảo thời gian hoạt động. Trường hợp lý tưởng về tính khả dụng cao phụ thuộc vào việc đo lường tính khả dụng của bạn. Trong trường hợp này, một thiết lập chung cho một PostgreSQL được triển khai trong một đám mây lai có thể là cơ sở dữ liệu của bạn được lưu trữ trong một đám mây công cộng có thể là cụm phụ của bạn hoạt động như cụm khôi phục dữ liệu của bạn trong trường hợp cụm chính bị lỗi hoặc gặp sự cố mạng và có thể mất nhiều thời gian chết. Trong một số thiết lập, có thể cụm phụ nằm trong đám mây công cộng có thể không chính xác phức tạp như cụm chính, giả sử đây là đám mây tại chỗ hoặc riêng tư của bạn. Ứng dụng của bạn có thể chạy xung quanh để giới hạn khách truy cập hoặc lưu lượng truy cập có thể kết nối với cơ sở dữ liệu của bạn. Loại kịch bản này có thể làm giảm chi phí thiết lập của bạn, nhưng tất nhiên, điều này chỉ phụ thuộc vào yêu cầu của bạn. Nếu loại ứng dụng của bạn quá lớn và phải liên tục nhận các tình huống giao thông bình thường đến bận rộn, hãy đảm bảo tài nguyên cụm phụ của bạn phải mạnh như tài nguyên chính để đảm bảo tính khả dụng cao, tức là 99,9999999%.

Để đạt được một cụm PostgreSQL có tính khả dụng cao trong môi trường đám mây lai, bạn cần có cơ chế chuyển đổi dự phòng. Trong trường hợp xảy ra lỗi và cụm chính hoặc máy chủ chính gặp sự cố, máy chủ phụ hoặc máy chủ dự phòng sau đó có thể đảm nhận vai trò của máy chủ, tùy theo vị trí của nó. Điều quan trọng nhất là chức năng và hiệu suất, đặc biệt là từ quan điểm ứng dụng hoặc ứng dụng khách, hoàn toàn không bị ảnh hưởng hoặc ít nhất là rất nhỏ.

Cân bằng tải

Cơ chế cân bằng tải cho cụm PostgreSQL của bạn hỗ trợ thiết lập đám mây kết hợp của bạn, dễ quản lý hơn và ít rủi ro hơn, đặc biệt khi tải lưu lượng cao xảy ra. Trong nhiều tình huống, một máy chủ đang nhận tải cao nghiêm trọng khiến máy chủ bị hoảng loạn. Điều này dẫn đến trạng thái không sử dụng được máy chủ do tài nguyên bận bị tiêu tốn bởi rất nhiều luồng chạy nền. Tình trạng này có thể được cải thiện bằng cách sửa các truy vấn không hợp lệ và kiến ​​trúc thiết kế của cơ sở dữ liệu của bạn. Điều này phải bao gồm cách bạn phân phối tải trọng đọc so với tải ghi và hiểu biết sâu sắc về các yêu cầu ứng dụng của bạn như thiết lập tổng thể chính hoặc chỉ một bản chính nhưng mở rộng quy mô theo chiều dọc để cung cấp tài nguyên bộ nhớ và máy tính cao hơn. Ngoài ra còn có một lựa chọn tuyệt vời về các công cụ của bên thứ ba như pgbouncer và Pgpool II để hỗ trợ triển khai PostgreSQL của bạn trong môi trường đám mây lai.

Môi trường phân tán cao

Khả năng mở rộng khôn ngoan, được phân phối cao ở nhiều địa điểm hoặc các nhà cung cấp đám mây khác nhau (tại chỗ hoặc đám mây riêng và công cộng) mang lại tính linh hoạt và khả năng dung nạp cao hơn trong môi trường đám mây kết hợp và điều này rất tốt cho việc khắc phục thảm họa. Nó linh hoạt khi cần chuyển đổi dự phòng trên một vị trí đám mây cụ thể thuận lợi cho thiên tai hoặc thảm họa, đặc biệt nếu khu vực được chỉ định của bạn nơi cụm chính của bạn cư trú hiện đang bị tàn phá hoặc bị ảnh hưởng bởi nguyên nhân tự nhiên. Đây là nguyên nhân tất yếu mà bạn phải hiểu rõ và đáng tin cậy về tình hình hiện tại. Ứng dụng của bạn và khách hàng phải được phục vụ liên tục không ngừng. Điều này phục vụ mục đích khả dụng công khai trên đám mây trong khi cũng phục vụ trong môi trường riêng tư hoặc tại cơ sở. Thiết lập này tăng thêm độ phức tạp cao và yêu cầu kiến ​​thức nâng cao về phía cơ sở dữ liệu cũng như bảo mật và mạng. Tối ưu hóa và điều chỉnh là rất quan trọng để thành công ở đây vì điều rất quan trọng là trong khi cung cấp bảo mật chặt chẽ để đóng gói dữ liệu của bạn khi di chuyển trên internet, hiệu suất phải được chứng minh là ổn định và không bị ảnh hưởng bởi thiết lập đã triển khai.

Do sự phức tạp khi thiết lập, có một công cụ là lý tưởng để quản lý việc triển khai và tạo điều kiện thuận lợi cho trạng thái tổng thể của cơ sở dữ liệu, giám sát một khía cạnh của cụm của bạn nhưng trên toàn bộ cấp độ từ đám mây riêng, tại chỗ, và trên khía cạnh đám mây công cộng. Tất cả các thiết lập phải được giữ ở mức dễ quản lý và dễ hiểu để trong trường hợp có cảnh báo và cảnh báo, bạn có thể dễ dàng khắc phục và giải quyết vấn đề một cách hợp lý và kịp thời.

ClusterControl để khôi phục sau thảm họa trong môi trường đám mây kết hợp

ClusterControl cho phép tổ chức hoặc các công ty quản lý cơ sở dữ liệu một cách linh hoạt và giảm độ phức tạp tổng thể của thiết lập. ClusterControl cung cấp tính năng chuyển đổi dự phòng, sao lưu tự động, cung cấp thiết lập có tính khả dụng cao, cân bằng tải và hỗ trợ triển khai môi trường phân tán, giúp dễ dàng thêm các nút trong đám mây công cộng hoặc riêng tư hoặc tại chỗ.

ClusterControl Auto Recovery

Auto Recovery của ClusterControl đại diện cho rất nhiều cơ chế chuyển đổi dự phòng và các đặc điểm khôi phục, đặc biệt là khi một nút gặp sự cố hoặc một cụm chuyển sang trạng thái xuống cấp. Điều này có thể được thực hiện dễ dàng như thể hiện trong ảnh chụp màn hình bên dưới:

Sao lưu và khôi phục

ClusterControl cũng có tính năng Sao lưu và Khôi phục cho phép bạn quản lý bản sao lưu của mình, tạo bản sao lưu, lên lịch sao lưu và khôi phục bản sao lưu. Quản lý sao lưu của bạn rất đơn giản và việc tạo hoặc lập lịch sao lưu rất đơn giản nhưng cũng cung cấp các tùy chọn nâng cao. Nó cũng cung cấp các tùy chọn sao lưu đám mây cho phép bạn dự phòng dữ liệu dự phòng, tăng cường các tùy chọn Khôi phục sau thảm họa của bạn. Xem bên dưới:

Như hình dưới đây, việc quản lý bản sao lưu của bạn cung cấp một giao diện người dùng đơn giản để bạn chọn bản sao lưu nào bạn muốn khôi phục hoặc bạn có thể phải bỏ đi. Bản sao lưu ClusterControl cho phép bạn chọn khoảng thời gian lưu giữ, vì vậy trong trường hợp bạn có một danh sách dài, một số trong số này có thể bị xóa khi nó đạt đến khoảng thời gian lưu giữ.

Hỗ trợ các Cơ chế Cân bằng Tải (HA) và Khả dụng Cao (LB)

Bạn không cần thiết lập thủ công hoặc thậm chí nghiên cứu một số cách để thêm tính khả dụng cao trong cụm PostgreSQL của mình. Có một cách dễ dàng và thuận tiện để hoàn thành công việc với ClusterControl. Nếu bạn có thể thấy ảnh chụp màn hình ví dụ, nó có thiết lập HAProxy và Keepalived. Xem ảnh chụp màn hình bên dưới:

Thiết lập tính khả dụng cao với ClusterControl có thể được thực hiện bằng cách đi qua → Quản lý → Bộ cân bằng tải.

Hỗ trợ Môi trường Phân tán

Nếu bạn muốn phân phối đồng đều từ đám mây tại chỗ hoặc đám mây riêng đến đám mây công cộng, ClusterControl cũng hỗ trợ triển khai đám mây. Nhưng đối với một cụm PostgreSQL và bạn dự định có một nô lệ thứ cấp cư trú trên một đám mây khác, bạn có thể tạo một cụm nô lệ như được hiển thị bên dưới,

và bạn có thể đến với kết quả cuối cùng như hình dưới đây,

ClusterControl cũng sẽ hiển thị cho bạn cấu trúc liên kết phù hợp của cụm của bạn bất cứ khi nào bạn thiết lập môi trường đám mây kết hợp. Xem thông tin bên dưới,

Trong khi trong cụm nô lệ, cấu trúc liên kết sẽ hiển thị cây gốc tiết lộ chủ của nó. Máy chủ ở đây cho thấy nó nằm trong một mạng riêng biệt chủ yếu nằm trong Google Cloud, trong khi máy chủ nằm tại chỗ.

Kết luận

Có thể chấp nhận rằng thiết lập đám mây lai, đặc biệt với cụm PostgreSQL làm tăng thêm độ phức tạp. Bạn phải có công cụ phù hợp với các tùy chọn hiện có để hỗ trợ lập kế hoạch khắc phục thảm họa của bạn. Đây là những điều rất quan trọng để cứu và tránh cho doanh nghiệp của bạn khỏi thảm họa tiềm tàng về thiệt hại tài chính và đánh mất lòng tin của khách hàng. Đầu tư vào các công cụ và kỹ năng phù hợp với công nghệ của bạn và bạn sẽ cứu doanh nghiệp của mình khỏi tác động tiêu cực.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tổng quan về sao chép lôgic trong PostgreSQL

  2. Xác định OID của một bảng trong Postgres 9.1?

  3. Tôi tiếp tục nhận được quan hệ lỗi [TABLE] không tồn tại

  4. Thứ tự mặc định của danh sách được trả về từ lệnh gọi bộ lọc Django là gì?

  5. Nhận số ngày trong tháng trong PostgreSQL