การใช้หลาย Server

จาก NakhonNet
ข้ามไปยัง: นำทาง, ค้นหา

การใช้งานหลายเซิร์ฟเวอร์ในกรณีที่เครื่องลูกมีสเปคเหมือนๆ กัน สามารถทำได้โดยการสำเนาไฟล์ image จากเซิร์ฟเวอร์หนึ่ง ไปยังอีกเซิร์ฟเวอร์หนึ่ง

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

ในที่นี้จะใช้วิธีปรับปรุง image ที่เครื่องใดเครื่องหนึ่งก่อนเสมอ (ซึ่งจะเรียกว่าเครื่องหลัก) จากนั้นจึงนำเอาไฟล์ปรับปรุง image ไปปรับปรุงในเครื่องอื่น (เครื่องรอง)

วิธีปรับปรุงไฟล์ Image ในเครื่องรอง

ในขั้นตอนแรก ให้ทำการปรับปรุงไฟล์ Image ของเครื่องหลักตามขั้นตอนปกติ จากนั้นจึงสำเนาไฟล์ CoW ที่ระบบได้สำรองไว้ออกมา

จากนั้นหยุดระบบที่เครื่องรอง แล้วนำไฟล์ CoW นี้ไปทับไฟล์ CoW ของเครื่องลูกเครื่องใดเครื่องหนึ่ง แล้วเริ่มระบบในเครื่องรอง และสั่งให้ปรับปรุงไฟล์ Image จากไฟล์ CoW ที่นำมา

ในการปรับปรุงไฟล์ Image ที่เครื่องรอง ควรจะตรวจสอบว่าข้อมูลตรงกับเครื่องหลักหรือไม่ ทั้งไฟล์ CoW ที่นำมาปรับปรุง และไฟล์ Image หลังจากปรับปรุงแล้ว

ขั้นตอนการทำงาน

การนำไฟล์ CoW ออกมาจากเครื่องหลัก

การนำไฟล์ CoW ออกมาจากเครื่องหลัก สามารถทำได้หลายวิธี เช่น การนำ USB Drive ไปเสียบที่เครื่องเซิร์ฟเวอร์หลัก, การดาวน์โหลดไฟล์จากเครื่องเซิร์ฟเวอร์หลักมายังเครื่องที่ใช้งาน หรือการส่งไฟล์จากเครื่องเซิร์ฟเวอร์หลักไปยังเครื่องเซิร์ฟเวอร์รองโดยตรง

การนำ USB Drive ไปเสียบที่เครื่องเซิร์ฟเวอร์หลัก

การดาวน์โหลดไฟล์มายังเครื่องที่ใช้งาน

กรณีที่ต้องการดาวน์โหลดไฟล์ CoW มายังเครื่องที่ใช้งาน สามารถทำได้โดยผ่านทางโพรโตคอล SFTP ซึ่งสามารถใช้โปรแกรมที่รองรับโพรโตคอล SFTP เช่น FileZilla, WinSCP เป็นต้น โดยในที่นี้จะใช้โปรแกรม FileZilla

เมื่อเรียกโปรแกรม FileZilla ขึ้นมาแล้ว ให้ระบุข้อมูลดังนี้

Host sftp://192.168.2.254
Username root
Password <รหัสผ่านของ root ที่กำหนดตอนติดตั้ง Slackware>
Port 22

จากนั้นคลิกปุ่ม Quick connect โปรแกรมจะบอกว่าเป็นเซิร์ฟเวอร์ใหม่ที่ไม่เคยรู้จักมาก่อน ให้คลิกปุ่ม Ok

เมื่อ login เรียบร้อย โปรแกรมจะแสดงข้อมูลในเครื่องเซิร์ฟเวอร์ (Remote site) ทางกรอบด้านขวา และข้อมูลในเครื่องที่ใช้งาน (Local site) ทางกรอบด้านซ้าย โดยที่ Remote site จะมีค่าเป็น /root ให้แก้ค่า Remote site เป็น /cow แล้วกดปุ่ม Enter โปรแกรมจะแสดงข้อมูลในไดเรกทอรี /cow

จากนั้นสามารถ drag ไฟล์ CoW ที่ต้องการมา drop ในกรอบ Local site ได้ ซึ่งโปรแกรมจะทำการสำเนาไฟล์ทันที โดยจะใช้เวลาสักครู่ตามขนาดของไฟล์ และความเร็วของระบบแลน

