Saturday, March 14, 2009

วันนี้คุณ backup server หรือยัง????

คำถามนี้ถ้าเป็นการถามประจำวันที่หัวหน้าถามลูกน้องผู้ถูกถามคงไม่รู้สึกอะไร อาจจะดีเสียอีกที่มีคนคอยเตือน แต่หากเป็นคำถามที่เมื่อมีเหตุการณ์เกิดขึ้นแล้ว ... คำถามนี้กลับกลายเป็นคำถามเอาเรื่องขึ้นมาทันที ทั้งเอาเรื่องแพ่ง และเรื่องสัญญาด้วย

ปฐมเหตุคือว่า Server ที่บริษัทลูกค้าของเราเสียกระทันหันทันทีถึงสามเครื่องในเวลาเพียงสองอาทิตย์คือที่สาขากรุงเทพเครื่องหนึ่ง และที่สาขาสมุทรปราการอีกสองเครื่อง ที่สมุทรปราการเป็น IMB X Series ส่วนที่กรุงเทพเป็นเครื่อง HP Desktop Pavillion Gxxx เครื่อง Server ทั้งสามเครื่องเป็น Linux Samba แบบ PDC ทำหน้าที่จัดการระบบ ผู้ใช้งาน และข้อมูลแบบ pool กลาง โดยข้อมูลของ user ทั้งหมดจะเก็บไว้ใน server และ user สามารถเข้าใช้จากคอมพิวเตอร์ได้ทุกเครื่องภายในบริษัท กล่าวโดยเฉพาะเครื่อง IBM ที่สมุทรปราการเป็น Linux File Server เก็บข้อมูลระบบสินค้าคงคลังด้วย linux ติดตั้งและดูแลโดยเรา ส่วนเครื่อง server บริษัทลูกค้าจัดหาเอง

เมื่อเราเข้าไปดูพบว่าเครื่อง IBM shutdown อยู่เมื่อเปิดเครื่องขึ้นมามีเสียงร้อง บีบ ๆ (บี๊บ 2 ครั้ง / 3 ครั้ง / 4 ครั้ง)
ติดต่อฝ่าย support ของ IBM ทันทีพบปัญหาว่าเมนบอร์ดเสีย ในเครื่อง IBM นี้มีฮาร์ดดิสก์สองลูกเป็น SATA 250 GB ในการ setup Linux ไม่ได้ทำเป็นระบบ RAID สิ่งที่ผมร้อนใจมากในขณะที่รู้ว่าเมนบอร์ดเสียนั้นคือฮาร์ดดิสก์ทั้งสองลูกนั้นจะเสียด้วยหรือไม่?? ซึ่งความร้อนใจของผมนั้นมากกว่าองศาของห้อง server ที่ขณะนั้นอยู่ที่่ 31 องศาพอดี ... ทันทีที่เอาฮาร์ดดิสก์ไปเช็คกับคอมพิวเตอร์เครื่องอื่น พบว่าฮาร์ดดิสกลูกหนึ่งเสียและเป็นฮาร์ดดิสก์ลูกที่หนึ่งที่เป็นตัวบูตระบบและเป็น File system อีกทั้งยังเป็น /home พาร์ติชั่นอีกด้วย ถึงตอนนี้ใจของผู้เขียนก็ร้อนเกิน 31 องศาเข้าไปแล้ว จึงต้องรายงานความจริงให้ admin ของลูกค้าทราบ คำถามแรกคือ "คุณ backup server แล้วหรือยัง" มันเสียวแปล๊ปยิ่งกว่าแทงข้างหลังทะลุุถึงหัวใจเสียอีก ยังไงคงต้องฝากความหวังไว้กับฮาร์ดดิสก์อีกลูก ผมได้ตรวจสอบเอกสารการ config server เครื่องนี้ในเอกสารระบุพาร์ติชั่นไว้ดังนี้
----- /dev/sda1 /boot
----- /dev/sda2 /root
----- /dev/sda3 /home
----- /dev/sdb1 /backup
การ backup มีการระบุคำสั่งไว้ใน crontab ดังนี้
--- * 21 * * * /usr/bin/rsync -avzupog /home/ /backup
--- 30 21 * * * /usr/bin/bstock.sh
จากเอกสารพอให้ใจชื้นขึ้นมาบ้างว่ามีการ backup จากฮาร์ดดิสก์ลูกหนึ่งไปสู่ลูกหนึ่งแบบวันต่อวันในเวลา 3 ทุ่ม (* 21 * * *) และคัดเอาเฉพาะไฟล์ที่มีการเปลี่ยนแปลง(-avzupog ) สำหรับไฟล์ชื่อ user+password และ config ไฟล์ /etc/samba เราได้จัดเก็บที่ server ของเราอยู่แล้วการ setup ระบบใหม่จึงไม่น่ามีปัญหามากนัก

ในการปฏิบัติ ฝ่าย suport ของ IBM ได้เข้ามาเปลี่ยนเมนบอร์ดให้ใหม่ภายใน 1 วันจากวันที่แจ้งไปส่วนเราได้ setup Linux ขึ้นมาใหม่และ copy ไฟล์ passwd และ /etc/samba ไปที่ server พร้อมกับ restore ข้อมูลจากฮาร์ดดิสก์อีกลูกหนึ่งกลับ ส่วนที่ยังกังวลอยู่คือ "ข้อมูลคลังสินค้าที่เป็นเรคคอร์ดจะต่อเนื่องหรือไม่" หาก server เสียในช่วงหลังสามทุ่มไปแล้วคงไม่มีปัญหาอะไร แต่หากเสียในช่วงก่อนสามทุ่มข้อมูลที่คีย์เข้าไปในทั้งวันอาจจะไม่อยู่แล้ว เมื่อ user เข้าใช้ข้อมูลใหม่ก็รู้สึกว่าข้อมูลของตนไม่ได้เปลี่ยนแปลงหรือสูญหาย อีกทั้งเรคคอรืดของข้อมูลคลังสินค้าก็ต่อเนื่องไปไม่เสียหาย คงต้องขอบคุณคำสั่ง rsync และ crond ที่ช่วยชีวิตเราในครั้งนี้ server เสียในวันพฤหัส และกลับมาทำงานต่อได้ในวันจันทร์ บริษัทนี้หยุดวันเสาร์ ความสูญเสียจากการไมได้ทำงานสองวันกับอีกครึ่งวันของวันจันทร์

ส่วนเครื่อง HP ที่กรุงเทพนัั้นพึ่งจะเสียก่อนเครื่อง IBM เพียงอาทิตย์เดียวที่สำคัญฮาร์ดดิสก์พังทั้งสองลูก คุณท่านทั้งหลายลองคิดดูนะครับ ผมจะนำข้อมูลกลับมาได้อย่างไร?????




วันนี้ผมจึงอยากถามท่าน admin ทั้งหลายว่า "วันนี้ คุณ backup server แล้วหรือยัง"

0 comments:

Twitter Delicious Facebook Digg Stumbleupon Favorites More