【VMware vSAN】vSAN Data Protection Part 4:脚本部署。

news/2024/10/5 14:47:32/文章来源:https://www.cnblogs.com/juniormu/p/18284264

之前“vSAN Data Protection Part 1:安装部署。”这篇文章介绍了如何通过手动导入 OVA 模板并部署 VMware Snapshot Service Appliance 设备,还补充了安装过程中对于配置应该注意的一些事项。其实,我们也可以通过脚本自动化部署这一过程,这里使用了 VMware 工程师 William Lam 的 PowerCLI 脚本文件 deploy_vsan_data_protection_ova.ps1 ,下面是脚本的全部内容。

# vSAN DP OVA Path
$vsanDPOVA = "/Volumes/software/VMware OVA/snapservice_appliance-8.0.3.0-24057802_OVF10.ova"# Deployment Configuration
$vsanDPVMName = "snap.primp-industries.local"
$vsanDPCluster = "Supermicro-Cluster"
$vsanDPDatastore = "sm-vsanDatastore"
$vsanDPVMNetwork = "Management"# OVF Property Values
$vsanDPRootPassword = "VMware1!VMware1!"
$vsanDPHostname = "snap.primp-industries.local"
$vsanDPIPAddress = "192.168.30.96"
$vsanDPPrefix = "24"
$vsanDPGateway = "192.168.30.1"
$vsanDPDNS = "192.168.30.2"
$vsanDPDNSDomain = "primp-industries.local"
$vsanDPDNSSearch = "primp-industries.local"
$vsanDPvCenterServer = "vcsa.primp-industries.local"
$vsanDPvCenterServerUsername = "administrator@vsphere.local"
$vsanDPvCenterServerPassword = "VMware1!"
$vsanDPvCenterServerSSODomain = "vsphere.local"#### DO NOT EDIT BEYOND HERE# https://gist.github.com/jstangroome/5945820
Function Get-VCCertificate {[CmdletBinding()]param ([Parameter(Mandatory=$true)][string]$ComputerName,[int]$Port = 443)$Certificate = $null$TcpClient = New-Object -TypeName System.Net.Sockets.TcpClienttry {$TcpClient.Connect($ComputerName, $Port)$TcpStream = $TcpClient.GetStream()$Callback = { param($sender, $cert, $chain, $errors) return $true }$SslStream = New-Object -TypeName System.Net.Security.SslStream -ArgumentList @($TcpStream, $true, $Callback)try {$SslStream.AuthenticateAsClient('')$Certificate = $SslStream.RemoteCertificate} finally {$SslStream.Dispose()}} finally {$TcpClient.Dispose()}if ($Certificate) {if ($Certificate -isnot [System.Security.Cryptography.X509Certificates.X509Certificate2]) {$Certificate = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $Certificate}return $Certificate}
}# Get vCenter Server TLS Certificate
$cert = Get-VCCertificate -ComputerName $vsanDPvCenterServer
$vccert = "-----BEGIN CERTIFICATE-----" + $([System.Convert]::ToBase64String($cert.GetRawCertData()))+ "-----END CERTIFICATE-----"$ovfconfig = Get-OvfConfiguration $vsanDPOVA
$ovfconfig.Common.vami.hostname.Value = $vsanDPHostname
$ovfconfig.Common.varoot_password.Value = $vsanDPRootPassword
$ovfconfig.NetworkMapping.Network_1.Value = $vsanDPVMNetwork
$ovfconfig.vami.VMware_SnapshotService_Appliance.addrfamily.Value = "ipv4"
$ovfconfig.vami.VMware_SnapshotService_Appliance.ip0.Value = $vsanDPIPAddress
$ovfconfig.vami.VMware_SnapshotService_Appliance.prefix0.Value = $vsanDPPrefix
$ovfconfig.vami.VMware_SnapshotService_Appliance.gateway.Value = $vsanDPGateway
$ovfconfig.vami.VMware_SnapshotService_Appliance.dns.Value = $vsanDPDNS
$ovfconfig.vami.VMware_SnapshotService_Appliance.domain.Value = $vsanDPDNSDomain
$ovfconfig.vami.VMware_SnapshotService_Appliance.searchpath.Value = $vsanDPDNSSearch
$ovfconfig.vcenter.VMware_SnapshotService_Appliance.hostname.Value = $vsanDPvCenterServer
$ovfconfig.vcenter.VMware_SnapshotService_Appliance.vcusername.Value = $vsanDPvCenterServerUsername
$ovfconfig.vcenter.VMware_SnapshotService_Appliance.vcuserpassword.Value = $vsanDPvCenterServerPassword
$ovfconfig.vcenter.VMware_SnapshotService_Appliance.vcdomain.Value = $vsanDPvCenterServerSSODomain
$ovfconfig.vcenter.VMware_SnapshotService_Appliance.vccert.Value = $vccert$VMHost = Get-Cluster $vsanDPCluster| Get-VMHost | Select -first 1Write-Host -ForegroundColor Green  "Deploying vSAN Data Protection VM ..."
$vm = Import-VApp -Source $vsanDPOVA -OvfConfiguration $ovfconfig -Name $vsanDPVMName -Location $vsanDPCluster -VMHost $VMHost -Datastore $vsanDPDatastore -DiskStorageFormat thin -ForceWrite-Host -ForegroundColor Green "Powering on vSAN Data Protection $vsanDPVMName ..."
$vm | Start-VM -Confirm:$false | Out-Null

