กรณีศึกษา Linux (Ubuntu) กับการจำลอง (Virtualization)

บทนำ

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

เทคโนโลยีการจำลองหรือ Virtualization Technology นี้ไม่ใช่เรื่องใหม่ ถึงแม้ว่าจะเป็นเรื่องที่เริ่มจะพูดถึงอย่างแพร่หลายเมื่อไม่นานมานี้ แต่ก็เป็นเทคโนโลยีดั้งเดิม ซึ่งถ้าใครมีประสบการณ์กับเครื่องเมนเฟรมจะนึกถึง VM ซึ่งทำการจำลองเครื่องจริงหรือเครื่องเจ้าบ้านออกมาเป็นเครื่องหลาย ๆ เครื่อง เหตุผลของความแพร่หลายไม่นานมานี้เป็นเหตุผลเรื่องการเข้าถึงได้ของเทคโนโลยี เพราะมี Open Source หรือ Free Software (Free หมายถึง Freedom หรือเสรีภาพ) ออกมามากกว่า

เหตุผลของการใช้เทคโนโลยีการจำลอง (Virtualization) ก็ไม่แตกต่างจากเหตุผลเดิม ๆ ที่เทคโนโลยีนี้ออกมาตั้งแต่ต้น อันได้แก่

  1. ต้องการแยก (partition) หรือแบ่งทรัพยากรทำงาน โดยต้องการให้แต่ละสัดส่วน (partition) ที่แยกจากกันนั้นเป็นอิสระขาดจากกัน ตัวอย่างเช่น มีเครื่องเพียงเครื่องเดียว แต่ต้องการให้ทำงานเสมือนสองเครื่องแยกจากกันเด็ดขาด เครื่องหนึ่งเป็นเครื่องจริง (Production) อีกเครื่องหนึ่งเป็นเครื่องทดสอบ (Test) เป็นต้น
  2. ต้องการพัฒนาสิ่งแวดล้อม (Environment) ใหม่ ๆ หรือต้องการสิ่งแวดล้อม (Environment) เดิม ๆ (ด้วยเหตุผลหลากหลาย เช่น สิ่งแวดล้อมแบบเดิม ๆ ไม่สามารถหาได้อีกต่อไป เป็นต้น)

รายละเอียดกรณีศึกษา

สืบเนื่องจากการ implement Linux (Ubuntu) (รวมถึง Free/Open OS อื่น ๆ เช่น FreeBSD ด้วย) ให้กับลูกค้าในธุรกิจต่าง ๆ บางครั้งพบว่ามีซอฟแวร์บางอย่างซึ่งไม่สามารถทำการทดแทนได้ทันที หรืออาจจะไม่อาจจะหาเวอร์ชันที่ทำงานบน Linux ได้ หรือไม่สามารถจะทำงานบน Wine (สภาพจำลองหรือ Emulator ของ Windows บน Linux) ได้ อย่างไรก็ตาม การใช้เครื่องหนึ่งเครื่องเพื่อการนั้นอาจจะไม่เหมาะสม ดังนั้นบริษัทฯ จึงเลือกใช้เทคโนโลยีการจำลอง (Virtualization) เพื่อการนี้ (การใช้เทคโนโลยีจำลองไม่ได้ช่วยให้ค่าใช้จ่ายเรื่องลิขสิทธิ์ของระบบปฏิบัติการลดลงแต่อย่างใด เนื่องจากการจำลองเครื่องที่ทำงานจำนวนเท่าใด ก็มีค่าใช้จ่ายเรื่องลิขสิทธิ์ของระบบปฏิบัติการเท่านั้น อย่าเข้าใจผิดในประเด็นนี้)

สำหรับซอฟแวร์เพื่อการจำลองนี้ก็มีหลายตัว แต่ขอยกเป็นกรณีเพียงสองตัวเท่านั้น คือ VirtualBox ซึ่งเดิมพัฒนาโดย Sun Microsystems หรือปัจจุบันโดย Oracle ซึ่งกรณีจะนำตัว binary ไปใช้ต้องทำด้วยตัวผู้ใช้งานเองเท่านั้น (กรุณาอ่านเงื่อนไขอื่น ๆ ตามใบอนุญาตให้ใช้ผลิตภัณฑ์) ซึ่งมีข้อดีคือมีการทำ GUI ให้ใช้งานอย่างง่ายดาย สำหรับอีกตัวได้แก่ qemu ซึ่งสามารถใช้งานได้อย่างมีเสรีภาพ (เป็น Free Software ซึ่งใบอนุญาตให้ใช้งานแบบ GNU GPL) อย่างไรก็ตาม เนื่องจากไม่ใช่ซอฟแวร์เพื่อการค้า อาจจะต้องปรับหรือตั้งค่าใด ๆ ตามแบบฉบับ (คือแก้ไข text file ซึ่งเก็บค่าปรับตั้งต่าง ๆ หรือใช้การส่งค่าผ่าน argument เวลาเรียกใช้)

VirtualBox ทำงานบน Ubuntu

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

Advertisements

About siamscandotnet

SiamScan.NET Co., Ltd. a Bangkok based software house providing support and services on Linux especially Ubuntu. You can contact me at s a l e @ s i a m s c a n . n e t
This entry was posted in Uncategorized and tagged , , , , , , , , , . Bookmark the permalink.