มารู้จักเวชวลไลเซชั่นซอฟแวต์
เวชวลไลเซชันซอฟต์แวต์ก็คือการสร้างสภาพแวดล้อมจำลองของเครื่องขึ้นมา โดยที่มันจะทำงานอยู่ภายใต้ฮาร์ดแวร์นั้น เวชวล ไลเซชันซอฟต์แวต์ก็คือการสร้างส่วนควบคุมที่เชื่อมต่อกับซอฟต์แวร์ที่ ทำหน้าเป็นเครื่องคอมพิวเตอร์เสมือนหรือที่เราเรียกว่าเวชวลแมชชีน (Virtual Machines:VMs) ซึ่งก็คือซอฟต์แวร์ที่ทำหน้าที่ในการทำงานเป็นตัวแทนของทรัพยากรต่างๆบน เครื่องคอมพิวเตอร์ ตัวอย่าง เช่น การจำลองโปสเซสเซอร์ (Processor) , หน่วยความจำหลัก (Physical memory) , การเชื่อมต่อกับเครือข่าย (Network connection) และ อุปกรณ์ อินพุท เอาท์พุท (IO Device)เป็นต้น ในส่วนซอฟต์แวต์ด้านสแตก จะรวมเอาระบบปฏิบัติการ (Operating system) และโปรแกรมต่างๆ ให้ทำงานอยู่ในส่วนบนสุดของตัว เวชวลแมชชีน ซึ่งการทำงานของซอฟต์แวร์เวชวลแมชชีนต่างๆ สามารถที่ จะทำงานพร้อมกันได้ในเครื่องเดียวกัน และในการเข้าใช้ทรัพยากรเครื่องของตัวซอฟต์แวร์เวชวลแมชชีน จะถูกควบคุมด้วยโปรแกรมที่เรียกว่า เวชวลแมชชีนมอนิเตอร์ (Virtual Machines Monitor:VMM) ซึ่งถูกออกแบบมาเพื่อช่วยในการจัดการและจัดสรรการใช้ทรัพยากรของระบบร่วมกัน รวมถึงการแปลคำสั่งจากเวชวลแมชชีนไปเป็นคำสั่งระบบของเครื่อง (Physical Hardware)
สถาปัตยกรรมของการทำเวชวลไลเซชั่น
มีทางเลือกมากมายในการ สนับสนุนเทคโนโลยีการทำงานของเวชวลไลเชชัน แต่มีเทคนิคอยู่ 2 รูปแบบที่เป็นผู้นำทางด้านเทคโนโลยีนี้อยู่ก็คือเทคนิคแบบ Full virtualization และ Para-virtualization
รูปภาพตัวอย่างแสดงการทำงานของสถาปัตยกรรม Virtualiztion
1. การทำ Full virtualization สำหรับการทำเวชวลไลเซชั่นในรูปแบบนี้ ถูกออก แบบเพื่อเตรียมการทำให้เป็นรูปแบบเสมือนทั้งหมดของฮาร์ดแวร์ และสร้างระบบเสมือนที่สมบูรณ์ ในที่นี้จะทำให้เราสามารถที่นำ ระบบปฏิบัติการอื่นๆ มาติดตั้งและสามารถที่จะทำงานอยู่บนเครื่องคอมพิเตอร์เดียวกันได้ ซึ่งเราจะเรียกว่าระบบปฏิบัติที่มาติดตั้งเพิ่มเติมนี้ว่า ระบบปฏิบัติการเยือน ( Guest Operating System: GOS ) โดยที่ระบบปฏิบัติการเยือนสามารถที่จะทำงานได้โดยไม่ต้องมีการแก้ไขเปลี่ยน แปลงสิ่งใดๆ กับคำสั่งที่ถูกร้องขอจากระบบปฏิบัติการเยือนนั้นๆ หรือในตัวโปรแกรมของมันเอง เพราะฉะนั้น ระบบปฏิบัติการเยือนหรือโปรแกรม จะไม่ทราบถึงสภาพแวดล้อมจำลองเสมือนจริงที่เกิดขึ้น จึงทำให้ระบบปฏิบัติการเยือนและโปรแกรมของมันทำงานอยู่บน เวชวลแมชชีน ในขณะที่ในความจริงแล้วจะต้องทำงานบนสภาวะแวดล้อมของระบบจริงๆ ( Physical system ) วิธีการนี้ทำให้เกิดประโยชน์ เพราะว่ามันได้แยกการเชื่อมต่อของซอฟต์แวร์และระบบปฏิบัติการเยือน ออกจากฮาร์ดแวร์อย่างสมบูรณ์ ดังนั้นผลลัพธ์ของวิธีการแบบ Full virtualization ก็คือสามารถให้มีเส้นทางการเคลื่อนย้ายของตัวซอฟต์แวร์ และ ภาระงานต่างๆ ( workloads ) ระหว่างระบบปฏิบัติการที่มีคุณสมบัติที่แตกต่างกัน ตัวอย่างของซอฟต์แวร์เวชวลไลเชชัน ที่ใช้เทคนิค Full virtualization ก็คือ Microsoft Virtual Server, และ VMware ESX Server
2. การทำ Para-virtualization เป็น อีกวิธีการหนึ่งในการทำเวชวลไลเชชัน โดยนำเสนอให้แต่ละ เวชวลแมชชีน คือรูปแบบเสมือนของฮาร์ดแวร์ที่ถูกนำเสนอเช่นเดียวกันกับแบบ Full virtualization แต่มีสิ่งที่ไม่เหมือนกันก็คือในเทคนิคแบบนี้จะสามารถระบุไปถึงภายในกายภาพ ของฮาร์ดแวร์ (Physical Hardware ) โดยเทคนิค Para-virtualization ต้องการที่จะมีการเปลี่ยนแปลงแก้ไขคำร้องขอของระบบปฏิบัติการเยือน ที่กำลังทำงานอยู่บนเวชวลแมชชีน ผลลัพธ์ของมันก็คือ ระบบปฏิบัติการเยือน จะรับรู้ได้ว่ามันกำลังทำงานอยู่บนซอฟต์แวร์เวชวลแมชชีนนั่นเอง มีการยอมรับว่าประสิทธิภาพที่ได้จะใกล้เคียงกับประสิทธิภาพตามธรรมชาติของ ระบบปฏิบัติการเยือน วิธีการของ Para- virtualization ยังคงดำเนินการพัฒนาและยังมีข้อจำกัดอยู่ เช่นการเกิดแคชของข้อมูลของระบบปฏิบัติการเยือน ( Guest Operating System Cache Data ) และการเชื่อมต่อกันที่ยังไม่มีความน่าเชื่อถือเพียงพอ ( Unauthenticated Connections )
แสดงตัวอย่าง Solution ของการทำ VPS ของ Xen
** สำหรับในบทความตอนถัดไปเราจะมารู้จักกับ Xen OS กันครับผม - See more at: http://www.thaiopensource.org/article/%E0%B8%A1%E0%B8%B2%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B9%80%E0%B8%97%E0%B8%84%E0%B9%82%E0%B8%99%E0%B9%82%E0%B8%A5%E0%B8%A2%E0%B8%B5-virtualization#sthash.F9J9lbTN.dpuf |