脚本中以下内容需要修改为自己当前环境中的实际信息,与手动部署 OVA 模板时相关配置的一样,需要提前在脚本里预定义这些信息。

  • 配置虚拟机部署的 OVA 模板文件所在的位置。
# vSAN DP OVA Path
$vsanDPOVA = "D:\System\VMware\VMware vSAN\snapservice_appliance-8.0.3.0-24057802_OVF10.ova"
  • 配置虚拟机名称、所部署的集群、所使用的存储和网络。
# Deployment Configuration
$vsanDPVMName = "snap.mulab.local"
$vsanDPCluster = "vsan8-hci-esa"
$vsanDPDatastore = "vsanDatastore"
$vsanDPVMNetwork = "VM Network"
  • 配置虚拟机 Root 密码、主机名以及网络相关信息,连接 vCenter Server 的地址、用户名和密码等。注意,无需配置证书信息。
# OVF Property Values
$vsanDPRootPassword = "vSphere8@password"
$vsanDPHostname = "snap.mulab.local"
$vsanDPIPAddress = "192.168.32.13"
$vsanDPPrefix = "24"
$vsanDPGateway = "192.168.32.254"
$vsanDPDNS = "192.168.32.3"
$vsanDPDNSDomain = "mulab.local"
$vsanDPDNSSearch = "mulab.local"
$vsanDPvCenterServer = "vcsa8-01.mulab.local"
$vsanDPvCenterServerUsername = "administrator@vsphere.local"
$vsanDPvCenterServerPassword = "vSphere8@password"
$vsanDPvCenterServerSSODomain = "vsphere.local"

准备好自动化部署脚本以后,现在您可以在你的环境中运行它。注意,请确保你已经安装了 PowerCLI 环境,这是运行脚本的前提条件。

1.打开 PowerShell 并进入脚本所在文件夹。

cd "C:\Users\JUNIOR_MU\Desktop\snap"

2.使用 PowerCLI 命令连接到 vCenter Server。

Connect-VIServer vcsa8-02.mulab.local -user administrator@vsphere.local -password vSphere8@password

3.运行自动化部署脚本。

.\deploy_vsan_data_protection_ova.ps1

脚本运行后,如果一切顺利,登录 vSphere Client 可以看到已部署完成的虚拟机。

等待片刻后,登录到 vcsa8-01.mulab.local,如果所有配置都正确,您应该会在 vSphere Client 中看到一个通知横幅并显示“已成功部署插件......”。只需通过刷新浏览器即可访问新的 vSAN Data Protection 视图,请导航到已启用 vSAN ESA 的集群->配置->vSAN->数据保护。同时,您可以导航到vSphere Client->系统管理->解决方案->客户端插件,点击“VMware vSAN Snapshot manager UI Plugin”查看已注册的插件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/738667.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐系统概念篇

