แบ็กอัปอัตโนมัติกับสแนปช็อตต่างกันอย่างไร
ทั้งสองแบบคัดลอกดิสก์ทั้งเซิร์ฟเวอร์เก็บไว้ แต่ต่างกันที่เวลาสร้างและวิธีชำระเงิน
- การสำรองข้อมูลอัตโนมัติ: ตัวเลือกเสริมที่คุณเปิดเมื่อสร้างเซิร์ฟเวอร์ สำเนาดิสก์ทั้งเซิร์ฟเวอร์จะถูกสร้างอัตโนมัติตามกำหนดเวลา และค่าบริการ 5.6% ของค่าเซิร์ฟเวอร์จะถูกเพิ่มในใบแจ้งหนี้ สำหรับการกู้คืน ส่งคำขอในหน้าสนับสนุนหลังจากที่การชำระเงินครั้งแรกของคุณได้รับการยืนยันและเราจะจัดการให้
- สแนปช็อต: สินค้าที่สั่งแยก เก็บดิสก์ทั้งหมด ณ เวลาที่คุณกำหนด เช่น ก่อนอัปเดตครั้งใหญ่ คิดค่าบริการ $0.009 ต่อ GB ต่อเดือนตามพื้นที่จัดเก็บ ตอนสั่งเลือกขนาดได้ตั้งแต่ 20GB ถึง 2,000GB ทีละ 10GB
เว็บไซต์และฐานข้อมูลที่เปลี่ยนทุกวัน แบ็กอัปอัตโนมัติดูแลให้เอง และก่อนงานที่ย้อนกลับยาก เช่น อัปเกรดระบบปฏิบัติการ เก็บสแนปช็อตไว้หนึ่งชุด สองฟีเจอร์ก็จะเติมช่องว่างให้กัน รายละเอียดสินค้าอยู่ที่หน้าแบ็กอัปอัตโนมัติและสแนปช็อต
เปิดแบ็กอัปอัตโนมัติ
- ในบัญชีกดเซิร์ฟเวอร์ใหม่ แล้วเลือกภูมิภาค ขนาด และอิมเมจ
- เปิดแบ็กอัปอัตโนมัติในตัวเลือกเสริม
- สรุปด้านขวาจะแสดงค่าบริการรายเดือนรวมเซิร์ฟเวอร์และแบ็กอัปทันที
- คลิกสร้างเซิร์ฟเวอร์และชำระเงินสำหรับระยะเวลาการเรียกเก็บเงินที่เลือก จากนั้นชำระใบแจ้งหนี้ต่ออายุก่อนที่ระยะเวลาจะสิ้นสุดเพื่อให้เซิร์ฟเวอร์ทำงานต่อไป
แบ็กอัปอัตโนมัติเป็นตัวเลือกที่เลือกตอนสร้างเซิร์ฟเวอร์ หากต้องการปกป้องข้อมูลของเซิร์ฟเวอร์ที่ใช้อยู่แล้ว ให้สั่งสแนปช็อตหรือใช้การแบ็กอัปในเซิร์ฟเวอร์ด้านล่างร่วมด้วย หากสร้างเซิร์ฟเวอร์ด้วย API ให้ใส่ "backups": true ในคำขอ ตัวเลือกเดียวกันก็จะเปิด
ขอกู้คืนจากแบ็กอัปอัตโนมัติ
การกู้คืนดำเนินการโดยเจ้าหน้าที่ฝ่ายสนับสนุนของเรา ซึ่งจะย้อนกลับไปยังจุดที่คุณต้องการได้อย่างแม่นยำ หลังจากการชำระเงินครั้งแรกแล้ว ส่งคำขอที่หน้าสนับสนุนแบบนี้
- เลือกหัวข้อเป็นเซิร์ฟเวอร์
- เขียนชื่อเซิร์ฟเวอร์ที่จะกู้คืนในช่องชื่อเซิร์ฟเวอร์
- ในเนื้อหา เขียนวันที่และเวลา (UTC) ที่ต้องการย้อนกลับ และจะกู้คืนลงเซิร์ฟเวอร์เดิมหรือไม่
เมื่อกู้คืน ดิสก์เซิร์ฟเวอร์จะกลับเป็นเนื้อหา ณ เวลาที่แบ็กอัป ไฟล์ที่สร้างหลังจากนั้นจะหายไป หากมีไฟล์ล่าสุดที่ต้องการเก็บไว้ ให้ดาวน์โหลดมายังพีซีก่อนส่งคำขอ คำตอบจะแสดงในหน้าศูนย์ช่วยเหลือ
สั่งสแนปช็อต
- กดสั่งซื้อที่หน้าสแนปช็อต
- เลือกขนาดพื้นที่จัดเก็บ ขนาดเท่ากับหรือใหญ่กว่าดิสก์เซิร์ฟเวอร์เล็กน้อยจะเก็บดิสก์ทั้งหมดได้สบาย
- เขียนชื่อเซิร์ฟเวอร์เป้าหมายในช่องชื่อ จะรู้ได้ทันทีว่าเป็นสแนปช็อตของเซิร์ฟเวอร์ไหน ใช้ตัวอักษรอังกฤษ ตัวเลข จุด และขีดได้
- เมื่อคุณสั่งซื้อ ชำระเงินสำหรับรอบบิลที่เลือก และเมื่อพร้อมจะปรากฏในรายการสินค้าในบัญชีของคุณ
สำหรับเซิร์ฟเวอร์ที่มีการเขียนข้อมูลอย่างต่อเนื่อง เช่น ฐานข้อมูล การหยุดบริการชั่วคราวหรือหยุดเซิร์ฟเวอร์ขณะที่สร้างสแนปช็อตจะให้ภาพที่สะอาดที่สุด หากต้องการย้อนกลับไปยังสแนปช็อตหรือสร้างเซิร์ฟเวอร์ใหม่จากสแนปช็อต ส่งคำขอที่หน้าสนับสนุนพร้อมชื่อเซิร์ฟเวอร์และชื่อสแนปช็อตหลังจากการชำระเงินครั้งแรก และเราจะดำเนินการให้
แบ็กอัปเองภายในเซิร์ฟเวอร์
หากแบ็กอัปอัตโนมัติและสแนปช็อตปกป้องทั้งเซิร์ฟเวอร์ การแบ็กอัปในเซิร์ฟเวอร์คือการเก็บไฟล์และฐานข้อมูลอีกชุดไว้ที่อื่น ทำตามหลัก 3-2-1 คือมีสำเนาสามชุด บนที่เก็บสองแบบ และอีกหนึ่งชุดอยู่ที่อื่น จะปลอดภัยที่สุด
ขั้นที่ 1 รวมไฟล์และฐานข้อมูล
mkdir -p /root/backup
tar czf /root/backup/www-$(date +%F).tar.gz /var/www
mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +%F).sql.gzหากเป็น PostgreSQL ใช้ sudo -u postgres pg_dumpall | gzip > /root/backup/pg-$(date +%F).sql.gz หากเป็น Docker volume ใช้ docker run --rm -v ชื่อโวลุ่ม:/data -v /root/backup:/out alpine tar czf /out/ชื่อโวลุ่ม.tar.gz -C /data .
ขั้นที่ 2 ให้ทำงานอัตโนมัติทุกวัน
เปิดงานตั้งเวลาด้วย crontab -e แล้วใส่สามบรรทัดด้านล่าง ระบบจะสร้างไฟล์แบ็กอัปทุกวันเวลาตีสาม (เวลาเซิร์ฟเวอร์) และลบไฟล์ที่เก่ากว่า 7 วัน ใน crontab ต้องใส่แบ็กสแลชหน้า %
0 3 * * * tar czf /root/backup/www-$(date +\%F).tar.gz /var/www
5 3 * * * mysqldump --single-transaction --all-databases | gzip > /root/backup/db-$(date +\%F).sql.gz
30 3 * * * find /root/backup -name '*.gz' -mtime +7 -deleteขั้นที่ 3 ส่งอีกชุดไปยังที่อื่น
หากไฟล์แบ็กอัปอยู่บนเซิร์ฟเวอร์เดียวกันเท่านั้น ก็อาจหายไปพร้อมเซิร์ฟเวอร์ ส่งด้วย rsync ไปยังเซิร์ฟเวอร์ในภูมิภาคอื่น หรืออัปโหลดไปยังObject Storageด้วย rclone ก็จะมีอีกชุดอยู่ที่อื่น
rsync -az /root/backup/ backup@BACKUP_SERVER_IP:/backups/web-1/ควรเลือกวิธีไหนในแต่ละสถานการณ์
ทั้งสามวิธีไม่ได้แทนกัน แต่ใช้ร่วมกันจะปลอดภัยที่สุด ลองผสมให้เข้ากับการใช้งานเซิร์ฟเวอร์ของคุณแบบนี้
- บล็อกส่วนตัว เว็บไซต์เล็ก: เปิดแบ็กอัปอัตโนมัติไว้ตอนสร้างเซิร์ฟเวอร์ และก่อนเปลี่ยนธีมหรือปลั๊กอินครั้งใหญ่ ดาวน์โหลดไฟล์ส่งออกของ WordPress ไว้หนึ่งไฟล์ก็เพียงพอ
- ร้านค้าออนไลน์ บริการสมาชิก: นอกจากแบ็กอัปอัตโนมัติ ให้สร้าง dump ฐานข้อมูลทุกวันและส่งอีกชุดไปภูมิภาคอื่น จะกู้ประวัติคำสั่งซื้อและข้อมูลสมาชิกคืนได้เป็นรายชั่วโมง
- เซิร์ฟเวอร์พัฒนาและทดสอบ: เก็บสแนปช็อตไว้ก่อนการทดลองใหญ่ และเมื่อทดลองเสร็จก็ลบสแนปช็อตเพื่อประหยัดค่าจัดเก็บ
- เมื่อใช้เซิร์ฟเวอร์โครงสร้างเดียวกันหลายเครื่อง: เก็บสแนปช็อตของเซิร์ฟเวอร์ต้นแบบไว้นาน ๆ ก็ตั้งเซิร์ฟเวอร์ใหม่ให้อยู่ในสถานะเดียวกันได้รวดเร็ว
ไม่ว่าผสมแบบใด หัวใจคือมีสำเนาอยู่นอกเซิร์ฟเวอร์อีกชุดหรือไม่ และเคยลองกู้คืนจากสำเนานั้นจริงหรือไม่ ใส่ใจเพียงสองเรื่องนี้ แม้เกิดความผิดพลาดหรือเหตุขัดข้องกะทันหันก็กู้บริการคืนได้อย่างใจเย็น
ลองคิดเรื่องค่าใช้จ่ายด้วย แบ็กอัปอัตโนมัติกำหนดไว้ที่ 5.6% ของค่าเซิร์ฟเวอร์ ยอดเท่ากันทุกเดือน ส่วนสแนปช็อตจ่ายตามขนาดที่จัดเก็บ การแบ็กอัปในเซิร์ฟเวอร์ไม่มีค่าใช้จ่ายเพิ่ม ใช้แค่พื้นที่ดิสก์ แต่สำเนาที่ส่งไปที่อื่นต้องมีพื้นที่จัดเก็บฝั่งปลายทาง เลือกโดยอิงขนาดข้อมูลที่ต้องปกป้องและความถี่ที่ต้องกู้คืน ก็สมดุลทั้งค่าใช้จ่ายและความปลอดภัย
ฝึกกู้คืนและนิสัยที่ดี
แบ็กอัปมีคุณค่าเมื่อกู้คืนได้จริง เดือนละครั้งลองสร้างเซิร์ฟเวอร์เล็ก ๆ แล้วแตกไฟล์แบ็กอัป ตรวจว่าเว็บเปิดได้ เมื่อเกิดเหตุจริงก็จะไม่หลงลำดับ เซิร์ฟเวอร์ทดสอบที่ตรวจเสร็จแล้วลบได้ทันที
- ก่อนงานใหญ่ ให้เก็บสแนปช็อตหรือไฟล์แบ็กอัปไว้หนึ่งชุด
- ใส่วันที่และชื่อเซิร์ฟเวอร์ในชื่อไฟล์แบ็กอัป จะรู้ทันทีว่าเป็นเวลาใด
- แบ็กอัปที่มีข้อมูลลับอย่างรหัสผ่านฐานข้อมูลและคีย์ API ให้เก็บไว้ในที่ปลอดภัยเท่านั้น
- ก่อนติดตั้งเซิร์ฟเวอร์ใหม่ ให้ทำขั้นตอนย้ายข้อมูลในคู่มือติดตั้งใหม่ก่อน
หากพื้นที่ดิสก์ไม่พอจะเก็บแบ็กอัปไว้นาน เพิ่ม NVMe block disk ให้เซิร์ฟเวอร์แล้วใช้เป็นพื้นที่สำหรับแบ็กอัปโดยเฉพาะก็ได้ หากใช้ Docker ดูการจัดการ volume ในคู่มือติดตั้ง Dockerด้วย
