Việc sử dụng đám mây để lưu trữ dữ liệu của bạn hoặc làm tùy chọn chuyển đổi dự phòng trong trường hợp lỗi chính là điều khá phổ biến. Có một số nhà cung cấp đám mây cho phép bạn lưu trữ, quản lý, truy xuất và thao tác dữ liệu thông qua nền tảng đám mây; có thể truy cập qua internet. Mỗi nhà cung cấp dịch vụ đám mây đều có các dịch vụ sản phẩm và tính năng độc đáo của riêng mình, mỗi nhà cung cấp có các mô hình chi phí khác nhau.
Microsoft Azure là một trong những nhà cung cấp có thể này. Trong blog này, chúng ta sẽ xem xét những tính năng mà Microsoft Azure cung cấp cho bộ nhớ chính, như một trang web khôi phục thảm họa và đặc biệt xem xét cách nó xử lý môi trường cơ sở dữ liệu PostgreSQL hỗn hợp.
Triển khai Phiên bản Cơ sở dữ liệu PostgreSQL trên Microsoft Azure
Trước khi thực hiện tác vụ này, bạn cần quyết định cách bạn sẽ sử dụng phiên bản này và sản phẩm Azure nào phù hợp nhất với bạn. Có hai cách cơ bản để triển khai phiên bản PostgreSQL trên Microsoft Azure.
- Cơ sở dữ liệu Azure cho PostgreSQL :Là một dịch vụ được quản lý mà bạn có thể sử dụng để chạy, quản lý và mở rộng quy mô cơ sở dữ liệu PostgreSQL có sẵn trên đám mây. Nó có sẵn trong hai tùy chọn triển khai:Máy chủ đơn và Tỷ lệ siêu cao.
- Máy ảo :Cung cấp cơ sở hạ tầng ảo hóa theo yêu cầu, quy mô cao, an toàn. Nó có hỗ trợ cho Ubuntu Server, RedHat Enterprise Linux, SUSE Linux Enterprise Server, CentOS, Debian và Windows Server và nó cho phép bạn phát triển, thử nghiệm, chạy các ứng dụng và mở rộng trung tâm dữ liệu của mình chỉ trong vài giây.
Đối với blog này, chúng ta sẽ xem xét cả cách chúng ta có thể tạo Cơ sở dữ liệu Azure cho PostgreSQL và sử dụng Azure Máy ảo từ Microsoft Azure Portal.
Triển khai Cơ sở dữ liệu Azure cho PostgreSQL
Nếu bạn truy cập Cổng Azure -> Tạo Tài nguyên -> Cơ sở dữ liệu -> Cơ sở dữ liệu Azure cho PostgreSQL, bạn sẽ có thể chọn giữa Máy chủ đơn hoặc Tỷ lệ siêu cao. Đối với blog này, chúng tôi sẽ sử dụng một Máy chủ duy nhất, vì tùy chọn Hyperscale đang ở chế độ xem trước và nó chưa cung cấp SLA.
Tại đây bạn cần thêm một số thông tin về phiên bản PostgreSQL mới của mình; chẳng hạn như đăng ký, tên máy chủ, thông tin đăng nhập của người dùng và vị trí. Bạn cũng có thể chọn phiên bản PostgreSQL để sử dụng (phiên bản 9.5, 9.6, 10 hoặc 11 hiện có sẵn) và phần cứng ảo để chạy nó (Compute + Storage).
Khi chỉ định phần cứng, bạn sẽ thấy giá ước tính thực tế -thời gian. Điều này thực sự hữu ích để tránh một bất ngờ lớn vào tháng tới. Sau bước này, bạn chỉ cần xác nhận cấu hình tài nguyên và đợi vài phút cho đến khi Azure hoàn thành công việc tạo.
Khi bạn đã tạo tài nguyên mới, bạn có thể đi tới Tất cả tài nguyên để xem các tùy chọn tài nguyên có sẵn.
Trong các tùy chọn tài nguyên đã tạo, bạn có thể đi tới Nhân bản để bật nó và sao chép từ máy chủ chính lên đến năm bản sao. Bạn cũng nên kiểm tra phần Bảo mật kết nối để bật hoặc tắt quyền truy cập bên ngoài. Để biết thông tin truy cập, bạn phải truy cập phần tài nguyên tổng quan.
$ psql -h pg1blog.postgres.database.azure.com -U [email protected] postgres
Password for user [email protected]:
psql (11.5, server 11.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=>
Chuyển đổi dự phòng trên Cơ sở dữ liệu Azure cho PostgreSQL
Rất tiếc, chuyển đổi dự phòng tự động giữa máy chủ chính và máy chủ bản sao không khả dụng. Tuy nhiên, nếu bạn xóa bản sao chính, Azure sẽ thực hiện quá trình chuyển đổi dự phòng để quảng bá bản sao theo cách tự động.
Có một tùy chọn để thực hiện tác vụ chuyển đổi dự phòng này theo cách thủ công, yêu cầu bạn phải dừng bản sao và định cấu hình điểm cuối mới vào ứng dụng của bạn để trỏ đến bản chính mới. Bản sao sẽ được thăng cấp và xóa liên kết khỏi bản chính. Không có cách nào để liên kết lại bản sao này với bản sao của bạn một lần nữa.
Triển khai PostgreSQL trên Máy ảo Azure
Nếu bạn truy cập Cổng Azure -> Tạo Tài nguyên -> Tính toán -> Máy ảo, bạn sẽ mở phần Tạo máy ảo nơi bạn có thể chỉ định các cấu hình khác nhau cho Máy ảo Azure mới của mình .
Trong tab cơ bản, bạn phải chỉ định đăng ký Azure, Khu vực, Tính khả dụng tùy chọn, Hệ điều hành, Kích thước máy chủ, thông tin xác thực truy cập (tên người dùng / mật khẩu hoặc Khóa SSH) và các quy tắc tường lửa đến.
Trong tab đĩa, bạn phải chỉ định dung lượng lưu trữ (loại và kích thước) cho máy ảo mới của bạn. Loại đĩa có thể là HDD tiêu chuẩn, SSD tiêu chuẩn hoặc SSD cao cấp. Cách cuối cùng được đề xuất cho khối lượng công việc IOPS cao.
Trong tab mạng, bạn có thể chỉ định mạng ảo, địa chỉ IP công cộng và các cổng đến được phép. Bạn cũng có thể thêm máy ảo mới này vào sau một giải pháp cân bằng tải Azure.
Trong tab tiếp theo, chúng tôi có một số tùy chọn quản lý, như giám sát và sao lưu .
Và cuối cùng, trong tab nâng cao, chúng ta có thể thêm tiện ích mở rộng, cloud- init hoặc nhóm máy chủ.
Sau khi xem xét và xác nhận tùy chọn trước đó, bạn sẽ có máy ảo mới của mình được tạo và có thể truy cập từ Azure Portal. Trong phần Tài nguyên -> Tổng quan, bạn có thể xem thông tin truy cập máy ảo (Địa chỉ IP Công cộng / Riêng tư).
Bây giờ, bạn có thể truy cập thông qua SSH và cài đặt cơ sở dữ liệu PostgreSQL bằng ClusterControl .
$ ssh 23.102.177.27
Last login: Mon Sep 23 21:33:27 2019
[[email protected] ~]$
Bạn có thể kiểm tra liên kết này để xem các bước thực hiện triển khai PostgreSQL với ClusterControl.
Chuyển đổi dự phòng PostgreSQL trên Máy ảo Azure
Khôi phục sau thảm họa là một tính năng Máy ảo trong phần Hoạt động cho phép bạn sao chép môi trường của mình trong một vùng Azure khác. Để kích hoạt nó, bạn cần chọn vùng mục tiêu. Trong tab nâng cao, bạn có thể sửa đổi các chi tiết mục tiêu cụ thể; chẳng hạn như mạng ảo, cài đặt bộ nhớ và cài đặt sao chép.
Khi bật khôi phục thảm họa, bạn sẽ có thể kiểm tra trạng thái sao chép, kiểm tra quá trình chuyển đổi dự phòng hoặc chuyển đổi dự phòng theo cách thủ công cho nó.
Bật tùy chọn này cho phép bạn có tùy chọn chuyển đổi dự phòng trong trường hợp không thành công. Tuy nhiên, đây sẽ là một chuyển đổi dự phòng cho toàn bộ môi trường chứ không chỉ dịch vụ cơ sở dữ liệu.
Quy trình chuyển đổi dự phòng PostgreSQL được cải tiến cho Microsoft Azure
Khi bạn có quyền truy cập SSH, bạn có thể cải thiện quá trình chuyển đổi dự phòng này bằng cách nhập máy ảo (hoặc thậm chí triển khai cơ sở dữ liệu PostgreSQL) với ClusterControl.
Nếu bạn đang quản lý các nút cơ sở dữ liệu bằng ClusterControl (và nếu tùy chọn "Auto Recovery" đang BẬT) trong trường hợp lỗi chính, thì ClusterControl sẽ quảng bá nô lệ nâng cao nhất (nếu nó không nằm trong danh sách đen ) để làm chủ cũng như thông báo cho bạn về sự cố. Nó cũng tự động không thể sao chép các nô lệ còn lại từ bản chính mới.
Với ClusterControl, bạn thậm chí còn triển khai một môi trường hỗn hợp với một số nút trên đám mây và các nút khác tại chỗ. Bạn cũng có thể thêm bộ cân bằng tải vào cấu trúc liên kết của mình để cải thiện môi trường có tính khả dụng cao của chúng tôi. Bạn có thể tìm thêm thông tin về chủ đề này tại đây.
Kết luận
Azure có rất nhiều tính năng và sản phẩm để cung cấp giải pháp cấp doanh nghiệp. Tuy nhiên, trong các thử nghiệm này, vấn đề chính mà tôi nhận thấy là thời gian tạo và chuyển đổi dự phòng quá lâu so với hầu hết các nhu cầu ứng dụng.
Nếu bạn cần chuyển đổi dự phòng và khôi phục nhanh, bạn nên cải thiện tính khả dụng của môi trường bằng cách sử dụng bộ cân bằng tải hoặc hệ thống bên ngoài như ClusterControl, để giảm thời gian chết. Để biết thêm thông tin chi tiết về cách chạy PostgreSQL trên Microsoft Azure, bạn có thể xem qua blog chuyên sâu của chúng tôi.