vRA 6.2 to vRA 6.2.1 Upgrade How to.

There isn't any documentation that I can find for the upgrade notes for 6.2.1 vRA yet, however that didn't stop me from upgrading our dev environment to check it out!

UPDATE: 3/17/2015, our VMRC proxy wasn't working, there is a tiny mention of port 8444 here . don't forget to add a virtual pool and members for port 8444 behind the load balancer! (we are using F5)

Suppose to follow the documentation for 6.2, but there are a few things that need to noted.

you finally don't have to upgrade .NET, which is amazing.

snapshot everything!!! and don't forget to back up your database!
Get-ResourcePool vcac03* | Get-VM | New-Snapshot -Name "pre-6.2.1" -Memory:$false -Quiesce:$false

got to love me some powercli :)

First, make sure your dim status is showing up as excuting zero work loads, other wise database upgrade issues will happen.

if it's not zero wait a few mins and check again, it will be!

after that stop the vcac services on the following boxes in this order:
Proxy
DEMs
MGR - orchestrators
MGR - service
next attach the update repo iso (VMware-vCAC-Appliance-6.2.1.0-2553372-updaterepo.iso) it to the cd-rom drive, log into the first app box and go under update - settings - choose cd -rom, then go back to status and check for updates.

after that click install and wait 15 mins or so, stay on that page and DON'T do anything. it will display below

after that reboot and wait for 15 mins and you'll have 29 services. (note the console proxy is not registered yet in this picture)

download the dbupgrade script and run it against the sql database, shouldn't take long at all... (few seconds) you can see the schema has in fact been updated so make sure this is done!

when that is done hop onto the iaas box and download the iaas installer from the 6.2.1 web app box

(note: run the installer on the iaas box.... thanks Jonathon...)

up next go down the line in order below

mgr service
mgr orchestrators
DEM workers
Proxies

after that you are done!! congratulations!

move on the vco boxes and call it a day.
power them off and snap them then power them back on!

Get-ResourcePool vcac03* | Get-VM | New-Snapshot -Name "6.2.1-done" -Memory:$false -Quiesce:$false

curious thing I noticed that was the build on the webpage is Build 6.2.1-2543390, however for the app it is Appliance Version: 6.2.1.0 Build 2553372

quick way to upgrade hosts

