Backup dữ liệu từ NFS File Storage sang Object Storage trên VNG Cloud
Để đảm bảo an toàn và khả năng phục hồi dữ liệu, việc sao lưu (backup) định kỳ dữ liệu từ File Storage sang Object Storage là một giải pháp cần thiết trong hạ tầng hiện đại.
VNG Cloud cung cấp dịch vụ Object Storage, tương thích với chuẩn S3, giúp dễ dàng tích hợp và sao lưu dữ liệu từ máy chủ hoặc các hệ thống lưu trữ nội bộ.
Các công cụ phổ biến để backup dữ liệu lên vStorage:
aws-cli
: Công cụ chính thức của AWS, hoạt động tốt với các dịch vụ S3-compatible.rclone
(Khuyến nghị): Hỗ trợ nhiều backend, dễ dàng cài đăt và cấu hình với nhiều tuỳ chọn nâng cao.s3cmd
: Dễ sử dụng nếu bạn quen dòng lệnh cổ điển, hỗ trợ S3 API chuẩn.
Trong tài liệu này, chúng ta sẽ sử dụng rclone
, vì tính linh hoạt và khả năng tương thích tốt với Object Storage của VNG Cloud.
Điều kiện cần
Máy chủ cần backup
Đã mount File Storage vào máy (VD: tôi đã mount file storage tới thư mục
/mnt/demo
)Mặc định, nếu máy chủ của bạn truy cập được tới internet, việc backup sẽ đi theo đường public. Bạn có thể thiết lập việc backup đi qua đường private nhưng máy chủ của bạn lúc này cần kết nối được tới endpoint của vstorage.
Dưới đây là hướng dẫn cách tạo endpoint để kết nối vStorage thông qua dịch vụ Endpoint trên hệ thống vServer, nhằm đảm bảo backup đi qua đường private:
Bước 1: Đăng nhập vào Portal của hệ thống vServer tại https://hcm-3.console.vngcloud.vn/vserver/v-server/cloud-server
Bước 2: Chọn mục Endpoint.
Bước 3: Trên trang chủ của dịch vụ vNetwork.
Vào mục Endpoint sau đó chọn Create an Endpoint.
Bước 4: Thiết lập thông số Endpoint
Endpoint name: nhập tên gợi nhớ của endpoint. Endpoint name là bắt buộc, dài tối thiểu 5 tới tối đa 50 ký tự và chỉ bao gồm các chữ cái, ký tự sau a-z, A-Z, 0-9, '_', '-'
Region: chọn Region bạn muốn thực hiện tạo endpoint.
Nếu bạn muốn backup vào vStorage trên region HCM04, HCM03: vui lòng chọn Region HCM-03 tại đây.
Nếu bạn muốn backup vào vStorage trên region HAN02: vui lòng chọn Region HAN-01 tại đây.
Zone: chọn Zone bạn muốn endpoint được khởi tạo.
Service Selection:
Nếu bạn chọn Region HCM-03: tại đây bạn có thể chọn
vstorage.hcm03
: nếu bạn muốn endpoint này sẽ tạo kết nối từ máy chủ của bạn tới vStorage trên region HCM03.vstorage.hcm04
: nếu bạn muốn endpoint này sẽ tạo kết nối từ máy chủ của bạn tới vStorage trên region HCM04.
Nếu bạn chọn Region HAN-02: tại đây bạn có thể chọn
vstorage.han02
: nếu bạn muốn endpoint này sẽ tạo kết nối từ máy chủ của bạn tới vStorage trên region HAN02.
Tag: bạn có thể thêm một hoặc nhiều tag để quản lý endpoint theo cấu trúc key-value.
VPC: Chọn VPC nơi các máy chủ (vServer) của bạn đang hoạt động.
Subnet: Chọn subnet có IP mà máy chủ của bạn đang sử dụng.
Trong ví dụ dưới, tôi sẽ tạo kết nối từ máy chủ của tôi tới vStorage HCM04:
Bước 5: Xác nhận và tạo Endpoint
Kiểm tra lại thông tin.
Nhấn Create Endpoint để khởi tạo endpoint.
Chờ vài phút để endpoint được tạo thành công và liên kết với dịch vụ vStorage.
Bước 6: Kiểm tra kết nối từ máy chủ
Từ máy chủ vServer, bạn cần add host của enpoint vào máy chủ vserver qua lệnh:
Bạn có thể dùng ping
, curl
, hoặc telnet
tới địa chỉ endpoint của vStorage để đảm bảo rằng nó đã kết nối thành công qua private network.
Ví dụ:
Thông tin cần có
Bạn đã tạo project, bucket và có đầy đủ thông tin
Access Key
vàSecret Key
có quyền READ/ WHITE vào bucket trên vStorage.Máy chủ của bạn đã cài đặt sẵn công cụ
rclone
Nếu máy chủ của bạn chưa cài đặt công cụ rclone, vui lòng thực hiện theo hướng dẫn sau đây:
Bước 1: Thực hiện SSH vào máy chủ của bạn và chạy lệnh:
Bước 2: Cấu hình kết nối đến VNG Cloud
Thực hiện tạo file config tại thư mục:
~/.config/rclone/rclone.conf
, chỉnh sửa file qua lệnh:
hoặc
Nếu bạn muốn backup vào vStorage HCM04, nội dung file config sẽ có định dạng sau:
Nếu bạn muốn backup vào vStorage HCM03 , nội dung file config sẽ có định dạng sau:
Nếu bạn muốn backup vào vStorage HAN02 , nội dung file config sẽ có định dạng sau:
Sau khi bạn đã tải và thiết lập config cho Rclone, bạn có thể kiểm tra kết nối tới bucket qua lệnh:
Ví dụ như bên dưới là kết nối đã đúng và rclone đã list được danh sách bucket trên project mà bạn mong muốn nhận dữ liệu backup:
Thực hiện backup dữ liệu
Giả sử, tôi đã sử dụng file storage và mount File Storage vào máy chủ tại thư mục/mnt/demo. Hiện tại trong thư mục này đang có 4 file như sau:
Tiếp theo, tôi sẽ backup các file ở thư mục /mnt/demo
này vào nfs-backup
bucket trên vStorage HCM04.
Thực hiện backup một lần
Để thực hiện backup, chúng tôi khuyến cáo bạn sử dụng câu lệnh rclone copy như sau:
copy
: chỉ sao chép file mới hoặc bị thay đổisync
: đồng bộ hoàn toàn (sẽ xóa file ở đích nếu không còn tồn tại ở nguồn)> /tmp/abc.log
: nếu muốn lưu log của việc copy hoặc sync vào file abc.log
Ví dụ kết quả chạy thành công sẽ như sau:
Lúc này, tại bucket nfs-backup
trên vStorage, bạn sẽ thấy các tệp tin này như sau:
Thiết lập lịch backup tự động
Đầu tiên, bạn cần cài đặt crontab trên máy chủ qua lệnh:
Mở crontab qua lệnh:
Thêm dòng sau để chạy backup mỗi ngày 5 phút một lần:
Sau 5 phút, bạn sẽ thấy hệ thống copy tệp tin mới có qua vStorage như hình:
Last updated