TDCLOUD  ·  0%
Kiến Thức

Sao lưu dữ liệu là gì? Backup, snapshot và quy tắc 3-2-1 cho VPS

C
Cố Tổng
06/10/2026
3 lượt xem

Ổ cứng hỏng, lỡ tay xoá nhầm thư mục, website bị mã độc mã hoá dữ liệu, một bản cập nhật plugin làm hỏng database... Những chuyện này xảy ra thường xuyên hơn nhiều người nghĩ. Khi đó, thứ quyết định bạn mất vài phút hay mất trắng nhiều năm dữ liệu chính là sao lưu dữ liệu. Bài này giải thích dễ hiểu backup là gì, khác snapshot và đồng bộ ra sao, quy tắc 3-2-1 và cách áp dụng cho VPS.

Tóm tắt nhanh:

  • Backup là bản sao độc lập, lưu ở nơi khác, giữ được nhiều phiên bản theo thời gian.
  • Snapshot chụp nhanh trạng thái ổ đĩa, tiện để quay lại trước khi thay đổi lớn, nhưng không thay thế backup.
  • Đồng bộ và RAID không phải backup: xoá ở bên này thì bên kia cũng mất.
  • Nguyên tắc dễ nhớ: 3 bản dữ liệu, 2 loại nơi lưu, 1 bản ở nơi khác.
  • Backup chỉ có giá trị khi bạn đã thử khôi phục thành công.

Backup, snapshot và đồng bộ khác nhau thế nào?

Ba khái niệm này hay bị dùng lẫn lộn, nhưng chúng bảo vệ dữ liệu theo cách rất khác nhau. Cách kiểm tra đơn giản nhất: nếu hôm qua bạn lỡ xoá một file quan trọng, hôm nay có lấy lại được không?

So sánh backup, snapshot và đồng bộ RAID khi xoá nhầm file
Cùng một tình huống xoá nhầm file, ba cách lưu cho ba kết quả khác nhau.

Backup (sao lưu)

Backup là bản sao dữ liệu được tạo định kỳ và lưu tách khỏi hệ thống gốc. Mỗi lần sao lưu tạo ra một "phiên bản" mới, nên bạn có thể quay lại trạng thái của hôm qua, tuần trước hay tháng trước. Đây là lớp bảo vệ cuối cùng khi mọi thứ khác đều hỏng.

Snapshot (ảnh chụp nhanh)

Snapshot ghi lại trạng thái ổ đĩa tại một thời điểm, thường chỉ mất vài giây vì nó chỉ ghi nhận phần thay đổi sau đó. Snapshot rất hợp để làm "điểm quay lại" trước khi cập nhật hệ điều hành hay cài phần mềm lớn. Điểm yếu: snapshot thường nằm trên cùng hệ thống lưu trữ với dữ liệu gốc, nên nếu hệ thống đó gặp sự cố thì snapshot cũng bị ảnh hưởng.

Đồng bộ và RAID

Đồng bộ (như thư mục Google Drive, OneDrive) và RAID 1 (hai ổ cứng chép giống hệt nhau) giúp dữ liệu sẵn sàng khi một thiết bị hỏng. Nhưng mọi thay đổi đều được chép sang ngay, kể cả thao tác xoá hay file bị mã độc mã hoá. Vì vậy chúng giúp hệ thống chạy liên tục, chứ không thay thế được backup.

Full, incremental và differential: ba kiểu sao lưu

Khi đã quyết định sao lưu, câu hỏi tiếp theo là mỗi lần chép bao nhiêu dữ liệu.

Biểu đồ full backup, incremental backup và differential backup trong một tuần
Dung lượng mỗi lần sao lưu của ba kiểu trong một tuần (ô càng cao càng nhiều dữ liệu).
KiểuMỗi lần chépƯu điểmNhược điểm
FullToàn bộ dữ liệuKhôi phục đơn giản, chỉ cần 1 bảnTốn dung lượng và thời gian
IncrementalPhần thay đổi so với lần sao lưu trướcNhanh, tiết kiệm dung lượng nhấtKhôi phục cần bản full + mọi bản incremental sau đó
DifferentialPhần thay đổi so với bản full gần nhấtKhôi phục chỉ cần bản full + 1 bản differentialDung lượng tăng dần đến lần full tiếp theo

