ข้ามไปที่เนื้อหาหลัก

วางแผนรับมือกรณีเครื่องเซิรฟเวอร์หลักเกิดปัญหา (Change Slave to Master)



สำหรับเรื่องที่เลวร้ายที่สุดของการเป็นโปรแกรมเมอร์ คงจะเป็นช่วงเวลาบ่ายแก่ๆ ที่ต้องเดินไปชงกาแฟแล้วเจอแต่ความว่างเปล่า เจอแต่ขวดที่ปราศจากกาแฟ !!


จากนั้นก็เดินกลับมาพร้อมกับแก้วกาแฟ ที่มีเพียงน้ำอุ่นใสๆ ไว้จิบเล่น พอบรรเทาความง่วงสักเล็กน้อยโดยการเอาลิ้นลงไปจุ่มเล่น ให้พอสะดุ้ง


....ตึ้ง....ตึ๊ง... "ขออภัย ระบบไม่สามารถเชื่อมต่อกับฐานข้อมูลได้!!"


> cmd
> ping 192.168.1.211
> Request timed out.


ชัดเลย...ไม่ต้องสงสัย ต้องเกิดอะไรขึ้นกับเซิร์ฟเวอร์อย่างแน่นอน

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

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

แต่ถ้าเราไม่มีเครื่องเซิรฟเวอร์สำรองล่ะ มีแต่เครื่อง PC ธรรมดา แน่นอนว่าถอดฮาร์ดดิสก์มาก็คงจะต้องใช้วิธีพ่วงเข้าไปอีกลูก แล้วตั้งค่าใหม่เพื่อใช้แทนเครื่องเดิมไปก่อน

แต่ถ้าฮาร์ดดิสก์ต่อพ่วงกับ PC ธรรมดาไม่ได้ล่ะ
ก็ไม่ต้องกังวลไปครับ เพราะในบทความที่แล้วผมได้ทำ Replication MySQL ไว้แล้ว ข้อมูลก็จะอัพเดตแบบเรียลไทม์ สามารถเปลี่ยน IP แล้วใช้แทนได้เลย


จากนั้นก็ทำการแก้ไขปัญหากับเครื่องหลัก ให้เรียบร้อย หากต้องส่งศูนย์ก็ต้องรอหลายวันหน่อย ถ้าจัดการเรียบร้อยแล้ว ก็นำเครื่องมาติดตั้งที่เดิมได้เลย แต่ข้อมูลจะไม่เหมือนเดิมเพราะว่ามีการใช้งานไปแล้ว ดังนั้นจะต้องทำการอัพเดตข้อมูลจากเครื่องเซิร์ฟเวอร์สำรอง มาใส่ให้กับเครื่องหลักที่นำกลับมาใช้งานอีกครั้ง เพื่อข้อมูลจะได้เป็นปัจจุบัน่ตรงกัน ทั้งสองเครื่อง แล้วทำการ Replicate อีกครั้ง


เมื่อเครื่องเซิร์ฟเวอร์หลักเกิดปัญหา จะมีข้อความแจ้งเตือนทาง SMS (ซึ่งจะกล่าวถึงในบทความต่อไป) หรืออาจจะมียูสเซอร์บางท่าน โทรมาก่อนที่ SMS จะส่งมาถึงเราก็ได้ เพราะตั้งเวลาตรวจสอบเซิร์ฟเวอร์ทุกๆ 20 วินาที ซึ่งอาจจะเร็วไม่ทันยูสเซอร์บางท่านก็ได้ สำหรับขั้นตอนคร่าวๆ ดังรูป คือ

  1. นำเครื่องเซิร์ฟเวอร์หลักไปตรวจสอบซ่อมแซม
  2. นำเครื่องเซิร์ฟเวอร์สำรองมาติดตั้งใช้งานแทน โดยการเปลี่ยน IP ใหม่
  3. ตรวจสอบแก้ไข หรือซ่อมแซมเซิร์ฟเวอร์หลักให้เรียบร้อย
  4. เปลี่ยน IP เครื่องที่มาใช้แทนให้กลับไปเป็นไอพีเครื่องสำรองเหมือนเดิม
  5. นำเครื่องเซิร์ฟเวอร์หลักที่ซ่อมแซมแล้วกลับมาใช้งาน โดยตั้ง IP ให้เหมือนเดิม
  6. ให้นำข้อมูลจากเซิร์ฟเวอร์เครื่องสำรอง ที่มีการใช้งานไปช่วงหนึ่งแล้วข้อมูลจะมากกว่าเครื่องหลักที่นำกลับมาใช้ เพื่อให้ข้อมูลเป็นปัจจุบันเหมือนกันทั้งสองเครื่อง

