VMware Cloud Community
ColoradoCloud
Contributor
Contributor

ESXi 6.5.0 hangs during uploads of ISO to Datastore

Brand new R330

PERC H730

5 X Disk SAS 931GB RAID 5 (Datastore1)

32GB USB Internal (ESXi)

32GB RAM

Very Typical small business setup.

Fresh ESXi 6.5.0 installed yesterday to internal USB drive, setup portal, login to portal locally using Edge, Chome, FF, IE, tried them all, edge works best. Added vm's, added new Datastore1-full partition, created new ISO folder in Datastore1, upload button, browse, choose Windows Server 2012R2 STD.ISO,  the upload gets to about 78% then hangs forever. Cannot ever finish any ISO, tried other ISO, and they all hang after a certain point.

Any ideas?

Tried different folders, sub folders, they all do the same thing. Smaller files work fine, I think it only happens when the files are larger than 4GB.

I added a screenshot, showing that vsphere is still "running" in the background at 79%, but the window opened thinks the upload finished and is only 4GB. This ISO is 5.6GB.

v6.5isouploadproblem.JPG

15 Replies
dja234
Enthusiast
Enthusiast

have you ever tried to add iso from different workstation. Also there is a workaround. if you have windows 2012/2008 server, just create nfs and mount that nfs as a datastore to the esx host.

How to Enable NFS on Windows 2008 and Present to ESX - Support Insider - VMware Blogs

Darshana Jayathilake
Reply
0 Kudos
ColoradoCloud
Contributor
Contributor

