# Sao lưu dữ liệu máy chủ GPU trước ngày máy hết thời hạn sử dụng

URL: https://cloudj.net/vi/blog/backup-gpu-instance-before-contract-ends
Published: 2026-11-12 · Updated: 2026-11-12

> Cách sao lưu dữ liệu máy chủ GPU theo ngày available until: thứ gì bị xóa, khi máy chủ mất kết nối thì sao, chép dữ liệu đi đâu và script rsync để chạy định kỳ.

Mỗi máy GPU trên Cloudj đều ghi rõ ngày "available until". Khi đến ngày đó, instance và ổ đĩa bị xóa, cùng mọi thứ bạn để lại trên đó. Cộng thêm việc mỗi máy là một máy chủ độc lập không có SLA phần cứng, kết luận rất đơn giản: sao lưu dữ liệu máy chủ GPU là việc của bạn, và việc này phải chạy đều đặn từ lâu trước khi ngày đó tới gần. Bài này giải thích chính xác thứ gì có nguy cơ mất, nên chép dữ liệu đi đâu, và đưa ra một script bạn có thể đặt lịch chạy.

Các nguyên tắc sao lưu chung, như quy tắc 3-2-1 hay kiểm tra khôi phục, có trong bài [chiến lược sao lưu VPS](https://cloudj.net/vi/blog/vps-backup-strategy). Ở đây chúng ta áp dụng chúng cho instance GPU.

## Hai cách một instance có thể kết thúc

**Ngày hết thời hạn sử dụng.** Mỗi máy ghi "available until" kèm ngày, và một thông số liên quan là max duration tính theo ngày. Bạn thấy thông tin này trước khi triển khai. Đến ngày đó, instance và ổ đĩa bị xóa, nên hãy lên kế hoạch để công việc và bản sao cuối cùng xong trước ngày này.

**Máy chủ mất kết nối.** Mỗi máy trong danh sách là một máy chủ độc lập, và console nói thẳng: "Machines are independent hosts with no hardware SLA. Keep backups of important data." Nếu máy chủ mất kết nối, việc tính tiền tạm dừng trong thời gian đó, nhưng instance không được chuyển sang máy khác. Dữ liệu có truy cập lại được hay không, và khi nào, phụ thuộc vào chính máy chủ đó. Bản sao lưu là thứ giúp bạn chạy tiếp ở nơi khác.

Bài [máy chủ GPU trong trung tâm dữ liệu và máy chủ độc lập](https://cloudj.net/vi/blog/datacenter-vs-independent-gpu-hosts) giải thích nhãn Datacenter thay đổi gì và không thay đổi gì ở đây. Nói ngắn gọn: nhãn này mô tả nơi đặt máy, không phải SLA.

## Nên sao lưu những gì

Không phải mọi thứ trên ổ đĩa đều đáng chép. Hãy phân loại:

| Thứ cần xét | Có sao lưu không? | Ghi chú |
|---|---|---|
| Checkpoint huấn luyện, adapter LoRA, trọng số cuối | Có, định kỳ | Đây là thành quả bạn đã trả tiền GPU để có |
| Log, số liệu, kết quả đánh giá | Có | Nhẹ và khó tạo lại |
| Code và cấu hình | Có, nhưng qua git | Push lên repository thay vì chép file |
| Kết quả tạo ra (ảnh, âm thanh, video, embedding) | Có | Tải về theo lô |
| Bộ dữ liệu bạn đã tải lên | Chỉ khi không còn bản nào khác | Thường bạn đã có bản gốc |
| Trọng số mô hình gốc từ nguồn công khai | Không | Tải lại trên instance mới |
| Môi trường Python, cache pip, các lớp container | Không | Dựng lại từ file requirements hoặc image riêng |

Càng ít thứ phải chép, sao lưu càng nhanh và phí băng thông càng thấp, vì băng thông tính theo GB tải xuống và tải lên với giá riêng của từng máy.

## Chép đi đâu

Hãy chọn một nơi bạn kiểm soát và tồn tại lâu hơn mọi máy GPU:

- **Một VPS của Cloudj.** Chạy liên tục, địa chỉ cố định, có ổ đĩa riêng. Đây là nơi tốt để kéo checkpoint về và để cấp lại cho instance GPU tiếp theo. Hãy đặt nó ở hoặc gần nước mà GPU của bạn thường chạy, ví dụ Singapore nếu bạn hay thuê GPU quanh khu vực Đông Nam Á.
- **Kho lưu trữ của bạn.** Máy chủ ở văn phòng, NAS, hoặc dịch vụ lưu trữ đối tượng bạn đang dùng.
- **Máy trạm của bạn**, với dự án nhỏ, miễn là máy đang bật khi chạy sao lưu. Với mạng gia đình ở Việt Nam, file lớn có thể tải về khá lâu, nên hãy chép thường xuyên từng ít một.

Kéo dữ liệu từ phía nơi lưu trữ thường đơn giản hơn đẩy từ GPU đi, vì nơi lưu trữ giữ cả lịch chạy lẫn thông tin đăng nhập.

## Script sao lưu dữ liệu máy chủ GPU

Chạy script này trên VPS hoặc nơi lưu trữ của bạn. Nó kéo các thư mục quan trọng từ instance GPU về, ghi log theo ngày và báo lỗi rõ ràng khi có sự cố. Điền host và port lấy ở tab Connection của instance.

```bash
#!/usr/bin/env bash
set -euo pipefail
HOST="<host>"
PORT="<port>"
DEST="/backup/gpu-run"
SSH="ssh -p ${PORT} -o ConnectTimeout=15"

mkdir -p "$DEST"
for dir in checkpoints adapters outputs logs; do
  rsync -az --partial -e "$SSH" "root@${HOST}:/workspace/${dir}/" "${DEST}/${dir}/"
done
echo "$(date -Is) backup ok" >> "${DEST}/backup.log"
```

Đặt lịch bằng cron, ví dụ mỗi giờ một lần:

```bash
0 * * * * /usr/local/bin/gpu-backup.sh >> /var/log/gpu-backup.log 2>&1
```

Hãy chọn tần suất theo mức công việc bạn chấp nhận mất. Với lần huấn luyện nhiều ngày, bài [thuê GPU train AI tại Mỹ](https://cloudj.net/vi/blog/ai-training-gpu-usa) nói kỹ hơn về nhịp lưu checkpoint.

## Kiểm tra rồi mới tin

Một bản sao lưu chưa từng được khôi phục chỉ là hy vọng, chưa phải bản sao lưu. Mỗi dự án ít nhất một lần:

1. So dung lượng hoặc checksum giữa bản gốc và bản sao (`sha256sum` ở cả hai phía cho các file quan trọng).
2. Nạp một checkpoint đã sao lưu trên một máy khác và chạy đánh giá nhanh.
3. Kiểm tra log sao lưu có các lần chạy thành công gần đây.

## Trước ngày hết hạn: checklist cuối

Vài ngày trước "available until":

1. Chạy tay script sao lưu và xác nhận thành công.
2. Chép nốt những thứ khác bạn cần, như ghi chú trong thư mục home hay cấu hình cục bộ.
3. Nếu công việc còn tiếp tục, hãy triển khai instance mới ngay lúc này, khi cả hai còn chạy, rồi chép dữ liệu sang. Bài [chuyển mô hình và dữ liệu giữa các khu vực GPU](https://cloudj.net/vi/blog/move-models-data-between-gpu-regions) hướng dẫn chép trực tiếp giữa hai instance.
4. Xóa instance cũ khi đã chắc chắn. Destroy xóa vĩnh viễn và dừng mọi khoản phí; khoản cọc giữ lúc triển khai sẽ được trả lại sau đó.

Hãy ghi ngày hết hạn vào lịch ngay hôm triển khai. Trong một lần chạy dài, rất dễ quên.

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

### Có gia hạn máy quá ngày "available until" được không?

Hãy lên kế hoạch như thể không thể gia hạn. Instance và ổ đĩa bị xóa vào ngày đó, nên hãy chép dữ liệu ra và triển khai instance mới nếu công việc còn tiếp tục.

### Máy chủ mất kết nối thì dữ liệu của tôi ra sao?

Việc tính tiền tạm dừng trong thời gian đó, và instance không được chuyển đi. Bản sao lưu bên ngoài là thứ giúp bạn chạy tiếp trên máy khác.

### Dừng instance có bảo vệ được dữ liệu không?

Dừng máy giữ ổ đĩa cho tới ngày hết hạn của máy, nhưng không bảo vệ khi máy chủ mất kết nối, và ổ đĩa vẫn bị xóa vào đúng ngày đó.

### Có cần sao lưu trọng số mô hình gốc không?

Thường là không. Hãy tải lại từ nguồn chính thức trên instance mới.

## Bảo vệ lần chạy tiếp theo

Chọn nơi lưu bản sao, đặt lịch cho script ngay ngày triển khai, và kiểm tra ngày available until của từng máy trên [trang triển khai GPU](https://app.cloudj.net/deploy/gpu). Giá theo thời gian thực của mọi mẫu có trên [GPU cloud](https://cloudj.net/vi/gpu-cloud).
