Virtualization Technology Introduction Part 1

vm1_frontปัจจุบันแนวโน้มทางเทคโนโลยีเสมือน (Virtualization Technology) กำลังเป็นแนวโน้มใหม่ที่ในหลายๆ สาขาของเทคโนโลยีสารสนเทศ กำลังนำไปปรับใช้ โดยบทความนี้จะนำเสนอภาพรวมของเทคโนโลยีเสมือน เพื่อให้เข้าใจถึงที่มา ลักษณะพิเศษ และประโยชน์ที่จะได้รับ

 

 


Virtualization Technology คืออะไร? มีอะไรบ้าง
เทคโนโลยี Virtualization ในความหมายอย่างกว้างๆ คือ เทคโนโลยีที่ใช้สำหรับการสร้างทรัพยากรเสมือน หรือทรัพยากรแบบนามธรรม ของระบบคอมพิวเตอร์ (abstraction of computer resources)


Virtualization Technology ในปัจจุบันสามารถแบ่งออกไปตามชนิดของทรัพยากรได้ดังนี้

  • Platform virtualization, หรือ การแบ่งระบบปฏิบัติการ แยกออกจากทรัพยากรของระบบ เพื่อให้สามารถรองรับหลายๆ ระบบปฏิบัติการได้โดยแบ่งทรัพยากรของระบบร่วมกัน เช่น ระบบ VMware, Hyper-V, Citrix XenServer
  • Encapsulation, เป็นการปิดบังความซับซ้อนของทรัพยากรโดยการสร้าง interface ที่สามารถใช้งานได้ง่ายแทน เช่น GRE protocol
  • Virtual memory, เป็นการรวมกันของการอ้าง addressing ของทรัพยากรที่ต่างกันในทางกายภาพ ทั้งในหน่วยความจำ และ disk ให้เปรียบเสมือนเป็นหน่วยเดียวกันที่ต่อเนื่อง
  • Storage virtualization, เป็นกระบวนการของการแทนที่พื้นที่จัดเก็บข้อมูลในแบบกายภาพ (physical storage) ด้วยพื้นที่จัดเก็บข้อมูลเสมือน (logical storage)
  • Network virtualization, เป็นการสร้างระบบการอ้าง address ของเครือข่ายแบบจำลอง หรือแบบเสมือน (virtualized network addressing space) ภายใน หรือ ระหว่าง subnet
  • Channel bonding, เป็นการใช้ link หลายๆ link รวมกันเพื่อทำงานเสมือนว่ามี link เดียว แต่มี bandwidth สูงกว่า
  • Memory virtualization คือเทคนิคในการรวบรวมทรัพยากร RAM จากระบบต่างๆ ในเครือข่าย เพื่อสร้าง virtualized memory pool
  • Computer clusters, grid computing, และ cloud computing, เป็นการรวมเครื่องคอมพิวเตอร์ที่อยู่กระจัดกระจายกัน หรือ แยกจากกันเป็นอิสระ มารวมกันทำงานในลักษณะของ Meta-computer ขนาดใหญ่
  • Application virtualization, เป็นกระบวนการในการนำ Application ไปติดตั้งและใช้งานบน Hardware/Software อื่นๆ ที่ไม่ได้เป็นเจ้าของ หรือ ทำงานของ Application นั้นๆ
  • Desktop virtualization, เป็นการทำงานบนหน้าจอเสมือน โดยไม่ได้ใช้งานระบบ ณ เครื่องที่อยู่ตรงหน้าจริงๆ แต่เป็นการสร้าง desktop จากเครื่องที่ประมวลผลในอีกสถานที่ หรือห่างออกไป


Platform Virtualization

ในปัจจุบันการนำ Platform Virtualization นิยมใช้ และ เรียกกันในหลากหลายชื่อ เช่น Server Consolidation, Cloud Computing, Virtual Computing, Virtual Machine, และอื่นๆ โดยระบบที่ได้รับความนิยมและเป็นผู้บุกเบิกคือ Software ของ VMWare แต่ในความเป็นจริงเทคโนโลยีในการทำ Virtualization มีมาตั้งแต่ต้นทศวรรษที่ 1970 แล้ว โดยนิยมใช้ในเครื่องที่มีประสิทธิภาพสูง เช่น Mainframe หลังจากนั้นเทคโนโลยีก็ได้พัฒนาก้าวหน้ามาเป็นลำดับ

ความแตกต่างระหว่าง Multi-tasking, Hyper Thread และ Virtualization สามารถแสดงได้ดังรูป

vm1_multi_task vm1_hyper_treading
Multi-Tasking Hyper Threading

 

vm1_virtualization
Virtualization

 

