หลังจากที่ อ.ชัยพร เสนอนโยบายเกี่ยวกับการสำรองข้อมูล น้องๆทีม IM ก็มีประเด็นมาปรึกษาเรื่องการนำข้อมูลที่สำรองไว้มาใช้งาน เมื่อ Server หลักมีปัญหา โดยเฉพาะข้อมูลที่ Replication ไว้ ซึ่งเกือบจะเป็น Real-time Backup ในทางปฏิบัติทำได้ไม่ยาก เนื่องจากเพียงแก้ IP Address เครื่องที่เป็น Slave เดิม เป็น Master(Server) แทน อย่างไรก็ตาม เนื่องจากเป็นกระบวนแก้แบบ Manual โดยต้องมี จนท. IT มาจัดการ หากเป็นช่วงนอกเวลาราชการ หรือไม่มี จนท.ปฏิบัติงาน(ซึ่งเป็นเหตุให้ จนท. IT และเกี่ยวข้องไปไหนไม่ค่อยได้)
ขอเสนอทางแก้ไขง่ายๆ ครับ แต่มี Requirement ดังนี้
1. ระบบ Replication จะต้องได้รับการตรวจสอบว่าทำงานถูกต้อง(Synchronize status) อย่างน้อยวันละครั้ง
2. นโยบายของทีมสารสนเทศเกี่ยวกับเรื่องนี้ เช่น ระยะเวลาในการแก้ไขที่ยอมรับได้โดยไม่กระทบระบบบริการ ระบบสำรองอื่น อย่างไรก็ตามไม่แนะนำให้รีบใช้ manual เพราะข้อมูลส่วนนี้มักสูญหาย และไม่ถูกจัดเก็บเข้าระบบ ทั้งจะทำงานอื่นๆ ล่าช้า เช่น การจ่ายยา การออกใบเสร็จ
3. มี Slave ที่เป็น Windows(XP,NT,2003) แนะนำว่าควรจะมีอย่างน้อย 1 ตัว เพราะสามารถใช้ Run Replicator, Auto Backup ซึ่งมี Spec พอจะเป็น Server ชั่วคราวได้ โดยเฉพาะ RAM อย่างน้อย 1-2 G
4. เครื่อง client ในระบบจะต้องเปิด service Messenger
หลักการทำงาน
อันที่จริงก็เป็นระบบง่ายๆ แต่คิดว่าใช้งานได้ดี พอควร (แม้ว่าภาวนาให้ไม่ต้องใช้)
1. ตั้งเวลาการตรวจสอบระบบ ตามเวลาที่กำหนด เช่น ทุก 10 นาที
2. ตรวจสอบโดย ping Server ว่า Reply กลับมาหรือไม่
3. ตรวจสอบโดย ping เครื่อง client ที่กำหนดว่า Reply กลับมาหรือไม่ ได้ ถ้า Reply ได้ แสดงว่า เฉพาะ Server ที่ขัดข้อง ส่ง message แจ้ง client ใน work group ทั้งหมด และส่ง message แจ้ง server status แก่ admin
4. รอตรวจ server ซ้ำในระยะเวลาที่กำหนด เช่น ทุก 10 นาที ตามขั้นตอนที่ 2 และ 3
5. ถ้ายังติดต่อกับ server ไม่ได้ จะทำการเปลี่ยน IP เครื่องที่ Run script ตรวจสอบ (Slave) ให้เป็นเครื่อง Master แทน (โดยไม่ต้อง restart)
6. ตรวจสอบโดย ping Server ใหม่ ว่า Reply กลับมาหรือไม่ ถ้าได้ส่ง message แจ้ง client ใน work group ทั้งหมด
7. จัดเก็บข้อมูลการเชื่อมต่อ การแก้ไข IP เวลา ลง log file สำหรับการตรวจสอบ
ขั้นตอนการติดตั้ง
1. แตกไฟล์ zip นำ folder ไปวางไว้ใน drive c: ของเครื่อง Slave ที่เป็น Windows OS
2. แก้ไขไฟล์ starttask.bat จาก default 10 นาที เป็นตามที่ต้องการ
3. ถ้าต้องการเปลี่ยนชื่อ folder และ path ให้ คลิ๊กขวา servercheck.lnk เลือก properties แก้ไข target และ start in ตาม folder และ path ที่กำหนด (สามารถ run servercheck.bat ได้โดยตรง โดยแก้ไขใน starttask.bat แต่ไม่สามารถใน run ใน minimize mode ซึ่งจะไม่แสดงเป็น DOS Windows แต่จะปรากฏอยู่ที่ Tray Bar แทน)
4. แก้ไข servercheck.bat
hosxpserverip=192.168.45.162 ->IP ของเครื่อง Server
clientip=192.168.45.2 ->IP ของเครื่อง client ที่เปิดอยู่ตลอด เช่น เครื่องที่เป็น gateway
admincomname=draran-black -> IP เครื่องของ admin ที่ต้องการให้ส่ง message แจ้ง
clientworkgroup=UC -> ชื่อ workgroup
connectname= Local Area Connection ->ชื่อของ connection หรือ LAN ของตัว Slave
connectsubnet=255.255.255.0
5. Double click ไฟล์ starttask.bat
วิธีทดสอบ
ติดตั้งตามรายละเอียดข้างบน โดยลองเปลี่ยน hosxpserverip เป็น ip ที่ยังไม่มีเครื่องระบบใช้งาน เพื่อจำลองว่า ติดต่อ server ไม่ได้ แล้วตรวจการทำงาน ว่า ip มีการเปลี่ยนแปลงหรือไม่
ถ้าผิดพลาดประการใด ก็โพสต์จะทำการตรวจสอบและแก้ไขโค๊ดให้ครับ