VMware vSphere Update Manager Download Service (UMDS) 是 vSphere Lifecycle Manager(vLCM) 的可选模块。我在之前文章中提到这个功能,当 vSphere 环境能够连接 Internet 时,我们可以利用 vLCM 的在线 Internet 下载源获取修补步调,当 vSphere 环境不能连接 Internet 时,您可以在您的环境中找到一台能够访问 Internet 的服务器安装 UMDS,通过设置 UMDS 下载升级、修补步调二进制文件和修补步调元数据并自动执行导出过程,末了在 vSphere Lifecycle Manager 设置 UMDS 下载存储库后即可实现与连接 Internet 在线下载库利用一样的效果。
UMDS 必须与 vSphere Lifecycle Manager 版本相同。比方,vSphere Lifecycle Manager 8.0 只能与 UMDS 8.0 设置利用,假如您利用的是新版本的 vSphere Lifecycle Manager,则 UMDS 也必须为相同的新版本。您无法升级 UMDS,您可以卸载当前版本的 UMDS,根据系统要求执行 UMDS 的全新安装,并利用之前已卸载的 UMDS 的修补步调存储。UMDS 8.0 支持修补步调撤消和通知。假如 VMware 发布的修补步调存在问题或大概存在问题,撤消修补步调后,UMDS 下载的修补步调数据会举行同步,vSphere Lifecycle Manager 那边同样会删除已撤消的修补步调。
只能在基于 Linux 的操纵系统上安装 UMDS。不再支持在 Windows 计算机上安装 UMDS。UMDS 是 64 位应用步调,要求利用 64 位 Linux 系统。支持在以下 Linux 发行版上安装并利用 Update Manager Download Service (UMDS) 。通过在 Linux 上运行的 UMDS 下载修补步调时,不必要具有管理员级别访问权限。安装 UMDS 的计算机必须能够访问 Internet。
- Ubuntu 14.04
- Ubuntu 18.04
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Red Hat Enterprise Linux 7.4
- Red Hat Enterprise Linux 7.5
- Red Hat Enterprise Linux 7.7
- Red Hat Enterprise Linux 8.1
- Red Hat Enterprise Linux 8.3
- Red Hat Enterprise Linux 8.5
- Red Hat Enterprise Linux 8.6
- Red Hat Enterprise Linux 9.0
注意,利用 Red Hat Enterprise Linux 8.1 时,必须在部署了 UMDS 的系统上安装 libnsl 软件包版本 2.28 或更高版本。假如系统中不存在该软件包,UMDS 操纵大概会失败,并表现以下错误:- 加载共享库 libnsl.so.1 时出错: 无法打开共享对象文件: 无此类文件或目录 (Error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory)。
复制代码 一、UMDS 安装
本次环境准了一台 Ubuntu 20.04.6 LTS 服务器,对于 Linux 服务器的安装设置可以利用标准安装即可,设置好 DNS 和 NTP。- root@umds:~# cat /etc/os-release
- NAME="Ubuntu"
- VERSION="20.04.6 LTS (Focal Fossa)"
- ID=ubuntu
- ID_LIKE=debian
- PRETTY_NAME="Ubuntu 20.04.6 LTS"
- VERSION_ID="20.04"
- HOME_URL="https://www.ubuntu.com/"
- SUPPORT_URL="https://help.ubuntu.com/"
- BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
- PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
- VERSION_CODENAME=focal
- UBUNTU_CODENAME=focal
- root@umds:~# uname -a
- Linux umds 5.4.0-144-generic #161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
- root@umds:~#
复制代码 Linux 系统预备好以后,以 root 管理员 ssh 登陆到 shell,运行 apt-get update/upgrade 下令确保统统保持最新的状态。- root@umds:~# apt-get update
- Hit:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal InRelease
- Hit:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates InRelease
- Hit:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-backports InRelease
- Hit:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-security InRelease
- Reading package lists... Done
- root@umds:~# apt-get upgrade
- Reading package lists... Done
- Building dependency tree
- Reading state information... Done
- Calculating upgrade... Done
- The following packages have been kept back:
- linux-generic linux-headers-generic linux-image-generic python3-update-manager ubuntu-advantage-tools update-manager-core
- 0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
- root@umds:~#
复制代码 在 vSphere 8.0 版本中,UMDS 8.0 安装包捆绑在 vCenter Server Appliance 8.0 的完整 ISO 安装镜像中。当前环境是 vCenter 8.0 U2b(内部版本号 23319993),解压 vCenter 的 ISO 镜像(VMware-VMvisor-Installer-8.0U2b-23305546.x86_64.iso)到当地并找到 umds 文件夹可以发现 UMDS 安装包,如下图所示。

将 UMDS 安装包上传到预备的 Linux 服务器,解压 UMDS 安装包并进入安装目录。运行 ./vmware-install.pl 文件,开始安装并接受 EULA 协议。安装设置过程保持默认即可,根据必要可自行设置 Proxy 代理地址。- Do you accept? (yes/no) yes
- Thank you.
- Installing VMware Update Manager Download Service.
- Logs would be store at /var/log/vmware/vmware-updatemgr/umds
- Creating the log directory if required....
- In which directory do you want to install Download service?
- [/usr/local/vmware-umds]
- The path "/usr/local/vmware-umds" does not exist currently. This program is
- going to create it, including needed parent directories. Is this what you want?
- [yes]
- Let us setup some things for you...
- Do you need proxy to connect to internet? [no]
- One more thing...we need a storage location to store patches. Make sure you
- have enough space in that location
- Where do you want download service to store patches
- [/var/lib/vmware-umds]
- The path "/var/lib/vmware-umds" does not exist currently. This program is going
- to create it, including needed parent directories. Is this what you want?
- [yes]
- The installation of VMware Update Manager Download Service 8.0.2 build-23319993
- completed successfully. You can decide to remove this software from your system
- at any time by invoking the following command:
- "/usr/local/vmware-umds/vmware-uninstall-umds.pl".
- Enjoy,
- --the VMware team
复制代码 二、UMDS 设置
UMDS 默认安装在 /usr/local/vmware-umds 目录,我们可以进入 bin 目录利用 vmware-umds 二进制文件下令设置 UMDS 服务。- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds --help
- Allowed Options:
- Basic Commands:
- -h [ --help ] Show this message
- -D [ --download ] Download updates based on the current
- configuration
- -E [ --export ] Export all updates that have been
- downloaded.
- -R [ --re-download ] Re-download existing updates that may be
- corrupted and download new updates. Use
- this command only if you suspect UMDS
- patch store is corrupted.
- -S [ --set-config ] Setup UMDS configuration
- -G [ --get-config ] Print current UMDS configuration
- -v [ --version ] Print UMDS version
- -i [ --info-level ] arg The level of information shown on the
- console: <verbose|info>. Use this along
- with download, export or re-download
- operation only
- -L [ --list-host-platforms ] List all suppported ESX platforms for
- download
- Optional argument for export:
- -x [ --export-store ] arg Destination directory for export
- operation (Overrides setting from
- configuration)
- Arguments for set-config:
- -u [ --add-url ] arg Add a URL to the configuration for
- downloading updates. Requires url-type
- -r [ --url-type ] arg Type of URL: <HOST>, HOST for ESX 6.x
- (HOST is the only supported type
- currently). Use with add-url
- -l [ --remove-url ] arg Remove URL from the configuration
- -P [ --patch-store ] arg Configure location for storing updates
- after download
- -o [ --default-export-store ] arg Configure location for exporting updates
- -p [ --proxy ] arg Configure proxy server settings. Format
- is host:port. Use --proxy "" to disable
- proxy
- -Y [ --enable-host ] Enable ESX host update downloads for all
- platforms
- -N [ --disable-host ] Disable ESX host update downloads for all
- platforms
- -e [ --enable-host-platform ] arg Enable ESX host update downloads for
- specified platforms. Specify multiple
- platforms separated by whitespace
- -d [ --disable-host-platform ] arg Disable ESX host update downloads for
- specified platforms. Specify multiple
- platforms separated by whitespace
- Examples:
- To add a new ESX host patch depot URL
- vmware-umds -S --add-url https://hostname/index.xml --url-type HOST
- To remove a URL
- vmware-umds -S --remove-url https://hostname/index.xml
- To list all supported platforms for downloading ESX host updates
- vmware-umds --list-host-platforms
- To enable downloading of ESX host updates
- vmware-umds -S --enable-host
- To enable downloading of only ESXi 6.7.0 host updates
- vmware-umds -S --enable-host
- vmware-umds -S -e embeddedEsx-6.7.0
- To disable downloading of only ESXi 6.7.0 host updates
- vmware-umds -S --disable-host
- vmware-umds -S -d embeddedEsx-6.7.0
- To download updates based on the current configuration
- vmware-umds -D
- To export all downloaded updates to F:\UMDS-store
- vmware-umds -S --default-export-store F:\UMDS-store
- vmware-umds -E
- OR
- vmware-umds -E --export-store F:\UMDS-store
- root@umds:~#
复制代码 利用 -v 选项查看当前 UMDS 安装版本。- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds -v
- VMware Update Manager Download Service 8.0.2.0 Build = 23319993
- root@umds:~#
复制代码 利用 -G 选项查看当前 UMDS 设置设置。- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds -G
- Configured URLs
- URL Type Removable URL
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/addon-main/vmw-depot-index.xml
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/iovp-main/vmw-depot-index.xml
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/vmtools-main/vmw-depot-index.xml
- Patch store location : /var/lib/vmware-umds
- Export store location :
- Proxy Server : Not configured
- Host patch content download: enabled
- Host Versions for which patch content will be downloaded:
- esxio-8.0-INTL
- embeddedEsx-6.7.0-INTL
- embeddedEsx-7.0-INTL
- embeddedEsx-8.0-INTL
- root@umds:~#
复制代码 根据获取到的 UMDS 默认设置信息,让我们来了解一下每项设置的含义和作用:
- Configured URLs 设置项里默认有四个下载源,分别对应 vLCM 设置中的修补步调下载源地址,可以利用 vmware-umds -S --remove-url 或者 vmware-umds -S --add-url 下令移除或增加一个下载地址,比如第三方OEM厂商的下载源,--url-type 指定下载源的类型,如 HOST。
- Patcch store localtion 设置项为我们安装的时候设置的 UMDS 默认修补步调下载的保存目录,可以利用 vmware-umds -S --patch-store 下令修改默认位置。
- Export store localtion 设置项是 vLCM 所利用的默认目录,可以利用 vmware-umds -S --default-export-store 下令修改这个目录,当前设置为空,后面会设置这个地方。
- Proxy Server 设置项是设置 UMDS 服务器的网络代理地址,可以利用 vmware-umds -S --proxy 下令设置一个代理地址,如 proxy-ip:port,利用 --proxy "" 地址为空来关闭代理。
- Host patch content download 设置项表示是否开启 ESXi 主机的修补步调下载,可以利用 vmware-umds -S --enable-host 或者 vmware-umds -S --disable-host 下令开启或关闭这个功能。
- Host Versions for which patch content will be downloaded 设置项表示设置必要下载的 ESXi 主机的修补步调版本,可以利用 vmware-umds -L 下令列出当前设置的所有版本,利用 vmware-umds -S --enable-host-platform 或者 vmware-umds -S --disable-host-platform 下令增加或移除要下载的修补步调版本。
根据现实必要自定义修改设置,比如,当前 vSphere 环境中没有 vSphere 6.7 和 vSphere 7.0 的主机,那么可以把设置下载的修补步调版本给移除掉,而无需浪费不必要的网络带宽和存储空间。- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds -S --disable-host-platform embeddedEsx-6.7.0-INTL
- Setting up UMDS configuration
- Host update downloads for platform embeddedEsx-6.7.0-INTL: Disabled
- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds -S --disable-host-platform embeddedEsx-7.0-INTL
- Setting up UMDS configuration
- Host update downloads for platform embeddedEsx-7.0-INTL: Disabled
- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds -L
- Supported ESX Host platforms:
- esxio-8.0-INTL
- embeddedEsx-8.0-INTL
- root@umds:~#
复制代码 假如统统没有问题,我们可以利用 vmware-umds -D 下令开始下载主机修复步调,怀疑 UMDS 修补步调存储已损坏时,可以利用 vmware-umds -R 下令重新下载大概已损坏的现有更新并下载新的更新。因为下载的内容比力多或比力慢,我们可以在运行下载使命时,开始预备 WEB 服务器。通过 UMDS 下载了修补步调文件,现在必要设置一个 Export 目录并发布共享存储库。我这里利用 nginx 作为 web 服务器,直接运行 apt-get install nginx 下令安装并运行 nginx 服务。完成 nginx 安装和服务的启动,需对 nginx 设置做一些修改,设置文件 /etc/nginx/sites-enabled/default 如下所示。通过对 nginx 设置,必要重启 nginx 服务。设置 web 服务器的下载目录为 /umds ,需在 UMDS 服务器根目录创建 umds 目录。- root@umds:~# mkdir /umds
- root@umds:~# vim /etc/nginx/sites-enabled/default
- root@umds:~# cat /etc/nginx/sites-enabled/default | grep -v '#'
- server {
- listen 80 default_server;
- listen [::]:80 default_server;
- index index.html index.htm index.nginx-debian.html;
- server_name localhost;
- location / {
- root /umds;
- autoindex on;
- autoindex_exact_size off;
- autoindex_localtime on;
- charset utf-8;
- }
- }
- root@umds:~# systemctl restart nginx
- root@umds:~#
复制代码 通过上面的设置,现在你应该能利用 UMDS 服务器的域名访问到 web 下载服务器,但是现在还没有内容,将 UMDS 的 Export 目录设置为 web 服务器下载目录 /umds ,利用 vmware-umds -S --default-export-store 下令设置目录,利用 vmware-umds -G 下令查看设置。- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds -S --default-export-store /umds
- Setting up UMDS configuration
- Directory for exporting updates: /umds
- root@umds:~# /usr/local/vmware-umds/bin/vmware-umds -G
- Configured URLs
- URL Type Removable URL
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/addon-main/vmw-depot-index.xml
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/iovp-main/vmw-depot-index.xml
- HOST NO https://hostupdate.vmware.com/software/VUM/PRODUCTION/vmtools-main/vmw-depot-index.xml
- Patch store location : /var/lib/vmware-umds
- Export store location : /umds
- Proxy Server : Not configured
- Host patch content download: enabled
- Host Versions for which patch content will be downloaded:
- esxio-8.0-INTL
- embeddedEsx-8.0-INTL
- root@umds:~#
复制代码 现在访问 web 服务器应该没有任何内容,之前通过 vmware-umds -D 下令下载修补步调假如已经完成,利用 vmware-umds -E 下令开始 Export 到 /umds 目录。假如使命完成,再次访问 web 服务器,可以看到 UMDS 下载的修补步调。
三、vLCM 设置
完成对 UMDS 的安装和设置后,现在可以到 vLCM 设置指向 UMDS 存储库的下载源了。导航到 Lifecycle Manager-设置-系统管理-修补步调设置。
点击“更改下载源”,将下载源类型更改为 UMDS 并设置 UMDS 服务器的下载地址,保存设置。
点击“同步更新”。
获取元数据正常,现在你可以通过 vLCM 利用 UMDS 存储库中的修补步调来管理 vSphere 的生命周期了。
四、UMDS 调度
通过上面的设置,你应该可以正常利用 UMDS 服务器作为 vLCM的下载存储库了,不过利用 UMDS 的这个过程必要手动完成,实在我们可以创建一个自动化使命,让 UMDS 去下载修补步调并 Export 的过程自动完成。我们可以将 Download 和 Export 这两个动作分成两个脚本,以便可以让 Crontab 步调在差异的时间调度差异的使命。
运行 UMDS 下载的脚本 umds-download.sh 和运行 UMDS 导出的脚本 umds-export.sh 如下,将这两个脚本文件放在 UMDS 服务器的 /usr/local/sbin/ 目录并增加执行权限。- root@umds:~# vim umds-download.sh
- root@umds:~# cat umds-download.sh
- /usr/local/vmware-umds/bin/vmware-umds -D
- root@umds:~# vim umds-export.sh
- root@umds:~# cat umds-export.sh
- /usr/local/vmware-umds/bin/vmware-umds -E
- root@umds:~# mv umds-* /usr/local/sbin/
- root@umds:~# chmod +x /usr/local/sbin/umds-*
- root@umds:~# ls -l /usr/local/sbin/umds-*
- -rwxr-xr-x 1 root root 42 Jun 6 17:48 /usr/local/sbin/umds-download.sh
- -rwxr-xr-x 1 root root 42 Jun 6 17:49 /usr/local/sbin/umds-export.sh
- root@umds:~#
复制代码 Crontab 利用语法。- # ┌───────────── minute (0 - 59)
- # │ ┌───────────── hour (0 - 23)
- # │ │ ┌───────────── day of the month (1 - 31)
- # │ │ │ ┌───────────── month (1 - 12)
- # │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
- # │ │ │ │ │
- # │ │ │ │ │
- # │ │ │ │ │
- # * * * * * <command to execute>
复制代码 利用 crontab -e 下令添加定时使命,第一条表示每天凌晨12点的时候执行下载使命脚本,第二条表示每天凌晨3点的时候执行导出使命脚本。
[code]root@umds:~# crontab -eno crontab for root - using an empty oneSelect an editor. To change later, run 'select-editor'. 1. /bin/nano |