We tried 3 different systems today. Same problem. I just whacked the datastore and re-created, it was on a VMFS 5, this one is now the VMFS 6. (I'll be sure to update the status if this fixes the issue)

This is a brand new site, there are no other servers in the site. So an NFS route isn't an option at this time, we are unable to upload an ISO to install an operating system in the first place.

Such a silly problem to post about.

Reply
0 Kudos
Sreejesh_D
Virtuoso
Virtuoso

have you tried uploading using vsphere C# client (fat client)? give a try with that. vSphere 6 client will work with 6.5 hosts. Connect to the host directly and try uploading the iso.

Reply
0 Kudos
a_p_
Leadership
Leadership

The ESXi 6.5 installation image contains version 1.8 of the Host Client, and the current version is 1.18. I'd suggest you either update/patch the host with the latest available patch bundle, or update at least the Host Client (see e.g. https://esxi-patches.v-front.de/ESXi-6.5.0.html for the download link).
Please note that Microsoft's Internet Explorer has a maximum size limit of 4GB when it comes to uploads, so ensure that you use another browser.

André

JCoburnHW
Contributor
Contributor

I was experiencing the same issue in my lab environment:

Dell PowerEdge R720

1x Intel Xeon E5-2620 @ 2.00 GHZ

32GB RAM

PERC H710

8x 2TB in RAID 50

ESXi 6.5 installed on internal SD

When uploading Windows Server 2012R2 Standard .ISO (5.02GB) through web (IE11 on Windows 8.1) and leaving datastore browsing window open, count would reach 100%, but in Recent Tasks, upload would stick at ~80%.  Uploading exact same .ISO to ESXi 6.0 through same IE11 on Windows 8.1 would complete 100% - both in datastore browsing window and in Recent Tasks.

Attempting to using Google Chrome failed.  (This piece is different issue) Once logged in, I would get an Unhandled Exception.  Only choices are to Cancel or Reload.  Every time I clicked Reload, I'd get kicked back to the login screen.

Using Firefox, everything works as advertised - uploads complete 100%, and no errors logging in.

TariqK
Contributor
Contributor

I can confirm that I am also experiencing this problem and that using other browsers:

- Chrome

- IE

- Edge

- Firefox (Quantum)

Do not work.

Is there an official bug listing for this issue?

Reply
0 Kudos
avenuce
Contributor
Contributor

Hi everybody.
Try to use ovf tools + cmd or power shell.

open ovftool directory with cmd andr run:
ovftool.exe "Parth\to\img.iso" "vcloud://@your.cloud.com:?org=yourOrg&vdc=ypurVdcName&media=nameOfIso&catalog=NameOfCatalog" //you may have other path to vcloud catalog.

I wrote a script.

Save this in .txt and change into .ps1. Then start it and follow graphic interface...
Put your iso, input nave of your vdc, iso, catalog, org, enter log+pass.
change My,cloud.by into your cloud url.

[string]$ovftool62FilePath = "C:\Program Files (x86)\VMware\Client Integration Plug-in 6.2\ovftool\ovftool.exe"

[string]$ovftool60FilePath = "C:\Program Files (x86)\VMware\Client Integration Plug-in 6.0\ovftool.exe"

[string]$ovfDefaultPath = ''

# form object - get file path

Function Get-FilePathToOfvtoolexe () {

[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null

$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog

$OpenFileDialog.Title = "Set path for ovftool.exe"

$OpenFileDialog.ShowDialog() | Out-Null

return $OpenFileDialog.FileName.ToString()

}

Function Get-FilePathToOsImg () {

[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null

$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog

$OpenFileDialog.Title = "Set path for OS image:"

$OpenFileDialog.ShowDialog() | Out-Null

return $OpenFileDialog.FileName.ToString()

}

write-host "Set path for ovftool.exe:" -ForegroundColor Green

# find ovftool executable file path

if (Test-Path -Path $ovftool62FilePath) {

# vesion 6.2

$ovfDefaultPath = $ovftool62FilePath

write-host " - Default path: $ovfDefaultPath" -ForegroundColor Green

}elseif (Test-Path -Path $ovftool60FilePath){

# vesion 6.0

$ovfDefaultPath = $ovftool60FilePath

write-host " - Default path: $ovfDefaultPath" -ForegroundColor Green

}else {

# client choose path

$ovfDefaultPath = Get-FilePathToOfvtoolexe

write-host " - Default path: $ovfDefaultPath" -ForegroundColor Green

}

write-host "Get image file path" -ForegroundColor Green

$getVMWareImg = Get-FilePathToOsImg

write-host " - OS image file path: $getVMWareImg" -ForegroundColor Green

# here is your script

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

$objForm = New-Object System.Windows.Forms.Form

$objForm.Text = "Data Entry Form"

$objForm.Size = New-Object System.Drawing.Size(505,250)

$objForm.StartPosition = "CenterScreen"

$objForm.KeyPreview = $True

$objForm.Add_KeyDown({

if ($_.KeyCode -eq "Enter" -or $_.KeyCode -eq "Escape"){

$objForm.Close()

}

})

$OKButton = New-Object System.Windows.Forms.Button

$OKButton.Location = New-Object System.Drawing.Size(50,160)

$OKButton.Size = New-Object System.Drawing.Size(75,23)

$OKButton.Text = "OK"

$OKButton.Add_Click({$objForm.Close()})

$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button

$CancelButton.Location = New-Object System.Drawing.Size(150,160)

$CancelButton.Size = New-Object System.Drawing.Size(75,23)

$CancelButton.Text = "Cancel"

$CancelButton.Add_Click({$objForm.Close()})

$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label

$objLabel.Location = New-Object System.Drawing.Size(10,20)

$objLabel.Size = New-Object System.Drawing.Size(280,20)

$objLabel.Text = "Please enter the information in the space below:"

$objForm.Controls.Add($objLabel)

$objLabel1 = New-Object System.Windows.Forms.Label

$objLabel1.Location = New-Object System.Drawing.Size(280,40)

$objLabel1.Size = New-Object System.Drawing.Size(280,20)

$objLabel1.Text = "Payer's Account Number (УНП)"

$objForm.Controls.Add($objLabel1)

$objLabel2 = New-Object System.Windows.Forms.Label

$objLabel2.Location = New-Object System.Drawing.Size(280,70)

$objLabel2.Size = New-Object System.Drawing.Size(280,20)

$objLabel2.Text = "VDC name"

$objForm.Controls.Add($objLabel2)

$objLabel3 = New-Object System.Windows.Forms.Label

$objLabel3.Location = New-Object System.Drawing.Size(280,100)

$objLabel3.Size = New-Object System.Drawing.Size(280,20)

$objLabel3.Text = "Disk image name (name.extension)"

$objForm.Controls.Add($objLabel3)

$objLabel4 = New-Object System.Windows.Forms.Label

$objLabel4.Location = New-Object System.Drawing.Size(280,130)

$objLabel4.Size = New-Object System.Drawing.Size(280,20)

$objLabel4.Text = "Catalog name (existing)"

$objForm.Controls.Add($objLabel4)

$orgName = New-Object System.Windows.Forms.TextBox

$orgName.Location = New-Object System.Drawing.Size(10,40)

$orgName.Size = New-Object System.Drawing.Size(260,20)

$objForm.Controls.Add($orgName)

$vdcName = New-Object System.Windows.Forms.TextBox

$vdcName.Location = New-Object System.Drawing.Size(10,70)

$vdcName.Size = New-Object System.Drawing.Size(260,20)

$objForm.Controls.Add($vdcName)

$imgDiskName = New-Object System.Windows.Forms.TextBox

$imgDiskName.Location = New-Object System.Drawing.Size(10,100)

$imgDiskName.Size = New-Object System.Drawing.Size(260,20)

$objForm.Controls.Add($imgDiskName)

$catalogName = New-Object System.Windows.Forms.TextBox

$catalogName.Location = New-Object System.Drawing.Size(10,130)

$catalogName.Size = New-Object System.Drawing.Size(260,20)

$objForm.Controls.Add($catalogName)

$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})

[void]$objForm.ShowDialog()

#end

write-host "Specify vcloud param" -ForegroundColor Green

$orgName = $orgName.Text

$vdcName = $vdcName.Text

$imgDiskName = $imgDiskName.Text

$catalogName = $catalogName.Text

$vcloudCommand = ('"vcloud://@MY.cloud.by:443/?org={0}&vdc={1}&media={2}&catalog={3}"' `

-f $orgName, $vdcName, $imgDiskName, $catalogName)

write-host " - vcloud param: $vcloudCommand" -ForegroundColor Green

Write-Host ('Execute command: {0} "{1}" {2}' -f $ovfDefaultPath, $getVMWareImg, $vcloudCommand ) -ForegroundColor Yellow

& $ovfDefaultPath "$getVMWareImg" $vcloudCommand

}

Reply
0 Kudos
TariqK
Contributor
Contributor

Further to my last post, I can confirm that I was able to transfer the ISO over to ESXi over SFTP.

Its a decent workaround until it works via the GUI.

For anyone interested in how to do this, its written up here. Quick and easy.

vijayrana968
Virtuoso
Virtuoso

1. If you're using vSphere Web client via vCenter URL, make sure client integration plugin is installed from Web Client URL.

2. If you're using Host embedded client, make use its up to date.

3. Additionally you can try vSphere Client c# version to isolate issue.

I mostly use SFTP to upload files on hosts, but that could be limited to security policy company to company. These are steps to isolate this issue. In parallel, also check for right permissions.

Reply
0 Kudos
StevenOfTheWhea
Contributor
Contributor

It was the IE 4GB limit that was getting me. THANK YOU!!

Reply
0 Kudos
StevenOfTheWhea
Contributor
Contributor

It was the IE 4GB limit that was getting me.  THANK YOU!!

Reply
0 Kudos
StevenOfTheWhea
Contributor
Contributor

I have had the same experience with Chrome.  Firefox did allow me to upload the full .iso, but was a little wonky in creating the VM.  I went back to IE for that.

Reply
0 Kudos
IanWall
Contributor
Contributor

I just had the same issue with a 600 MB ISO.

I changed from using the Flash Client, to the HTML 5 client and this worked immediately.

Hope this helps.

Reply
0 Kudos
BuddaManX
Contributor
Contributor

Seeing same behavior on 6.7 as well, sftp is a decent workaround.

Reply
0 Kudos
V_Peter_S
Enthusiast
Enthusiast

Another workaround is to connect directly to a host within the cluster, NOT using IE due to 4G limit.

Esse Quam Videri
Reply
0 Kudos