new1234.jpg

Archive

Posts Tagged ‘vSphere 4.1’

VMware: List all RDM disks in Hosts and Virtual Machines via PowerCLI

August 3rd, 2011 9 comments

To prepare a SAN to SAN migration I need to list all virtual machines with RAW Device Mappings, I found a very nice script at Pastebin (I’ve this you’re script, please comment to receive the credits), the script:

$report = @()
$vms = Get-VM | Get-View
foreach($vm in $vms){
     foreach($dev in $vm.Config.Hardware.Device){
          if(($dev.gettype()).Name -eq "VirtualDisk"){
               if(($dev.Backing.CompatibilityMode -eq "physicalMode") -or
               ($dev.Backing.CompatibilityMode -eq "virtualMode")){
                    $row = "" | select VMName, VMHost, HDDeviceName, HDFileName, HDMode, HDsize, HDDisplayName
                    $row.VMName = $vm.Name
                    $esx = Get-View $vm.Runtime.Host
                    $row.VMHost = ($esx).Name
                    $row.HDDeviceName = $dev.Backing.DeviceName
                    $row.HDFileName = $dev.Backing.FileName
                    $row.HDMode = $dev.Backing.CompatibilityMode
                    $row.HDSize = $dev.CapacityInKB
                    $row.HDDisplayName = ($esx.Config.StorageDevice.ScsiLun | where {$_.Uuid -eq $dev.Backing.LunUuid}).DisplayName
                    $report += $row
               }
          }
     }
}
$report

image

Ps. the script can take a while to list…

Categories: VMware Tags: , , , , ,

VMware: Easy upgrade ESXi 4.1 to ESXi 5.0

July 13th, 2011 28 comments

Last night I did an upgrade from vSphere ESXi 4.1 to ESXi 5.0 using the ESXi 5 installation CD. The upgrade process was very easy.. elapsed time: 10 minutes!

image

^ Current installed OS: VMware ESXi 4.1.0 build 260247

- Mount the vSphere 5.0 cd-rom in the host
- Boot from CD-Rom drive

image.

- Choose: ESX-5.0.0 Installer in the menu

Read more…

VMware: Configure new vSphere 4 host with PowerCLI

July 5th, 2011 No comments

I’ve created a PowerCLI script that can be used to configure a vSphere 4 host with a custom configuration. And you can select in the menu to configure the host (option 1) + you can select (option 2) to add the host into a cluster on a vCenter Server. I’ll update this post with new configurations/versions, I’m still a PowerCLI beginner so.. please comment if you have any tips or suggestions.

Menu:

1. Configure new vSphere host:

- Connect vSphere host;
- Enter maintenance;
- Set the hostname and domain name;
- Configure DNS settings;
- Configure NTP Server;
- Configure Support User;
- Enable the software iSCSI initiator;
- Delete the default VM Network;
- Configure vSwitch0 – Management / vMotion (incl. failover en load balancing);
- Configure vSwitch1 – Network;
- Configure vSwitch2 – iSCSI (incl.VMkernels + failover en load balancing);
- Configure iSCSI target address;
- Exit Maintenance Mode

2. Configure new vSphere host to vCenter Server

- Connect vCenter server;
- Add vSphere Host to vCenter server;
- Re-Balance Cluster

0. Quit

The script: [updated: 07/07/2011 - v.1.5]