Cách phổ biến với website nhỏ và vừa: một bản full mỗi tuần, incremental hoặc differential mỗi ngày. Dữ liệu ít (vài GB) thì cứ full mỗi ngày cho đơn giản.

Quy tắc sao lưu 3-2-1 là gì?

Quy tắc 3-2-1 là cách làm được dùng rộng rãi để không "bỏ tất cả trứng vào một giỏ":

Sơ đồ quy tắc sao lưu 3-2-1: 3 bản dữ liệu, 2 loại nơi lưu, 1 bản ở nơi khác
Quy tắc 3-2-1: 3 bản dữ liệu, 2 loại nơi lưu, 1 bản nằm ở nơi khác.
  1. 3 bản dữ liệu: bản gốc đang chạy và ít nhất 2 bản sao lưu.
  2. 2 loại nơi lưu khác nhau: ví dụ ổ đĩa VPS và một dịch vụ lưu trữ đám mây, hoặc ổ cứng ngoài. Hai bản sao nằm cùng một ổ thì một sự cố là mất cả hai.
  3. 1 bản ở nơi khác: ít nhất một bản nằm ngoài nhà cung cấp hoặc ngoài văn phòng, để phòng sự cố lớn ở một địa điểm.

Áp dụng cho VPS, một cách làm vừa sức là: dữ liệu chạy trên VPS, bản backup của nhà cung cấp, cộng một bản do bạn tự tải về máy công ty hoặc đẩy sang một dịch vụ lưu trữ khác.

RPO và RTO: mất bao nhiêu dữ liệu, chờ bao lâu?

Hai chỉ số này giúp bạn quyết định nên sao lưu dày đến đâu:

  • RPO (Recovery Point Objective): lượng dữ liệu tối đa bạn chấp nhận mất, tính bằng thời gian. Sao lưu mỗi ngày lúc 2 giờ sáng thì sự cố lúc 14 giờ sẽ mất tối đa khoảng 12 giờ dữ liệu.
  • RTO (Recovery Time Objective): thời gian tối đa bạn chấp nhận hệ thống ngừng hoạt động cho đến khi chạy lại.
Minh họa RPO và RTO trên trục thời gian: bản backup gần nhất, sự cố và lúc hệ thống chạy lại
RPO tính ngược về bản backup gần nhất, RTO tính từ lúc sự cố đến lúc chạy lại.

Một blog cá nhân có thể chấp nhận RPO 24 giờ. Một shop online có đơn hàng liên tục thì nên sao lưu database nhiều lần trong ngày để RPO chỉ còn vài giờ hoặc ít hơn.

Trên VPS cần sao lưu những gì?

  • Database: MySQL, MariaDB, PostgreSQL... Không nên chỉ chép thư mục dữ liệu khi database đang chạy vì file có thể đang ghi dở. Hãy xuất ra file .sql bằng công cụ của database.
  • Mã nguồn và file tải lên: thư mục website (ví dụ /var/www), ảnh, tài liệu người dùng tải lên.
  • File cấu hình: cấu hình web server (/etc/nginx, /etc/apache2), cron, SSL, file .env của ứng dụng.
  • Với VPS Windows: thư mục dữ liệu của phần mềm, file cấu hình tool, profile trình duyệt nếu bạn cần giữ.

Tự sao lưu VPS Linux bằng vài lệnh cơ bản

Ví dụ dưới đây xuất database, nén thư mục website và cấu hình, rồi đẩy sang một máy khác qua SSH. Thay shopdb, đường dẫn và địa chỉ máy đích cho phù hợp với bạn.

# 1. Xuất database (nén gzip)
mysqldump -u root -p --single-transaction shopdb | gzip > /backup/shopdb-$(date +%F).sql.gz

# 2. Nén thư mục website và cấu hình
tar -czf /backup/web-$(date +%F).tar.gz /var/www /etc/nginx

