SLV Backup - เริ่มต้นใช้งานอย่างรวดเร็ว

🗄️ SLV Backup

SLV Backup สร้างการสำรองข้อมูลแบบเข้ารหัสและแบบเพิ่มหน่วย ของ node ของคุณโดยใช้ restic ข้อมูลทั้งหมดถูกเข้ารหัสที่ฝั่งไคลเอนต์ด้วย AES-256 ก่อนการอัปโหลด — เซิร์ฟเวอร์ไม่เคยเห็นข้อมูลแบบ plaintext ของคุณ
โหมด Legacy: SLV ยังรองรับการสำรองข้อมูลแบบ tar+zstd ที่ไม่เข้ารหัส (โดยไม่ใช้ --restic) ด้วย เราขอแนะนำอย่างยิ่งให้ใช้ --restic สำหรับการสำรองข้อมูลใหม่ทั้งหมด

ข้อกำหนดเบื้องต้น

  • ติดตั้ง SLV CLI บน node เป้าหมาย
  • สิทธิ์ sudo (จำเป็นสำหรับการสำรองข้อมูลแบบเต็มดิสก์)
  • เข้าสู่ระบบแล้ว (slv login) พร้อมการสมัครสมาชิกพื้นที่จัดเก็บข้อมูลที่ใช้งานอยู่
  • ติดตั้ง restic แล้ว (apt install restic)

สร้างการสำรองข้อมูลแบบเข้ารหัส

bash
sudo slv backup create --restic --yes
🗄️  SLV Backup (restic mode)

  Region:    default
  Retention: 7 days

⚠️  Restic encryption password generated and saved to:
   /home/solv/.slv/restic-password
   BACK UP THIS FILE — without it, backups cannot be restored.

🔧 Initializing restic repository (if needed)...
📦 Creating restic backup...

Files:       151263 new,     0 changed,     0 unmodified
Dirs:        22486 new,     0 changed,     0 unmodified
Added to the repository: 4.107 GiB (1.837 GiB stored)

processed 151263 files, 4.366 GiB in 0:50
snapshot b6925e6d saved

✅ Restic backup complete
🧹 Applying retention policy (keep within 7 days)...
✅ Backup complete.

สิ่งที่เกิดขึ้นในการรันครั้งแรก

  1. รหัสผ่านสำหรับเข้ารหัสแบบสุ่มจะถูกสร้างขึ้นและบันทึกไว้ที่ ~/.slv/restic-password (mode 0600)
  2. restic repository จะถูกเริ่มต้นบน ERPC Cloud Storage
  3. ดิสก์ทั้งหมดของคุณจะถูกสำรองข้อมูล (ยกเว้น system pseudo-filesystem)

การรันครั้งถัดไป

เฉพาะไฟล์ที่มีการเปลี่ยนแปลงเท่านั้นที่จะถูกอัปโหลด (แบบเพิ่มหน่วย) การกำจัดข้อมูลซ้ำซ้อน (deduplication) ช่วยให้ต้นทุนพื้นที่จัดเก็บข้อมูลต่ำ

แสดงรายการการสำรองข้อมูล

bash
sudo slv backup list
แสดงทั้ง restic snapshot และการสำรองข้อมูลแบบ tar legacy ในพื้นที่จัดเก็บข้อมูลบนคลาวด์

เรียกคืนข้อมูลจากการสำรองข้อมูล

เรียกคืน snapshot ล่าสุด:
bash
sudo slv backup restore latest
เรียกคืน snapshot ที่ระบุ:
bash
sudo slv backup restore b6925e6d
เรียกคืนการสำรองข้อมูลแบบ tar legacy:
bash
sudo slv backup restore backup-mynode-20260318.tar.zst

ตรวจสอบความสมบูรณ์ของการสำรองข้อมูล

หากต้องการรัน restic check ด้วยตนเอง ให้เชื่อมต่อด้วย access key สำหรับ storage ทั้งนี้ endpoint นี้ไม่รับ RPC API key
  1. เปิดหน้า Storage ไปที่ Access key สำหรับ storage แล้วคลิก ออก key ส่วน check ใช้สิทธิ์ อ่านอย่างเดียว ก็เพียงพอ
  2. คัดลอก URL ของ restic repository ที่แสดงทันทีหลังสร้าง key โดยจะแสดงเพียงครั้งเดียว หากทำหาย ให้เพิกถอน key แล้วออก key ใหม่
  3. รัน check ด้วย URL นั้น:
bash
sudo restic -r '<RESTIC_REPOSITORY_URL>' \
  --password-file ~/.slv/restic-password check

ตั้งค่าการสำรองข้อมูลอัตโนมัติ (Cron)

bash
sudo slv backup create --restic --cron daily
ช่วงเวลาคำอธิบาย
dailyรันวันละครั้ง
weeklyรันสัปดาห์ละครั้ง
monthlyรันเดือนละครั้ง
offลบ cron job

การเก็บรักษา (Retention)

โดยค่าเริ่มต้น snapshot ที่เก่ากว่า 7 วันจะถูกตัดทิ้งโดยอัตโนมัติ:
bash
sudo slv backup create --restic --retention 14

ปรับแต่งรายการยกเว้น

ดูรายการยกเว้นปัจจุบัน:
bash
slv backup create --list-excludes
เพิ่ม path ที่ต้องการยกเว้น:
bash
sudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshots

การเข้ารหัสและความปลอดภัย

คุณสมบัติรายละเอียด
การเข้ารหัสAES-256-CTR + Poly1305-AES (ฝั่งไคลเอนต์)
ความสมบูรณ์พื้นที่จัดเก็บแบบ content-addressable ด้วย SHA-256
การกำจัดข้อมูลซ้ำซ้อนการแบ่งข้อมูลแบบ content-defined chunking
การมองเห็นที่ฝั่งเซิร์ฟเวอร์ไม่มี — เซิร์ฟเวอร์เห็นเฉพาะ blob ที่เข้ารหัสแล้วเท่านั้น
ไฟล์รหัสผ่าน~/.slv/restic-password (mode 0600)
ยกเว้นจากการสำรองข้อมูล~/.slv/restic-password, ~/.slv/api.yml, ~/.slv/backup.env
⚠️ สำคัญ: สำรองไฟล์ ~/.slv/restic-password ของคุณแยกต่างหาก หากไม่มีไฟล์นี้ การสำรองข้อมูลของคุณจะสูญหายอย่างไม่สามารถกู้คืนได้

รายการอ้างอิงตัวเลือก

ตัวเลือกคำอธิบาย
--resticใช้ restic สำหรับการสำรองข้อมูลแบบเข้ารหัสและแบบเพิ่มหน่วย (แนะนำ)
-r, --region <region>region ของพื้นที่จัดเก็บ (ค่าเริ่มต้น: eu)
--exclude <path>path เพิ่มเติมที่ต้องการยกเว้น (ใช้ซ้ำได้)
--include <path>นำออกจากรายการยกเว้นเริ่มต้น (ใช้ซ้ำได้)
--list-excludesแสดงรายการยกเว้นปัจจุบันแล้วออก
--retention <days>ตัด snapshot ที่เก่ากว่า N วันทิ้ง (ค่าเริ่มต้น: 7)
--cron <interval>ตั้งค่า cron job (daily/weekly/monthly/off)
-y, --yesข้ามการยืนยัน
--uploadLegacy: อัปโหลดการสำรองข้อมูลแบบ tar ไปยังพื้นที่จัดเก็บข้อมูลบนคลาวด์
-o, --output <path>Legacy: path ของไฟล์ผลลัพธ์สำหรับการสำรองข้อมูลแบบ tar

โหมด Legacy (tar+zstd)

เพื่อความเข้ากันได้กับเวอร์ชันก่อนหน้า ยังคงรองรับการสำรองข้อมูลแบบ tar ที่ไม่เข้ารหัส:
bash
sudo slv backup create --upload --yes     # Unencrypted tar backup
หมายเหตุ: การสำรองข้อมูลแบบ legacy ไม่ได้เข้ารหัส เราขอแนะนำให้ย้ายไปใช้ --restic สำหรับการสำรองข้อมูลใหม่ทั้งหมด