Home > Solutions > Virtualization

Virtualization

เทคโนโลยี Virtualizationกับการบริการเครือข่ายและข้อมูล

เทคโนโลยี Virtualization
กับการบริการเครือข่ายและข้อมูล


      การทำ Virtualization เป็นวิวัฒนาการอีกก้าวหนึ่งทางด้าน ICT จากการที่มีการรวม (consolidate) resource ต่าง ๆ คือ storage และ server ไว้ที่ส่วนกลาง เพื่อลดต้นทุนและค่าดำเนินการ การทำ Virtualization ทางด้านเครือข่าย ก็จะช่วยลดต้นทุนและค่าดำเนินการในส่วนเครือข่ายเช่นกัน

      เราใช้ Virtualization ในระบบคอมพิวเตอร์มาตั้งแต่ยุคเมนเฟรม กล่าวคือ virtual memory/disk หรือแม้กระทั่ง การทำmulti-user และ multi-tasking ก็เป็น Virtualization แบบหนึ่ง แต่ในระบบเครือข่ายปัจจุบัน ซึ่งเดิมมีเพียง router ซึ่งเป็น single service device ก็เพียงพอต่อความต้องการแล้ว ได้มีการพัฒนาเป็น multi-service device โดยการเพิ่มบริการอื่นควบลงไป เช่น VPN service, firewall service ฯลฯ แต่การรวมบริการต่างๆ ภายใต้ระบบ เดียวกัน มักจะพบว่าปัญหาที่เกิดขึ้นในระบบใดระบบหนึ่ง เช่น การที่มี CPU utilization มากเกินไป จนไม่สามารถทำ task/process อื่น ๆ, การใช้ memory มากจนส่งผลกระทบให้ process อื่น ๆ ทำงานช้าลง เพราะมี memory น้อยลง, การที่ process ใช้ processor cycle/time มากกว่าปกติ ซึ่งส่งผลกระทบต่อ process อื่น ๆ ฯลฯ ซึ่งล้วนเกิดจากสภาวะที่เจตนา เช่น attack, hacking หรือที่ผิดพลาด เช่น bug จะส่งผลกระทบต่อระบบอื่น ๆ ที่ทำงานร่วมอยู่ในอุปกรณ์เดียวกัน

     ฉะนั้นการให้บริการในส่วนของ network services จึงมักมี equipment rack เฉพาะสำหรับลูกค้า หรือ application แต่ละราย โดยมี dedicated service devices พร้อม redundancy/non-redundancy ตามที่ต้องการสำหรับ rack นั้นๆ

 
     การรวม network services อาทิ firewall, virtual private network, intrusion detection & prevention, server load balancing, web acceleration, SSL acceleration, switching, routing ฯลฯ ได้รับการพัฒนามาเพื่อให้ สามารถทำ virtual rack ที่มี virtual services ต่าง ๆ พร้อมทั้งมี 1+1 system fault tolerance ให้ทุก ๆ service ตามที่ต้องการสำหรับผู้ใช้บริการในแต่ละ virtual rack เพื่อลดทั้ง investment และ operating costs (rack mounting space, power consumption, air conditioning, management ฯลฯ) ทั้งของผู้ให้และผู้ใช้บริการ เช่นเดียวกับระบบ multi-user multi-tasking ทางด้าน computer
 
    การทำ Virtualization ที่มีประสิทธิผลจะต้องมีเทคโนโลยีในการควบคุมการทำงาน multi-tasking ที่ทำหน้าที่ มากกว่าระบบทั่ว ๆ ไปที่ควบคุมเฉพาะ processing clock cycle ทั้งนี้ระบบปฏิบัติการนี้ จะต้องสามารถรักษา สถานภาพการทำงานให้กับ virtual services และ virtual rack ต่างๆ เมื่อมีการรบกวนรูปแบบต่าง ๆ อาทิ DoS Attack และอื่น ๆ ดังนั้นจึงได้มีการพัฒนาระบบ Virtualization ให้สามารถควบคุมทั้งการประมวลผล (CPU MIPS), การใช้ หน่วยความจำ, bandwidth, และ data buffer and data connection ที่มีใช้สำหรับ service ต่าง ๆ ทั้งในแต่ละส่วน และในภาพรวม ซึ่งการควมคุมเช่นนี้ ได้รับการทดสอบแล้วว่า สามารถป้องกันการก่อกวนลักษณะต่าง ๆ ได้ เป็นอย่างดี ซึ่งจะทำให้ผู้ที่ดูแลงาน/ให้บริการงาน ICT สามารถกำหนดสิทธิประโยชน์ของผู้ใช้บริการตาม Service Level Agreement (SLA) ได้
 