#====================================================================#
#   SCRIPT:        Configure_new_ESXi_Host_Menu.ps1                  #
#   FUNCTION:      Configure fresh installed host                    #
#   CREATED:       05/07/2011                                        #
#   MODIFIED:      07/07/2011                                        #
#   VERSION:       v.1.5                                             #
#====================================================================#
#   CHANGELOG:                                                       #
#                                                                    #
#    v.1.5                                                           #
#	 - Added answer field to configure host;                         #
#	 - Added start menu: config host and add to vCenter server       #
#	 - Hide config output, show's only when failure;                 #
#                                                                    #
#====================================================================#
# START MENU                                                         #
#====================================================================#
do {

Write-Host "Please make your choise:" -foregroundcolor yellow
Write-Host " 1. Configure new vSphere host"
Write-Host " 2. Configure new vSphere host to vCenter Server"
Write-Host " 0. Quit"
Write-Host " "
$response = Read-Host "Select 0-2"
Write-Host " "

switch ($response)
{
1 {
#====================================================================#
#   HOST = CUSTOM DEFINITIONS                                        #
#====================================================================#
$ESX_host = read-host "Select ESXi host by DNS to connect"
$newhostname = read-host "Select hostname to configure"
$newdomainname = read-host "Select domain name to configure"
$root_user = "root"
$root_password = read-Host "Select root password to connect"
$new_user = read-host "Select extra username to configure"
$new_user_password = read-Host "Select extra password to configure"
$dns01 = read-host "Select Primary DNS to configure"
$dns02 = read-host "Select Secundary DNS to configure"
$VMK01 = read-host "Select iSCSI VMkernel01 to configure"
$VMK02 = read-host "Select iSCSI VMkernel02 to configure"
$iSCSIsub = read-host "Select iSCSI Subnet Mask to configure"
$iSCSItarget = read-host "Select iSCSI target to configure"
$vMotiontcp = read-host "Select vMotion VMkernel to configure"
$vMotionsub = read-host "Select vMotion Subnet Mask to configure"
$NTPServer01 = "0.pool.ntp.org"
$NTPServer02 = "1.pool.ntp.org"
Write-Host "vSphere Host-configuration will begin..." -foregroundcolor Green
#====================================================================#
Write-Host "Connect to the target ESXi Host" -foregroundcolor green
#====================================================================#
Connect-VIServer "$ESX_host" -User "$root_user" -Password "$root_password"
Sleep 10
#--------------------------------------------------------------------#
Write-Host "Enter Maintenance mode" -foregroundcolor green | out-null
#--------------------------------------------------------------------#
Get-VMHost | Set-VMHost -State maintenance | out-null
#--------------------------------------------------------------------#
#
#
#====================================================================#
# ***CONFIGURE HOST SETTINGS***                                      #
#====================================================================#
Write-Host "Set the hostname and domain name" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHostNetwork | Set-VMHostNetwork -DomainName $newdomainname -HostName $newhostname | out-null
Sleep 10
#--------------------------------------------------------------------#
Write-Host "Configure DNS settings" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHostNetwork | Set-VMHostNetwork -DnsAddress $dns01 | out-null
#--------------------------------------------------------------------#
Write-Host "Configure NTP Server" -foregroundcolor green
#--------------------------------------------------------------------#
Add-VmHostNtpServer -NtpServer "$NTPServer01" , "$NTPServer02" | out-null
#--------------------------------------------------------------------#
Write-Host "Configure Support User" -foregroundcolor green
#--------------------------------------------------------------------#
New-VMHostAccount -Id "$new_user" -password "$new_user_password" -Description "Tech Support" -AssignGroups root -GrantShellAccess | out-null
#--------------------------------------------------------------------#
#
#
#====================================================================#
# ***CONFIGURE NETWORK***                                            #
#====================================================================#
Write-Host "Delete the default VM Network" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VirtualPortGroup -Name "VM Network" | Remove-VirtualPortGroup -Confirm:$false | out-null
#--------------------------------------------------------------------#
Write-Host "Configure vSwitch0 - Management / vMotion" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VirtualSwitch -Name vSwitch0 | Set-VirtualSwitch -Nic vmnic0,vmnic1 -Confirm:$false | out-null
New-VMHostNetworkAdapter -PortGroup vMotion -VirtualSwitch vSwitch0 -IP "$vMotiontcp" -SubnetMask "$vMotionsub" -vMotionEnabled:$true -Confirm:$false | out-null
get-virtualportgroup -name vMotion | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive vmnic1 | out-null
get-virtualportgroup -name vMotion | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicStandby vmnic0 | out-null
get-virtualportgroup -name "Management Network" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive vmnic0 | out-null
get-virtualportgroup -name "Management Network" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicStandby vmnic1 | out-null
#--------------------------------------------------------------------#
Write-Host "Configure vSwitch1 - Network" -foregroundcolor green
#--------------------------------------------------------------------#
New-VirtualSwitch -Name vSwitch1 -Nic vmnic2,vmnic3 -Confirm:$false | out-null
Get-VirtualSwitch -Name vSwitch1 |Set-VirtualSwitch -NumPorts "256" -Confirm:$false | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "VLAN-100-Production" -VLANID 100 | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "VLAN-200-Management" -VLANID 200 | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "VLAN-300-DMZ" -VLANID 300 | out-null
#--------------------------------------------------------------------#
Write-Host "Configure vSwitch2 - iSCSI" -foregroundcolor green
#--------------------------------------------------------------------#
New-VirtualSwitch -Name vSwitch2 -Nic vmnic4,vmnic5 | out-null
New-VMHostNetworkAdapter -PortGroup "iSCSI01" -VirtualSwitch vSwitch2 -IP "$VMK01" -SubnetMask "$iSCSIsub" | out-null
New-VMHostNetworkAdapter -PortGroup "iSCSI02" -VirtualSwitch vSwitch2 -IP "$VMK02" -SubnetMask "$iSCSIsub" | out-null
get-virtualportgroup -name "iSCSI01" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive vmnic4 | out-null
get-virtualportgroup -name "iSCSI01" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicStandby vmnic5 | out-null
get-virtualportgroup -name "iSCSI02" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive vmnic5 | out-null
get-virtualportgroup -name "iSCSI02" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicStandby vmnic4 | out-null
#--------------------------------------------------------------------#
#
#
#====================================================================#
# ***CONFIGURE STORAGE***                                            #
#====================================================================#
Write-Host "Configure iSCSI target address" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHost | Get-VMHostHba -Type iScsi | New-IScsiHbaTarget -Address "$iSCSItarget" | out-null
#--------------------------------------------------------------------#
Write-Host "Configure iSCSI initiator" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHostStorage | Set-VMHostStorage -SoftwareIScsiEnabled $True | out-null
#--------------------------------------------------------------------#
#
#
#====================================================================#
# ***FINISHING CONFIGURATION***                                      #
#====================================================================#
Write-Host "Exit Maintenance Mode" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHost | Set-VMHost -State connected | out-null
#--------------------------------------------------------------------#
#
#
Write-Host "vSphere Host-configuration has finished.." -foregroundcolor yellow
break;
}
2 {
#====================================================================#
#   vCenter - CUSTOM DEFINITIONS                                     #
#====================================================================#
$vCenterServer = read-host "Select vCenter server to connect"
$vCenterAdministrator = read-host "Select vCenter Administrator"
$vCenterPassword = read-host "Select vCenter Administrator password"
$cluster = read-host "Select Cluster to add host"
Write-Host "vSphere Host will be added in vCenter server..." -foregroundcolor Green
#====================================================================#
Write-Host "Connect to the target vCenter server" -foregroundcolor green
#====================================================================#
Connect-VIServer "$vCenterServer" -User "$vCenterAdministrator" -Password "$vCenterPassword"
#====================================================================#
Add-VMHost $ESX_host -Force -Location (Get-Cluster "$cluster") -User root -Password "$root_password" | out-null
#====================================================================#
#
#
#====================================================================#
# ***FINISHING CONFIGURATION***                                      #
#====================================================================#
Write-Host "Tell DRS to re-balance VMs including the new host" -foregroundcolor green
#====================================================================#
Get-DrsRecommendation -Cluster (Get-Cluster "$cluster") -Refresh | out-null
#====================================================================#
#
#
Write-Host "Host is added to vCenter Server.." -foregroundcolor yellow
break;
}
}

}
while ($response -ne "0")

