78

our new server

Print Friendly

web server เครื่องใหม่เดินทางมาถึงแล้ว ติดตั้งแทนเครื่องเก่าได้ตั้งแต่วันที่ 13 ก.ย. 2559 เป็นต้นไป บันทึกฉบับนี้มีไว้เพื่อเตือนความจำในกรณีที่ต้องแก้ไขปัญหาในอนาคต

Spec

  • DELL PowerEdge T330
  • CPU: 4 cores
  • RAM: 16 GB (เดิม 8 GB และซื้อเพิ่มอีก 8 GB)
  • HDD: 2 TB (และซื้อ external hard drive เพิ่มอีก 2 TB)

ข้อมูลเกี่ยวกับการจัดซื้อ

  • ซื้อเครื่องจากบริษัท ควิกเซิร์ฟ โปรไวเดอร์ จำกัด
    • ราคาเครื่อง: 51,253 บาท
    • 0-2496-1098-9
  • ซื้อ RAM (8 GB) จาก บริษัท e-parts
    • Trancent 8GB DDR4 2133 ราคา 1950 บาท
    • e-parts.co.th – Nittiya Srikong (Ann) Tel: 0-2645-2615, 081-552-4765
  • ซื้อ external hard drive จาก บริษัท e-parts
  • การเปรียบเทียบราคา ได้เปรียบเทียบกับ 2beshop.com
    • Ms.Phawana Lamangthong (จุ๊), 089-453-5141

รูปภาพ

53 54 56 57 58 63 64 66 68 78 85 86 89 92 98


Usernames and Passwords

เครื่องนี้ไม่มี root แต่มี account ที่สามารถ sudo ได้คือ

  1. account ของ Mock ชื่อ panuakdet.suw
  2. account ชื่อ daddy

และมี account ของบุคคลอื่นที่สร้างไว้แล้วดังนี้

  1. prapong
  2. aekkapol
  3. metta

บันทึก password ของ daddy และ account อื่นบางรายการ ไว้ที่ไฟล์ dell-PowerEdge-secrets.txt (ถาม Mock ได้)

Restore from Backup

  • Backup จากเครื่องเก่า เก็บไว้ที่ /home/panuakdet.suw/oldBackup ซึ่งได้ restore สิ่งเหล่านี้แล้ว
    • /var/www
    • MySQL database ทั้งหมด
    • เฉพาะ bin directory ของ panuakdet.suw
    • home directory ของคนอื่นทุกคน ยังไม่ได้ restore และคิดว่าไม่ควรจะ restore นอกเสียจากว่ามีความจำเป็นต้องใช้ ทั้งนี้ไฟล์ทั้งหมดถูกเก็บไว้ที่ /home/panuakdet.suw/oldBackup/bigbackup_2016-09-08/home.tar.gz (ขนาดรวม 55 GB)
  • /etc/apache2
    • ลืม backup ไว้ตอนแรก จึงต้องไป copy มาใหม่และปรับเปลี่ยนตามความเหมาะสม (เพื่อติดตั้ง virtual hosts)
  • /etc/bind
    • ใช้สำหรับตั้งค่า DNS server
    • ได้ทำการ copy /etc/bind/zones จากเครื่องเก่า
    • ได้ทำการ copy /etc/bind/named.conf.local จากเครื่องเก่า (สำคัญมาก เพราะลืมแก้ไฟล์นี้ในคราวแรก!)
  • crontab -l 
    • ลืม backup ไว้ตอนแรก จึงต้องไป copy มาใหม่ นี่เป็นบทเรียนสำคัญที่จะต้องเตือนคนที่จะทำงาน migration ในอนาคตว่า “อย่าลืม crontab!”

Network info

  • IP: 202.44.11.2
  • domain name: nemesis.li.kmutt.ac.th

Lessons Learned

  • วิธีดู external IP:
    • curl http://icanhazip.com
  • วิธี debug DNS setting
    • intodns.com มีประโยชน์มาก!screenshot-2016-09-13-11-38-37
    • ทำให้ทราบว่า DNS server มีปัญหา เกิดจาก firewall
  • สิ่งที่ต้องตามไปตรวจสอบคือ permission ของ directory ต่างๆ ที่จะต้องทำให้ apache (user ชื่อ www-data) สามารเขียนได้ ซึ่งมักจะเป็น directory สำหรับ upload (เช่น ของ WordPress หรือ Moodle) และ directory ที่ใช้เก็บ log files

Acknowledgement

ขอบคุณพี่เค (ดร.ประพงษ์) ที่ช่วย set up ตั้งแต่ขั้นแกะกล่องจนกระทั่งใช้งานได้ครับ


Update: 16 September 2016 at 10:21 AM

  1. ย้ายตำแหน่ง server แล้ว
    • จากข้างโต๊ะของ Mock ไปไว้ที่ด้านหน้า server ตัวเก่า
    • ถอดจอภาพและ mouse, keyboard ออกแล้ว
  2. shutdown server ตัวเก่าแล้ว
    • TODO (in the future): format server ตัวเก่า, ต่อเข้ากับสาย LAN และอาจหา fixed IP เพื่อใช้ประโยชน์ตราบเท่าที่มันจะยังมีชีวิตอยู่
  3. ติดตั้งโปรแกรมตรวจวัดอุณหภูมิของ CPU โดยใช้คำสั่ง sensors
    screenshot-2016-09-16-10-20-31
  4. ติดตั้งระบบ remote backup บางส่วนแล้ว
    • สิ่งที่ทำแล้ว: setup & verify ระบบ backup ของเดิมว่าใช้งานได้
      • ใช้โปรแกรม snapshot_celt คู่กับ processSnapshots.php รันอัตโนมัติตอนเที่ยงคืนทุกคืน
      • backup ถูกเก็บไว้ที่ /home/panuakdet.suw/celtSnapshot (3 versions)
      • backup จะถูก copy มาที่เครื่อง iMac ทุกคืน (เก็บไว้ 4 versions)
        screenshot-2016-09-16-10-29-52
      • สิ่งที่ backup ขณะนี้ มีขนาดรวม 4.42 GB ต่อวัน ประกอบด้วย:
        • /var/www/celt
        • /var/www/geo
        • /var/www/moodledata
        • panuakdet.suw/bin
        • MySQL databases (ทุกรายการ)
    • TODO: สิ่งที่ยังไม่ได้ทำคือ backup ทั้งระบบไปสู่ 2TB external harddrive