Một thảm họa thường gây ra sự cố, có nghĩa là hệ thống ngừng hoạt động và có khả năng mất dữ liệu. Khi chúng tôi đã phát hiện ra sự cố mất điện, chúng tôi kích hoạt kế hoạch DR của mình để khôi phục từ nó. Nhưng sẽ thật bất ngờ, nếu không có bản sao lưu hoặc sau nhiều giờ khôi phục, bạn thấy nó không phải là bản bạn cần.
Mặc dù việc ngừng hoạt động có thể gây tốn kém - thường có tác động tài chính có thể gây hại cho doanh nghiệp và việc mất dữ liệu có thể là lý do để đóng cửa công ty.
Để giảm thiểu mất mát dữ liệu, chúng ta cần có nhiều bản sao dữ liệu ở nhiều nơi khác nhau. Chúng ta có thể thiết kế cơ sở hạ tầng của mình theo các lớp khác nhau và trừu tượng hóa từng lớp từ lớp bên dưới nó. Ví dụ:chúng tôi xây dựng một lớp cho các cụm cá thể cơ sở dữ liệu để bảo vệ khỏi lỗi phần cứng. Chúng tôi sao chép cơ sở dữ liệu trên các trung tâm dữ liệu để chúng tôi có thể tự bảo vệ mình trước sự cố trung tâm dữ liệu. Mỗi lớp bổ sung thêm phức tạp, điều này có thể trở thành cơn ác mộng để quản lý. Nhưng về bản chất, một bản sao lưu sẽ chiếm vị trí trung tâm trong việc khắc phục thảm họa.
Đó là lý do tại sao điều quan trọng là phải chắc chắn rằng đó là thứ mà chúng ta có thể dựa vào. Nhưng làm thế nào để đạt được điều này? Chà, một trong những tùy chọn là xác minh xem các bản sao lưu có được thực thi hay không dựa trên một vài dòng cuối cùng của tập lệnh sao lưu.
Một ví dụ đơn giản:
#!/bin/sh
mysqldump -h 192.168.1.1 -u user -ppassword dbname > filename.sql
if [ "$?" -eq 0 ]; then
echo "Success."
else
echo "Error."
fi
Nhưng điều gì sẽ xảy ra nếu tập lệnh sao lưu hoàn toàn không bắt đầu? Google cung cấp khá nhiều kết quả tìm kiếm cho "Linux cron, không chạy."
Thật không may, cơ sở dữ liệu nguồn mở thường không cung cấp kho lưu trữ sao lưu.
Một thử nghiệm sao lưu khác. Bạn có thể đã nghe nói về con mèo của Schrödinger. Lý thuyết Sao lưu của Schrödinger đã biết là. "Điều kiện của bất kỳ bản sao lưu nào là không xác định cho đến khi cố gắng khôi phục." Nghe có vẻ như một cách tiếp cận đơn giản nhưng một nỗ lực như vậy có nghĩa là bạn phải thiết lập một môi trường thử nghiệm, sao chép tệp chạy khôi phục ... sau mỗi lần sao lưu.
Trong bài viết này, chúng ta sẽ xem cách bạn có thể sử dụng ClusterControl để đảm bảo sao lưu của bạn được thực thi để đạt được cơ sở dữ liệu Cấp Doanh nghiệp với Cơ sở dữ liệu nguồn mở.
Báo cáo Dự phòng
ClusterControl nhằm vào các báo cáo hoạt động. Báo cáo Hoạt động cung cấp hỗ trợ cho việc giám sát và kiểm soát hoạt động hàng ngày của doanh nghiệp. Báo cáo sao lưu là một trong nhiều báo cáo. Bạn có thể tìm thấy các báo cáo như:
- Báo cáo hệ thống hàng ngày
- Báo cáo nâng cấp gói
- Báo cáo thay đổi giản đồ
- Tính khả dụng
- Sao lưu
Nhưng tại sao bạn cần cái này?
Bạn có thể đã có một công cụ giám sát tuyệt vời với tất cả các chỉ số / đồ thị có thể có và bạn cũng có thể đã thiết lập cảnh báo dựa trên các chỉ số và ngưỡng (một số thậm chí sẽ có cố vấn tự động cung cấp cho họ các đề xuất hoặc sửa chữa mọi thứ tự động.) Điều đó thật tốt - có khả năng hiển thị hệ thống là quan trọng; tuy nhiên, bạn cần có khả năng xử lý nhiều thông tin.
Tính năng này hoạt động như thế nào? ClusterControl thu thập thông tin về quá trình sao lưu, hệ thống, nền tảng và thiết bị trong cơ sở hạ tầng sao lưu khi công việc sao lưu được kích hoạt. Tất cả thông tin đó được tổng hợp và lưu trữ trong CMON (cơ sở dữ liệu nội bộ), vì vậy không cần phải truy vấn thêm các cơ sở dữ liệu cụ thể. Ngoài ra, khi nó phát hiện ra rằng bạn có một cụm đang chạy, nhưng không có bản sao lưu, nó cũng sẽ được báo cáo.
Trong chi tiết báo cáo, bạn có thể theo dõi ID dự phòng với dữ liệu chi tiết về vị trí, kích thước, thời gian và phương pháp sao lưu. Các mẫu làm việc với dữ liệu cho các loại cơ sở dữ liệu khác nhau, vì vậy khi bạn quản lý môi trường hỗn hợp của mình, bạn sẽ có cảm giác và giao diện giống nhau. Nó giúp quản lý các bản sao lưu cơ sở dữ liệu khác nhau tốt hơn.
Báo cáo CLI
Đối với những người thích giao diện dòng lệnh, một tùy chọn tốt để theo dõi các bản sao lưu ClusterControl Command Line Interface (CLI).
CLI cho phép bạn thực thi hầu hết các chức năng có sẵn trong ClusterControl bằng các lệnh đơn giản. Thực hiện sao lưu và báo cáo sao lưu là một trong số đó.
Được sử dụng cùng với GUI mạnh mẽ, nó cung cấp cho người dùng ClusterControl những cách thay thế để quản lý môi trường cơ sở dữ liệu nguồn mở của họ bằng bất kỳ công cụ nào họ thích.
$ s9s backup --list --cluster-id=1 --long --human-readable
ID CID STATE OWNER HOSTNAME CREATED SIZE FILENAME
1 1 COMPLETED dba 10.0.0.5 07:21:39 252K mysqldump_2017-05-09_072135_mysqldb.sql.gz
1 1 COMPLETED dba 10.0.0.5 07:21:43 1014 mysqldump_2017-05-09_072135_schema.sql.gz
1 1 COMPLETED dba 10.0.0.5 07:22:03 109M mysqldump_2017-05-09_072135_data.sql.gz
1 1 COMPLETED dba 10.0.0.5 07:22:07 679 mysqldump_2017-05-09_072135_triggerseventsroutines.sql.gz
2 1 COMPLETED dba 10.0.0.5 07:30:20 252K mysqldump_2017-05-09_073016_mysqldb.sql.gz
2 1 COMPLETED dba 10.0.0.5 07:30:24 1014 mysqldump_2017-05-09_073016_schema.sql.gz
2 1 COMPLETED dba 10.0.0.5 07:30:44 109M mysqldump_2017-05-09_073016_data.sql.gz
2 1 COMPLETED dba 10.0.0.5 07:30:49 679 mysqldump_2017-05-09_073016_triggerseventsroutines.sql.gz
Bắt đầu từ phiên bản 1.4.1, tập lệnh trình cài đặt sẽ tự động cài đặt gói này trên nút ClusterControl. CLI là một phần của gói công cụ s9s. Bạn cũng có thể cài đặt riêng nó trên một máy khác để quản lý cụm cơ sở dữ liệu từ xa. Tương tự như ClusterControl, nó sử dụng giao tiếp SSH an toàn.
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 chúng tôi không thể truy xuất dữ liệu. Xác minh các bản sao lưu là điều thường bị nhiều công ty 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 và giúp tránh bất kỳ điều gì bất ngờ.
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ập 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 lưu trữ, chúng ta cũng cần chỉ định lịch trình / tần suất. Trong ví dụ này, chúng tôi sẽ thiết lập xác minh sao lưu MySQL. Tuy nhiên, điều tương tự cũng có thể đạt được đối với cơ sở dữ liệu PostgreSQL và Timescale.
Khi xác minh sao lưu được chọn, một tab khác sẽ xuất hiện.
Tại đây chúng ta có thể thiết lập tất cả các bước cần thiết để chuẩn bị môi trường. Khi IP được cung cấp, chúng tôi có thể tiến hành và lên lịch sao lưu như vậy. Bất cứ khi nào quá trình sao lưu kết thúc, nó sẽ được sao chép sang một môi trường xác minh sao lưu tạm thời (tùy chọn “bật khôi phục sao lưu”). Sau khi làm mới thành công, bạn sẽ thấy trạng thái xác minh trong tab kho lưu trữ sao lưu.
Dịch vụ tích hợp và thực thi sao lưu không thành công
Một tùy chọn thú vị khác để có thêm manh mối về việc thực thi sao lưu là sử dụng các dịch vụ Tích hợp ClusterControl. Bạn có thể kiểm soát trạng thái thực thi sao lưu bằng các dịch vụ của bên thứ ba.
Tích hợp công cụ của bên thứ ba cho phép bạn tự động hóa cảnh báo với các hệ thống phổ biến khác. Hiện tại, ClusterControl hỗ trợ ServiceNow, PagerDuty, VictorOps, OpsGenie, Slack, Telegram và Webhooks.
Dưới đây, chúng ta có thể xem một ví dụ về tích hợp kênh Slack. Bất cứ khi nào một sự kiện sao lưu xảy ra, nó sẽ xuất hiện trong kênh chùng.
Kết luận
Sao lưu là bắt buộc trong bất kỳ môi trường nào. Chúng giúp bạn bảo vệ dữ liệu của mình và là trung tâm của mọi tình huống khôi phục sau thảm họa. ClusterControl có thể giúp tự động hóa quá trình sao lưu cho cơ sở dữ liệu của bạn và trong trường hợp không thành công, hãy khôi phục nó bằng một vài cú nhấp chuột. Ngoài ra, bạn có thể chắc chắn rằng chúng được thực thi thành công và đáng tin cậy để trong trường hợp xảy ra thảm họa, bạn sẽ không bị mất dữ liệu của mình.