image

VMware: Change Alarm-Actions with PowerCLI

July 4th, 2011 3 comments

I’m working on a project for a company that is running a big cloud datacenter, the organization is 24/7 and some of my colleagues need to monitor the environment week by week (standby shifts). Once a week we need to change some alarm actions to send the Alarm notifications to a different email address.. because it’s a lot of work to do this by hand I tried to script this.

You must change the email address value in the script.. and automatically change the rest of the definitions.

$MailToRandom1 = "alert_random@vmpros.nl"

Here’s my script:

#====================================================================#
#   SCRIPT:        Change_Alarm_Datacenter.ps1                       #
#   FUNCTION:      Modify multiple Alarm definitions in vCenter      #
#   CREATED:       10/06/2011                                        #
#   VERSION:       v.1.1                                             #
#====================================================================#
#   CHANGELOG:                                                       #
#                                                                    #
#    v.1.1                                                           #
#    - Deleted email body                                            #
#    - Added Alarm definition                                        #
#    - Added changelog                                               #
#                                                                    #
#    v.1.0                                                           #
#    - First Release                                                 #
#                                                                    #
#====================================================================#
# Note: You only have to change the "MailToRandom1" value in "Custom #
#         Definitions" to change the alarm action                    #
#====================================================================#
# Connect vCenter server;
#--------------------------------------------------------------------#
$vCenterServer = "vcenter-server"
$user = "username"
$pass = "password"

if ( $DefaultVIServers.Length -lt 1 )
{
  Connect-VIServer -Server $vCenterServer -Protocol https -User $user -Password $pass -WarningAction SilentlyContinue | Out-Null
}

#--------------------------------------------------------------------#
# Custom Definitions;
#--------------------------------------------------------------------#
$actType = "SendEmailAction"
$MailToRandom1 = "alert_random@vmpros.nl"
$MailToDefault1 = "alert1@vmpros.nl"
$MailToDefault2 = "alert2@vmpros.nl"
$actAlarm1 = "Machine suspended"
$actAlarm2 = "Datastore usage"
$actAlarm3 = "Snapshot alarm"
$actSubject = "Get-AlarmDefinition"
#--------------------------------------------------------------------#
# Delete Alarm Trigger;
#--------------------------------------------------------------------#
Get-AlarmDefinition -Name "$actAlarm1" , "$actAlarm2" , "$actAlarm3" | Get-AlarmAction | Remove-AlarmAction -Confirm:$false
#--------------------------------------------------------------------#
# Create Alarm Trigger;
#--------------------------------------------------------------------#
Get-AlarmDefinition -Name "$actAlarm1" , "$actAlarm2" , "$actAlarm3" | New-AlarmAction -Email -To "$MailToRandom1" , "$MailToDefault1" , "$MailToDefault2"
Get-AlarmDefinition -Name "$actAlarm1" , "$actAlarm2" , "$actAlarm3" | Get-AlarmAction | New-AlarmActionTrigger -StartStatus "Green" -EndStatus "Yellow"
#--------------------------------------------------------------------#
# Disconnect vCenter server;
#--------------------------------------------------------------------#
Disconnect-VIServer -Server $vCenterServer -Force:$true -Confirm:$false
#--------------------------------------------------------------------#

