770 likes | 1.05k Views
Oracle VM. Julian Dyke Independent Consultant. Web Version - October 2008. juliandyke.com . Agenda. Virtualization Oracle VM Oracle VM Server Oracle VM Agent Oracle VM Manager. Virtualization. Virtualization Overview. Virtualization is the process of abstracting computing resources
E N D
Oracle VM Julian Dyke Independent Consultant Web Version - October 2008 juliandyke.com
Agenda • Virtualization • Oracle VM • Oracle VM Server • Oracle VM Agent • Oracle VM Manager
VirtualizationOverview • Virtualization is the process of abstracting computing resources • Multiple operating systems and application images share same physical server • Benefits include: • Cost of ownership • Hardware • Licensing • Power • Cooling • Space • Functionality • High Availability • Resource Management • Cloning • Migration
HardwarePartitions Operating SystemPartitions VirtualMachines Physical Partitions Partitions Binary Translation • Physically isolated- Native hardware speed- Dedicated resources • Must run same OS- May support different levels of same OS- Limited fault isolation- De-privileged kernel- Near native speed- Some code changes required • Run time translation- Any hardware / OS- Slower Virtual Partitions Para-Virtualization • Online Add / Remove- Near native hardware speed- Shared I/O • Special O/S Build- Any hardware/ Linux- Faster Shared Partitions Hardware Virtualization AIX and HP/UX Solaris X86 / X86-64 VirtualizationTypes of Virtualization • Early support (Intel / AMD)- Any O/S- Will be fastest • Shared CPU- Dynamic CPU cycle allocation
VirtualizationSupported Platforms • Information supplied by Oracle Corporation 1 Supported with Oracle Database 11.0.7 2 Need to disable Numa for dynamic support. 3 Static support only. 4 VIO is an option for dLPAR and micro-partitions.
VirtualizationCertified Application Server Platforms • The following virtualized platforms are certified for Oracle Application Server • On Solaris both global and local zones/containers are supported, but LDOMs are not supported • See http://www.oracle.com/technology/products/ias/hi_av/oracleas_supported_virtualization.html
VMwareOracle Support Status • Limited support for Oracle products on VMware • Oracle has not certified any of its products on VMware • Oracle will support customers running Oracle products running on VMware • for issues known to occur on the native OS • for issues that can be demonstrated not to be a result of using VMware • See Metalink Note 249212.1 - Support Position for Oracle Products running on VMware virtualized environments for more details
Applications Applications Guest OS Guest OS Guest VM Guest VM Hypervisor X86 or X86/64 Bare-Metal Server CPU I/O Memory Network VirtualizationHypervisor-Based Virtualization
Xen HypervisorOverview • Xen hypervisor • Small, lightweight, software virtual machine monitor • Supports x86 and x86-64 only • Executes multiple virtual machines on one physical system • Each virtual machine has its own guest operating system • Originally developed at Cambridge University • Now open source • Included in • Oracle Enterprise Linux 5.0 and above • Red Hat Enterprise Linux 5.0 and above • SUSE Linux Enterprise Server 10 • Enhanced version included in Oracle VM Server Beware - Oracle VM Manager overrides some Xen default properties
Oracle VMOverview • Server virtualization software • Supports both Oracle and non-Oracle applications • Claimed to be three times more efficient than other server virtualization products • Backed by Oracle support • Available for free download • edelivery.oracle.com/oracle/vm • Guests supported include: • Linux • Windows • Runs on x86 and x86-64 based systems
Oracle VMOverview • Oracle products certified with Oracle VM include: • Oracle Database • Oracle Fusion Middleware • Oracle Applications • Consists of • Open Source server software • integrated Web browser-based management console
Oracle VMVirtual Machines • Oracle VM allows users to create and manage Virtual Machines (VMs) • VMs • exist on same physical server • behave like independent physical servers • Each VM has its own • virtual CPUs • network interfaces • storage • operating system
Oracle VMComponents • Oracle VM Server • Self-contained virtualization environment • Provides lightweight, secure, server-based platform forrunning VMs • Based on updated version of Xen hypervisor technology • Includes Oracle VM Agent • Oracle VM Agent • Installed with Oracle VM Server • Communicates with Oracle VM Manager for management of virtual machines • Oracle VM Manager • Provides user interface to manage Oracle VM servers and resources • Standard Application Development Framework (ADF) web applications
Oracle VMArchitecture Oracle VM Manager Oracle VMManagerRepository Web Browser-based User Interface Java-based Management Server Oracle VM Server OracleVM Agent dom0 domU domU domU Hypervisor Host Hardware CPU, Network, Memory, Disk
Oracle VMSupported Hardware • Oracle VM requirements • 32 bit or 64 bit host • i686-class processor • all Intel Pentium Pro or newer models • Intel Pentium 4 recommended as a minimum • all AMD Athlon/Duron processors or newer models • AMD Athlon recommended as a minimum • For unmodified guest operating systems CPU must provide hardware virtualization support • Hardware virtualization optionally provided by the following processors: • Intel Pentium D, Core, Core2, Xeon • AMD Athlon, Opteron
Oracle VMSupported Guest Operating Systems • Oracle VM supports the following guest operating systems: • Oracle Enterprise Linux 4 • Oracle Enterprise Linux 5 • Red Hat Enterprise Linux 3 • Red Hat Enterprise Linux 4 • Red Hat Enterprise Linux 5 • Microsoft Windows 2003 • Microsoft Windows Server 2003 • Microsoft Windows HP • Note that Microsoft Windows is only supported on hardware virtualization (HV) capable hardware • Currently Windows runs significantly slower on Oracle VM than on native hardware • Oracle is developing paravirtualized Windows drivers to improve performance of Windows on Oracle VM
Oracle VMProduct Certification • Oracle VM is the only x86 based server virtualization environment on which Oracle products are supported • Oracle products currently certified with Oracle VM (September 2008) include: • Oracle Database 10gR2 and11gR1 • Oracle RAC 10gR2 (10.2.0.4) • Oracle Application Server 10gR2 and 10gR3 • Oracle Enterprise Manager 10.2.0.4 • Oracle Berkeley DB4.6 • Oracle TimesTen 7.0.3.1 • Oracle E-Business Suite11.5.10 and12 • Oracle PeopleSoft Enterprise 8.4.x and 9.0 • PeopleTools 8.49.07and above • Oracle Siebel CRM 8.0 • Oracle Hyperion 9.3.1 • See Metalink Note 464754.1 - Certified Software on Oracle VM
Oracle VMProduct Certification • Only the following Application Server components are currently certified: • SOA 10.1.3.1.0 with 10.1.3.3.0 patchset • WebCenter 10.1.3.2.0 with 10.1.3.3.0 patchset • Oralce Communication and Mobility Server 10.1.3.3.0 (Linux x86 only) • Oracle Data Integrator 10.1.3.3.0 • Business Intelligence Enterprise Edition 10.1.3.3.0 • Identity Management 10.1.4.0.1 and 10.1.4.2.0 • Oracle Identify Federation 10.1.4.0.1 and 10.1.4.2.0 • Oracle Virtual Directory 10.1.4.2.0 • Oracle Access Manager 10.1.4.2.0 • Oracle Identity Manager 9.1.0.0 • Oracle Universal Content Management 10.1.3.3.1 (Linux x86 only) • Oracle Universal Records Management 10.1.3.3.1 (Linux x86 only) • See Metalink Note 464754.1 - Certified Software on Oracle VM
Oracle VMOracle Single Instance Database Support • As of September 2008 Oracle single instance databases are certified with Oracle VM with the following restrictions • x86 and x86-64 platforms • Oracle Enterprise Linux 4.x, 5.x, Red Hat Enterprise Linux 4.x, 5.x • Oracle 10.2.0.3 or above • Oracle VM 2.1 or above • Para-virtualized and hardware virtualized modes • Use para-virtualized drivers in both modes • Windows supported in Oracle 11.1.0.7 and above • Live migration supported in Oracle 11.1.0.7 and above
Oracle VMOracle RAC Database Support • As of September 2008 RAC is certified with Oracle VM with the following restrictions • X86 32-bit platform only • Oracle Enterprise Linux 5.1 or above • Oracle 10.2.0.4 only • Oracle VM 2.1.2 only • Para-virtualized mode only • Static mode support only • No dynamic resource changes • No live migration • Oracle Recommendations • Each RAC node should be deployed on a different physical server • Use physical block devices for database files • Do not over-commit CPUs
Oracle VMOracle RAC Database Support • Why would you want to run RAC on Oracle VM? • Resource Management • Control amount of CPU and memory used by each instance • Cloning • For development, test and pre-production • Migration • Move instance from one node to another • Hardware must currently be identical • Live Migration • Not supported with RAC
Oracle VMOracle Support Costs • Support costs (August 2008): • Oracle VM Premier Support includes • Access to software and updates through the Unbreakable Linux Network • 24x7 global support • Pricing / licensing for Oracle products used with Oracle VM is unaffected • CPU licensing is still based on physical processors
Oracle VM Server Installation • Oracle VM Server installation is similar to current Enterprise Linux installation
Oracle VM ServerInstallation • Default partitioning layout for an 80GB disk: • Defaults can be overwritten during installation • Note that all unallocated storage is assigned to /OVS • Component list cannot be updated • Package installation takes around 6 minutes
Oracle VM ServerVirtualization Types • Oracle VM servers can be • Para virtualized • Hardware virtualized • Para virtualization • Requires virtualization aware kernel • Available in Enterprise Linux 4 and 5 (Oracle and Red Hat) • Currently best performance • Hardware virtualization • Can run unmodified kernels e.g Enterprise Linux 3, Windows etc • Requires virtualization aware CPUs • Virtualization must be enabled in BIOS
Oracle VM ServerHardware Virtualization • Why is para-virtualization currently faster? • Intel currently supports hardware virtualization of CPU • VT-x on x86 / x86-64 • VT-i on Itanium • In future processors Intel will support hardware virtualization for: • Directed I/O • VT-d • Memory / Page Tables • Extended Page Tables (EPT) • Networking Devices • VT-c • When these are available hardware virtualization will be faster then para-virtualization • Note: AMD also provides hardware virtualization
Oracle VM ServerParavirtualization • Para-virtualization requires a xen-aware kernel • Available in Enterprise Linux 4 Update 5 and above • For example for paravirtualized kernel /etc/grub.conf contains: default=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle Enterprise Linux (2.6.18-8.el5xen) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5xen ro root=/dev/VolGroup00/LogVol00 console=xvc0 rhgb quiet initrd /initrd-2.6.18-8.el5xen.img • Default kernel is: [root@server11 ~]# uname -r2.6.18-8.1.15.1.16.el5xen
Oracle VM ServerInstallation • Example of /etc/issue for para-virtualized guest Oracle VM server release 2.1.2Hypervisor running in 64 bit mode with NO Hardware Virtualization support. Network :Management Interface :If : eth0(Up) Mac : 00:17:3F:99:F3:7C IP address : 192.168.2.111 Configured Networks and Bridges :If : eth0 Mac : 00:17:3F:99:F3:7CIf : eth1 Mac : 00:17:3F:9A:03:B9If : xenbr0 Mac : FE:FF:FF:FF:FF:FFIf : xenbr1 Mac : FE:FF:FF:FF:FF:FF CPU :cpu family : 6model : 15model name : Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz [root@server11 ~]# cat /etc/redhat-releaseOracle VM server release 2.1.2
Oracle VM ServerInstallation • Example of /etc/issue for hardware virtualized guest Oracle VM server release 2.1.2Hypervisor running in 64 bit mode with Hardware Virtualization support. Network :Management Interface :If : eth0(Up) Mac : 00:04:23:DC:1E:78 IP address : Configured Networks and Bridges :If : eth0 Mac : 00:04:23:DC:1E:78If : eth1 Mac : 00:04:23:DC:1E:79If : xenbr0 Mac : 00:04:23:DC:1E:78If : xenbr1 Mac : 00:04:23:DC:1E:79 CPU :cpu family : 6model : 15model name : Intel(R) Xeon(R) Dual CPU X5355 @ 2.66GHz [root@server11 ~]# cat /etc/redhat-releaseOracle VM server release 2.1.2
Oracle VM ServerXen Configuration • Xen is configured in /etc/sysconfig/xendomains • It should not be necessary to modify this file • Services installed for xen include: • xend • xendomains
Oracle VM ServerOCFS2 Configuration • OCFS2 is configured in /etc/ocfs2/cluster.conf • Initially configured as single node. For example: node: ip_port = 7777 ip_address = 192.168.2.111 number = 0 name = server11.juliandyke.com cluster = ocfs2 cluster: node_count = 1 name = ocfs2 • Should be extended to contain all servers in pool • Services installed for OCFS2 include: • o2cb • ocfs2
Oracle VM ServerOVS Configuration • OVS release is reported in /etc/ovs-release [root@server11 ~]# cat /etc/ovs-releaseOracle VM server release 2.1.2 • Services installed for Oracle VM include: • ovs-agent • ovsrepositories • Oracle VM agent is configured in /etc/ovs-agent/agent.ini
Oracle VM ServerShared Storage • Multiple Oracle VM Servers must share storage • Oracle VM uses OCFS2 by default • Shared directory is created by Oracle VM Server installation • Called /OVS • Created as ocfs2 • Must be manually extended to other VM servers in pool • Contains various pools including: • iso_pool - contains ISO images • running_pool - contains run-time images for guests • seed_pool • publish_pool
Oracle VM ServerGuest Installation • Linux guest installation uses Anaconda • Guest operating system MUST be installed from ISO images • Cannot directly mount CD/ROM • Installation can use • NFS - from local or remote server • HTTP - from remote web server • FTP - from remove FTP server • See Metalink Note 466005.1 - Mounting an ISO for Paravirtualized Guest Operating System Installation
Oracle VM ServerGuest Installation • Guest can be installed using • virt-install • operating system utility • VM Manager • GUI-based installation • Install utilities are not entirely compatible e.g. • virt-install creates configuration file in /etc/xen • e.g. /etc/xen/guest11 • VM Manager creates additional configuration file called vm.cfg • e.g. /OVS/running_pool/guest1/vm.cfg • Prior to first installation create Oracle VM standard pools in /OVS: [root@server11]# mkdir /OVS/running_pool [root@server11]# mkdir /OVS/iso_pool
Oracle VM ServerGuest Installation using NFS • NFS can be mounted on the local host • NFS services must be started: [root@server11]# service portmap startStarting portmap: [ OK ] [root@server11]# service nfs startStarting NFS services: [ OK ]Starting NFS quotes: [ OK ]Starting NFS daemon: [ OK ]Starting NFS mountd: [ OK ] • Firewall must be disabled: [root@server11]# service iptables stop Flushing firewall rules: [ OK ]Setting chains to policy ACCEPT: filter [ OK ]Unloading iptables modules: [ OK ]
Oracle VM ServerGuest Installation using NFS • If the installation software is delivered in a single (DVD-ROM) image • Create a mount point [root@server11]# mkdir /el • If the installation is on a DVD then mount the device [root@server11]# mount /dev/cdrom /el • If the installation software is in an ISO file mount as a loopback device [root@server11]# mount -o ro,loop /dev/cdrom /el • Export the file system [root@server11]# exportfs *:/el • Verify the file has been exported [root@server11]# exportfs/el <world>
Oracle VM ServerGuest Installation using NFS • If the installation software is delivered in multiple (CD-ROM) images • Create a directory [root@server11]# mkdir /el • If the installation is on a CD-ROM then mount the device [root@server11]# mount /dev/cdrom /media/iso • If the installation software is in an ISO file mount as a loopback device [root@server11]# mount -o ro,loop <filename> /media/iso • Copy the contents to the /el directory [root@server11]# cd /media/iso[root@server11]# cp -var * /media/iso • Unmount the directory [root@server11]# cd[root@server11]# umount /media/iso • Repeat for remaining disks or ISO images • Export the file system as shown on previous slide
Oracle VM Servervirt-install • The virt-install can be executed by the root user either interactively or using arguments • For example interactively (as root) [root@server11]# virt-installWhat is the name of your virtual machine? guest1How much RAM should be allocated (in megabytes?) 512What would you like to use as the disk (path)? /OVS/running_pool/guest1How large would you like the disk (/OVS/running_pool/guest1) to be (in gigabytes)? 5 Would you like to enable graphics support? (yes or no) yesWhat is the install location? nfs:server11:/el • Using arguments: [root@server11]# virt-install \--name guest1 \--ram=512 \--file=/OVS/running_pool/guest1 \--file-size=5 \--location=nfs:192.168.2.111:/el \--nographics
Oracle VM Servervirt-install • During installation of Enterprise Linux guest you will be prompted for a TCP/IP configuration • Ensure that a Gateway IP address is specified otherwise installation will fail with the following error: That directory could not be mounted from the server • By default guest O/S will be installed in /dev/xvda
Oracle VM Servervirt-install • During initialization virt-install always reports the following error libvir: Xen Daemon error: GET operation failed: • This error can be ignored • Folllowing restart of new operating system virt-install using text graphics reports the following error libvir: Xen Daemon error: internal error domain information incomplete, missing kernel Entity: line 25: parser error : Opening and ending tag mismatch: os line 5 and domain</domain> Entity: line 26: parser error : Premature end of data in tag domain line 1 • This error can also be ignored • See Metalink Note 466563.1 - Oracle VM: First Boot after Installation of Guest OS Fails with Text Console
Oracle VM ServerXen Configuration • Default virt-install of a guest O/S creates configuration /etc/xen • e.g. /etc/xen/guest1 # Automatically generated xen config filename = "guest1"memory = "512"disk = [ 'file:/OVS/running_pool/guest1,xvda,w', ]vif = [ 'mac=00:16:3e:6d:c2:92, bridge=xenbr0', ] uuid = "286c380b-4cd6-9308-5987-4ff05d4d2278"bootloader="/usr/bin/pygrub"vcpus=1on_reboot = 'restart'on_crash = 'restart'
Oracle VM Serverxm utility • xm is the Xen management user interface • To list valid options [root@server11]# xm help • To print the message buffer [root@server11]# xm dmesg • To start a VM [root@server11]# xm create -c /etc/xen/guest1 • To shutdown a VM [root@server11]# xm shutdown guest1
Oracle VM Serverxm utility • To list running VMs [root@server11]# xm list Name ID Mem VCPUs State Time(s)Domain-0 0 468 2 r----- 254.1guest1 9 256 1 -b---- 19.7guest2 10 256 1 -b---- 16.0 • To start a console session [root@server11]# xm console 9 • where 9 is the ID in xm list • To end the console session press CTRL-]
Oracle VM Serverxentop utility • Similar to top • Same as xm top • Executed from dom0 • Shows current state of all domains including dom0 and guests [root@server11 ~]# xentop • For example xentop - 10:23:58 Xen 3.1.43 domains: 1 running, 2 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdownMem: 1037820k total, 1034928k used, 2892k free CPUs: 2 @ 1800MHz NAME STATE CPU(sec) CPU(%) MEM(k) MEM(%) MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS VBD_OO VBD_RD VBD_WR SSID Domain-0 -----r 256 0.3 479232 46.2 no limit n/a 2 8 1358489 9219 0 0 0 0 0 guest1 --b--- 20 0.1 262144 25.3 262144 25.3 1 1 6 9 1 0 3295 1834 0 guest2 --b--- 21 0.1 262144 25.3 262144 25.3 1 1 7 0 1 0 3240 1727 0