มารู้จักเทคโนโลยี Virtualization
 
 
          ปัจจุบันเทคโนโลยีทางด้าน Hardware นั้นก้าวหน้าไปมาก ในส่วนของประสิทธิภาพและความเร็วในการประมวลผล ทำให้เกิดแนวการสร้างระบบจำลองเสมือนจริง  หรือที่เราเรียกทับศัพท์ว่า "เวชวลไลเชชันเทคโนโลยี" (Virtualization Technology:VT)
 
          ซึ่งส่งผลทำให้การใช้งานทรัพยากรเครื่อง SERVER ที่มีอยู่ในองค์กรให้เกิดประสิทธิภาพสูงสุด ทำให้สามารถทำให้ระบบปฏิบัติการหลายๆระบบทำงานได้พร้อมกันอยู่บนฮาร์ดแวร์ หรืออยู่บนเครื่องคอมพิวเตอร์เดียวกันได้
         เทคโนโลยีเวชวลไลเซชันนำไปใช้งานได้ดีในสภาพแวดล้อมของระบบปฏิบัติการลีนุกส์ (Linux) 
 
         ในบทความนี้จะเป็นการอธิบายสถาปัตยกรรมของเวชวลไลเซชันเทคโนโลยี และเวชวลไลเซชันเทคโนโลยี ของ" Xen" ซึ่งเป็นเวชวลไลเซชันซอฟต์แวร์ (Virtualization Software) ที่เป็น Open Source Software ที่กำลังได้รับความนิยม ซึ่งจะรองรับกับสถาปัตยกรรมโปรเซสเซอร์ x86 และ โปรเซสเซอร์ X64  ของอินเทล ที่จะนำเวชวลไลเชชันเทคโนโลยีนี้ไปใส่ไว้ในตัวโปรเซสเซอร์รุ่นต่อไป ซึ่งในปัจจุบันนี้ได้มีพัฒนามาถึงเวอร์ชั่น 4.1 แล้ว   
         
        เวชวลไลเซชันซอฟต์แวต์ ก็คือการสร้างสภาพแวดล้อมจำลองของเครื่องขึ้นมา โดยที่มันจะทำงานอยู่ภายใต้ฮาร์ดแวร์นั้น เวชวลไลเซชันซอฟต์แวต์ก็คือการสร้างส่วนควบคุมที่เชื่อมต่อกับซอฟต์แวร์ที่ ทำหน้าเป็นเครื่องคอมพิวเตอร์เสมือนหรือที่เราเรียกว่า "เวชวลแมชชีน "(Virtual Machines:VMs)   ซึ่งก็คือซอฟต์แวร์ที่ทำหน้าที่ในการทำงานเป็นตัวแทนของทรัพยากรต่างๆบน เครื่องคอมพิวเตอร์ ตัวอย่าง เช่น  การจำลองโปสเซสเซอร์  (Processor) , หน่วยความจำหลัก  (Physical memory) , การเชื่อมต่อกับเครือข่าย (Network connection) และ อุปกรณ์ อินพุท เอาท์พุท (IO Device)เป็นต้น 
      
       ในส่วนซอฟต์แวต์ด้านสแตก จะรวมเอาระบบปฏิบัติการ (Operating system) และโปรแกรมต่างๆ ให้ทำงานอยู่ในส่วนบนสุดของตัว เวชวลแมชชีน ซึ่งการทำงานของซอฟต์แวร์เวชวลแมชชีนต่างๆ สามารถที่ จะทำงานพร้อมกันได้ในเครื่องเดียวกัน และในการเข้าใช้ทรัพยากรเครื่องของตัวซอฟต์แวร์เวชวลแมชชีน จะถูกควบคุมด้วยโปรแกรมที่เรียกว่า" เวชวลแมชชีนมอนิเตอร์" (Virtual Machines Monitor:VMM) ซึ่งถูกออกแบบมาเพื่อช่วยในการจัดการและจัดสรรการใช้ทรัพยากรของระบบร่วมกัน รวมถึงการแปลคำสั่งจากเวชวลแมชชีนไปเป็นคำสั่งระบบของเครื่อง (Physical Hardware) สถาปัตยกรรมของการทำเวชวลไลเซชั่น          
       มีทางเลือกมากมายในการ สนับสนุนเทคโนโลยีการทำงานของเวชวลไลเชชัน แต่มีเทคนิคอยู่ 2 รูปแบบที่เป็นผู้นำทางด้านเทคโนโลยีนี้อยู่ก็คือเทคนิคแบบ Full virtualization และ Para-virtualization    
 
<< Back