2012년 3월 1일 목요일

Oracle VM: Dynamic Resource Management


I summarize that what elements exists for the dynamic resource management in Oracle VM 2.2.2 and manager 2.2
  • Control resources's quality that virtual machines are using.
  • Allocate and deallocate resources without restart the VM  

Network QoS management.
In Oracle VM, It is able to limit the bandwidth of VIF(Virtual Interface)

Rate LimitIn Oracle VM admin UI, you are able to limit bandwidth of VIF (Virtual Interface) to select the "Enable Rate Limit" and fill the value in the Rate Limit(Mbit) field. or example, 8 (This means you control that the network traffic through the virtual network interface cannot exceed 8 Mb/s. There is no need to restart.

When you ckeck vm.cfg, the change takes effect the following:
# outbound traffic
vif = ['bridge=xenbr0,mac=00:16:3E:2B:11:83,type=netfront,rate=8Mb/s@50ms']
# inbound traffic   
vif_other_config = [['00:16:3e:2b:11:83', 'tbf', 'rate=8mbit,latency=50ms']]             

Usage: vif_other_config = [[ 'mac', 'qos_algorithm_type', 'qos_algorithm_params']]
- mac: VIF의 MAC address
- qos_algorithm_type: QoS algorithm. Only support tbf. 
- qos_algorithm_params:  parameters of qos_algorithm_type, late limit and latency. for example, rate=8mbit,latency=50ms.


Virtual Network Configuring
  • If a Virtual Machine is HVM(Hardware Virtual Machine) type, It can add either Fully Virtualized or Paravirtualized for its VIF.
  • Paravirtualized driver, known as netfront driver, can be used either for HVM or PVM.
  • Fully virtualized driver, known as ioemu driver, can be used only for HVM.
* Both drivers has BISO and device emulation code to support Fully virtualization. 

* Fully Virtualized (ioemu) is default VIF for HVM and Paravirtualized (netfront) for PVM (It cannot be changed in the PVM)


* After you configure the virtual network interface type for one virtual network

interface, all the virtual network interfaces in the virtual machine will be set to the same type.


Disk OoS 
For the priority of storage IO, it can be set from 0 to 7. 0 has the highest priority and 7 has the lowest one.



Virtual disks of the same priority class take the same priority on the Oracle VM Server, even if they belong to different virtual machines. (

the priority of a virtual disk is global on the entire Oracle VM Server).

The change takes effect in the vm.cfg:
disk_other_config = [['xvda', 'ionice', 'sched=real-time,prio=2']]

Usage: disk_other_config = [[ 'front_end', 'qos_algorithm_type', 'qos_algorithm_params']]
- front_end: name of the virtual device. for example, hda, hdb, xvda, and so on.
- qos_algorithm_type:  name of the QoS algorithm, only supports ionice
- qos_algorithm_params:  Parameters of qos_algorithm_type, schedule class name and priority. for example, sched=real-time,prio=5.

* There are threes IO scheduling class (Idle, Best Effort, and Real Time ). Oracle VM only supports Real Time.

* The number of virtual disks which can be attached to a VM.
- HVM: Up to 4 for IDE type, Up to 7 for ISCSI type 
- PVM: no limit


CPU Priority

Select High (100), Intermediate (50), or Low (1) priority for the virtual CPUs. You can also enter a custom priority by selecting Customize and entering a value out of 100 in the text area. When VMs access to physical resource at the same time,  this guarantees priority of the VMs. Scheduling Cap means the the vCPU cannot exceed the percentage even if whole CPU is in idle.

Usage: xm sched-credit -d [-w[=WEIGHT]|-c[=CAP]]
Get/set credit scheduler parameters.
  -d DOMAIN, --domain=DOMAIN     Domain to modify                           
  -w WEIGHT, --weight=WEIGHT     Weight (int)                               
  -c CAP, --cap=CAP              Cap (int)   


* Adjust number number vCPU without restart: lower from boot value, increase back to boot value. The VM needs to restart when vCPU exceeds boot value. 



Memory
Adjust Memory without restart: lower from maximum value, increase back to maximum value. The VM needs to restart when its memory exceeds maximum value. 


댓글 없음:

댓글 쓰기