การสำรอง Database
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
ตรวจสอบชื่อเมนู ตัวเลือก และข้อกำหนดล่าสุดจากเนื้อหาภาษาอังกฤษในหน้าเดียวกันก่อนดำเนินการกับระบบจริง
วัตถุประสงค์
บทความนี้อธิบายการสำรอง Database บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง
ก่อนเริ่มดำเนินการ
- เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
- ตรวจสอบชื่อ Environment, Region และ Resource เป้าหมายก่อนบันทึกการเปลี่ยนแปลง
- สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production
Ruk-Com PaaS ได้จัดเตรียมกอง Database ที่ผ่านการรับรองทั้งหมดไว้ด้วยความสะดวกสบายและ Script ที่ตรงประเด็นสำหรับการสำรองข้อมูล ดังนั้นการประมวลผลนี้เรียบง่ายเพียงแค่ระบุ Parameter ที่ต้องการและสามารถทำได้โดยใช้เวลาเพียงไม่กี่นาที ในตัวอย่างนี้ไม่จำเป็นที่จะต้องมีความรู้เฉพาะทาง เพียงแค่ทำตามขั้นตอนการติดตั้งขั้นตอนการตั้งค่าเพื่อตั้งค่า crontab ที่เหมาะสม
นอกจากนี้ เราจะแสดงให้เห็นว่าคุณสามารถที่จะทำงานร่วมกับการสร้างการสำรองข้อมูลได้อย่างไร
สำหรับการสอนนี้ เราจะใช้ Database MySQL/MariaDB เป็นตัวอย่าง อย่างไรก็ตามขั้นตอนที่จำเป็นต่าง ๆ นั้นมีความคล้ายกับ Database ประเภทอื่นใน Ruk-Com Platform
การตั้งเวลาการสำรองข้อมูล
ใช้ Script สำหรับการสำรองข้อมูลที่เป็นค่าตั้งต้นเพื่อทำให้กระบวนการสร้างการสำรองข้อมูลเป็นไปอย่างอัตโนมัติและตั้งค่าเฉพาะต่าง ๆ ที่ต้องการ (เช่น ความถี่ในการสำรองข้อมูล, จำนวนที่ต้องการเก็บไฟล์ย้อนหลัง, อื่น ๆ ) ตามนี้ถ้าคุณยังไม่มี Environment ของ Database ให้ทำตามแนวทางการสร้าง Databaseเพื่อสร้างขึ้นมา
1. source code ของ Script นั้นสามารถดูได้โดยตรงจาก Dashboard คลิกที่ปุ่มการกำหนดค่าที่อยู่ถัดจาก Database เพื่อเปิด built-in file manager และค้นหาไฟล์/var/lib/Ruk-Com PaaS/bin/backup_script.sh

Script การสำรองข้อมูลนั้นไม่รองรับสำหรับกอง Redisที่ใช้ในการจัดเก็บ key-value โดยปกติแล้วมักใช้เป็นเพียงแค่ระบบ Caching หรือเก็บข้อมูลชั่วคราว
2.เพื่อดำเนินการ Script โดยอัตโนมัติ เราจะใช้ linkตัวกำหนดเวลา cronที่มีอยู่ใน Container แบบสำเร็จรูป เปิดไฟล์/var/spool/cron/MySQL และให้ใช้cron expression ตามรูปแบบต่อไปนี้