quick way to upgrade a host with no vCenter (or when it's down, like a home lab all in one)

esxcli network firewall ruleset set -e true -r httpClient
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-5.5.0-20141204001-standard

checking cluster enic fnic and driver vers

Get the enic and fnic and check for any drivers that are NOT the VMware ones.

$vmhs = Get-Cluster dc1-clv07 | Get-VMHost | sort Name
foreach ($vmh in $vmhs){
Write-Host $vmh.Name " - " $vmh.build -ForegroundColor Blue
#$vmh = Get-VMHost "ral-dev-esx27.rd.allscripts.com"
$esxcli = Get-EsxCli -VMHost $vmh
$face = $esxcli.software.vib.list()
$face | where {$_.Vendor -ne "VMware"} | ft Name,Vendor,Version
$esxcli.system.module.get("enic").version
$esxcli.system.module.get("fnic").version
Write-Host ""

NFS Datastores - All host in the cluster

This code goes through every nfs datastore in every host in a cluster and makes sure it's on every other host, it's useful

$refhosts = Get-Cluster cluster1 | Get-VMHost | sort name
$desthosts = Get-Cluster cluster1 | Get-VMHost | sort name
foreach ($refhost in $refhosts){
foreach ($desthost in $desthosts){
foreach($nfs in (Get-VMhost $refhost | Get-Datastore | Where {$_.type -eq "NFS"} | Get-View)){
$remoteip = $nfs.Info.Nas.remotehost
$shareName = $nfs.info.nas.remotepath
$nfsname = $nfs.Info.name

Get-VMHost $desthost | Get-Datastore | Where {$_.Name -eq $nfsName -and $_.type -eq "NFS"} -ErrorAction SilentlyContinue
If ((Get-VMHost $desthost | Get-Datastore | Where {$_.Name -eq $nfsName -and $_.type -eq "NFS"} -ErrorAction SilentlyContinue )-eq $null){
Write-Host "NFS mount $shareName doesn't exist on $($desthost)" -fore Red
New-Datastore -Nfs -VMHost $desthost -Name $nfsname -Path $shareName -NfsHost $remoteip | Out-Null
}
}
}}

vcac 6.0.1.1 update changes configuration files.

So there is a little issue when upgrading to 6.0.1.1 from 6.0.1 (which is the only supported way.. have to upgrade to 6.0.1 from 6.0 first).
This has only been noticed on the ISO attached cd rom for the update, so I don’t know about the others (seeing how it’s not released on the repository yet)

That removes A LOT of info from the server information. Like it’s db connection, it’s cluster settings… etc.. etc…
Here are the files I have noticed it changing (note only the files that are talked about in the distributed architecture have been checked against, so more configuration file might have actually been changed)
Located in /etc/vcac/
encryption.key
security.properties
server.xml
setenv-core
solution-users.properties
vcac.keystore
vcac.properties

Located in /etc/apache2
server.pem

the two files that are changed

The following files are changed,
Server.xml
setenv-core

The lines are missing in setenv-core for clustering and the café.node
VCAC_OPTS="$VCAC_OPTS -Dspring.profiles.active=default,cluster"
VCAC_OPTS="$VCAC_OPTS -Dcluster.cache.invalidation.poll.enabled=true"

Server.xml appears to be a different format all together, but contains the data, here you can see where it over wrote the database connection in Global Naming Resources, not sure what else has changed here.
the local host setting for clustering appears changed
However we are manually reconfiguring those two files and modifying the the café.node. instance id manually.

Just throwing this out there for anyone that is about to uprade to 6.0.1.1, you have been warned!!

vcpus, more the merrier? pt2

a while ago I published a blog post that is located here that talked about the concept that more vcpus don't necessary mean more performance, due to ready time, cpu timing and various other things. Read more on the blog post above if you are looking for more information!

This client went live with there system and was experiencing some database time outs, some sluggishness for consumer reports and meter usage. nothing something you want to have happen...

I was able to convince the vendor to let me actually try to REDUCE the number of cpus from 8 to 4, if you recall last time, the server was at 16.3% rdy for barely any load, it moved up to 28.9% during some data migration testing. so, let's see the results with the cpus reduced....

as you can see it's not 2.64% ! amazing!!!

the VM was no longer having any performance issues, was generating reports over 4x faster, and had no hiccups or sluggishness about it!
less cpus = more work!

If you look at the picture you will notice there are 43 vms on this host... with 59 vcpus. running the math 59/16 = 3.6875, so the ratio is 3.6875 vcpus to 1 pcpus. The VM runs around 13% util with burst of 66%, we could drop it down to 2 cpus or 3 cpus for even better ratios, and even more performance to all vms, however, the vendor still wont let me :)

so there we have it, proof, more cpus, doesn't always mean better performance, and can in some cases, hurt performance.

always remember to start with low vcpus and move up, it'll make the VMadmins and the VMs happy!

Oracle on VMware Lic and Support

This will hopefully be a good article for the SMB’s and all my COOP friends over something that is a pain point… Oracle Licensing, and support, first off let me state that there will be multiple links on this post. Some will explain and go to direct links and some will be to other blogs. This will cover Oracle Database Standard edition. That appears to be what is typically deployed in the COOP land

First, let’s talk about support:

http://www.vmware.com/support/policies/oracle-support.html
VMware says they got your back if oracle tells you to reproduce on physical hardware (which I have NEVER, NEVER, EVER NOT ONCE seen)
https://blogs.oracle.com/UPGRADE/entry/is_oracle_certified_to_run_on
Note you will need a support account to view above.

Now that we are all happy because Oracle is supported, let’s move on!
http://www.oracle.com/us/products/database/standard-edition/comparisons/index.html
Oracle states max of 4 sockets; this is fine since mostly all servers in the SMB land are 2 socket.
Standard edition is licensed as follows:
“Standard Edition Per-socket licensing
If you use Standard Edition or Standard Edition One on a 2 processor system you simply need 2 licenses. However, if you use Enterprise Edition you need to take the number of cores into account as well.”
http://www.orafaq.com/wiki/Oracle_licensing#Processor_licensing
Oracle defines VMware as “Soft partitioning”
http://www.oracle.com/us/corporate/pricing/partitioning-070609.pdf
This states the following:
“Soft partitioning is not permitted as a means to determine or limit the number of software licenses required for any given server.”
So you have to License the Physical host based on the number of CPU sockets installed.…
Nowhere does oracle state that you have to license EVERY HOST in a cluster, just the ones where the application is installed,

http://longwhiteclouds.com/2013/06/04/the-fud-strikes-back-oracle-licensing-on-vmware/
“The OLSA does not say you must license every host where Oracle might possibly at some point in the future be installed and/or run, else you would have to license every host in your datacenter. Do you need to license all hosts connected into every SAN where Oracle is installed and/or run? NO! You must license the hosts were Oracle IS installed and/or run. As soon as a VM comes onto an unlicensed host, or Oracle is installed and/or run on an unlicensed host, then you must license that host, end of story.”

Summary:
Now then, once you license a CPU, any VM can run that version of Oracle without the need for addition Licenses.. So let’s Simply create a DRS rule that states the oracle VMs HAVE to run on a host, this is easy. So now that is done, run as many Oracle Standard Edition, in as many VMs are you want too!
Knowing this will hopefully prevent my client from purchasing another piece of physical hardware, and it will cover them for DR.
They will get 4 or 6 licenses, this will cover 2 or 4 cpus at HQ, and 2 at dr, they will be fully covered on Oracle as I will have audit logs saved for vMotion and drs events. If customer decides to do 4 cpu at hq then we have maintenance without shutting down the guest VMs
This will allow them to be uber flexible with everything, and save some cash due to reduced hardware and all the other fun things virtualization brings, as well as adhere to their virtualization first policy!

Alan

Links:
VMware:
https://www.vmware.com/files/pdf/techpaper/vmw-understanding-oracle-certification-supportlicensing-environments.pdf

“When a customer does not have enough Oracle application instances to justify creating a dedicated cluster
for those applications, only a subset of the hosts in the cluster are licensed for the Oracle application….
. At present, Oracle does not have any stated policy regarding clustering mechanisms or DRS Host Affinity. Customers can easily maintain records for compliance..”

http://blogs.vmware.com/apps/2012/11/update-on-virtualizing-oracle.html
http://www.vmware.com/support/policies/oracle-support.html
Oracle:
http://www.oracle.com/us/corporate/contracts/license-service-agreement/index.html
http://www.oracle.com/us/corporate/pricing/partitioning-070609.pdf
https://blogs.oracle.com/UPGRADE/entry/is_oracle_certified_to_run_on
Community Blogs:
http://longwhiteclouds.com/2012/07/21/fight-the-fud-oracle-licensing-and-support-on-vmware-vsphere/
http://longwhiteclouds.com/2013/06/04/the-fud-strikes-back-oracle-licensing-on-vmware/

powershell esxcli set psp

$face = Get-Cluster HQ | Get-VMHost | Get-ScsiLun -LunType disk | Where {$_.MultipathPolicy -ne “RoundRobin”}

Get-Cluster [ClusterName] | Get-VMHost | Get-ScsiLun -LunType disk | Where {$_.MultipathPolicy -ne “DELL_PSP_EQL_ROUTED  ”} | Set-ScsiLun -MultipathPolicy “RoundRobin”

$face = Get-VMHost "esxi-hq-03*" | Get-ScsiLun -LunType disk | Set-ScsiLun -MultipathPolicy “Unknown”

$esxcli = Get-EsxCli -VMHost "esxi-hq-03*"
 $esxcli.storage.nmp.psp.list()


esxcli storage nmp device set --device naa.64ed2ac55694dea85e16f5d08d01e0dd --psp DELL_PSP_EQL_ROUTED

$meh = $esxcli.storage.nmp.device.list()
: VMW_PSP_MRU

$meh2 = $meh | where {$_.Device -like "naa.64ed*"}

foreach ($ds in $meh2){
$esxcli.storage.nmp.device.set($null,$ds.Device, "DELL_PSP_EQL_ROUTED")
}

nfs with oi (or anything it seems) and esxi

don't forget to add /etc/hosts for all nfs clients (esxi) if your dc is virtual you would be able to mount the ds and it gets really annoying.

how to make an iso with the latest image!

ever wanted to make an ISO with the latest stuff so no need to reinstall or reupdate the host?


Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Get-EsxImageProfile ESXi-5.1.0-20130304001-standard | Export-EsxImageProfile -ExportToIso -FilePath C:\AlanTemp\esx51latest.iso

WordPress Themes