MySQL có truyền thống lâu đời trong việc nhân rộng địa lý. Việc phân phối các cụm đến các trung tâm dữ liệu từ xa làm giảm ảnh hưởng của độ trễ địa lý bằng cách đẩy dữ liệu đến gần người dùng hơn. Nó cũng cung cấp khả năng phục hồi sau thảm họa. Do chi phí nhân bản phần cứng trong một trang web riêng biệt rất đáng kể, trước đây không nhiều công ty có đủ khả năng chi trả. Một chi phí khác là đội ngũ nhân viên lành nghề có khả năng thiết kế, triển khai và duy trì một môi trường nhiều trung tâm dữ liệu phức tạp.
Với cuộc cách mạng tự động hóa Đám mây và DevOps, việc có trung tâm dữ liệu phân tán chưa bao giờ dễ tiếp cận hơn đối với công chúng. Các nhà cung cấp dịch vụ đám mây đang gia tăng phạm vi dịch vụ mà họ cung cấp với mức giá tốt hơn. Người ta có thể lập các kế hoạch DR linh hoạt và có thể mở rộng để tiếp cận một loạt các tình huống gián đoạn. Trong một số trường hợp, đó chỉ có thể là một bản sao lưu được lưu trữ bên ngoài. Trong các trường hợp khác, nó có thể là bản sao 1-1 của môi trường sản xuất đang chạy ở một nơi khác.
Trong blog này, chúng ta sẽ xem xét một số trường hợp này và giải quyết các tình huống phổ biến.
Lưu trữ các bản sao lưu trong đám mây
Kế hoạch DR là một thuật ngữ chung mô tả một quy trình để khôi phục các hệ thống CNTT bị gián đoạn và các tài sản quan trọng khác mà một tổ chức sử dụng. Sao lưu là phương pháp chính để đạt được điều này. Khi một bản sao lưu nằm trong cùng một trung tâm dữ liệu với các máy chủ sản xuất của bạn, bạn có nguy cơ bị xóa sạch tất cả dữ liệu trong trường hợp mất trung tâm dữ liệu đó. Để tránh điều đó, bạn nên có chính sách tạo một bản sao ở một vị trí thực tế khác. Bạn vẫn nên giữ một bản sao lưu trên đĩa để giảm thời gian khôi phục cần thiết. Trong hầu hết các trường hợp, bạn sẽ giữ bản sao lưu chính của mình trong cùng một trung tâm dữ liệu (để giảm thiểu thời gian khôi phục), nhưng bạn cũng nên có một bản sao lưu có thể được sử dụng để khôi phục các quy trình nghiệp vụ khi trung tâm dữ liệu chính gặp sự cố.
ClusterControl:Tải bản sao lưu lên đám mâyClusterControl cho phép tích hợp liền mạch giữa môi trường cơ sở dữ liệu của bạn và đám mây. Nó cung cấp các tùy chọn để di chuyển dữ liệu lên đám mây. Chúng tôi cung cấp sự kết hợp đầy đủ của các bản sao lưu cơ sở dữ liệu cho Amazon Web Services (AWS), Google Cloud Services hoặc Microsoft Azure. Giờ đây, các bản sao lưu có thể được thực thi, lên lịch, tải xuống và khôi phục trực tiếp từ nhà cung cấp đám mây mà bạn lựa chọn. Khả năng này cung cấp khả năng dự phòng tăng lên, các tùy chọn khôi phục thảm họa tốt hơn và mang lại lợi ích về cả hiệu suất và tiết kiệm chi phí.
ClusterControl:Quản lý thông tin đăng nhập trên đám mâyBước đầu tiên để thiết lập "sao lưu chống lỗi trung tâm dữ liệu" là cung cấp thông tin đăng nhập cho nhà điều hành đám mây của bạn. Bạn có thể chọn từ nhiều nhà cung cấp tại đây. Hãy cùng xem quy trình được thiết lập cho nhà điều hành đám mây phổ biến nhất - AWS.
ClusterControl:thêm thông tin đăng nhập đám mâyTất cả những gì bạn cần là ID khóa AWS và bí mật cho khu vực bạn muốn lưu trữ bản sao lưu của mình. Bạn có thể lấy điều đó từ bảng điều khiển AWS. Bạn có thể làm theo một vài bước để có được nó.
- Sử dụng địa chỉ email và mật khẩu tài khoản AWS của bạn để đăng nhập vào Bảng điều khiển quản lý AWS với tư cách là người dùng gốc của tài khoản AWS.
- Trên trang Bảng điều khiển IAM, chọn tên tài khoản của bạn trong thanh điều hướng, sau đó chọn Thông tin đăng nhập bảo mật của tôi .
- Nếu bạn thấy cảnh báo về việc truy cập thông tin xác thực bảo mật cho tài khoản AWS của mình, hãy chọn Tiếp tục đến thông tin đăng nhập bảo mật .
- Mở rộng phần Khóa truy cập (ID khóa truy cập và khóa truy cập bí mật).
- Chọn để Tạo khóa truy cập mới . Sau đó, chọn Tải xuống tệp khóa để lưu ID khóa truy cập và khóa truy cập bí mật vào một tệp trên máy tính của bạn. Sau khi đóng hộp thoại, bạn sẽ không thể lấy lại khóa truy cập bí mật này.
Khi tất cả đã được thiết lập, bạn có thể điều chỉnh lịch trình sao lưu của mình và bật tùy chọn sao lưu lên đám mây. Để giảm lưu lượng mạng, hãy đảm bảo bật tính năng nén dữ liệu. Nó làm cho các bản sao lưu nhỏ hơn và giảm thiểu thời gian tải lên cần thiết. Một phương pháp hay khác là mã hóa bản sao lưu. ClusterControl tạo một khóa tự động và sử dụng nó nếu bạn quyết định khôi phục nó. Các chính sách sao lưu nâng cao phải có thời gian lưu giữ khác nhau đối với các bản sao lưu được lưu trữ trên các máy chủ trong cùng một trung tâm dữ liệu và các bản sao lưu được lưu trữ ở một vị trí thực khác. Bạn nên đặt khoảng thời gian lưu giữ kéo dài hơn cho các bản sao lưu dựa trên đám mây và khoảng thời gian ngắn hơn cho các bản sao lưu được lưu trữ gần môi trường sản xuất, vì xác suất khôi phục giảm xuống theo thời gian tồn tại của bản sao lưu.
ClusterControl:chính sách lưu giữ bản sao lưuMở rộng cụm của bạn với sao chép không đồng bộ
Galera với tính năng sao chép không đồng bộ có thể là một giải pháp tuyệt vời để xây dựng một nút DR đang hoạt động trong một trung tâm dữ liệu từ xa. Có một vài lý do chính đáng để đính kèm một nô lệ không đồng bộ vào một Cụm Galera. Các truy vấn loại OLAP kéo dài trên một nút Galera có thể làm chậm toàn bộ cụm. Với tùy chọn áp dụng trì hoãn, việc sao chép bị trì hoãn có thể giúp bạn tránh được các lỗi do con người gây ra, vì vậy tất cả các lần nhập vàng đó sẽ không được áp dụng ngay lập tức cho nút dự phòng của bạn.
ClusterControl:sao chép bị trì hoãnTrong ClusterControl, việc mở rộng nhóm nút Galera với sao chép không đồng bộ được thực hiện trong một trình hướng dẫn trang đơn. Bạn cần cung cấp thông tin cần thiết về máy chủ nô lệ hiện có hoặc trong tương lai của mình. Máy chủ sẽ được thiết lập từ một bản sao lưu hiện có hoặc một XtraBackup mới được truyền trực tuyến từ máy chủ đến máy chủ.
Bộ cân bằng tải trong đa trung tâm dữ liệu
Bộ cân bằng tải là một thành phần quan trọng trong cơ sở dữ liệu MySQL và MariaDB có tính khả dụng cao. Không đủ để có một cụm trải dài trên nhiều trung tâm dữ liệu. Bạn vẫn cần các dịch vụ của mình để truy cập chúng. Lỗi bộ cân bằng tải có sẵn trong một trung tâm dữ liệu sẽ khiến toàn bộ môi trường của bạn không thể truy cập được.
Web proxy trong môi trường cụmMột trong những phương pháp phổ biến để che giấu sự phức tạp của lớp cơ sở dữ liệu khỏi ứng dụng là sử dụng proxy. Proxy hoạt động như một điểm vào cơ sở dữ liệu, chúng theo dõi trạng thái của các nút cơ sở dữ liệu và luôn hướng lưu lượng truy cập đến chỉ các nút có sẵn. ClusterControl giúp dễ dàng triển khai và định cấu hình một số công nghệ cân bằng tải khác nhau cho MySQL và MariaDB, bao gồm ProxySQL, HAProxy, với giao diện đồ họa trỏ và nhấp.
ClusterControl:bộ cân bằng tải HANó cũng cho phép làm cho thành phần này dư thừa bằng cách thêm keepalived lên trên nó. Để ngăn bộ cân bằng tải của bạn không gặp lỗi duy nhất, người ta sẽ thiết lập hai phiên bản giống hệt nhau (một hoạt động và một ở DC khác ở chế độ chờ) các phiên bản HAProxy, ProxySQL hoặc MariaDB Maxscale và sử dụng Keepalived để chạy Giao thức dự phòng bộ định tuyến ảo (VRRP) giữa họ. VRRP cung cấp địa chỉ IP ảo cho bộ cân bằng tải hoạt động và chuyển IP ảo sang HAProxy dự phòng trong trường hợp không thành công. Nó liền mạch vì hai phiên bản proxy không cần trạng thái chia sẻ.
Tất nhiên, có nhiều điều cần xem xét để làm cho cơ sở dữ liệu của bạn miễn nhiễm với các lỗi trung tâm dữ liệu.
Lập kế hoạch và tự động hóa phù hợp sẽ làm cho nó hoạt động! Chúc bạn phân nhóm vui vẻ!