ในสคริปด้านบนจะเห็นว่าเราได้ทำตัวอย่างไว้แล้วในแต่ละ feature สามารถเอา Comment ออกเพื่อเปิดให้ Crontab ทำงาน หลังจากนั้นตั้งค่าส่วนต่างๆตามนี้
- {ความถี่}– กำหนดเวลาของการเรียกใช้ Script (รายละเอียดดูได้จากลิงก์แนวทางด้านบน), เช่น */10 * * * * เพื่อสำรองข้อมูลทุก ๆ 10 นาที
- {เส้นทางไปยัง Script}- ชี้ไปยัง Script ที่ต้องการ (Script การสำรองข้อมูลค่าเริ่มต้นได้ตั้งไว้ที่ /var/lib/Ruk-Com PaaS/bin/backup_script.sh)
- {Script-Parameter}– จัดเตรียม Parameter ที่กำหนดเองสำหรับคริปต์ที่กำหนด; สิ่งต่อไปนี้มีอยู่ในกรณีของเรา:
- -m {โหมด}เพื่อสำรองข้อมูลทั้งหมดหรือบางส่วนของ Database ("-m dumpall" หรือ "-m dump" ตามลำดับ)
- -c {นับ}กำหนดตัวเลขของการสำรองข้อมูลอันเก่าเพื่อจัดเก็บ (เช่น "-c 3" เพื่อเก็บการสำรองข้อมูลเก่า 3 ชุดเช่น 1 2 3 1 2 3 ไฟล์จะถูกทับไปเรื่อยๆเพื่อไม่ให้เปลืองพื้นที่
- -u {ผู้ใช้}และ-p {รหัสผ่าน}รหัสผ่านสำหรับเข้าถึงสำหรับ Database (จะได้รับทาง Email หลังจากสร้าง Env เสร็จ)
ถ้า {password} ของคุณมีตัวอักขระพิเศษ ควรครอบด้วย " นอกจากนี้ เนื่องจากความเฉพาะของ cron คุณจำเป็นที่จะต้องเพิ่มอักษรแบบ escaping อย่างสัญลักษณ์ % โดยการเพิ่ม backslash เข้าไปก่อนหน้า ตัวอย่างเช่น -p "passw\\%rd"
- -d {Database}และ-t {ตาราง}เพื่อระบุรายการเลือกของ Database ("-d db1[, db2, db3….]") หรือ ตารางที่อยู่ใน Database ("-d db -t table1[, table2, table3….]") เพื่อสำรองข้อมูล
3. ตัวอย่าง ถ้าคุณต้องการสำรองข้อมูลทั้งหมดจาก Database ทุก ๆ 10 นาที ด้วยการช่วยเหลือจาก Script เริ่มตั้น ถ้าเช่นนั้นสตริงควรเป็นตามนี้

บันทึกการตั้งค่าเพื่อนำไปใช้
4.เพื่อที่จะจัดเก็บข้อมูลบน Node ของ Container อื่นหรือการรีโมท Server สามารถที่จะกำหนดค่าMount Pointที่เหมาะสม สำหรับ Database ของคุณ

ข้อมูลต่าง ๆ ที่มีอยู่ในโฟลเดอร์Mount Pointจะถูกแทนที่ด้วยไฟล์จาก Directory ที่มากจากการรีโมท
ตรวจสอบการสำรองข้อมูล
รอให้สคริปดำเนินการ (ขึ้นอยู่กับความถี่ของ cron ที่ได้กำหนดค่าไว้) และไปที่โฟลเดอร์/var/lib/Ruk-Com PaaS/backup

ถ้าดำเนินการสำรองข้อมูลเสร็จสิ้น คุณจะเห็น bz2 จัดเก็บไว้ใน Directory
ดาวน์โหลดการสำรองข้อมูล
มีตัวเลือกที่หลากหลายสำหรับการดาวโหลดไฟล์จาก Ruk-Com Container
1. ในทางตรงทีสุดคือการใช้Configuration File Managerโดยตรงใน Dashboard

ค้นหาไฟล์ที่ต้องการ วางเมาส์ไว้เหนือตำแหน่ง และกดดาวน์โหลดจากเมนูที่แสดง
2.ตัวเลือกอีกอย่างคือใช้การเชื่อมต่อProtocol SFTP/FISH

รายละเอียดการเข้าถึงที่จำเป็นสามารถดูได้ใน Dashboard
3.นอกจากนี้ยังสามารถติดตั้งFโปรแกรมเสริม TPสำหรับ Database เพื่อจัดการไฟล์ผ่าน FTP
Public IPaddress นั้นจำเป็นสำหรับตัวเลือกนี้ หากมีความจำเป็นมันจะเชื่อมต่อกับ Node โดยอัตโนมัติระหว่างการติดตั้งส่วนเสริม

คุณสามารถเลือกตัวเลือกใดก็ได้ ตามความต้องการของคุณ
การกู้คืน Database
ในกรณีที่จำเป็น คุณสามารถกู้คืน Database จากการสำรองข้อมูลได้อย่างง่าย จากตัวอย่าง MySQL ของเรา ให้ทำตามขั้นตอนที่จำเป็นต่อไปนี้ :
1. เข้าไปยังพาเนล phpMyAdmin ด้วยรายละเอียดจากอีเมลที่ได้รับหลังจากการสร้าง DB Node

2. ไปที่แท็บ Import ติ๊กตัวเลือก Browse your computer และใช้ปุ่มเลือกไฟล์เพื่ออัปโหลดการสำรองข้อมูลที่จำเป็น

กดปุ่ม Go ที่อยู่ด้านล่างของหน้า
3.เมื่อการนำเข้าสำเร็จเรียบร้อย คุณจะเห็นการแจ้งเตือนขึ้นในพาเนลแอดมิน

นั่นก็คือทั้งหมด ตอนนี้คุณสามารถมั่นใจได้ว่าข้อมูลทั้งหมดจะได้รับการ Backup เป็นระยะตามช่วงเวลาที่ต้องการและในกระณีที่จำเป็น สามารถกู้คืนหรือนำกลับมาใช้ใหม่ได้อย่างง่ายดาย
