0190 | ตั้งค่า Bacula Storage
Monday, September 15th, 2014 Posted in Linux | No Comments »หลังจาก[ตั้งค่า Bacula Director][1] ส่วนของ Storage เรียบร้อยแล้วก็มาตั้งค่า Storage กันครับ
โดย config หลักจะอยู่ที่ /etc/bacula/bacula-sd.conf ครับ
ประกาศตัวเอง
Storage { Name = bacula-sd # storage name SDPort = 9103 WorkingDirectory = "/var/spool/bacula" Pid Directory = "/var/run" Maximum Concurrent Jobs = 20 }
จุดเดียวเลยครับ Name ตั้งให้ตรงกับที่ระบุใน Director ส่วนของ Storage{} นะครับ
เชื่อมกับ Director
Director { Name = bacula-dir Password = "bacula-dir-sd" # storage password }
อันนี้ตั้ง Name ให้ตรงกับฝั่ง Director ในส่วนของ Director {} นะครับ และ Password ให้ตั้งให้ตรงกับฝั่ง Director ส่วนของ Storage{} ครับ
ตั้งค่าส่ง log ไปหา director
Messages { Name = Standard director = bacula-dir = all }
แก้ชื่อ Director ให้ตรงกับชื่อของ director ที่ตั้งไว้ครับ (ง่ายสุดคือไม่ต้องแก้ตั้งแต่ต้น)
ตั้งค่าที่เก็บข้อมูลกลาง
Device { Name = FileStorage Media Type = File Archive Device = /data/bacula LabelMedia = yes; Random Access = Yes; AutomaticMount = yes; RemovableMedia = no; AlwaysOpen = no; }
ตรง Name กับ Media Type ต้องตั้งค่าให้ตรงกับในส่วนของ Storage{} ของ Director นะครับ ซึ่งจริงๆ media type คงตั้งเป็น file ไปให้หมด (ยกเว้นมีใครใช้ tape / dvd backup ก็ดูตามตัวอย่างเลยครับ)
ส่วน Archive Device นี่ ไปสร้าง folder ที่จะใช้เก็บ backup แล้วมาตั้งให้ตรงกันครับ change owner เป็น bacula ด้วยนะครับ ไม่งั้นตัว storage เขียนไม่ได้เดี๋ยวจะ error เปล่าๆ
ข้ามไปยัง
- ติดตั้ง Bacula บน centos 5/6/7
- ตั้งค่า Bacula Director
- ตั้งค่า Bacula Storage
- ตั้งค่า Bacula Client
- ตั้งค่าการ Backup ของ Client
- การดูสถานะ backup และการสั่ง Restore
Tags: bacula, configuration
0189 | ตั้งค่า Bacula Director ครั้งแรก
Monday, September 15th, 2014 Posted in Linux | No Comments »ต่อจากการติดตั้ง bacula ใน entry ที่แล้ว นะครับ งานนี้เริ่มเข้ากระบวนการตั้งค่า bacula director ที่เป็นตัวควบคุมทุกอย่างกัน
การติดตั้ง bacula ผ่าน repository ดังกล่าวจะจัดไฟล์ config ทั้งหมดไว้ที่ /etc/bacula/ ครับ สำหรับ director จะอยู่ในไฟล์ /etc/bacula/bacula-dir.conf
*** ไฟล์มันมีข้อมูลอยู่แล้ว แนะนำให้เปลี่ยนชื่อเป็นอย่างอื่นแล้วสร้างไฟล์ใหม่เปล่าๆ ขึ้นมาดีกว่าครับ หรือไม่ก็ลองอ่านดูก็ได้ว่าข้างในมีอะไรบ้าง
โครงสร้างของไฟล์ backup จะแบ่งเป็น section คล้ายๆ condition ของการเขียนโปรแกรมครับ ประมาณนี้
Director { Name = bacula-dir # director instance name DIRport = 9101 QueryFile = "/etc/bacula/query.sql" WorkingDirectory = "/var/spool/bacula" PidDirectory = "/var/run" Maximum Concurrent Jobs = 8 Password = "bacula" # Console password Messages = Daemon # messages name }
ส่วนแรกสุดที่ต้อง config ครับ คือ Director เป็นการประกาศตัวเองว่าชื่ออะไรยังไง จุดที่สำคัญอยู่ตรง Name ครับ ตั้งอะไรไว้ก็ mark ให้ดีๆ เพราะต้องเอาไปใส่ config ของ Storage และ Client อีก
Password อันนี้สำหรับให้ console เข้ามาเชื่อมต่อครับ แล้วสำหรับ Messages จะระบุถึงการเก็บ log + แจ้งเตือนต่างๆ ครับ ซึ่งจะมีประกาศในส่วนต่อไป ดังนี้
Messages { Name = Daemon mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r" mail = youremail@example.com = all, !skipped console = all, !skipped, !saved append = "/var/log/bacula/bacula.log" = all, !skipped }
อันนี้ก็จะตั้งค่าว่ากรณี daemon ทำงานแล้วมีข้อความอะไรออกมาก็ตามให้ทำอะไรบ้าง ซึ่งในรายการก็จะมี ส่งอีเมล ไปหาเมล youremail@example.com (แก้เป็นเมลที่จะใช้รับการแจ้งเตือนได้เลย) ซึ่งจะส่งเวลาเจอปัญหา รันงานไม่ผ่านอะไรพวกนี้ และยังมีเขียน log ลงไฟล์กับแจ้งเตือนผ่าน console ด้วยครับ
Messages { Name = Standard mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r" mail = youremail@example.com = all, !skipped operator = youremail@example.com = mount console = all, !skipped, !saved append = "/var/log/bacula/bacula.log" = all, !skipped catalog = all }
ส่วน Message Name = Standard อันนี้จะเอาไว้รับ log ที่มาจาก storage หรือ client ครับ ตั้งค่าคล้ายๆ กัน แก้อีเมลตามสะดวกครับ
เชื่อมต่อฐานข้อมูล
Catalog { Name = MyCatalog dbname = "bacula"; dbaddress = "localhost"; dbuser = "bacula"; dbpassword = "databasepassword" }
อันนี้ก็ตรงไปตรงมาครับ แก้ไขค่าต่างๆ ให้ตรงกับที่ไปสร้างฐานข้อมูลไว้ตาม entry ที่แล้ว แล้วเดี๋ยว bacula จะไปอ่านเขียนข้อมูลเอาเอง
เชื่อมต่อ Bacula Storage
Storage { Name = bacula-sd # storage name Address = "192.0.2.1" # N.B. Use a fully qualified name here SDPort = 9103 Password = "bacula-dir-sd" # storage password Device = FileStorage # storage device Media Type = File Maximum Concurrent Jobs = 8 }
จุดสำคัญของส่วนนี้มีอยู่สามอันครับ คือ Name , Password และ Device ซึ่งจะต้องตั้งค่าให้ตรงกับที่จะไปตั้งค่า Storage (เดี๋ยวจะเขียนอธิบายแยกเรื่องการตั้งค่า Bacula storage อีก entry นึงครับ)
ส่วนหลักๆ ของ director มีเท่านี้ครับ ซึ่งมันไม่ใช่ส่วนสำคัญเลย (ฮา) เพราะที่วุ่นวายคือการประกาศการ backup ครับ ที่ต้องไปคุยกับ client ว่าจะให้ backup อะไรยังไงบ้างนี่แหละ วุ่นเอาเรื่อง
ตั้งค่า Bacula Console เชื่อมกับ Director
แถมนิดเดียว ตอนนี้แนะนำให้เปิดไฟล์ /etc/bacula/bconsole.conf ขึ้นมาครับ มันคือไฟล์ตั้งค่าของคำสั่ง bconsole ที่จะไว้ดูสถานะ + สั่ง bacula ให้ทำโน่นนี่นั่น
Director { Name = bacula-dir # director DIRport = 9101 address = localhost Password = "bacula" }
หลักๆ ก็แค่ตั้ง Name กับ Password ให้ตรงกับ section Director ด้านบนครับ แล้วก็ชี้ address ให้ถูกเครื่องด้วย แค่นี้แหละครับ จบแล้ว
ตั้งค่าเสร็จสั่ง service bacula-dir start แล้วทดสอบด้วยคำสั่ง bconsole มันควรจะขึ้นสถานะประมาณนี้ครับ
Connecting to Director localhost:9101
1000 OK: bacula-dir Version: 5.2.13 (19 February 2013)
Enter a period to cancel a command.
*
ถึงจุดนี้ลองพิมพ์ status director ดู มันควรจะบอกว่า director เริ่มทำงานมาตั้งแต่เมื่อไหร่ยังไง ถ้าขึ้นมาก็เสร็จแล้วครับ
ข้ามไปยัง
- ติดตั้ง Bacula บน centos 5/6/7
- ตั้งค่า Bacula Director
- ตั้งค่า Bacula Storage
- ตั้งค่า Bacula Client
- ตั้งค่าการ Backup ของ Client
- การดูสถานะ backup และการสั่ง Restore
Tags: bacula, configuration