Sự khác biệt giữa XtraBackup và rsync là gì?


11

Phải, tôi sẽ chạy sải bước trên cả hai ... Tuy nhiên, tôi muốn biết ...

  • XtraBackup đang làm gì hơn và trên rsync -ac src mệnh?
  • XtraBbackup có gì đặc biệt?
  • XtraBackup tương tác với mysqld như thế nào?

1
Đây là một trong những câu hỏi "Tôi đã nghe nói về XtraBackup nhưng tôi ngại hỏi" các câu hỏi về tàu phá băng. Tôi thích những loại câu hỏi !!! +1 !!!
RolandoMySQLDBA

1
@RolandoMySQLDBA: Tôi thích kích động suy nghĩ và khiến mọi người chia sẻ kiến ​​thức. Đó là cách chúng ta trở nên tốt hơn, phải không? Trở thành một Langer Ranger không vui lắm. :-)
Randomx

Câu trả lời:


16

rsync chỉ là một bản sao dữ liệu theo từng byte dữ liệu từ nơi này sang nơi khác. Bạn sẽ thực hiện nhiều rsyncs cho đến rsync cuối cùng, rất nhanh chóng. Sau đó, bạn sẽ tắt hoàn toàn MySQL và thực hiện thêm một rsync.

XtraBackup là một công cụ toàn diện hoạt động như rsync nhưng có mục đích định hướng trong cuộc sống. Nó có thể bắt đầu sao chép tất cả dữ liệu và không gian bảng của InnoDB. Nó có khả năng tạo các điểm kiểm tra bên trong và thực hiện khôi phục sự cố InnoDB tại chỗ để giúp có được bản sao lưu tại thời điểm hoàn hảo. XtraBackup cũng có một tính năng bổ sung cho phép tạo các bản sao lưu gia tăng. Một tính năng bổ sung khác là tạo các tệp nhật ký InnoDB, cũng được xây dựng bằng cách khôi phục sự cố tại chỗ. Ngoài ra còn có một số phần mềm trình bao bọc để cung cấp bản sao đông lạnh các bảng MyISAM.

Cả hai phương pháp đều tuyệt vời. XtraBackup chỉ đơn giản là triển khai các tính năng giao dịch của InnoDB vào hầu hết các bản sao ban đầu. Xtrabackup tạo các tệp có thể thả vào cơ sở hạ tầng MySQL đã được thiết lập. Công bằng mà nói, XtraBackup cung cấp sao lưu công cụ và các tệp InnoDB rất có thể sử dụng được.

Việc sử dụng rsync buộc bạn phải quản lý quá trình sao chép nhiều lần và tắt nó bằng cách tắt máy mysql để yêu cầu một sự can thiệp của rsync.

Sử dụng cái này có thể là một sở thích cá nhân. Một điều phải được thừa nhận: XtraBackup tạo ra các bản sao lưu có phần lớn hơn dữ liệu đã được sao chép. Tôi để sự lựa chọn của phương pháp cho người đọc câu hỏi này.

Tôi thích rsync vì nó đơn giản trong sử dụng, tôi có thể xác định thời điểm cụ thể trước khi quá trình bắt đầu, tôi cũng có toàn quyền kiểm soát khóa mysqld hoặc tắt nó, khi điều khiển như vậy có thể được thực hiện và theo bất kỳ thứ tự nào tôi chỉ định .

Cả hai kiểu sao lưu đều có một điểm chung : Với XtraBackup, thời điểm thực tế là mục tiêu di chuyển cho đến khi quá trình sao lưu hoàn tất và bạn phải tin tưởng XtraBackup (cho đến nay, 200.000 lượt tải xuống. Facebook là một trong những người dùng lớn nhất Nó. Nó đã kiếm được rất nhiều sự tin tưởng). Nói cách khác, nếu tôi khởi động XtraBackup vào lúc nửa đêm và bản sao lưu kéo dài đến 2:20 sáng, thì thời điểm thực tế của bản sao lưu là 2:20 AM. Việc sử dụng rsync có cùng một vấn đề mục tiêu di chuyển bởi vì bạn phải thực hiện nhiều rsyncs theo cách thủ công và sau đó xác định khi nào sẽ phát hành 'dịch vụ mysql dừng' trước rsync cuối cùng.

Các phương thức này khác nhau ở chỗ mysqld phải được tắt bằng phương thức rsync, trong khi XtraBackup hoạt động độc lập với mysqld. Trên thực tế, XtraBackup hoàn toàn không tương tác với mysqld, ngoại trừ khi giao dịch với các bảng MyISAM thông qua phần mềm trình bao bọc. XtraBackup cố gắng xây dựng các tệp nhật ký và dữ liệu InnoDB đầy đủ chức năng bằng cách sử dụng các hoạt động của công cụ lưu trữ InnoDB riêng biệt và khác biệt với mysqld.

Việc tắt mysql là rất cần thiết cho phương thức rsync vì một lý do rất lớn: Nhóm bộ đệm InnoDB có thể chứa "các trang bẩn", đó là các trang dữ liệu và chỉ mục (1 Trang = 16KB) chưa được ghi lại vào đĩa. Sử dụng rsync không nắm bắt được các thay đổi dữ liệu đang chờ xử lý trong Nhóm bộ đệm InnoDB. Để tăng tốc độ tắt mysqld cho rsync cuối cùng, vui lòng chạy lệnh này:

SET GLOBAL innodb_max_dirty_pages_pct = 0;

Lệnh này sẽ giữ số lượng trang bẩn đến mức tối thiểu. Lệnh này sẽ được chạy khoảng một giờ trước khi bạn thực hiện phương thức sao lưu rsync. Điều này thậm chí có thể giúp XtraBackup, mặc dù XtraBackup không yêu cầu tắt máy mysql.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.