หลังจากนั้นก็จะเป็นการตรวจสอบสถานะ Replicate ของเครื่องทั้งสอง ซึ่งเขียนไว้ในบทความที่แล้ว คลิกอ่านได้ที่นี่


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ร้อยละ ทศนิยม 2 ตำแหน่งบวกคืน ไม่เท่ากับ 100 และ ปัญหาการคำนวณเลขทศนิยม เมื่อปัดเศษแล้วค่าที่บวกคืนไม่เท่าเดิม

กรณีนี้เป็นการทดสอบคำนวณเลขที่ต้องหารครึ่ง ตัวอย่างเช่น 2.33 / 2 = 1.165 กรณีนี้ถ้าเก็บค่านี้ในฐานข้อมูลที่กำหนดให้มีทศนิยมเพียง 2 หลัก ในฟิลด์ 2 ฟิลด์ซึ่งแต่ละฟิลด์จะถูกปัดขึ้นเป็น 1.7 เมื่อนำมาบวกกลับ 1.17 + 1.17 = 2.34 ถ้าอย่างนั้นเราก็ต้องกำหนดให้ฟิลด์ที่ใช้เก็บข้อมูลสามารถเก็บเลขทศนิยมได้หลายๆตัว ก็จะเก็บเลขทั้งสามหลักไว้ในฐานข้อมูลเลย 1.165 + 1.165 จะได้ 2.33 พอดี แต่ตอนเราแสดงรายงาน ก็จำเป็นจะต้องแสดงเลขทศนิยมเพียงแค่ 2 หลักอยู่ดี แล้วเราจะทำอย่างไรล่ะทีนี้ ก็เก็บมันเป็นเลขทศนิยมเต็มจำนวนซะแล้วตอนแสดงก็ต้องปัดเศษอยู่ดี เพราะค่า 1.165 ถ้าใช้ฟังก์ชั่นปัดเศษลง ก็จะเหลือ 1.16 แต่ถ้าปัดขึ้นก็จะเป็น 1.17 ซึ่งตัวเลขทั้งสองตัว เมื่อนำมารวมกัน ยังไงๆ ก็ไม่เท่ากับ 2.33 อยู่ดี (1.16+1.16 = 2.32,    1.17+1.17 = 2.34 ) อีกตัวอย่างนึงครับเป็นการถอด VAT ราคาสินค้า การคิดค่าทศนิยม แล้วผลรวมเพี้ยน เนื่องจากการปัดเศษ แล้วยอดเกินบ้าง ขาดบ้าง ตัวอย่างการถอด VAT ซื้อของมา 573.50 บาท ถอด VAT ออกมาได้ (573.50*7) / 100 = 40.145 ราคาสินค้า จะได้เป็น 573.50 - 40.14...

FPDF ภาษาไทย กับ วรรณยุกต์ลอย