VMware: Configure Multipath Policy via PowerCLI

May 25th, 2011 7 comments

Tonight I need to configure the Multipath Policy from “Most Recently Used” to “Round Robin (VMware) on our vSphere 4.1 and HP EVA6400 environment. After reading “Configuration best practices for HP StorageWorks Enterprise Virtual Array (EVA) family and VMware vSphere 4” I decided to change the path status

To check the status of the Multipath Policy you can run the following PowerCLI script:

Per host:

Get-VMhost ESXHOST | Get-ScsiLun -LunType disk

image

Per Cluster:

Get-Cluster CLUSTERNAME| Get-VMHost | Get-ScsiLun -LunType disk

 

To change the Multipath Policy you can run the following command:

Per Host:

Get-VMHost ESXHOST | Get-ScsiLun -CanonicalName "naa.6005*" | Set-ScsiLun -MultipathPolicy "roundrobin"

image

Result in vCenter:

image

VMware: HP Proliant Support Pack Cleaner v1.5

May 17th, 2011 No comments

Last year I posted an article about the “Proliant Support Pack Cleaner” (PSP), last month I did 28 P2V’s migrations and this software was really helpful. During the VMware Converter Wizard I disabled on the “destination server” the HP PSP Startup services, after the P2V process I runned the PSP Cleaner to remove drivers, services etc.

Guillermo Musumeci released in 08/11/2010 version 1.5

 

Support both x86 and x64 versions of HP Proliant Support Pack.

Run in Unattended mode using /NOGUI parameter.

To run HP Proliant Support Pack Cleaner, you must run as administrator, or disable UAC on Windows 2008.

Software: Download

VMware: Configure AnywhereUSB/5 G2 in a Virtual Machines

April 6th, 2011 9 comments

I’m working on a project to P2V a bunch of servers to a vSphere environment, In the list of servers to P2V I’ve one USB (Hasp Keys) based license server.. to P2V this server we need a TCP/IP USB Hub to connect remotely the Hasp Key. We bought Digi AnywhereUSB/5

 

image

 

AnywhereUSB Device configuration:

image

^ Setup a new root password

image

^ Setup a Static IP Address

image

^ Install the latest firmware

Read more…

VMware: FAILED: Unable to obtain the IP address of the helper virtual machine

March 30th, 2011 11 comments

After migrating the last Linux Suse Enterprise 32-bit physical machine with VMware Converter Standalone 4.3 I received a error:

FAILED: Unable to obtain the IP address of the helper virtual machine

image

Solution:

The solution is simple, by converting the physical machine to a virtual machine the VM will start directly. By starting the VM the mounted Converter ISO will boot with a VM HelperNetwork. In case you’re VLAN doesn’t have DHCP functionality you need to configure a static IP for the VM HelperNetwork.

To  assign a static IP address to the Helper virtual machine, select Use the following IP address: and specify the IP address, subnet mask, and default gateway. Be sure the IP address you specify for the Helper virtual machine is not already in use on the network. 
     
(Optional) To configure the DNS server address manually, select Use the following DNS server address: and type the preferred DNS server address. Optionally, type and alternate DNS server address. 
    
Select another option to set or click Next to view a summary of the conversion task. Converter Standalone uses the IP address and DNS server you specified to copy data from the source Linux machine to the destination virtual machine during conversion.

image

 

The VM will boot with the configured network settings:

image

 

P2V status:

image

VMware: Install HP NMI Sourcing Driver for VMware ESX/ESXi 4.1

March 10th, 2011 4 comments

VMware introduced the capability to register for NMI events in ESX/ESXi 4.1 kernel.

HP is providing the HP NMI Driver (hpnmi) that will work with ESX/ESXi 4.1 kernel to log NMI info to HP Integrated Management Log (IML). Also ESX 4.1 kernel halts the server with PSOD – “Panic requested by 3rd party NMI handlers” to capture a kernel crash dump on panic after an NMI event is received.

If ESX/ESXi 4.1 does not have the HP NMI driver installed and in the event of a hardware fault, HP ProLiant systems may not shutdown due to the NMI event. The NMI event will be logged in the kernel logs and the system will continue execution.

Installation:

esxupdate –bundle=hp-nmi-bundle-1.1.02.zip update

image

Download agent: HP