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

打印 上一主题 下一主题

主题 830|帖子 830|积分 2490

之前“vSAN Data Protection Part 1:安装部署。”这篇文章介绍了怎样通过手动导入 OVA 模板并部署 VMware Snapshot Service Appliance 设备,还补充了安装过程中对于设置应该注意的一些事项。着实,我们也可以通过脚本自动化部署这一过程,这里使用了 VMware 工程师 William Lam 的 PowerCLI 脚本文件 deploy_vsan_data_protection_ova.ps1 ,下面是脚本的全部内容。
  1. # vSAN DP OVA Path
  2. $vsanDPOVA = "/Volumes/software/VMware OVA/snapservice_appliance-8.0.3.0-24057802_OVF10.ova"
  3. # Deployment Configuration
  4. $vsanDPVMName = "snap.primp-industries.local"
  5. $vsanDPCluster = "Supermicro-Cluster"
  6. $vsanDPDatastore = "sm-vsanDatastore"
  7. $vsanDPVMNetwork = "Management"
  8. # OVF Property Values
  9. $vsanDPRootPassword = "VMware1!VMware1!"
  10. $vsanDPHostname = "snap.primp-industries.local"
  11. $vsanDPIPAddress = "192.168.30.96"
  12. $vsanDPPrefix = "24"
  13. $vsanDPGateway = "192.168.30.1"
  14. $vsanDPDNS = "192.168.30.2"
  15. $vsanDPDNSDomain = "primp-industries.local"
  16. $vsanDPDNSSearch = "primp-industries.local"
  17. $vsanDPvCenterServer = "vcsa.primp-industries.local"
  18. $vsanDPvCenterServerUsername = "administrator@vsphere.local"
  19. $vsanDPvCenterServerPassword = "VMware1!"
  20. $vsanDPvCenterServerSSODomain = "vsphere.local"
  21. #### DO NOT EDIT BEYOND HERE
  22. # https://gist.github.com/jstangroome/5945820
  23. Function Get-VCCertificate {
  24.     [CmdletBinding()]
  25.     param (
  26.         [Parameter(Mandatory=$true)]
  27.         [string]
  28.         $ComputerName,
  29.         [int]
  30.         $Port = 443
  31.     )
  32.     $Certificate = $null
  33.     $TcpClient = New-Object -TypeName System.Net.Sockets.TcpClient
  34.     try {
  35.         $TcpClient.Connect($ComputerName, $Port)
  36.         $TcpStream = $TcpClient.GetStream()
  37.         $Callback = { param($sender, $cert, $chain, $errors) return $true }
  38.         $SslStream = New-Object -TypeName System.Net.Security.SslStream -ArgumentList @($TcpStream, $true, $Callback)
  39.         try {
  40.             $SslStream.AuthenticateAsClient('')
  41.             $Certificate = $SslStream.RemoteCertificate
  42.         } finally {
  43.             $SslStream.Dispose()
  44.         }
  45.     } finally {
  46.         $TcpClient.Dispose()
  47.     }
  48.     if ($Certificate) {
  49.         if ($Certificate -isnot [System.Security.Cryptography.X509Certificates.X509Certificate2]) {
  50.             $Certificate = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $Certificate
  51.         }
  52.         return $Certificate
  53.     }
  54. }
  55. # Get vCenter Server TLS Certificate
  56. $cert = Get-VCCertificate -ComputerName $vsanDPvCenterServer
  57. $vccert = "-----BEGIN CERTIFICATE-----" + $([System.Convert]::ToBase64String($cert.GetRawCertData()))+ "-----END CERTIFICATE-----"
  58. $ovfconfig = Get-OvfConfiguration $vsanDPOVA
  59. $ovfconfig.Common.vami.hostname.Value = $vsanDPHostname
  60. $ovfconfig.Common.varoot_password.Value = $vsanDPRootPassword
  61. $ovfconfig.NetworkMapping.Network_1.Value = $vsanDPVMNetwork
  62. $ovfconfig.vami.VMware_SnapshotService_Appliance.addrfamily.Value = "ipv4"
  63. $ovfconfig.vami.VMware_SnapshotService_Appliance.ip0.Value = $vsanDPIPAddress
  64. $ovfconfig.vami.VMware_SnapshotService_Appliance.prefix0.Value = $vsanDPPrefix
  65. $ovfconfig.vami.VMware_SnapshotService_Appliance.gateway.Value = $vsanDPGateway
  66. $ovfconfig.vami.VMware_SnapshotService_Appliance.dns.Value = $vsanDPDNS
  67. $ovfconfig.vami.VMware_SnapshotService_Appliance.domain.Value = $vsanDPDNSDomain
  68. $ovfconfig.vami.VMware_SnapshotService_Appliance.searchpath.Value = $vsanDPDNSSearch
  69. $ovfconfig.vcenter.VMware_SnapshotService_Appliance.hostname.Value = $vsanDPvCenterServer
  70. $ovfconfig.vcenter.VMware_SnapshotService_Appliance.vcusername.Value = $vsanDPvCenterServerUsername
  71. $ovfconfig.vcenter.VMware_SnapshotService_Appliance.vcuserpassword.Value = $vsanDPvCenterServerPassword
  72. $ovfconfig.vcenter.VMware_SnapshotService_Appliance.vcdomain.Value = $vsanDPvCenterServerSSODomain
  73. $ovfconfig.vcenter.VMware_SnapshotService_Appliance.vccert.Value = $vccert
  74. $VMHost = Get-Cluster $vsanDPCluster| Get-VMHost | Select -first 1
  75. Write-Host -ForegroundColor Green  "Deploying vSAN Data Protection VM ..."
  76. $vm = Import-VApp -Source $vsanDPOVA -OvfConfiguration $ovfconfig -Name $vsanDPVMName -Location $vsanDPCluster -VMHost $VMHost -Datastore $vsanDPDatastore -DiskStorageFormat thin -Force
  77. Write-Host -ForegroundColor Green "Powering on vSAN Data Protection $vsanDPVMName ..."
  78. $vm | Start-VM -Confirm:$false | Out-Null
