Here’s the ‘script’ read from while doing our ESX upgrades:
In general:
- Do lots of up front work with kickstarts and analysis
Each ESX Host
- Put host in maintenance mode
- Shut Down
- File request with storage administrator to make only boot LUN is visible to host as we are about to do some potentially damaging operations
- Put in new HBA (QLA4050)
- Boot to floppy diskette with QLA 4050 BIOS firmware updates
- Upgrade HBA BIOS
- iFlash
- If the system detects a QLx40xx controller, it displays the following message:
- QLx40xx Adapter found at I/O address: xxxxxxxx
- You will need to enter the adapter address
- Select “FB” to flash the BIOS. The iFlash program will write flash to the adapter using ql4022rm.BIN found in the same directory.
- Reboot. Press CTRL+Q on the second (new) HBA to manage boot settings
- Configure Host Adapter according to IP / initiator name
- Configure iSCSI Target
- You will need:
- iSCSI name
- IP Address
- Subnet Mask
- Default Gateway
- iSCSI Target
- IP Address:port
- Target Name
- Host Boot Settings = MANUAL
- Exit and Reboot
- Insert ESX 3.5 U4 CD (We don’t have PXE boot available yet)
- Reboot system to boot from ESX 3.5 U4 CD
- Install ESX 3.5 U4
- type ’
esx ks=<url to kickstart file> ksdevice=eth0 method=cdrom
’ - More on the kickstart file is here
- Press enter. This installs ESX with all appropriate settings. Ask someone for the root password.
- Log in as root
- sh iscli-script.sh (from the kickstart)
- sh huk-install.sh (from the kickstart)
- Launch VirtualCenter
- Disconnect the host from VirtualCenter (Right click, disconnect)
- Reconnect the host to VirtualCenter (Right click, connect)
- Enter maintenance mode (so no VMs are vMotioned on)
- VMotion doesn’t get set up correctly via kickstart because the host does not have shared storage. Contact the SAN Administrator to make the other ESX LUNs visible and rescan.
- Delete the VMKernel Switch
- Add the VMkernel switch (nic4 and nic5), enabling vmotion.
subnet - no default GW since not routed - Configuration -> Memory -> Increase Service Console RAM to 800MB
- Configure Storage Paths in Active/Passive
- Reboot Host (to enact Service Console RAM changes)
- Exit Maintenance Mode
vCenter Database Server
- Manually backup VMware database
[sourcecode language=‘sql’]BACKUP DATABASE [VMWare] TO DISK = N’C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\VMWare\VMWare_backup_preupgrade.bak’ WITH NOFORMAT, NOINIT, NAME = N’VMWare-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO[/sourcecode]
- Manually backup UpdateManager
[sourcecode language=‘sql’]BACKUP DATABASE [UpdateManager] TO DISK = N’C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\UpdateManager\UpdateManager_backup_preupgrade.bak’ WITH NOFORMAT, NOINIT, NAME = N’UpdateManager-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO [/sourcecode]
- Grant MSDB owner permissions for SQL user
[sourcecode language=‘sql’]USE [msdb]GO
EXEC sp_addrolemember N’db_owner’, N’USER’
GO[/sourcecode]
vCenter Server
- Log in as local administrator
- Back up the License File
copy "C:\Program Files\VMware\VMware License Server\Licenses\vmware.lic" \\server\share\vmware-license-backup.lic
- Mount vCenter DVD ISO
- Back up sysprep files for templates
copy C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\sysprep\.* \\server\share
- Run vCenter Install
- Reboot Server
- Notify users of upgrades
- Schedule times for VMware Tools Upgrades
vCenter Database Server
- Revoke MSDB owner permissions for SQL user
[sourcecode language=‘sql’]USE [msdb]GO EXEC sp_droprolemember N’db_owner’, N’USER’ GO [/sourcecode]