สำหรับงานเขียนโปรแกรมเว็บแอพฯ ด้วย PHP ที่ต้องทำการส่งออกข้อมูลเป็นไฟล์เอกสาร PDF นั้น เมื่อลองค้นดูแล้วก็เจอกับ FPDF เป็นคลาสที่เขียนขึ้นมาสำหรับงานนี้โดยเฉพาะ แต่กับภาษาไทยแล้วก็ต้องเจอกับปัญหาสุดคลาสสิคคือ รองรับภาษาไทยไม่ร้อยเปอร์เซ็นต์ ^^" บทความที่สอนการใช้งานเบื้องต้นที่ครอบคลุมการทำงานของ FPDF http://www.select2web.com/category/fpdf จะมีบทความแนะนำการใช้ฟอนต์ภาษไทยอยู่ที่ลิงค์นี้ http://www.select2web.com/fpdf/fpdf-lesson-10.html ดาวน์โหลดและสร้างฟอนต์มาใช้เอง http://witkub.blogspot.com/2011/11/fpdf.html สำหรับวิธีแก้ไขปัญหาวรรณยุกต์ลอย ลองดูวิธีจากที่นี่ http://punnawatt.blogspot.com/2009/07/pdf.html สุดท้ายแล้วลองทดลองมาหมด ก็ยังไม่ได้คำตอบที่ตรงใจครับ เพราะไม่สามารถแก้สระลอยได้อย่างแท้จริง เพราะเงื่อนไขข้อมูลจริงไม่อาจจะทำให้เหมือนในตัวอย่างได้ ก็เลยถอดใจเรื่องวรรณยุกต์ลอย นอกจากปัญหาเรื่องวรรณยุกต์ลอย แล้วฟอนต์บางตัวก็เกิดปัญหาวรรณยุกต์ซ้อนทับกันด้วย เช่นคำว่า "นี้" เมื่อผลลัพธ์ออกมา สระอี และวรรณยุกต์โท จะทับกัน สรุป 1. ดาวน์โหล...

การแชร์สแกนเนอร์ ถึงทำไม่ได้แต่ก็มีวิธีช่วยประหยัดขั้นตอนการทำงาน

"พี่ครับขอใช้เครื่องพี่สแกนเอกสารหน่อยครับ" "พี่ครับขอสแกนอีกสักสองแผ่นครับ" "พี่ครับพอดีมีเอกสารต้องสแกนเพิ่มน่ะครับ" ทุกครั้งที่ต้องสแกนเอกสารเป็นไฟล์เก็บไว้ในคอมพิวเตอร์ ผมจะต้องลุกไปขอใช้เครื่องพิมพ์แบบ All-In-One ของพี่โจ้ทุกครั้ง บางครั้งก็เกรงใจแกครับ เห็นกำลังใจจดใจจ่ออยู่กับงานตรงหน้า ไหนจะต้องตอบคำถามคำโน้นคนนี้ทาง MSN บ้าง Facebook บ้าง ^___^ พอไปขอใช้เครื่องทีไรก็ดูแกจะไม่สบอารมณ์เท่าไหร่ พยายามค้นหาวิธีแชร์สแกนเนอร์จากในอินเตอร์เน็ตอยู่หลายวัน ก็ไม่เจอวิธีที่จะสามารถแชร์สแกนเนอร์ให้เครื่องอื่นได้ใช้งานได้เลย แชร์ได้แค่ให้สั่งพิมพ์จากเครื่องอื่นๆได้เท่านั้น สุดท้ายก็เลยตัดสินใจใช้เทคนิคเล็กๆ น้อยๆ ที่ได้พบเจอมาใช้ประหยัดเวลา และไม่รบกวนการทำงานและสนทนาของพี่โจ้ ได้วิธีนึง นั่นก็คือ ตั้งค่าสแกนเนอร์ให้บันทึกอัตโนมัติ ไว้ในโฟลเดอร์ที่กำหนด แล้วก็ทำการแชร์โฟลเดอร์เครื่องพี่โจ้ทิ้งไว้ซะเลย 1. ตั้งค่าให้สแกนอัตโนมัติเมื่อกดปุ่มสแกน 2. กำหนดให้บันทึกลงโฟลเดอร์ที่แชร์ไว้แล้ว (แชร์โฟลเดอร์เก็บเอกสารสแกนของคอมฯเครื่องนั้นไว้) 3. ...

PHP CI MANIA