VMware ESXi:帮助下载大型ISO


11

我想直接将大型OS安装ISO下载到我的数据存储中。我曾经能够SSH到ESXi终端,并用于wget直接将大文件下载到数据存储,但似乎wget无法处理https链接(wget: not an http or ftp url)。

我想知道其他人如何处理这个问题。我知道我可以将文件下载到笔记本电脑上,然后使用数据存储浏览器上传文件,但这是一个两步过程(更不用说当我不在现场并通过VPN访问ESX时效率低下了)。

在此先感谢您的任何建议!


1
只是想为您解决这个问题,尽管我确信2.5年前的需求已经过去了。我有同样的问题。为了更加清楚起见,我正在通过与主机的SSH连接使用ESXi 6.0 cli中的wget。我已经尝试过https,并且收到了相同的消息。然后,我设置了一个FTP服务器来尝试该操作,并且连接超时,尽管使用该网络上其他Linux系统的wget可以完美地完成传输。
阳光明媚的莫利尼

Answers:


1

大约在ESXi 6.7上,嵌入式busybox wget终于开始支持https。

因此,最后,您可以在ESXi中进行https下载。

好极了!

这来自ESXi 6.7 Update 2。

[root@ESXi-X9SRI-3F:/tmp] wget https://www.example.org
Connecting to www.example.org (93.184.216.34:443)
index.html           100% |******************************************************************************************|  1270  0:00:00 ETA
[root@ESXi-X9SRI-3F:/tmp] wget --help
BusyBox v1.29.3 (2018-11-02 15:37:50 PDT) multi-call binary.

Usage: wget [-c|--continue] [--spider] [-q|--quiet] [-O|--output-document FILE]
    [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
    [-S|--server-response] [-U|--user-agent AGENT] URL...

Retrieve files via HTTP or FTP

    --spider    Only check URL existence: $? is 0 if exists
    -c      Continue retrieval of aborted transfer
    -q      Quiet
    -P DIR      Save to DIR (default .)
    -S          Show server response
    -O FILE     Save to FILE ('-' for stdout)
    -U STR      Use STR for User-Agent header
    -Y on/off   Use proxy
[root@ESXi-X9SRI-3F:/tmp] vmware -l
VMware ESXi 6.7.0 Update 2

6.5U2仍然不支持它(我认为ESXi 6.7也不支持它,但是我不再对此有任何保留意见):

[root@ESXi-X10SRH-CF:/tmp] wget https://www.example.org
wget: not an http or ftp url: https://www.example.org
[root@ESXi-X10SRH-CF:/tmp] wget --help
BusyBox v1.22.1 (2018-07-23 19:34:04 PDT) multi-call binary.

Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL...

Retrieve files via HTTP or FTP

    -s  Spider mode - only check file existence
    -c  Continue retrieval of aborted transfer
    -q  Quiet
    -P DIR  Save to DIR (default .)
    -O FILE Save to FILE ('-' for stdout)
    -U STR  Use STR for User-Agent header
    -Y  Use proxy ('on' or 'off')

[root@ESXi-X10SRH-CF:/tmp] vmware -l
VMware ESXi 6.5.0 Update 2

1
太好了,谢谢您的更新。我已经有几年没有使用VMware了,但是很高兴知道他们终于支持了这一点
ebarrere

5

希望您在现有的VMware设置上拥有一个正在运行的来宾系统。这是一个快速的选择。如果是linux,则可以wget / curl。如果是Windows,请照常下载。

我通常将.ISO文件下载到vCenter Server并从那里上传到数据存储。这很容易,因为我的vCenter通常是Windows服务器,因此任何复杂的下载身份验证方法都易于处理。

wget 确实存在于ESXi中,因此最好的选择也许是将所需的.ISO文件获取到不需要https下载的位置;http或普通ftp。

另请参阅:ESXi 5.0上的cURL?


感谢您的回答。我没有vCenter,很遗憾,这不是一个选择。我可以直接从访客VM访问数据存储吗?我需要从下载的映像中安装VM,因此需要可以从ESX访问它。
ebarrere 2013年

这是什么操作系统?您可以将.ISO移到其他位置吗?wget在http和ftp URL上正常工作。
ewwhite

您应该能够在我认为的来宾VM中安装vSphere Client。仍然是您的两步过程,但消除了异地/ VPN问题。
TheCleaner

假设客户端是Windows。
ewwhite

6
您多久移动一次ISO?这是一个管理程序,而不是文件服务器
Joel E Salas

2

您没有提到笔记本电脑的操作系统。假设它是Windows,则可以使用WinSCP

登录到ESXi主机,深入数据存储,然后使用Commander样式或Windows Explorer样式界面进行文件复制。

如果您正在寻找命令行选项,则可以使用Putty Secure Copy客户端

我同时使用-gui进行一次文件复制,并使用命令行将文件复制到多个ssh主机。


2

只需通过启用SSL的wget通过另一个系统进行SSH代理文件下载操作即可。请注意,默认ESXi防火墙策略会阻止传出SSH,因此需要首先允许它。在ESXi Shell中:

esxcli network firewall ruleset set -r sshClient -e true
ssh proxyhost curl -s https://server/path/file.iso >/vmfs/volumes/vmfs_name/path/file.iso
esxcli network firewall ruleset set -r sshClient -e false

0

ESX上的busybox中的 Wget 不支持https URL。

wget --help
BusyBox v1.20.2 (2012-12-11 11:54:28 PST) multi-call binary.
Retrieve files via HTTP or FTP

因此,请尝试使用http或使用上述解决方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.