Rsync (Remote Sync) là một công cụ hữu hiệu để sao lưu và đồng bộ dữ liệu trên Linux. Với câu lệnh rsync bạn có thể sao lưu và đồng bộ dữ liệu remote từ các máy sử dụng hệ điều hành Linux một cách dễ dàng và thuận tiện.
Mục lục
Ưu điểm khi sử dụng rsync
Sử dụng rsync có khá nhiều ưu điểm. Dưới đây là một số ưu điểm:
- Bạn không cần chạy rsync với quyền root.
- Hiệu quả trong việc sao lưu và đồng bộ file từ 1 hệ thống khác
- Hỗ trợ sao chép links, devices, owners, groups và permissions.
- Nhanh hơn sử dụng SCP (secure copy).
- Rsync tiêu tốn ít bandwidth vì nó có sử dụng cơ chế nén khi truyền tải và nhận dữ liệu.
Cài đặt và sử dụng rsync
Để cài đặt bạn sử dụng 1 trong 2 lệnh dưới tùy thuộc vào hệ điều hành:
# Cài đặt trên các hệ thống Red Hat
yum install rsync
# Cài đặt trên các hiện thống Debian (Linux)
apt-get install rsync
Cú pháp sử dụng:
rsync <options> <source> <destination>
Các tuỳ chọn trong rsync
–v : verbose
–r : sao chép dữ liệu theo cách đệ quy ( không bảo tồn mốc thời gian và permission trong quá trình truyền dữ liệu)
–a :chế độ lưu trữ cho phép sao chép các tệp đệ quy và giữ các liên kết, quyền sở hữu, nhóm và mốc thời gian
–z : nén dữ liệu
–h : định dạng số
Ứng dụng RSync
RSync được ứng dụng rất nhiều trong việc đồng bộ dữ liệu lớn giữa các server. Nó giúp quá trình đồng bộ ngay cả khi ứng dụng đang chạy mà vẫn đảm bảo sự toàn vẹn dữ liệu. Tất nhiên để đảm bảo được điều này bạn cần thực hiện:
- B1: Sử dụng RSync để thực hiện đồng bộ bình thường (Chưa cần tắt ứng dụng)
- B2: Chuẩn bị hết cấu hình, tất cả mọi thứ ở máy mới để đảm bảo khi có dữ liệu mới là có thể chạy được luôn.
- B3: Chạy lại RSync 1 đến 2 lần nữa để đảm bảo dữ liệu chưa đồng bộ chỉ còn một ít dữ liệu mới.
- B4: Tắt ứng dụng và thực hiện lại lần cuối. Do chỉ còn một ít dữ liệu mới chưa đồng bộ nên quá trình này rất nhanh.
- B5: Bật lại ứng dụng ở bên mới
Quy trình này sẽ đảm bảo việc đồng bộ dữ liệu lớn đảm bảo tính toàn vẹn dữ liệu với thời gian downtime rất thấp.
Lệnh hay dùng trong thực tế:
rsync -avzu <user>@<IP>:<server_path> <local_path>
Sử dụng RSync để đồng bộ 2TB dữ liệu blockchain
Do nhu cầu thực tế cần giảm dung lượng SSD từ 3TB về 2TB để giảm chi phí vì nhu cầu thực tế hiện tại chỉ sử dụng có 1.7TB. Chi tiết tham khảo bài: Giảm dung lượng Storage của Fullnode trên Base
Trả lời