# 3. Chép sang máy khác (nơi lưu thứ hai)
rsync -avz /backup/ backup@198.51.100.20:/data/vps01/
Terminal chạy mysqldump, tar và rsync để sao lưu dữ liệu VPS Linux
Kết quả khi chạy ba bước: hai file nén trong /backup được đẩy sang máy khác bằng rsync.

Tùy chọn --single-transaction giúp xuất bảng InnoDB nhất quán mà không khoá website. Muốn chạy tự động mỗi đêm, gom các lệnh vào một file script rồi đặt lịch bằng crontab -e. Khi chạy tự động, hãy lưu mật khẩu database trong file ~/.my.cnf (quyền 600) thay vì ghi thẳng vào lệnh, và dùng SSH key để rsync không phải hỏi mật khẩu (xem bảo mật VPS Linux cơ bản). Nhớ xoá bớt bản cũ để thư mục /backup không làm đầy ổ.

Đừng quên thử khôi phục

Rất nhiều người chỉ phát hiện file backup bị lỗi, thiếu database hay sai mật khẩu giải nén vào đúng lúc cần dùng. Vài tháng một lần, hãy thử khôi phục lên một VPS thử nghiệm hoặc một thư mục riêng:

# Giải nén thử vào thư mục tạm
mkdir -p /tmp/restore && tar -xzf /backup/web-2026-10-06.tar.gz -C /tmp/restore

# Nạp database vào một database thử
mysql -u root -p -e "CREATE DATABASE shopdb_test"
gunzip < /backup/shopdb-2026-10-06.sql.gz | mysql -u root -p shopdb_test

Ghi lại các bước và thời gian khôi phục. Đó chính là RTO thực tế của bạn.

Sao lưu tại TDCLOUD

TDCLOUD sao lưu hằng ngày cho toàn bộ các gói VPS. Đây là một lớp bảo vệ tốt khi có sự cố hạ tầng. Tuy vậy, theo đúng tinh thần 3-2-1, bạn vẫn nên tự giữ thêm một bản sao dữ liệu quan trọng ở nơi khác, nhất là database của website bán hàng, và tự sao lưu ngay trước những thay đổi lớn như nâng cấp phiên bản hay mở rộng ổ đĩa.

Câu hỏi thường gặp

Nên sao lưu bao lâu một lần?

Tùy dữ liệu thay đổi nhanh đến đâu. Website ít cập nhật: mỗi ngày là đủ. Shop có đơn hàng liên tục: database nên sao lưu vài giờ một lần. Hãy bắt đầu từ câu hỏi "mất bao nhiêu giờ dữ liệu thì tôi chấp nhận được" (RPO).

Giữ bản backup trong bao lâu?

Cách thường gặp là giữ bản hằng ngày trong 7–14 ngày, bản hằng tuần trong 1–2 tháng. Lý do: có những sự cố (mã độc, dữ liệu bị sửa sai) chỉ được phát hiện sau nhiều ngày, lúc đó bạn cần bản cũ hơn.

Đã có snapshot thì có cần backup không?

Có. Snapshot hợp để quay lại nhanh sau một thay đổi, còn backup là bản sao độc lập để phòng sự cố lớn. Hai thứ bổ trợ nhau.

VPS Windows sao lưu thế nào?

Bạn có thể nén thư mục dữ liệu bằng 7-Zip hoặc dùng tính năng Windows Server Backup (bật trong Server Manager → Add Roles and Features), rồi chép bản sao về máy mình qua Remote Desktop (xem cách chia sẻ ổ đĩa khi kết nối Remote Desktop) hoặc đẩy lên dịch vụ lưu trữ đám mây.

Nếu cần tư vấn cách sao lưu phù hợp với website hay ứng dụng đang chạy trên VPS, bạn cứ nhắn đội kỹ thuật TDCLOUD. Đang tìm VPS để chạy dự án mới? Tham khảo VPS tiêu chuẩn hoặc VPS cao cấp.

Nếu bạn thấy bài viết này hữu ích...

Nhấp vào ngôi sao để đánh giá!

Chưa có đánh giá nào. Hãy là người đầu tiên!

Có thể bạn quan tâm