โดยการทำ Multi-tasking จะเป็นการบริหารจัดการโดย OS หรือ ระบบปฏิบัติการในการแบ่งเวลาของ CPU ให้กับ Application ต่างๆ ที่มีการทำงานพร้อมๆ กัน ในขณะที่ Hyper Threading เป็นความสามารถของ CPU ในการจำลองตัว CPU เองให้ดูเหมือนมี 2 CPU และใช้กลไกในการจัดการภายใน เพื่อแบ่งเวลาให้กับระบบปฏิบัติการและ Application ในขณะที่ Virtualization เป็นการสร้าง CPU เสมือน (Virtual CPU) และทรัพยากรระบบอื่นๆ เช่น VDO card, LAN card เสมือนด้วยเช่นกัน เรียกว่า Virtual Machineโดยระบบ Virtualization จะควบคุมและจัดการทรัพยากรของระบบแบ่งให้กับแต่ละ Virtual Machine อย่างเหมาะสมและตามความต้องการ ดังนั้นแต่ละ Virtual Machine จึงมีองค์ประกอบและเปรียบเสมือนเป็นเครื่อง Computer ที่สมบูรณ์เครื่องหนึ่งๆ จึงสามารถรองรับระบบปฏิบัติการได้หลายระบบ บนเครื่อง Server หรือ Computer เพียงเครื่องเดียว

ในปัจจุบันการแข่งขันการรองรับ Virtualization ทั้ง Intel และ AMD ได้ออกมาตรฐานของตนเอง ที่มีความแตกต่างกันในทั้ง 2 ค่าย โดยทาง AMD จะเรียกมาตรฐาน AMD-V และ Intel เรียกมาตรฐาน Intel VT-x โดย ทั้งสองมาตรฐานมีความแตกต่างกันในรายละเอียด และมีความสามารถในคนละด้าน แต่โดยหลักแล้วเป็นความสามารถที่เพิ่มเติมขึ้นมาโดยยึดหลักการเดียวกัน คือการเพิ่มชุดคำสั่ง เพื่อรองรับงานด้านการทำ Virtualization โดยเฉพาะ

vm1_intel_vt-x

 

ปัจจุบัน CPU หรือ Processor รุ่นใหม่ๆ ของทั้ง 2 บริษัท ต่างก็เริ่มรองรับมาตรฐานคำสั่งใหม่ สำหรับงานด้าน Virtualization มากขึ้น


ตัวอย่างของประโยชน์ที่ได้รับจากการทำ Virtualization

1. ได้ ผลลัพธ์ที่เพิ่มขึ้นจากทรัพยากรที่มีอยู่แล้ว โดยการนำทรัพยากรในโครงสร้างพื้นฐานที่มีอยู่มารวมกัน และเลิกกฎเก่าๆ ของการที่ต้องใช้งาน 1 Application 1 Server โดยการนำงานของ หลายๆ Server มาทำงานร่วมกัน ทำให้เกิดและ Utilization ที่ดีขึ้น เช่น การรวมงานของ Server 2 เครื่องที่ทำงานไม่เคยเกิน 40% ของ CPU มารวมกันทำงานในเครื่องเดียว และทำให้ระบบสามารถเกิดเครื่อง Server ว่างสำหรับงานสำรอง หรืองานอื่นๆ ที่ต้องการ Hardware ใหม่เพื่อรองรับได้ Processing Power

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

3. เพิ่ม Availability ของ Hardware และ Application ซึ่งส่งผลให้ปรับปรุงความต่อเนื่องในการดำเนินธุรกิจ นอกจากนี้ยังสามารถทำการสำรองข้อมูล หรือย้าย Virtual Machine ทั้งระบบไปยัง Hardware ใหม่ ได้ โดยไม่มีการติดขัดของการให้บริการ ตัดปัญหาการบำรุงรักษาที่ไม่ได้วางแผนไว้ และต้องปิดระบบ รวมถึงสามารถกู้คืนระบบได้อย่างรวดเร็ว ในกรณีเกิดเหตุสุดวิสัยใดๆ ก็ตาม

4. ได้ความยืดหยุ่นในการปฏิบัติงาน สามารถตอบสนองต่อความต้องการของธุรกิจได้อย่าง dynamic โดย การปรับเปลี่ยนการบริหารจัดการทรัพยากรที่ยืดหยุ่น สามารถเพิ่มหรือลดทรัพยากรให้กับระบบงานที่ต้องการเฉพาะช่วงบางช่วงเวลา นอกจากนี้การติดตั้งหรือนำระบบเข้าใช้งานก็ทำได้อย่างรวดเร็ว

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


ตัวอย่างของผลิตภัณฑ์ที่สามารถทำงานในการ Virtualization บนสถาปัตยกรรมแบบ x86

VMware (ESX, ESXi, Server, Workstation)  Commercial (ยกเว้น ESXi และ Server มี license แบบ Free)

Citrix XenServer  Commercial (Free)

 Microsoft Hyper-V, Virtual Server 2005 (Free ยกเว้น Hyper-V ต้องเสียค่า license ของ Windows 2008 ก่อน)

 Parallel เป็นระบบ Virtualization ที่ออกแบบมาเพื่อทำงานบนระบบปฏิบัติการ Mac OS โดยเฉพาะ Commercial

 Oracle VM  Open Source (Free)

 Sun xVM  Open Source (Free)

 Linux Xen  Open Source (Free)

ในบทความนี้ก็ได้แนะนำประเภท และประโยชน์ที่ได้จากการนำเทคโนโลยี Virtualization มาปรับใช้ และประยุกต์ใช้ เพื่อให้เพิ่มประสิทธิภาพ และสามารถใช้งานได้จริง ในโอกาสถัดไป เราจะมาดูถึงการนำ Virtualization Technology มาประยุกต์ใช้

ที่มา

  • www.hardwaresecrets.com
  • www.wikipedia.org
  • www.vmware.com
  • www.citrix.com