สร้างระบบ ThinClient ใช้ในองค์กร 1/8


อัปเดท : 5 สิงหาคม พ.ศ.2551 , แสดง : 54,796 , ความคิดเห็น : 0

ครั้งนึงผมได้ทำงานดูแลระบบให้บริษัทแห่งนึง ซึ่งภายใน มีเครื่องคอมพิวเตอร์ประมาณ 100 เครื่อง ระบบที่ใช้มีทั้ง DOS และ Windows โดยระบบ DOS เป็นแบบที่บูตผ่าน Floppy A เข้า NETWARE เซิร์ฟเวอร์ ซึ่งโจทก์มันก็มีอยู่ว่า อยากให้เครื่องที่ใช้ DOS ใช้ Windows ได้ด้วย แต่เมื่อพิจารณาเครื่องที่ใช้ DOS ส่วนใหญ่เป็นเครื่องที่ค่อนข้างเก่า ครั้นจะเปลี่ยนเครื่องใหม่ทั้งหมด ลง windows เพื่อใช้พิมพ์งานก็ดูจะไม่คุ้ม Word หรือ Open Office ดูจะไปกันใหญ่

ทีนี้ก็มาคิดว่าจะเอาอย่างไรดี ให้เครื่องเก่าๆใช้ windows ได้ ประวิงเวลาไปก่อนเพื่อถ้าดูคุ้มค่าค่อยซื้อเครื่องใหม่ แล้วแว๊บนึง ก็คิดถึง Thinclient เอ้ามาดูกันก่อนว่าอ้าย Thinclient คืออะไรผมไม่ขออธิบายเอง แต่สำเนาบางส่วนของบทความ "มาสร้างระบบ Thin Client ด้วยลีนุกซ์กันเถอะ" ซึ่งเขียนโดย ธีรภัทร มนตรีศาสตร์,RHCE มาให้อ่านกันก่อน (http://www.itdestination.com/articles/thinclient) แล้วค่อยต่อยอดเรื่องเอา PC มาทำ

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

ปัญหาของ Thick Client

โดยทั่วไประบบคอมพิวเตอร์ในปัจจุบันจะถูกเชื่อมโยงกันด้วยระบบเครือข่ายท้องถิ่น ( Local Area Network : LAN ) ซึ่งเครื่องที่เป็นลูกข่ายในระบบหรือ Client มักจะเป็นเครื่องพีซีที่มีสเปคเครื่องที่เปี่ยมประสิทธิภาพ ประกอบด้วยโปรเซสเซอร์ความเร็วสูง ฮาร์ดดิสก์ความจุมาก ๆ หน่วยความจำที่มากเพียงพอต่อการรันแอปพลิเคชั่นที่นับวันจะต้องการพลังการประมวลผลสูงขึ้นทุกที และเพียบพร้อมไปด้วยอุปกรณ์ต่อพ่วงนานาชนิด เช่น ซีดีรอม เครื่องพิมพ์ ปัญหาของระบบที่ใช้เครื่องพีซีชุดใหญ่เช่นนี้จึงมีอยู่ไม่น้อยเลย เครื่องลูกข่ายประเภทนี้ ผู้เขียนขอเรียกสั้น ๆ ว่า Thick Client นะครับ

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

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

  
 

Thin Client คืออะไร

มีด้วยความต้องการที่จะลดขนาดของเครื่องคอมพิวเตอร์ที่ใช้เป็นเวิร์กสเตชั่นเหล่านี้ให้มีขนาดเล็กลง เพื่อช่วยให้ความยุ่งยากในด้านการบริหารจัดการและการบำรุงรักษาลดลงไปได้ จึงทำให้เกิดแนวคิดของ Thin Client ขึ้น โดยลดทั้งขนาดและคุณสมบัติของเครื่องคอมพิวเตอร์ชนิดนี้ลงให้เหมาะสมกับงานที่ใช้ ซึ่งจะช่วยลดต้นทุนลงไปได้ส่วนหนึ่ง ในขณะเดียวกันก็เป็นการยกเลิกทรัพยากรที่เป็นสื่อบันทึกข้อมูลขนาดใหญ่อย่างเช่น ฮาร์ดดิสก์ ออกไปจากตัวเครื่องลูกข่าย แล้วยกภาระการประมวลผล การจัดเก็บข้อมูล การบริการงานแอปพลิเคชั่น ซอฟต์แวร์ระบบปฏิบัติการ ซอฟต์แวร์ประยุกต์ และการควบคุมต่าง ๆ ให้ไปรวมอยู่ที่เครื่องเซิร์ฟเวอร์ที่เป็นศูนย์กลางในระบบเครือข่าย ที่เรียกว่า Server Based Computing แนวคิดเช่นนี้จะช่วยให้เกิดประโยชน์หลายประการ

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

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

- ช่วยลดงานที่ต้องปฏิบัติที่จุดตั้งเครื่องลูกข่าย เช่น การเปลี่ยนตัวเครื่องเพื่อการซ่อมแซม อัพเกรด การติดตั้งซอฟต์แวร์ ประยุกต์เพิ่มเติมให้แก่ผู้ใช้

- ลดโอกาส และช่องทางที่จะเกิดความเสียหายเนื่องจากการโจรกรรมข้อมูล ในกรณีที่ตัวเครื่องลูกข่ายแบบ Thin Client ไม่ได้ติดตั้งหรืออนุญาติให้ใช้สื่อบันทึกข้อมูลประเภท Removable Media หรืออุปกรณ์ต่อพ่วง เช่น ฟล๊อปปี้ดิสก์ ( สำเนาไฟล์ไม่ได้ ) พอร์ตเครื่องพิมพ์ ( พิมพ์ข้อมูลจากเอกสารไม่ได้ ) เป็นต้น รวมไปถึงป้องกันการโจรกรรมอุปกรณ์บันทึกข้อมูลราคาแพงเช่น ฮาร์ดดิสก์อีกด้วย เพราะไม่มีฮาร์ดดิสก์อยู่ในเครื่องนั่นเอง

โครงสร้างของระบบ Server Based Computing

ส่วนประกอบของระบบ Server Based Computing ที่จะนำเอา Thin Client มาใช้ประโยชน์ได้นั้นจะมี 3 ส่วนสำคัญ ส่วนแรกคือเครื่องลูกข่าย เป็นเครื่องพีซีที่ตั้งอยู่ในบริเวณที่ยูสเซอร์ต้องใช้งาน มีฐานะเป็น Terminal ตัวหนึ่งที่เชื่อมต่อเข้ากับระบบเครือข่าย และมีคุณสมบัติทางด้านซอฟต์แวร์ที่สนับสนุนการบูตระบบเข้าสู่เครือข่ายได้ด้วยตนเอง ส่วนที่สองคือเครื่องเซิร์ฟเวอร์ เป็นเครื่องพีซีที่มีประสิทธิภาพสูง เพื่อสามารถให้บริการด้านเครือข่ายขั้นพื้นฐาน เป็นหน่วยเก็บข้อมูล และซอฟต์แวร์ต่าง ๆ ทั้งหมด อาจรวมไปถึงให้บริการงานอื่น ๆ ตามความต้องการขององค์กรอีกด้วย เช่น เป็นอินเตอร์เน็ตเซิร์ฟเวอร์ ไฟล์เซิร์ฟเวอร์ เป็นต้น หน้าที่หลักในการสนับสนุน Thin Client ก็คือ ทำหน้าที่เป็น Terminal Server ที่คอยสนับสนุนขั้นตอนการบูตระบบของ Thin Client ไปจนกระทั่งเครื่องเหล่านั้นสามารถใช้งานต่าง ๆ ได้ตามปรกติ และส่วนประกอบสุดท้ายคือ ระบบเครือข่ายที่ใช้เชื่อมต่อเครื่องลูกข่ายทั้งหลายเข้าสู่เครื่องเซิร์ฟเวอร์นั่นเอง

โปรโตคอล และบริการที่นำมาใช้

เพื่อทำให้การใช้งาน Thin Client เกิดเป็นโปรเจคที่เป็นจริงขึ้นได้นั้นจะต้องอาศัยโปรโตคอล และบริการด้านระบบเครือข่ายประกอบเข้าด้วยกันมากมายหลายอย่าง ตามลำดับการทำงานที่เราสามารถสัมผัสได้ จะแบ่งออกตามขั้นตอนการบูตของเครื่อง Thin Client จนกระทั่งผู้ใช้งานสามารถใช้งานแอปพลิเคชั่นได้ดังนี้

1. เริ่มต้นจากเครื่องพีซีที่เป็น Thin Client เริ่มต้นเปิดเครื่อง ไบออสของเครื่องจะเลือกวิธีการบูตเครื่องตามที่มีการกำหนดไว้แล้จากการเซ็ตอัพภายในตัวไบออสเอง ซึ่งในกรณีของการบูตเพื่อเข้าสู่ระบบเครือข่ายจะแบ่งออกได้ 3 ลักษณะคือ

  
 

1.1 บูตด้วยซอฟต์แวร์ที่บรรจุอยู่ใน ROM Boot ของการ์ดแลน บนแผงวงจรของการ์ดแลนส่วนใหญ่มักจะมีซ๊อกเก็ตว่างเตรียมไว้ให้ผู้ใช้นำชิปหน่วยความจำรอมติดตั้งลงไปได้ ซึ่งภายในหน่วยความจำนี้ผู้ใช้จะต้องบันทึกโปรแกรมสำหรับใช้บูตเครื่องเข้าสู่เครือข่ายไว้เสียก่อน

1.2 บูตด้วยโปรโตคอล PXE ( Preboot [exec]ution Environment ) ซึ่งมักจะมี Build-in มาพร้อมกับไบออสของเมนบอร์ดรุ่นใหม่ ๆ หรือ Flash เพิ่มเติมเข้าไปในการ์ดแลนรุ่นใหม่ ๆ ได้

1.3 บูตด้วยแผ่นฟล๊อปปี้ดิสก์ โดยเป็นการจำลองการบูตของ ROM Boot ไว้ในแผ่นฟล๊อปปี้ดิสก์ เป็นวิธีที่ง่ายต่อการทดสอบก่อนการนำโค๊ดของ ROM Boot ไปเบิร์นลงสู่ ROM จริง ๆ
ในขั้นตอนนี้โปรแกรมที่กล่าวไปข้างต้นจะทำการ Broadcast ไปในระบบเครือข่าย ด้วยโปรโตคอล BOOTP ( RFC951) เพื่อร้องขอ TCP/IP Configuration จาก DHCP/BOOTP Server

2. DHCP/BOOTP Server จะตรวจสอบ MAC Address ของ Thin Client นั้น แล้วส่งพารามิเตอร์ที่เกี่ยวข้องกับคอนฟิกของ
โปรโตคอล TCP/IP ให้แก่ Client รวมทั้ง Path และชื่อไฟล์เคอร์เนลที่จะใช้ในการบูตในขั้นตอนถัดไป

3. Thin Client เมื่อได้รับค่าพารามิเตอร์ต่าง ๆ เกี่ยวกับ TCP/IP มาแล้ว จะใช้โปรโตคอล TFTP ( Trivial File Transfer Protocol ) เพื่อดาวน์โหลดไฟล์เคอร์เนลที่ระบุโดย DHCP Server มาสู่หน่วยความจำ และเริ่มต้นทำงานด้วยเคอร์เนลนี้

4. เคอร์เนลจะดำเนินการเริ่มต้นระบบปฏิบัติการ โดยในช่วงแรกจะทำงานภายใน RAM Disk ก่อน จากนั้นจึงรันโปรแกรม init เพื่อปฏิบัติงานตามสคริปต์ที่กำหนดการทำงานไว้ ได้แก่ การค้นหาอุปกรณ์ต่าง ๆ โหลดโมดูลที่จำเป็น โดยเฉพาะโมดูลไดร้วเวอร์สำหรับระบบเครือข่าย

5. เครื่อง Thin Client จะทำการ Broadcast ในฐานะ DHCP Client อีกครั้ง แต่ในครั้งนี้จะให้ความสำคัญกับข้อมูลเกี่ยวกับการ mount เข้าสู่ NFS Server ( Network File Service ) เพื่ออาศัยเนื้อที่ดิสก์ที่แชร์จากเครื่องเซิร์ฟเวอร์เป็น Root File [sys]tem หลังจาก mount สำเร็จแล้ว สคริปต์ของ Thin Client จะทำการสลับการใช้งาน Root File [sys]tem จาก RAM Disk มาเป็น Root File [sys]tem ที่ได้จากการ mount ผ่านบริการ NFS นี้ จึงทำให้ Thin Client สามารถใช้งานซอฟต์แวร์ต่าง ๆ ร่วมกันจากจุดศูนย์กลาง ( เครื่อง NFS Server ) ดังนั้นผู้ดูแลระบบจึงสามารถกำหนดคุณสมบัติของ Thin Client ได้จากศูนย์กลางผ่านกลไกอันนี้

6. ต่อจากนั้น เคอร์เนลจะสร้าง File [sys]tem ส่วนอื่น ๆ ขึ้นเพื่อระบบที่สมบูรณ์ยิ่งขึ้น จากนั้นจะเข้าสู่ Run Level ( โหมดของระบบปฏิบัติการ ) ตามที่ผู้ดูแลระบบกำหนดไว้ ซึ่งจะทำให้การทำงานของ Client เข้าสู่โหมดการทำงานแบบ Text Mode หรือ Graphical Mode ได้ตามที่ต้องการ หากเป็นการใช้งานแบบ Text Mode การทำงานจะสิ้นสุดลงที่เครื่องหมายพร้อมพ์และรอคอยให้ผู้ใช้สั่งงานคำสั่งแบบคอมมานด์ไลน์

7. แต่ถ้าเป็นกรณีที่ผู้ดูแลระบบกำหนดให้ Thin Client เริ่มทำงานในแบบ Graphical Mode สคริปต์ start_x จะทำงานต่อไป โดยจะทำการ Probe การ์ดแสดงผล และรันซอฟต์แวร์ชุด Xfree86 ซึ่งทำหน้าที่เป็น X Window จากนั้นจึงใช้โปรโตคอล Network X Protocol เชื่อมต่อเข้าสู่ X Server และ Display Manager เพื่อล๊อกอินเข้าใช้งานแบบกราฟฟิกต่อไป


ในส่วนคำอธิบายด้านบนซึ่งใช้ ลีนุกซ์ ในการทำ Terminal อาจแตกต่างที่ผมทำบ้าง ซึ่งถ้าเป็น Windows หลักๆก็ในข้อ 6,7 เพราะ Windows จะใช้ RDP โปรโตคอล หรือที่เราใช้ผ่าน Remote desktop นั้นเอง

เอาเป็นว่าขอจบตอนที่ 1 แค่นี้นะครับ แล้วจะเขียนต่อให้จบ อาจจะสัก 4-5 ตอน ขอเขียนสั้นๆเพราะเรื่องค่อนข้างยาวและรายละเอียดเยอะ

ผลที่ได้ก็คือเครื่องลูกข่ายทั้งหมด (เครื่องเก่าสุดเป็น 486 DX100) ใช้ Windows พิมพ์งานได้ ทำทุกอย่างได้เหมือนกับเครื่อง PC ใหม่ทั่วไป ในเกือบทุกด้าน ที่แตกต่างก็คือลูกข่ายไม่ต้องมี Harddisk ไม่ต้องลง Windows ใช้เพียง LAN Card ก็ Boot เข้า Windows ได้ เครื่องเซิร์ฟเวอร์เครื่องเดียว (P4 3.0Ghz RAM2G) ที่ลง windows XP หรือ 2003 ไว้ สามารถให้บริการลูกข่ายที่ใช้งานทั่วๆไป ประมาณ 50 เครื่องได้สบายๆ อันนี้ทดสอบ RUN มาประมาณ 2 ปีกว่าๆแล้ว สุดคุ้มครับ

สร้างระบบ ThinClient ใช้ในองค์กร สุดประหยัดคุ้มค่า


ผู้เขียน/อ้างอิง : จักรกฤษณ์ แร่ทอง

ระบบปฏิบัติการและซอฟท์แวร์

ความคิดเห็น/แนะนำ/ติชม/อื่นๆ