| Unique Visitors |
A little while ago VMware released Horizon View 6.1, which for the first time allowed Linux VDI desktops among many other new improvements. All customer that have Horizon 6 Enterprise Edition, or VMware Workspace Suite are entitled to use Horizon Linux Desktops. Supported Linux distributions include Ubuntu, RHEL, CentOS, and NeoKylin. Importantly VMware also supports 3D GPU Hardware Acceleration with these operating systems leveraging NVIDIA. At the moment however there is no automatic way to install the Horizon View Linux Agent on the desktops out of the box, so you have to automate it if you want to use this at scale. After I had built my first Linux desktop and started using it I liked it so much I wanted to provision more desktops, and see how fast I could do it. This article will take you through some of the steps and the scripts I used to provision 400 Linux desktops from template and register them as managed machines with Horizion View in just 11 minutes.
First before we look at the scripts there are some pre-requisites. You’ll need to have a working VMware Horizon View 6.1 environment, VMware PowerCLI installed (latest version recommended), a Linux desktop based on one of the supported distributions, the VMware Horizon View Agent for Linux, and a Linux customization specification created in vCenter.
In order for the new desktops that you provision to be able to automatically register with the Horizon View Connection Server you need to place some first boot scripts into the template of your Linux Desktop, and you need to ensure that the Horizon View Agent is installed on the template VM. In the scripts below the directory for the Horizon View Agent is /root/VMware-viewagent-linux-x86_64-6.1.1-2772438.
In the template, which I have called LinuxDT-Template, the first script is placed in /etc/rc.d. This script is called at startup and will check for the existence of the first boot script, and if it exists will be executed.
/etc/rc.d/rc.local:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local FBSCRIPT="/root/firstbootview.sh" if [ -f $FBSCRIPT ]; then echo "Firstboot script exists, executing..." $FBSCRIPT fi
The next script is the first boot script itself. This will check to see if the Horizon View Agent is already installed and if so will clean that out. It will also check that the script is not being run on template itself. This script will install and configure the Horizon View Agent on the Linux Desktop and register the desktop with Horizon View. It checks to make sure the hostname of the VM matches the DNS records, else the registration process will not be successful.
/root/firstbootview.sh
#!/bin/bash VIEWAGENTDIR="/etc/vmware" VIEWAGENTINSTALL="/root/VMware-viewagent-linux-x86_64-6.1.1-2772438" VIEWMANAGER="nxviewmgr.nxmgmt.local" DOMAINNAME="nxmgmt.local" USERNAME="viewmgr" PW="YourPass" HOSTNAME=`hostname` LOOKUP=`nslookup $HOSTNAME | grep $HOSTNAME | cut -c 7-` echo "Checking if Horizon View Agent was previously installed" if [ -d $VIEWAGENTDIR ]; then echo "$VIEWAGENTDIR exists, uninstaling" /usr/lib/vmware/viewagent/bin/uninstall_viewagent.sh >> /root/viewagentinstall.log rm -rf $VIEWAGENTDIR fi while [ "$LOOKUP" != "$HOSTNAME.$DOMAINNAME" ]; do sleep 5 LOOKUP=`nslookup $HOSTNAME | grep $HOSTNAME | cut -c 7-` done echo "Installing VMware Horizon View Agent for Linux..." cd $VIEWAGENTINSTALL echo "Working directory" `pwd` $VIEWAGENTINSTALL/install_viewagent.sh -b $VIEWMANAGER -d $DOMAINNAME -u $USERNAME -p $PW >>/root/viewagentinstall.log cat /root/viewagentinstall.log if [ "$HOSTNAME" != "LinuxDT-Template" ]; then echo "Firstboot script complete, self destructing in 5 seconds..." sleep 5 echo "Deleting $0 ..." rm -rf $0 reboot fi
Now that you have the Linux Desktop Template created and the first boot scripts set up, along with the other pre-requisites, you can proceed to deploying as many Linux VDI desktops as you wish. Each will be registered with Horizon View, and then you will be able to add them to a desktop pool. The sample PowerCLI script below will rapidly provision as many desktops as you like. It has been written to be multi-threaded, and will use all of the CPU on the client system it is run from. Also because it runs all clone tasks in parallel, it will also place a fairly high load on vCenter. So it is recommended you test this first in a non-production environment and decide if it’s safe to use in production before you go provisioning all of the desktops on any existing systems. As with all the scripts in this post, use them at your own risk, they are provided for informational and educational purposes only.
Clone-LinuxDT.ps1:
# PowerCLI to create VMs from existing vSphere VM
# Version 1.1
# Original Author: Magnus Andersson RTS
# Updated by: Michael Webster
#
# Specify vCenter Server, vCenter Server username and vCenter Server user password
$vCenter="YourvCenter"
$vCenterUser="YourUsername"
$vCenterUserPassword="YourPassword"
#
# Specify number of VMs you want to create
$vm_count = 400
#
#Specify where to start the VM Numbering Sequence
$start_count = 11
#
# Specify the VM you want to clone
$clone = "LinuxDT-Template"
#
# Specify the Customization Specification to use
$customspecification = "Linux"
#
# Specify the datastore or datastore cluster placement
$ds = "Erebor"
#
# Specify vCenter Server Virtual Machine & Templates folder
$Folder = "NXPERFENG"
#
# Specify the vSphere Cluster
$Cluster = "NXNZTest2-3000"
#
# Specify the VM name to the left of the ñ sign
$VM_prefix = "LinuxDT"
#
# End of user input parameters
#_______________________________________________________
#
write-host "Connecting to vCenter Server $vCenter" -foreground green
Connect-viserver $vCenter -user $vCenterUser -password $vCenterUserPassword -WarningAction 0
$start_count..(($vm_count+$start_count)-1) | foreach {
$y="{0:D2}" -f $_
$VM_name= $VM_prefix + $y
$ToD = (Get-Date).ToLongTimeString()
Write-Host "Script Stated Executing at" $ToD
$ESXi=Get-Cluster $Cluster | Get-VMHost -state connected | Get-Random
write-host "Creation of VM $VM_name initiated" -foreground green start-process powershell -NoNewWindow -ArgumentList "Add-PSSnapin VM*; Connect-viserver $vCenter -user $vCenterUser -password $vCenterUserPassword -WarningAction 0 | out-null; New-VM -Name $VM_Name -VM $clone -VMHost $ESXi -Datastore $ds -Location $Folder -OSCustomizationSpec $customspecification | out-null; Start-VM $VM_Name | out-null; write-host 'Creation of VM $VM_name initiated' (GetDate).ToLongTimeString() -foreground white;"
}
I used the script above to successfully provision 400 Linux VDI desktops in 11 minutes. In order to do this you not only need a decent client system to run the script (I used a Windows VDI Desktop running on a Nutanix cluster), you also need a very good back end infrastructure to stand up all of the cloned desktops. They will all be provisioned, customized and booted essentially in parallel. There will be a lot of IO and a lot of CPU usage across the system. It would be normal for this to tax the CPU’s on the hosts to 100% utilization for a sustained period.
Part of the reason I was able to do all of this in 11 minutes was because I was using a Nutanix 4 node NX3000 cluster (albeit a 3 year old cluster) and ESXi 6.0. So on a newer more modern cluster I probably would have been able to do the same task in less than 10 minutes. Remember, this is provisioning all desktops from template, customizing them, powering them on, and registering them with VMware Horizon View, for 400 desktops, in 11 minutes. If I doubled the number of desktops and doubled the number of Nutanix hosts in the cluster (to say 8), the provisioning time wouldn’t take twice as long, provided I have enough horsepower on vCenter and on the system executing the clone tasks, it would take the same amount of time. This is because the Nutanix platform scales linearly. Once you know how many VM’s you get per node, every node you add, you get exactly the same, consistent, predictable performance.
Here is a copy of the LinuxVMCustomizationSpec.xml file you can modify and import into vCenter. This is pretty simple. Uses DHCP for IP addressing. It has been configured to use the Google DNS Servers. So you will need to change that to your DNS servers.
LinuxVMCustomizationSpec.xml
<ConfigRoot> <_type>vim.CustomizationSpecItem</_type> <info> <_type>vim.CustomizationSpecInfo</_type> <changeVersion>1414648162</changeVersion> <description/> <lastUpdateTime>2014-10-30T05:49:22Z</lastUpdateTime> <name>LinuxVM</name> <type>Linux</type> </info> <spec> <_type>vim.vm.customization.Specification</_type> <globalIPSettings> <_type>vim.vm.customization.GlobalIPSettings</_type> <dnsServerList> <_length>2</_length> <_type>string[]</_type> <e id="0">8.8.8.8</e> <e id="1">8.8.1.1</e> </dnsServerList> <dnsSuffixList> <_length>1</_length> <_type>string[]</_type> <e id="0">nxmgmt.local</e> </dnsSuffixList> </globalIPSettings> <identity> <_type>vim.vm.customization.LinuxPrep</_type> <domain>nxmgmt.local</domain> <hostName> <_type>vim.vm.customization.VirtualMachineNameGenerator</_type> </hostName> <hwClockUTC>true</hwClockUTC> <timeZone>Pacific/Auckland</timeZone> </identity> <nicSettingMap> <_length>1</_length> <_type>vim.vm.customization.AdapterMapping[]</_type> <e id="0"> <_type>vim.vm.customization.AdapterMapping</_type> <adapter> <_type>vim.vm.customization.IPSettings</_type> <ip> <_type>vim.vm.customization.DhcpIpGenerator</_type> </ip> </adapter> </e> </nicSettingMap> <options> <_type>vim.vm.customization.LinuxOptions</_type> </options> </spec> </ConfigRoot>
Now if you were running these scripts in a test environment and planning to run the tests over and over again you will quickly realize that Horizon View allows duplicate entries in it’s database. You’ll also quickly realize that there is no easy way to quickly remove lots and lots of registered machines from Horizon View. You’ll also notice, if you research it, that there is currently no way to do anything about either of these problems with the Horizon View PowerCLI CMDLets. So where does that leave us? Well I’m glad you asked. In this case you will have to edit the Horizon View LDAP directory directly to remove the machines after they have been deleted. You can do this also when you decommission large numbers of VDI VM’s. But it is certainly advisable to have a backup before doing anything like this. The PowerShell script below uses LDIFDE to interrogate the Horizon View LDAP Directory and search for any machines that are showing as Agent Unreachable. This means they are off or not longer can be contacted (probably as you’ve deleted them). Any agents that fall into that category will be removed form the Horizon View LDAP Directory and therefore be removed from the Registered Machines in View Manager.
RemoveUnreachableDesktops.ps1
$desktopcn = @()
$removedesktops=(Get-DesktopPhysicalMachine -State "Agent unreachable").displayName
$removedesktops | foreach {
write-host "Searching for dn of $_"
ldifde -s localhost -d "dc=vdi,dc=vmware,dc=int" -r "(description=$_)" -l dn -f "$_.txt"
write-host "Writing output to $_.txt"
$getcn = (Get-Content "$_.txt")[0]
$desktopcn += "$getcn"
Remove-Item "$_.txt"
write-host "Desktop DN's to Remove = $getdn"
}
$desktopcn | foreach {
$output = @()
write-host "Adding items to remove file..."
write-host "$_"
write-host "changetype: delete"
$output += "$_"
$output += "changetype: delete`n"
$output | Out-File -Filepath removedesktops.txt -Append
write-output `n | Out-File -Filepath removedesktops.txt -Append
}
write-host "About to remove all of the desktops..."
pause
ldifde -i -f removedesktops.txt -s localhost
Remove-Item removedesktops.txt
I’m no scripting expert, but I’ve used all of these scripts above in my lab environment. They could have probably been written more efficiently and more elegantly. But I just wrote them in a brief period of time to do a job and that’s it. So please feel free to improve upon them and if you do I’d greatly appreciate it if you could post any updates here.
Final Word
The combination of VMware Horizon View, VMware vSphere 6.0 and Nutanix web-scale converged infrastructure is an unparalleled combination for running any desktop workload (and almost all non-desktop workload as well). In this example I have used the new functionality in Horizon View 6.1 to provision Linux VDI Desktops rapidly. Due to the smart cloning features of the Nutanix platform the clones didn’t consume any additional storage space. This was not dedupe, this was data avoidance. No point creating unnecessary data in the first place. This is a demonstration of what you can do with a smart modern infrastructure platform to move your business forward, do non-disruptive upgrades in your lunch time, and with self healing capabilities, spend more time with your friends and family. If you like the sound of that, get in touch with any of the Nutanix team and ask us about it.
—
This post first appeared on the Long White Virtual Clouds blog at longwhiteclouds.com. By Michael Webster +. Copyright © 2012 – 2015 – IT Solutions 2000 Ltd and Michael Webster +. All rights reserved. Not to be reproduced for commercial purposes without written permission.
Cumulus Linux is the answer to companies that want to run software defined networking on a range of open networks industry standard switches, without necessarily being locked into one physical switch hardware vendor. But unlike network virtualization solutions such as NSX, Cumulus Linux is the Network OS (NOS) for the physical switches, rather than a virtualization layer on top. Cumulus is part of the NSX ecosystem and integrated into NSX, so essentially you can use Cumulus to run on the physical switches and integrate it to NSX to provide the network virtualization (termination and VXLAN switching/routing in hardware also supported on some switches). Cumulus is Linux for network switches, so it’s easy to manage, and very easy to automate. I happen to be working on a project now to build the best practices for Cumulus Linux with Nutanix and VMware vSphere. So I needed an easy way to get Cumulus installed on my lab switches, from my MacBook Pro, which is what the remainder of this article is about.
You can choose open network (ON) switches from a variety of vendors that are on the Cumulus HCL. In my case I chose Dell Force10 S4810-ON‘s. The -ON is an important part, as that is the Open Network variety. The Dell Force10 Switches are enterprise class low latency switches. The -ON switches come with the Open Network Install Environment included, so that you can install Cumulus Linux. This is the default boot environment for the switches and starts automatically.
There are 6 ways you can install Cumulus Linux NOS on your Open Network switches as follows:
In my case I had DHCP configured for my management network so I just needed an easy way to start up a web server so the switches could discover the Cumulus Linux firmware and download and install it. As a tip, if you don’t have a DHCP server already you can configure your MacBook Pro for Internet sharing, which then starts a DHCP server. Setting up the web server was a lot easier than I thought it would be. It turns out there is a very easy way to start up a temporary HTTP server on a MacBook Pro from any directory through the terminal. I stumbled across an article titled Start a Simple Web Server from Any Directory on Your Mac. All I had to do was change to the directory containing the Cumulus Linux package, which I had renamed to work with the ONIE process. But there was one key element missing from the article that I needed in order to get it to work.
If you attempt to run the web server exactly as mentioned in the Life Hacker article, such as python -m SimpleHTTPServer 80, you will get the following:
michael2012mbp:Cumulus michaelwebster$ python -m SimpleHTTPServer 80
Traceback (most recent call last):
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”, line 162, in _run_module_as_main “__main__”, fname, loader, pkg_name)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”, line 72, in _run_code exec code in run_globals
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SimpleHTTPServer.py”, line 224, in <module> test()
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SimpleHTTPServer.py”, line 220, in test BaseHTTPServer.test(HandlerClass, ServerClass)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py”, line 595, in test httpd = ServerClass(server_address, HandlerClass)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py”, line 419, in __init__ self.server_bind()
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py”, line 108, in server_bind SocketServer.TCPServer.server_bind(self)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py”, line 430, in server_bind self.socket.bind(self.server_address)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py”, line 224, in meth return getattr(self._sock,name)(*args)
socket.error: [Errno 13] Permission denied
This was easily fixed by using the sudo command, entering the admin password, and running the operation as root. Which resulted in the following:
michael2012mbp:Cumulus michaelwebster$ sudo python -m SimpleHTTPServer 80
WARNING: Improper use of the sudo command could lead to data loss or the deletion of important system files. Please double-check your typing when using sudo. Type “man sudo” for more information.
To proceed, enter your password, or type Ctrl-C to abort.
Password:
Serving HTTP on 0.0.0.0 port 80 …
Then it was just a matter of kicking off the discovery process on my S4810 switches, which I did by rebooting them via the console cable (which happens to be connected via USB to a VDI desktop running on one of my Nutanix hosts, and it even still works with vMotion).
Once the switches restarted they found my MacBook on the network and found the web server and began to search for the firmware. ONIE goes through a standard process to identify and download the correct firmware by using the following naming conventions from the most specific to the lest specific:
In my case it looked like this from the web server on my MacBook Pro:
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] “GET /onie-installer-powerpc-dni_7448-r0 HTTP/1.1” 404 –
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] code 404, message File not found
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] “GET /onie-installer-powerpc-dni_7448 HTTP/1.1” 404 –
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] code 404, message File not found
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] “GET /onie-installer-dni_7448 HTTP/1.1” 404 –
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] code 404, message File not found
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] “GET /onie-installer-powerpc HTTP/1.1” 404 –
xxx.xxx.xxx.11 – – [13/Nov/2014 19:31:34] “GET /onie-installer HTTP/1.1” 200 –
As you can guess from the above I had named the Cumulus Linux package onie-installer. I could have named it onie-installer-powerpc or any one of the other specific naming conventions. If this was a large scale environment it would be best to set up the distribution point using specific names for each model of system in the environment. Although the Dell S4810’s are PowerPC based some switches are x86_64 based, such as the Dell S6000-ON 40GbE switches.
Final Word
The process I used to get Cumulus Linux installed on my lab switches is probably fine for small scale environments and PoC’s. For large scale you will want something more robust and automated. One of the great things about Cumulus being Linux for switches is that it can fit into you existing Linux management and automation frameworks, such as Puppet, Chef and CFEngine. You can completely automate the configuration and management of a large scale switching environment, which when combined with network virtualization by NSX can become incredibly agile and flexible for any type of application workload. I’m working with Cumulus and I will be documenting the official best practices for Cumulus with Nutanix and it will be published on the Nutanix web site once we’re done. Along the way I will bring you any interesting things that I find.
—
This post first appeared on the Long White Virtual Clouds blog at longwhiteclouds.com. By Michael Webster +. Copyright © 2012 – 2014 – IT Solutions 2000 Ltd and Michael Webster +. All rights reserved. Not to be reproduced for commercial purposes without written permission.
A while ago with much fanfare Oracle announced it would no longer develop it’s flagship software and database for use on HPUX and HP’s Itanium platform due to its perception that the platform didn’t have a solid roadmap. This caused a great flurry of lawyers filing papers on HP’s side. But the end result right now after the lawyers got involved Oracle will still be supporting HPUX for the meantime. But who knows how long this will last. So now might be the perfect time to consider migrating your Oracle databases and applications off the HPUX systems (and any other traditional Unix platform) and onto Linux on vSphere. This article will take you through a high level overview of why you should migrate to Linux on vSphere and some of the important considerations and methods to achieve a successfully migration. This is based on the experience I’ve gained from doing a few successful migrations projects, some of which I spoke about during breakout sessions at VMworld US 2012.
Although this article is primarily targeted at customers that wish to consider migration from HPUX to Linux it is also applicable to migrating any other traditional Unix platform to Linux. Before we discuss the migration considerations firstly I’ll cover off why Linux, and why Linux on vSphere.
(Repeated from my article 10 Reasons to Migrate Oracle Databases from Traditional Unix to Linux on vSphere)
The picture below is the high level solution process that I take customers through as part of the Unix to Linux migration and this gives an example of an Oracle migration in this case (same process for SAP, Oracle, Java and other Commercial Off the Shelf or COTS applications). The process is the same for most applications. There will be variations if custom code needs to be ported and/or redeveloped as part of the process. Those migrations are generally more complex.
All of these stages are critical to ensuring a successful outcome to a complicated process. Here are the vSphere Infrastructure specific stages:
Workload Classification
I use a layered multi-dimensional classification process that provides a holistic approach to architecture design and project planning. This helps to develop an understanding of the highest priority applications with the best ROI in the shortest timeframe and also understand the dependencies. Application Blueprinting is a service that VMware Professional Services offers and I highly recommend it as part of this process. The process feeds into the business plan and migration plan and includes Performance Analysis and Classification, Complexity Classification, Service Classification and Service Definition (RPO / RTO, Availability etc), and Financial Classification.
It is important to identify quick wins early on in the process as these will help the project gain momentum. Tackle the low hanging fruit first. I would normally try and use the least complex applications with the highest ROI during the validation and PoC. These would normally be applications that are supported on both the source and destination platform and have a proven migration method that meets the business objectives and availability objectives. The cost and complexity of the migration process itself should be a major consideration to the project.
Testing and Validation
Testing and validation of the solution and also the migration plans needs to be very thorough. There is a very good reason these systems have been deployed on traditional Unix platforms. You need to take a very diciplined approach to planning, migration, design and validation in order to ensure success. Here are a list of areas I recommend you cover in your test planning.
I recommend that you ensure that all your key business and technical objectives are not only designed into your solution and migration plans but also tested as part of the verification process.
Migrate in Phases
I recommend a phased approach to migration where Dev / Test proceeds before Production. This is mostly just common sense. It allows you to become familiar with the process and also get a full understanding of the environnent prior to taking on the production workloads.
Ensure Application and Systems Owners and Business Stakeholders are a Key Part of the Team
If you don’t have the applications and systems owners and key business stakeholders as part of your project steering committee and playing an active part in your project you will struggle. It’s important that the project and everyone involved is focusing very intently on building a solution that meets all the business and technical requirements and that it proves the benefits that have been put forward in the business case. If you can get senior leadership buy in at an early stage you will find the process much smoother. Don’t underestimate the operational changes that will be required to operate in the newly virtualized environment. Many applications and systems owners will need different access so they can assure themselves of performance and availability objectives. Make them part of the testing proces. I have done this successfully on many occasions with large enterprise Java migrations, SAP and Oracle DB and Oracle Applications migrations. Although some members of the team may not be completely on board at the start by the finish they can’t understand why they didn’t do this years ago. But it will take a lot of effort. It certainly helps to have someone on your team that has done this many times before. So consider engaging VMware Professional Services, or a VMware Partner that has gained competence in these types of projects and is accredited under the VMware Virtualizing Business Critical Apps competency.
When should you think about kicking off a migration project?
The most appropriate time will depend on your business but generally the following may present good opportunities to start a migration project:
Other reasons to consider a migration or creating a new platform include:
The above list is not exhaustive but it is a good list of tools that may help you on your Unix to Linux Migration project journey.
It’s not just you, many organizations are virtualizing critical business applications and migrating off traditional Unix platforms. Over 40% of VMware customers are already virtualizing things like Oracle DB and Oracle applications (Source: VMware Statistics up to July 2012). VMware has the industry leading hypervisor that can deliver the rock solid SLA’s and predictability and performance that your applications need. There are people within VMware Professional Services and Partner companies who have been delivering these projects for many years that can help you.
The savings can be astronomical. One of my customers saved 90% CAPEX and almost the same OPEX after they virtualized all of their critical Oracle systems from previous SPARC E25K platforms. The whole project including software, services and hardware was less than 30% more than the cost of annual maintenance alone. But the new platform had 3 years maintenance built in. At the same time they also achieved 5 x the performance of the pervious system (measured by transaction latency and throughput).
For additional information on virtualizing Oracle visit my Oracle Page.
—
This post first appeared on the Long White Virtual Clouds blog at longwhiteclouds.com, by Michael Webster +. Copyright © 2012 – IT Solutions 2000 Ltd and Michael Webster +. All rights reserved. Not to be reproduced for commercial purposes without written permission.
This article provides an overview of what I believe are 10 good reasons why you should seriously consider migrating Oracle Databases off traditional Unix platforms to VMware vSphere based on my experience managing, designing and implementing such projects.
Here is my top 10 list. I’d be interested to get your feedback and thoughts on what other reasons are your key drivers for considering a migration to Linux on vSphere.
Although not in the top 10 list something worth considering is that you are entitled to use an unlimited number of virtualzed Suse Linux Enterprise Server (SLES) 11 SP1 instances and receive patches as part of your vSphere licenses as part of an OEM agreement that VMware has with Novell. There is a fee per physical ESXi host if you wish to add phone support. See the VMware Suse Linux Enterprise Server for VMware site for details.
For additional information on virtualizing Oracle visit my Oracle Page.
—
This post first appeared on the Long White Virtual Clouds blog at longwhiteclouds.com, by Michael Webster +. Copyright © 2012 – IT Solutions 2000 Ltd and Michael Webster +. All rights reserved. Not to be reproduced for commercial purposes without written permission.