复制代码
脚本中以下内容必要修改为自己当前环境中的现实信息,与手动部署 OVA 模板时相关设置的一样,必要提前在脚本里预定义这些信息。

  • 设置捏造机部署的 OVA 模板文件所在的位置。
  1. # vSAN DP OVA Path
  2. $vsanDPOVA = "D:\System\VMware\VMware vSAN\snapservice_appliance-8.0.3.0-24057802_OVF10.ova"
复制代码

  • 设置捏造机名称、所部署的集群、所使用的存储和网络。
  1. # Deployment Configuration
  2. $vsanDPVMName = "snap.mulab.local"
  3. $vsanDPCluster = "vsan8-hci-esa"
  4. $vsanDPDatastore = "vsanDatastore"
  5. $vsanDPVMNetwork = "VM Network"
复制代码

  • 设置捏造机 Root 密码、主机名以及网络相关信息,连接 vCenter Server 的地址、用户名和密码等。注意,无需设置证书信息。
  1. # OVF Property Values
  2. $vsanDPRootPassword = "vSphere8@password"
  3. $vsanDPHostname = "snap.mulab.local"
  4. $vsanDPIPAddress = "192.168.32.13"
  5. $vsanDPPrefix = "24"
  6. $vsanDPGateway = "192.168.32.254"
  7. $vsanDPDNS = "192.168.32.3"
  8. $vsanDPDNSDomain = "mulab.local"
  9. $vsanDPDNSSearch = "mulab.local"
  10. $vsanDPvCenterServer = "vcsa8-01.mulab.local"
  11. $vsanDPvCenterServerUsername = "administrator@vsphere.local"
  12. $vsanDPvCenterServerPassword = "vSphere8@password"
  13. $vsanDPvCenterServerSSODomain = "vsphere.local"
复制代码
准备好自动化部署脚本以后,现在您可以在你的环境中运行它。注意,请确保你已经安装了 PowerCLI 环境,这是运行脚本的条件条件。
1.打开 PowerShell 并进入脚本所在文件夹。
  1. cd "C:\Users\JUNIOR_MU\Desktop\snap"
复制代码

2.使用 PowerCLI 命令连接到 vCenter Server。
  1. Connect-VIServer vcsa8-02.mulab.local -user administrator@vsphere.local -password vSphere8@password
复制代码

3.运行自动化部署脚本。
  1. .\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”查看已注册的插件。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

写过一篇

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表