150 likes | 271 Views
Xen Server Resource Management. Sumit Kumar Archana Kumar Group # 4. Goals. Studying on memory optimization and implementing. Studying feasibility of using XVP to support the UI for optimization. Components of XVP. xvpweb : A web front end for XenServer , running on Apache/PHP.
E N D
Xen Server Resource Management Sumit Kumar Archana Kumar Group # 4 CSE 591 : Virtualization and Cloud Computing
Goals • Studying on memory optimization and implementing. • Studying feasibility of using XVP to support the UI for optimization. CSE 591 : Virtualization and Cloud Computing
Components of XVP • xvpweb: A web front end for XenServer, running on Apache/PHP. • xvpviewer: A Java applet for accessing XenServer consoles (used by xvpweb, of course). • xvp: A server-side proxy for XenServer consoles, so that you can use ordinary VNC clients. • xvpdiscover: A tool that queries a XenServer pool, and writes the appropriate configuration files for xvp and xvpweb. [ref : http://www.xenbear.com/2009/11/22/xvp/] • Creating a VM for XVPappliance allows us to configure all the four components. CSE 591 : Virtualization and Cloud Computing
Inferences • XVP is a very basic package that can be used to manage the virtual machines on Xen Server or XCP. • Advantages: • Just a browser is required. The VM consoles can be accessed using XVPviewer (uses Java applets). • Platform-independent access to manage virtual machines. • Can be enhanced with our own projects since it is a open-source. • Supports role-based access configurations to server pools. The servers can be configured into pools with different users having different accesses to the different pools. • Limitations: • Monitoring does not currently support exhaustive displays as in a XenCenter performance monitor. Creating / Importing/ Exporting VMs not possible. CSE 591 : Virtualization and Cloud Computing
Why XVP? • XenCenter is only supported in the Windows machine and is not opensource. • The openxenmanager project to enable a XenCenter like VMM is in initial state and is not ready for use yet. • Even after the project is ready for use, this may require configuration at each individual machine. • Potential Use of XVP : if the XVP Appliance is configured, the role based access to the server pools can be given to the individual users within the Enterprise with the minimal requirement of a browser running in the user’s system. CSE 591 : Virtualization and Cloud Computing
Challenges faced in XVP • Configuring the XVP appliance was easier. • However trying to install the individual packages had dependency on many other packages. • Had to manually type in and save xvpweb.conf and xvpusers.conf • The tunneling with the TightVNC for Java was not working • Though the server was detected after all the configuration, the console view could not be enabled. • Only the context menu for the different VMs appeared with the information. • Modifications require changing corresponding Java and PHP files. Any small change required recompilation of all the associated jar files • Making the API in the VM to talk with the information from server pool was difficult • Limited troubleshooting help and no proper documentation CSE 591 : Virtualization and Cloud Computing
Memory Management in Xen • Memory optimization can be done In 2 ways • By sharing memory among virtual machines • Ballooning CSE 591 : Virtualization and Cloud Computing
Memory Sharing • Can be done: • Use prior knowledge about certain blocks of data being identical. • Actively compare the blocks to find identical blocks of data. • Memory sharing using prior knowledge • Content based sharing. • Copy on Write. • Shared memory. CSE 591 : Virtualization and Cloud Computing
Dynamic Sharing • Memory sharing decision can be taken dynamically also by comparing block of memory in different virtual machines • Using done using hashing. • Other available method is bit wise comparision. CSE 591 : Virtualization and Cloud Computing
Disadvantages • Significant performance overhead. • Additional operations are needed if VM tries to modify read only pages. • Hashing introduces new overhead of finding new pages for sharing. • These methods don’t care about memory distribution and memory utilization ratio in virtual machines. CSE 591 : Virtualization and Cloud Computing
Ballooning • Balloon is a method that allows Dom0 to ask virtual machines running above it to release some amount of memory. • Implemented as xen driver. • Dom0 needs to have knowledge of idle memory in virtual machines in order to get it back. CSE 591 : Virtualization and Cloud Computing
Self-Ballooning • Balloon driver can be modified in order to • get information about idle memory in virtual machines. • Take action and redistribute memory among virtual machines. • Not available in free version of Xen Server. • Implementation is underway. CSE 591 : Virtualization and Cloud Computing
Challenges faced • Interdependency of packages • Kernel has to be recompiled again • Requires knowledge of device driver programming • Identified Patch or programs correspond to much older version of kernel. • Sudden expiry of Xenserver version disabling the developer environment. No access using XenCenter as the system was on Mobicloud. CSE 591 : Virtualization and Cloud Computing
Conclusions • It was decided that XVP Appliance will only be accessed using the preconfigured machine. It is used to only enable browser-based access and no improvements were made on the existing source code. • Kernel Patch for implementing Self-ballooning has been identified. However it corresponds to much older version of Kernel. Hence if adequate time is available, the changes in the patches can be applied comparing the kernel versions to implement self-ballooning. CSE 591 : Virtualization and Cloud Computing
THANK YOU… CSE 591 : Virtualization and Cloud Computing