0188 | Bacula : ระบบ backup ข้อมูลสุดเมพ… รึเปล่าวะ?

วันก่อน… (ช่วงปลายเดือนที่แล้ว) รื้อระบบ backup server ใหม่ขนานใหญ่ครับ ตัดสินใจเอา bacula มาลงหลังจากทำใจอยู่นาน …. สาเหตุไม่ใช่อะไร config ยากมาก… มันโยงกันอีรุงตุงนังมากจนขี้เกียจจะหัด แต่ก็ต้องใช้อะนะครับ เพราะมันเมพขริงๆ

ก่อนอื่นอธิบายก่อน Bacula คือระบบ backup ข้อมูล “ผ่าน network” แบบ open source ซึ่งแบ่งการทำงานออกเป็น 3 ส่วนใหญ่ๆ ดังนี้

  • Director: เป็นตัวควบคุมหลักของ bacula เลย การตั้งค่าแทบทุกอย่างจะอยู่ตรงนี้
  • Storage: ไว้เก็บข้อมูลครับ สามารถมีหลายๆ เครื่องได้ แล้วก็ตั้งค่าแยกให้แต่ละ client ไปเก็บแยกกันแต่ละ storage อีกที
  • Client: อันนี้เอาไว้ลงที่ server ที่จะ backup ข้อมูลครับ

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

  • Full: ตรงตัวครับ เก็บใหม่ทุกอย่างไม่สนว่าเคยมีอะไรแล้วบ้าง
  • Differential: นับจากการรันแบบ Full ครั้งล่าสุด มาจนถึงตอนที่รัน backup ว่ามีอะไรเปลี่ยนแปลงบ้าง
  • Incremental: นับจากการ backup ครั้งสุดท้าย (ไม่ว่า mode ไหน) มีอะไรเปลี่ยนแปลงบ้าง

Read the rest of this entry »

Tags: , ,

0187 | Ansible : Manage servers the easy way

เนื่องด้วยนึกอะไรไม่ออกแล้วว่าจะพูดอะไรใน barcamp ดีก็เลยเอาของเล่นใหม่มาพูดเลยครับ

ต้องบอกไว้ก่อนว่าผมก็มือใหม่กับ ansible พอควร ผ่านการลองผิดลองถูกมานิดหน่อย อาจมีที่ยังไม่สวย เอ้ย ไม่ตรงตามที่ควรจะใช้ก็ด้วยนะครับ

slide วันนี้ ต้นฉบับมาจากที่นี่นะครับ http://www.slideshare.net/johnthethird/ansible-presentation-24942953

แล้วก็… repository เก็บไฟล์ playbooks ที่ทำไว้ครับ (เฉพาะที่ public ได้นะ)

https://github.com/icez/ansible-playbooks

Tags: