โลโก้ Restic
อันดับ 92 ใน Top 100 Backup และ StorageBSD 2-Clause (โอเพนซอร์ส)

Restic คืออะไร และวิธีตั้งระบบสำรองข้อมูลอัตโนมัติ

Restic คือเครื่องมือสำรองข้อมูลบรรทัดคำสั่งที่เข้ารหัสข้อมูลก่อนส่งออกไปเสมอ พร้อมกลไกกันข้อมูลซ้ำที่ทำให้การสำรองรอบถัดไปใช้พื้นที่และเวลาน้อยลงมาก

หมวดหมู่
Backup และ Storage
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
ใช้ร่วมกับงานเดิม · RAM ประมาณ 1 GB ขณะทำงาน
ไลเซนส์
BSD 2-Clause (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Restic คืออะไร

หลักการของ Restic คือแบ่งไฟล์เป็นก้อนย่อย แล้วเก็บเฉพาะก้อนที่ยังไม่เคยเก็บ ผลคือการสำรองครั้งแรกใช้เวลานานหน่อย แต่ครั้งถัดไปเร็วมากเพราะเปลี่ยนแค่ส่วนที่แก้ไข

ข้อมูลทุกชิ้นถูกเข้ารหัสด้วยรหัสผ่านของคุณก่อนออกจากเครื่อง จึงส่งไปเก็บที่ Object Storage หรือเซิร์ฟเวอร์อื่นได้อย่างสบายใจ แม้ปลายทางจะถูกเข้าถึงโดยไม่ได้รับอนุญาตก็อ่านข้อมูลไม่ได้

สิ่งที่ทำให้ Restic ใช้งานจริงได้ดีคือคำสั่งที่ตรงไปตรงมาและการกู้คืนที่ง่าย เลือกได้ว่าจะกู้ทั้งชุดหรือเฉพาะไฟล์เดียวจากรอบสำรองใดก็ได้

แผนผังการวางระบบ Restic บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 22 ตัว Restic และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ ใช้ร่วมกับงานเดิม แรม ประมาณ 1 GB ขณะทำงาน และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Restic ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Restic

เข้ารหัสตั้งแต่ต้นทาง

ข้อมูลถูกเข้ารหัสก่อนส่งออกจากเครื่องเสมอ ปลายทางอ่านเนื้อหาไม่ได้

กันข้อมูลซ้ำ

เก็บเฉพาะส่วนที่เปลี่ยน ทำให้ประหยัดพื้นที่และเวลาอย่างมาก

รองรับปลายทางหลายแบบ

ทั้ง Object Storage แบบ S3, SFTP, เซิร์ฟเวอร์ REST และโฟลเดอร์ในเครื่อง

กู้คืนได้ละเอียด

กู้ทั้งชุดหรือเลือกเฉพาะไฟล์เดียวจากรอบสำรองใดก็ได้

ตรวจสอบความถูกต้อง

มีคำสั่งตรวจว่าไฟล์สำรองยังสมบูรณ์และกู้คืนได้จริง

ใช้ Restic ทำอะไรได้บ้าง

  • สำรองไฟล์เว็บและฐานข้อมูลของ Cloud Server ทุกวัน
  • สำรองข้อมูลไปเก็บที่ Object Storage คนละไซต์กับเครื่องหลัก
  • สำรองไฟล์เอกสารสำคัญของแผนกไปยังปลายทางที่เข้ารหัส
  • เก็บสำเนาสำรองหลายชั้นตามแนวทาง 3-2-1

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Restic 3 ระดับ เริ่มจาก ใช้ร่วมกับงานเดิม แรม ประมาณ 1 GB ขณะทำงาน ดิสก์ พื้นที่ชั่วคราวเล็กน้อย ไปจนถึง 2 vCPU แรม 4 GB ดิสก์ อย่างน้อย 2 เท่าของข้อมูลต้นทาง โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
ทุกเครื่องติดตั้งบนเครื่องที่ต้องการสำรองข้อมูลใช้ร่วมกับงานเดิมประมาณ 1 GB ขณะทำงานพื้นที่ชั่วคราวเล็กน้อย
ข้อมูลมากข้อมูลหลายร้อยกิกะไบต์ที่ต้องสำรองทุกวัน2 vCPU4 GBตามขนาดข้อมูลต้นทาง
ปลายทางเครื่องหรือ Object Storage ที่ใช้เก็บไฟล์สำรอง2 vCPU4 GBอย่างน้อย 2 เท่าของข้อมูลต้นทาง

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Restic บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Linux ทั่วไป เช่น Ubuntu Server 24.04 LTS
  • ปลายทางสำหรับเก็บข้อมูล เช่น Object Storage ที่รองรับ S3
  • ที่เก็บรหัสผ่านของคลังสำรองอย่างปลอดภัย เพราะลืมแล้วกู้ข้อมูลไม่ได้

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้ง Restic

    sudo apt update
    sudo apt -y install restic
    restic version
  2. 2

    ตั้งค่าตัวแปรสำหรับปลายทาง

    ตัวอย่างนี้ใช้ Object Storage ที่รองรับ S3 เก็บไฟล์ตัวแปรไว้ที่ /root/.restic-env และตั้งสิทธิ์ให้เฉพาะ root อ่านได้

    export RESTIC_REPOSITORY="s3:https://s3.example.com/backup-bucket"
    export AWS_ACCESS_KEY_ID="your-access-key"
    export AWS_SECRET_ACCESS_KEY="your-secret-key"
    export RESTIC_PASSWORD="a-long-random-repository-password"
  3. 3

    สร้างคลังสำรองครั้งแรก

    restic init
  4. 4

    สำรองข้อมูลรอบแรก

    ระบุโฟลเดอร์ที่ต้องการสำรอง และยกเว้นโฟลเดอร์แคชที่ไม่จำเป็น

    restic backup /var/www /etc /home \
      --exclude="/var/www/*/cache" --exclude="*.log"
  5. 5

    สำรองฐานข้อมูลอย่างถูกวิธี

    อย่าสำรองไฟล์ฐานข้อมูลขณะที่บริการทำงานอยู่ ให้ดัมป์ออกมาก่อนแล้วค่อยสำรองไฟล์ดัมป์

    mysqldump --single-transaction --all-databases | gzip > /var/backups/db.sql.gz
    restic backup /var/backups/db.sql.gz
  6. 6

    ตั้งงานอัตโนมัติและนโยบายเก็บย้อนหลัง

    ตัวอย่างนี้สำรองทุกวันตอนตีสอง และเก็บรายวัน 7 ชุด รายสัปดาห์ 4 ชุด รายเดือน 6 ชุด

    0 2 * * * . /root/.restic-env && restic backup /var/www /etc && \
      restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
  7. 7

    ทดสอบกู้คืนจริง

    ขั้นตอนที่คนข้ามบ่อยที่สุดแต่สำคัญที่สุด ควรทดสอบอย่างน้อยไตรมาสละครั้ง

    restic snapshots
    restic restore latest --target /tmp/restore-test
    restic check

เก็บรหัสผ่านของคลังสำรองไว้ในระบบจัดการรหัสผ่านขององค์กร ถ้ารหัสนี้หายจะไม่มีใครกู้ข้อมูลได้เลย รวมถึงผู้ให้บริการ

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPส่งข้อมูลไปยัง Object Storage ปลายทาง
22TCPกรณีใช้ SFTP เป็นปลายทาง

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ใช้คีย์ปลายทางที่มีสิทธิ์เขียนเท่านั้นและเปิดโหมดล็อกไฟล์ที่ปลายทางเพื่อกันการลบ
  • เก็บรหัสผ่านคลังสำรองแยกจากเซิร์ฟเวอร์ที่สำรองข้อมูล
  • ตั้งการแจ้งเตือนเมื่องานสำรองล้มเหลว เพราะการสำรองที่เงียบหายคือปัญหาที่พบบ่อยที่สุด
  • เก็บสำเนาไว้อย่างน้อยสองที่ตามแนวทาง 3-2-1
  • ทดสอบกู้คืนจริงตามรอบและบันทึกผลไว้เป็นหลักฐาน

ทำไมควรรัน Restic บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

ส่งไฟล์สำรองไปเก็บที่ Object Storage ของ THAI DATA CLOUD ในไทยได้โดยตรง ไม่ต้องเสียค่าทราฟฟิกออกต่างประเทศ

เก็บสำเนาไว้คนละไซต์ เช่น เครื่องหลักในไทยและสำเนาที่สิงคโปร์ เพื่อรองรับเหตุระดับไซต์

ใช้ร่วมกับบริการ Managed Services เพื่อให้ทีมวิศวกรของเราตรวจสอบผลการสำรองข้อมูลให้ทุกวัน

คำถามที่พบบ่อยเกี่ยวกับ Restic

Restic ต่างจาก rsync อย่างไร

rsync คัดลอกไฟล์ให้เหมือนต้นทาง ถ้าไฟล์ต้นทางถูกเข้ารหัสโดยแรนซัมแวร์ ปลายทางก็จะถูกเขียนทับตามไปด้วย ส่วน Restic เก็บเป็นรอบสำรองย้อนหลังหลายชุด จึงย้อนกลับไปยังเวอร์ชันก่อนเกิดเหตุได้

สำรองฐานข้อมูลด้วย Restic ตรง ๆ ได้ไหม

ไม่ควร เพราะไฟล์ฐานข้อมูลที่กำลังถูกเขียนอยู่อาจได้สำเนาที่ไม่สมบูรณ์ ให้ดัมป์ฐานข้อมูลออกมาเป็นไฟล์ก่อน แล้วสำรองไฟล์นั้นแทน

ควรเก็บไฟล์สำรองย้อนหลังนานแค่ไหน

ขึ้นกับความเสี่ยงและข้อกำหนดขององค์กร รูปแบบที่ใช้กันทั่วไปคือรายวัน 7 ชุด รายสัปดาห์ 4 ชุด และรายเดือน 6 ถึง 12 ชุด ซึ่งครอบคลุมทั้งการลบผิดที่เพิ่งเกิดและเหตุที่พบภายหลัง

บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง

ให้เราติดตั้ง Restic ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด