首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

【VMware VCF】使用 VCF Import Tool 将现有 vSphere 环境导入为 VI 域。

编程知识
2024年09月29日 07:00

VCF Import Tool 工具使用两种方式来帮助客户将现有的 vSphere 或 vSphere + vSAN 环境转变为 VMware Cloud Foundation 环境,分别是转换(Convert)导入(Import)。之前在这篇(使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。)文章中演示了将现有 vSphere 环境转换为 VCF 解决方案中管理工作负载域的过程,因此这篇文章接着这个主题,看看如何使用这个工具将现有 vSphere 环境导入为 VCF 解决方案中的 VI 工作负载域。

 

一、使用要求和限制

请注意,使用 VCF Import Tool 工具执行导入(Import)过程与之前的转换(Convert)过程具有相同的要求和限制,因此请参考之前文章(使用 VCF Import Tool 将现有 vSphere 环境转换为管理域。)中的说明,这里不再赘述。

使用要求和限制中有一条是,现有 vSphere 环境的 vCenter Server 虚拟机要么位于自身的集群内要么运行在 VCF 管理域集群上,当在执行导入(Import)任务的同时进行 NSX 方案的部署,则会出现两种不同的情况:

  • 如果 vCenter Server 虚拟机运行在自身 vSphere 集群内,当执行导入任务并同时部署 NSX 方案,则 NSX Manager 虚拟机将部署到 vSphere 集群内。
  • 如果 vCenter Server 虚拟机运行在 VCF 管理域集群上,当执行导入任务并同时部署 NSX 方案,则 NSX Manager 虚拟机将部署到 VCF 管理域集群上。

 

二、现有 vSphere 环境

针对 VCF Import Tool 工具使用的各种要求和限制,同样需要对现有 vSphere 环境的信息进行检查确认。本次用于导入(Import)的现有 vSphere 环境如下图所示,一个由 3 主机所组成的 vSAN ESA 标准集群,关于具体检查过程这里就略过了,详细请参看之前文章。

当前 vSphere 环境的 vCenter Server 虚拟机运行在 VCF 管理域集群上(注意,后面有调整)。

 

三、执行导入前预检查

在对现有 vSphere 环境执行导入(Import)操作之前,需要在 SDDC Manager 上执行一次预检查,确定当前 vSphere 环境是否满足导入为 VI 域的要求。由于之前在进行转换(Convert)时,已经将 VCF Import Tool 工具包上传至 SDDC Manager 了,所以这里无需进行上传。通过 SSH 以 vcf 用户连接到 SDDC Manager 的命令行,使用以下命令进入到 vcf-brownfield-toolset 目录。

cd /home/vcf/vcfimport/vcf-brownfield-import-5.2.0.0-24108578/vcf-brownfield-toolset/

进入目录后,使用以下命令在 SDDC Manager 上执行环境检查。总共有 83 个内容,成功检查 82 个,失败 0 个,内部错误 1 个。

python3 vcf_brownfield.py check --vcenter vcf-vi01-vcsa01.mulab.local --sso-user administrator@vsphere.local --sso-password Vcf520@password

根据检查输出的结果,查看具体错误的内容,Compatibility validation 项检查错误,如下所示。

An error occurred when validating VMware Cloud Foundation compatibility: File with Compatibility Matrix Content for Compatibility controller VMWARE_COMPAT is not found.

这个错误必须要解决,否则后面无法继续。一开始的时候,我一直以为是 vSAN HCL 文件有问题导致的,经过各种尝试和验证,还把之前转换的管理域给清除了,重新部署了 VCF 管理域环境,结果这个错误始终无法得到修复。然后后面才反应过来,它这个错误指的是“Compatibility Matrix”兼容性数据文件无法验证,这是一个专门针对的 VCF 的兼容性矩阵数据,跟 vSAN 那个 HCL 数据库文件有点类似但不一样,也就是这个数据现在缺失了无法进行验证,所以有这个内部错误。其实,你也可以在 SDDC Manager UI 下图中的地方看到这个错误提示,不管是通过转换(Convert)过来的管理域还是使用 Cloud Builder 部署的管理域,这个 VCF 兼容性数据默认都没有,我们需要手动下载并进行更新。

如何手动下载并进行更新 VCF 兼容性数据文件,也就是这个“Compatibility Matrix”文件,可以参考这篇《Offline Download of VMware Cloud Foundation 5.2 Upgrade Bundles》产品文档。整个流程大概是,你需要使用 Bundle Transfer Utility 工具下载这个“Compatibility Matrix”兼容性数据文件,然后再使用这个工具将兼容性数据文件更新到 VCF 中。

对于这个工具,可以到 Broadcom 支持门户(BSP)去下载,我已经将这个工具和“Compatibility Matrix”兼容性数据文件上传到了这个百度网盘链接(https://pan.baidu.com/s/1lUbrN0zjLUUC1oB8L7ZRAg?pwd=lvx9)中,有需要可以去下载。下面我将演示如何去下载这个兼容性数据文件并将其更新到 SDDC Manager 中。

如果 VCF 环境可以连接互联网,那可以直接使用这个工具在 SDDC Manager 上执行下载和更新过程,但要是不能联网的话,你可以找一台能够连接互联网的 Linux 主机,然后在这个主机上再使用工具去下载兼容性数据文件(VmwareCompatibilityData.json),下载之后保存到本地,将文件上传到内网环境的 SDDC Manager 上,再使用这个工具完成更新。注意,下载这个兼容性数据文件需要具有 Broadcom 支持门户(BSP)的账号,没有 VCF 权限仅普通用户权限也可以进行下载。

将 Bundle Transfer Utility 工具上传到具有互联网连接的 Linux 主机上,解压后并赋予 lcm-bundle-transfer-util 工具执行权限,然后使用以下命令下载“Compatibility Matrix”兼容性数据文件。

./lcm-bundle-transfer-util --download --compatibilityMatrix --depotUser xxxxxxxx@163.com

获取到 VCF 兼容性数据文件后,将该文件以及 Bundle Transfer Utility 工具一并上传到 VCF 管理域的 SDDC Manager 上,使用以下命令解压该工具并调整权限。

mkdir /opt/vmware/vcf/lcm/lcm-tools
cd /opt/vmware/vcf/lcm/
tar -xvf lcm-tools-prod.tar.gz
chown vcf_lcm:vcf -R lcm-tools
chmod 750 -R lcm-tools

进入到工具所在的目录,使用以下命令完成 VCF 兼容性数据的更新,请注意命令中“inputDirectory”选项所使用的目录位置。

./lcm-bundle-transfer-util --update --compatibilityMatrix --inputDirectory /home/vcf/ --sddcMgrFqdn vcf-mgmt01-sddc01.mulab.local --sddcMgrUser administrator@vsphere.local

完成对“Compatibility Matrix”兼容性数据的更新之后,再次使用以下命令执行环境检查,现在所有检查都已成功。

python3 vcf_brownfield.py check --vcenter vcf-vi01-vcsa01.mulab.local --sso-user administrator@vsphere.local --sso-password Vcf520@password

 

四、准备 NSX Manager

在进行转换(Convert)时,我们同时执行了 NSX 的部署,在进行导入(Import)时,同样可以一起执行 NSX 的部署。这一步骤是可选操作,你可以在执行导入过程的同时执行 NSX 的部署,也可以在执行导入结束之后,在其他时间再执行 NSX 的部署,只需要使用 --skip-nsx-deployment 选项跳过就行。以下是执行 NSX 部署所需的 JSON 配置文件

{
  "license_key": "AAAAA-BBBBB-CCCCC-DDDDD-EEEEE",
  "form_factor": "medium",
  "admin_password": "Vcf520@password",
  "install_bundle_path": "/nfs/vmware/vcf/nfs-mount/bundle/bundle-124941.zip",
  "cluster_ip": "192.168.32.76",
  "cluster_fqdn": "vcf-vi01-nsx01.mulab.local",
  "manager_specs": [{
    "fqdn": "vcf-vi01-nsx01a.mulab.local",
    "name": "vcf-vi01-nsx01a",
    "ip_address": "192.168.32.77",
    "gateway": "192.168.32.254",
    "subnet_mask": "255.255.255.0"
  },
  {
    "fqdn": "vcf-vi01-nsx01b.mulab.local",
    "name": "vcf-vi01-nsx01b",
    "ip_address": "192.168.32.78",
    "gateway": "192.168.32.254",
    "subnet_mask": "255.255.255.0"
  },
  {
    "fqdn": "vcf-vi01-nsx01c.mulab.local",
    "name": "vcf-vi01-nsx01c",
    "ip_address": "192.168.32.79",
    "gateway": "192.168.32.254",
    "subnet_mask": "255.255.255.0"
  }]
}

将 NSX 部署的 JSON 配置文件以及 NSX 的安装包上传到 SDDC Manager 中,需要记住这个配置文件上传的路径,后面需要用到。

ls /home/vcf/vcfimport/
ls /nfs/vmware/vcf/nfs-mount/bundle/

其实,在执行 NSX 部署时,如果物理资源不是很充足的话,我们也可以只部署 1 个 NSX Manager 设备,之前在执行转换(Convert)的时候没有说,以下方法应该也同样适用,有需要的可以参考以下步骤。当然,上面的 JSON 配置文件还是需要配置完整的 3 个 NSX Manager 设备,如果不完整,那后面的检查都过不了。

通过 SSH 连接到 SDDC Manager 并切换到 root 用户,使用以下命令编辑系统配置文件:

vim /etc/vmware/vcf/domainmanager/application-prod.properties

添加以下内容并保存:

nsxt.manager.cluster.size=1
nsxt.manager.formfactor=medium

重新启动服务。

systemctl restart domainmanager

 

五、正式执行导入过程

通过 vcf 用户 SSH 登录到 SDDC Manager,进入到 vcf-brownfield-toolset 目录,使用以下命令执行 vSphere 环境导入过程。运行命令后,输入 SDDC Manager 的 admin 用户密码以及 vCenter Server 的 root 和 SSO 用户密码进行验证。

python3 vcf_brownfield.py import --vcenter vcf-vi01-vcsa01.mulab.local --sso-user administrator@vsphere.local --domain-name vcf-vi01 --nsx-deployment-spec-path /home/vcf/vcfimport/vcf520-import-nsx.json

输入 YES 开始导入(Import)过程。

登录 SDDC Manager UI 跟踪任务状态。

任务执行一段时间后,在部署 NSX 的时候又失败了......。原因是物理主机的 CPU 负载过高导致管理域的一台虚拟 ESXi 主机卡死了,刚好 SDDC Manager 虚拟机也在这上面,看这篇(使用 esxtop 杀死 ESXi 主机中卡死和不响应的虚拟机。)文章!

管理域 ESXi 主机卡死后,SDDC Manager 虚拟机进行了 HA 切换,等所有服务都运行正常后,通过 SDDC Manager UI 重新启动失败的任务就可以了,因为现有 vSphere 环境的导入任务已经完成了,如下图所示。

最终,任务全部执行成功。

任务完成后,切换到 root 用户,重新启动一下 SDDC Manager 的所有服务,并使 UI 重新进行初始化。

 

六、验证已导入的 VI 域

导航到 SDDC Manager UI->清单->工作负载域,可以看到现有 vSphere 环境已经被导入为 VI 域,VI 域的名称为我们导入时设置的名称 vcf-vi01。

点击进入 VI 域,查看该工作负载域的摘要信息。

在主机和集群选项卡中,可以看到属于 vSphere 环境中的 ESXi 主机和集群配置信息。

执行一下环境预检查,查看各个组件和配置是否都正常。

在发行版本视图下,VCF 5.2 版本中现在具有两个工作负载域。 

在映像管理视图下,现在具有两个可用的映像。

在网络设置视图下,查看 VI 域的网络池配置信息。

在对现有 vSphere 环境进行导入检查时,由于不知道错误的原因,VCF 管理域被重新部署了,所以当时将现有 vSphere 环境的 vCenter Server 虚拟机通过跨 vCenter vMotion 迁移到了自身的集群上。由于物理资源负载过高导致 ESXi 4 主机卡死,所以现在是断开状态。

现有 vSphere 环境信息,现在是 VI 域 vCenter Server,虚拟机清单包含 vCenter Server 虚拟机和 1 个 NSX Manager 虚拟机。

vCenter Server 虚拟机在现有 vSphere 集群中,所以 NSX Manager 虚拟机被部署到了相同的位置。

登录 VI 域的 NSX Manager UI(VIP),查看 NSX 系统配置概览。

NSX 集群配置,只有一个 NSX Manager 节点的 NSX 管理集群。

VI 域 vCenter Server 已作为计算管理器被添加到 NSX 当中。

VI 域集群中的主机已配置了分布式虚拟端口组(DVPG)的 NSX。

VI 域管理组件在 DFW 排除列表中。

From:https://www.cnblogs.com/juniormu/p/18431414
本文地址: http://www.shuzixingkong.net/article/2387
0评论
提交 加载更多评论
其他文章 Java实现随机抽奖的方法有哪些
在Java中实现随机抽奖的方法,通常我们会使用类来生成随机数,然后基于这些随机数来选择中奖者。本文给出了几种常见的随机抽奖实现方式,包括从数组中抽取、从列表中抽取以及基于权重的抽奖方式。
win10安装linux的gcc
mysy2下载gcc 过程比较艰苦,2024年秋冬讲课,被linux毒打了3天 pacman -S mingw-w64-ucrt-x86_64-gcc 这个一次成功,不行继续接大招 实在不行安装vsvisualstudio.com 补了gcc的工具链 大小1.5g liunx改名字 改主机名字sud
IDEA更改远程git仓库地址
前言 我们在使用IDEA开发时,一般会配置好对应的git仓库,这样就比较容易对代码进行控制以及协同开发。 但有时候,我们远程的仓库地址由于这样那样的原因,需要迁移(这在爱折腾的企业是常有的事情)。那么,我们该如何在IDEA中更新远程仓库地址呢? 如何设置 首先,我们点击上方的【Git】按钮,打开下拉
IDEA更改远程git仓库地址 IDEA更改远程git仓库地址 IDEA更改远程git仓库地址
为什么用 AWS CLI?因为我懒得点鼠标!
在这篇博客中,我们一起深入探索 AWS CLI 的世界,从零开始,逐步构建在云端的家园。将介绍 AWS CLI 的基本功能和使用场景,如何创建 IAM 用户、VPC、子网、安全组、EC2 实例等,甚至还会搭建一个应用负载均衡器(ALB)。无论你是初学者还是有一定基础的用户,都能通过本指南掌握 AWS
为什么用 AWS CLI?因为我懒得点鼠标! 为什么用 AWS CLI?因为我懒得点鼠标! 为什么用 AWS CLI?因为我懒得点鼠标!
从零开始学机器学习——线性和多项式回归
首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns 在之前的学习中,我们已经对数据的准备工作以及数据可视化有了一定的了解。今天,我们将深入探讨基本线性回归和多项式回归的概念与应用。 如果在过程中涉及到一些数学知识,大家也不必感到畏惧,我会逐步为大家进行
从零开始学机器学习——线性和多项式回归 从零开始学机器学习——线性和多项式回归 从零开始学机器学习——线性和多项式回归
SpringBoot+Docker +Nginx 部署前后端项目
部署SpringBoot项目(通关版) 一、概述 使用 java -jar 命令直接部署项目的JAR包和使用Docker制作镜像进行部署是两种常见的部署方式。以下是对这两种方式的概述和简要的优劣势分析: 1.1、使用 java -jar 命令直接部署项目的JAR包 概述: 通过 java -jar
SpringBoot+Docker +Nginx 部署前后端项目 SpringBoot+Docker +Nginx 部署前后端项目 SpringBoot+Docker +Nginx 部署前后端项目
利用 Page Visibility API 优化网页性能与用户体验
在现代 Web 开发中,用户可能会频繁切换标签页,或让网页处于后台运行。为了避免不必要的资源浪费并提升用户体验,合理利用 Page Visibility API 可以在页面不可见时暂停或减少资源的消耗,并在页面重新可见时恢复正常操作。 在这篇博客中,我将展示如何通过 Page Visibility
【翻译】实现 Blocked Floyd-Warshall 用于解决所有对最短路径问题 C# 实现
介绍 在之前的帖子中,我们实现了Floyd-Warshall(弗洛伊德-沃沙尔算法)(四种变体)以及路由重建算法。在这些帖子中,我们探讨了所有对最短路径问题的基本概念、内存中的数据表示、并行性、向量化以及如何将算法调整为适应数据特性。 在本帖中,我们将继续我们的旅程,探索一种更高效的方法来解决所有对
【翻译】实现 Blocked Floyd-Warshall 用于解决所有对最短路径问题 C# 实现 【翻译】实现 Blocked Floyd-Warshall 用于解决所有对最短路径问题 C# 实现 【翻译】实现 Blocked Floyd-Warshall 用于解决所有对最短路径问题 C# 实现