การนำไฟล์ CoW ไปใส่ไว้ในเครื่องรอง

การนำไฟล์ CoW ไปใส่ไว้ในเครื่องรอง ก็มีขั้นตอนตรงข้ามกับการดาวน์โหลดไฟล์ CoW จากเครื่องหลักลงมา แต่แทนที่จะใช้ SFTP เพื่อ connect ไปยังเครื่องหลัก ก็เปลี่ยน connect ไปยังเครื่องรองแทน และแทนที่จะสำเนาไฟล์ CoW จากเซิร์ฟเวอร์มายังเครื่องที่ใช้งาน ก็เปลี่ยนเป็นสำเนาไฟล์ CoW (ที่สำเนามาจากเครื่องหลัก) ไปยังเซิร์ฟเวอร์แทน ทั้งนี้จะต้องสำเนาไปยังชื่อชั่วคราวก่อน เพราะในขณะที่ระบบ Diskless บนเครื่องเซิร์ฟเวอร์รองยังทำงานอยู่ เราจะไปทับไฟล์ CoW ที่กำลังใช้งานอยู่ไม่ได้ อีกทั้งควรมีการตรวจสอบก่อนว่าไฟล์ CoW ที่สำเนามานั้นตรงกับต้นฉบับทุกประการหรือไม่

การสำเนาไฟล์โดยตรงระหว่างเครื่องหลัก และเครื่องรอง

หากเซิร์ฟเวอร์หลัก และเซิร์ฟเวอร์รองเชื่อมต่อกันผ่านแลน หรือผ่านอินเทอร์เน็ต ก็สามารถส่งไฟล์ CoW จากเซิร์ฟเวอร์หลัก ไปยังเซิร์ฟเวอร์รองได้โดยตรง ซึ่งสามารถทำได้หลายวิธี โดยในที่นี้จะใช้คำสั่ง rsync ซึ่งจะมีข้อดีคือ

  1. หากการดาวน์โหลดถูกหยุดในขณะที่ยังสำเนาไม่เสร็จ ก็สามารถดาวน์โหลดข้อมูลต่อได้
  2. สามารถบีบอัดข้อมูลในระหว่างการสำเนาได้ ซึ่งจะมีประโยชน์สำหรับการสำเนาไฟล์ CoW เป็นอย่างมาก
  3. มีการตรวจสอบความถูกต้องของข้อมูล

ในที่นี้จะสำเนาไฟล์ /cow/net01.cow จากเครื่องหลักซึ่งมีหมายเลขไอพี 192.168.1.1 ไปเป็นไฟล์ /cow/update.cow บนเครื่องรอง โดยเรียกคำสั่งดังนี้ที่เครื่องรอง

rsync -avzPS 192.168.1.1:/cow/net01.cow /cow/update.cow

เมื่อเรียกคำสั่งนี้แล้ว โปรแกรมจะถามพาสเวิร์ดของ root บนเครื่องหลัก และเมื่อใส่พาสเวิร์ดถูกต้อง โปรแกรมก็จะสำเนาข้อมูลโดยจะแสดงความเร็ว และเวลาคงเหลือโดยประมาณ

สำหรับพารามิเตอร์มีความหมายคร่าวๆ ดังนี้

-a
สำเนาไฟล์ในแบบ archive คือมีพารามิเตอร์เหมือนกับต้นฉบับทุกประการ (เช่น เจ้าของไฟล์, วันที่ของไฟล์, สิทธิของไฟล์, ฯลฯ)
-v
แสดงสถานะการทำงานโดยละเอียด
-z
บีบอัดไฟล์ขณะส่งข้อมูลด้วย ซึ่งจะมีประโยชน์ในกรณีส่งไฟล์ผ่านทางอินเทอร์เน็ต
-P
แสดงสถานะการทำงาน และหากมีไฟล์ปลายทางที่สำเนาค้างไว้ ก็ให้สำเนาต่อจากเดิม (โดยตรวจสอบด้วยว่าข้อมูลเดิมถูกต้องหรือไม่)
-S
จองเนื้อที่เฉพาะที่ใช้งานจริงๆ ซึ่งจะมีประโยชน์สำหรับไฟล์ CoW เพราะมักจะใช้งานไฟล์เพียงบางส่วนเท่านั้น

การตรวจสอบความถูกต้องของไฟล์ CoW