概念篇1.1 什么是推荐系统? 1.1.1 能做什么? 推荐系统可以把那些最终会在用户(User) 和物品(Item)之间产生的连接提前找出来。 强调 “连接”,人与任何其他的连接, 其他可指人、咨询、消费品、服务等。 1.1.2 需要什么? 需要已经存在的连接,从已有的连接去预测未来的…

能看病的AI你见过吗:ChatMoney

本文由 ChatMoney团队出品在当今这个科技飞速发展的时代,人工智能技术正在以惊人的速度改变着我们的生活,人工智能已经深入到各个领域,医疗行业也不例外。 而今天我要和大家聊一聊利用ChatMoney全能知识库AI系统在求医问诊领域所发挥的巨大作用,众所周知在传统的求医问诊过…

.NET Core 和 .NET 标准类库项目类型有什么区别?

在 Visual Studio 中,至少可以创建三种不同类型的类库:类库(.NET Framework) 类库(.NET 标准) 类库 (.NET Core)虽然第一种是我们多年来一直在使用的,但一直感到困惑的一个主要问题是何时使用 .NET Standard 和 .NET Core 类库类型。 那么,类库(.NET Standard)和类库…

Python数据分析代码示例

数据清洗 在进行数据分析之前,通常需要对原始数据进行清洗,即处理缺失值、异常值、重复值等问题。 下面是一个数据清洗的示例代码: import pandas as pd# 读取原始数据 data = pd.read_csv(data.csv)# 处理缺失值 data = data.dropna()# 处理异常值 data = data[data[value]…

【OpenVINO™】YOLOv10在CPU上也能实现50+FPS推理—使用OpenVINO C++部署YOLOv10

英特尔发行版 OpenVINO™ 工具套件基于 oneAPI 而开发,可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,适用于从边缘到云的各种英特尔平台上,帮助用户更快地将更准确的真实世界结果部署到生产系统中。YOLOv10是清华大学研究人员近期提出的一种实时目标检测方法…

插头 DP

插头 DP 定义 基于连通性状态压缩的 DP. 一个方向的插头存在表示这个格子在这个方向可以与外面相连。 状态 一个 \(n \times m(n, m \le 12)\) 的棋盘,有的格子是障碍,问共有多少满足要求的回路? 本题中,所有非障碍格子一定是从一个插头进、一个插头出,刚好用两个插头,方…

笛卡尔树(Cartesian Tree)

笛卡尔树(Cartesian Tree)1. 定义 根据序列构造的满足以下性质的树:二叉搜索树性质(BST):\(key_{ls} \le key_x \le key_{rs}\),\(key\) 默认为下标。 堆性质:\(val_{x} \le val_{ls} \le val_{rs}\).2. 构造如果有 \(key\) 作为第一关键字,则按 \(key\) 升序排序,否…

GreatSQL 中 Insert 慢是什么情况?

GreatSQL中 Insert 慢是什么情况? 背景概述 客户反映,业务上某张表的 Insert 操作速度很慢,单条 Insert 语句的最大执行时间超过了 5 秒。在收到客户问题后,我们仔细检查了数据库状态以及主机的负载情况,发现目前一切正常,并没有发现数据库故障或主机负载过高导致 insert…

技术思考:小米宣布在手机跑通 13 亿参数大模型,这意味着什么?

雷军在 2023 年度演讲中对小米 AI 布局的主要内容总结: 1、AI 赋能软硬件:小米计划通过 AI 技术增强其软件和硬件的能力 ,雷军认为 AI 在小米的技术研发中起着关键作用。 2.、持续布局:自 2016 年 7 月建立 AI 视觉团队以来, 小米一直在 AI 领域有计划地扩展, 今年 4 月还…

Unity使用后Addressables分包查看Build的资源大小

在Unity的Console窗口中,我们可以点击右上角的三个点,然后点击Open Editor Log,查看编辑的日志。 其中会有记录报错的信息,也会有我们build打包之后资源占比信息,上线小游戏的时候我们可以根据这些信息,看看需要压缩哪些资源

【问题解决】GL-MT3000无线中继模式连接想要中继的5GhzWifi失败

找了很久原因,还送厂换了一次货,但是回来之后仍然遇到相同的问题,最终确定应该是信号干扰所致。 尝试降低MT3000的5GHz的Wifi发射功率到中,然后成功连上想要中继的5GhzWifi,并且稳定运行到现在,问题解决。