การตรวจสอบความถูกต้องของไฟล์ CoW ในที่นี้จะใช้การคำนวณค่า MD5 ของไฟล์ ซึ่งค่า MD5 ของข้อมูลที่ไม่เหมือนกันจะมีค่าไม่เท่ากัน ทำให้สะดวกในการตรวจสอบ โดยการคำนวณค่า MD5 ของไฟล์ CoW ต้นฉบับในเครื่องหลัก และเมื่อสำเนาไฟล์ CoW ไปยังเครื่องรองเรียบร้อยแล้ว ก็คำนวณค่า MD5 ของไฟล์ ถ้าตรงกันก็แสดงว่าไฟล์ที่สำเนาไปนี้เหมือนกับไฟล์ต้นฉบับ

การคำนวณค่า MD5 ใช้คำสั่งดังนี้

md5sum <ชื่อไฟล์>

เช่น ถ้าต้องการคำนวณค่า MD5 ของไฟล์ /cow/net01.cow ก็สามารถใช้คำสั่งดังนี้

cd /cow
md5sum net01.cow

รอสักครู่ก็จะได้ผลลัพธ์ดังนี้ (เนื่องจากโปรแกรมต้องอ่านไฟล์ทั้งหมด จึงใช้เวลาตามขนาดของไฟล์ และความเร็วของดิสก์)

c857330215249d50a09abc303d90224b  net01.cow

ให้เปรียบเทียบผลลัพธ์ที่ได้ระหว่างไฟล์ต้นฉบับในเครื่องหลัก และไฟล์ที่สำเนาไปในเครื่องรอง ถ้าตรงกันก็แสดงว่าไฟล์ที่สำเนาไปนี้เหมือนกับไฟล์ต้นฉบับ

ถ้าไม่ตรงกัน ก็จะต้องแก้ไข ซึ่งกรณีสำเนาโดยใช้คำสั่ง rsync ก็สามารถสั่งคำสั่ง rsync ซ้ำได้ โดยระบุพารามิเตอร์ เพื่อให้คำสั่ง rsync ตรวจสอบไฟล์ซ้ำ และสำเนาเฉพาะส่วนที่ไม่ตรงกันเท่านั้น

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

การปรับปรุงไฟล์ Image ที่เครื่องรอง

การตรวจสอบความถูกต้องของไฟล์ Image


View/Edit Diskless Server
ภาพรวม หลักการทำงาน - Hardware - Software
ติดตั้ง Server ติดตั้ง Slackware64 13.37 บูต - แบ่งพาร์ทิชั่น - เตรียมฮาร์ดดิสก์ - ติดตั้งแพ็กเกจ - ติดตั้ง Lilo - กำหนดค่าเน็ตเวิร์ก - กำหนดรหัสผ่าน - Slackware64 14.0
ปรับแต่ง Slackware Linux การใช้งานเบื้องต้น - คอมไพล์ Kernel - สร้างไดเรกทอรี - ปรับแต่ง Filesystem - ปรับแต่งแพ็กเกจ - เพิ่มการเรียก dhcpd
ปรับแต่ง Network กำหนดชื่อ Device - ทำ Network Bonding - กำหนดค่า Network
RAID สร้างพาร์ทิชั่น - สร้าง RAID - ไม่ใช้ RAID
กำหนดค่า Service NTPD - NAMED - TFTPD
โปรแกรม iSCSI Enterprise Target - iPXE
โปรแกรมจัดการระบบ Apache - MySQL - PhpMyAdmin - CakePHP - Disk Serve Manager (อัปเกรด)
ติดตั้ง Client ติดตั้ง Windows XP - ติดตั้ง iSCSI - ปรับแต่ง Windows XP - คัดลอกดิสก์ไปยังเซิร์ฟเวอร์ - Windows 7 64-bit
การใช้งาน ภาพรวม นิยาม - ไฟล์ Config และ Script
การกำหนดค่า Config - Cluster - Alternative - Computer - ตัวอย่าง
การใช้งาน หน้าจอหลัก - Mode การใช้งาน - ปรับปรุง Image - สำรอง Image - ขยายขนาด Image - ใช้หลาย Server
โปรแกรมเสริม ปรับแต่งเครื่องลูกขณะบูต - ฟอร์แมตไดรฟ์เสริม
การแก้ไขปัญหา FAQ - ไฟล์กำหนดค่า - ไฟล์บันทึกการทำงาน - Secure Erase