31、深入探究Hyper - V与Azure管理:复制、检查点及云端资源创建

深入探究Hyper - V与Azure管理:复制、检查点及云端资源创建

1. Hyper - V VM复制与故障转移测试

在Hyper - V环境中,VM复制和故障转移测试是确保业务连续性的重要操作。以下是进行PSDirect VM复制和故障转移测试的详细步骤:
1. 配置信任委派并重启主机 :将HV1和HV2配置为可信任委派以支持VM复制,然后重启这两个主机。
2. 配置Hyper - V主机支持复制 :重启主机后,配置两个Hyper - V主机以支持VM复制。
3. 建立复制伙伴关系 :在HV1和HV2之间建立Hyper - V复制伙伴关系。
4. 查看复制状态 :查看HV1 Hyper - V服务器的复制状态,以及PSDirect VM在两个Hyper - V服务器上的复制状态。
5. 启动复制过程 :启动VM复制过程,Hyper - V会在HV2上创建PSDirect VM的完整副本。
6. 观察初始复制过程 :完成步骤5后立即执行此步骤,可观察到初始复制过程。复制速度受多种因素影响,如Hyper - V主机硬件组件、VM内存和虚拟处理器、底层网络和磁盘子系统速度以及虚拟磁盘大小等。
7. 完成初始复制后查看状态 :Hyper - V完成PSDirect的初始复制后,查看复制状态。
8. 进行测试故障转移 :对PSDirect VM从HV1到HV2进行测试故障转移。
9. 查看HV2上的VM状态 :查看HV2上PSDirect VMs的状态。
10. 停止故障转移测试 :停止故障转移测试。
11. 查看故障转移停止后的VM状态 :查看HV1和HV2上VM在故障转移停止后的状态。
12. 计划故障转移前停止VM :在进行计划故障转移之前,停止PSDirect VM。
13. 执行计划故障转移 :执行PSDirect从HV1到HV2的计划故障转移。
14. 完成故障转移过程 :完成故障转移过程。
15. 启动HV2上的VM :启动HV2上的PSDirect VM。
16. 检查故障转移后的VM状态 :检查PSDirect VM在两个Hyper - V主机上的状态。
17. 移除复制 :移除PSDirect VM从HV2的复制。
18. 移除HV1上的VM :移除HV1上的PSDirect VM。
19. 将VM移回HV1 :将PSDirect VM移回HV1,完成整个操作。

以下是操作步骤的流程图:

graph LR
    A[配置信任委派并重启主机] --> B[配置Hyper - V主机支持复制]
    B --> C[建立复制伙伴关系]
    C --> D[查看复制状态]
    D --> E[启动复制过程]
    E --> F[观察初始复制过程]
    F --> G[完成初始复制后查看状态]
    G --> H[进行测试故障转移]
    H --> I[查看HV2上的VM状态]
    I --> J[停止故障转移测试]
    J --> K[查看故障转移停止后的VM状态]
    K --> L[计划故障转移前停止VM]
    L --> M[执行计划故障转移]
    M --> N[完成故障转移过程]
    N --> O[启动HV2上的VM]
    O --> P[检查故障转移后的VM状态]
    P --> Q[移除复制]
    Q --> R[移除HV1上的VM]
    R --> S[将VM移回HV1]
2. 管理VM检查点

在Server 2022的Hyper - V中,检查点可将VM的状态捕获到一个恢复点,允许将VM回滚到该检查点。以下是创建、操作和移除PSDirect VM检查点的步骤:
1. 创建凭据 :创建用于PSDirect VM的Windows凭据对象。

$RKAn = 'Wolf\Administrator'
$PS   = 'Pa$$w0rd'
$RKP  = ConvertTo-SecureString -String $PS -AsPlainText -Force
$T = 'System.Management.Automation.PSCredential'
$RKCred = New-Object -TypeName $T -ArgumentList $RKAn,$RKP
  1. 检查C:\驱动器 :检查PSDirect VM内的C:\驱动器。
$SB = { Get-ChildItem -Path C:\ | Format-Table}
$ICHT = @{
  VMName      = 'PSDirect'
  ScriptBlock = $SB
  Credential  = $RKCred
}
Invoke-Command @ICHT
  1. 创建检查点 :在HV1上为PSDirect创建一个检查点。
$CPHT = @{
  VMName       = 'PSDirect'
  ComputerName = 'HV1'
  SnapshotName = 'Snapshot1'
}
Checkpoint-VM @CPHT
  1. 检查支持文件 :检查Hyper - V用于支持检查点的文件。
$Parent = Split-Path -Parent (Get-VM -Name PSdirect |
            Select-Object -ExpandProperty HardDrives).Path |
              Select-Object -First 1
Get-ChildItem -Path $Parent
  1. 创建文件并显示内容 :在PSDirect上创建一个文件并显示其内容。
$SB = {
  $FileName1 = 'C:\File_After_Checkpoint_1'
  Get-Date | Out-File -FilePath $FileName1
  Get-Content -Path $FileName1
}
$ICHT = @{
  VMName      = 'PSDirect'
  ScriptBlock = $SB
  Credential  = $RKCred
}
Invoke-Command @ICHT
  1. 创建第二个检查点 :创建第二个检查点。
$SNHT = @{
  VMName        = 'PSDirect'
  ComputerName  = 'HV1'  
  SnapshotName  = 'Snapshot2'
}
Checkpoint-VM @SNHT
  1. 查看检查点详情 :查看PSDirect的VM检查点详情。
Get-VMSnapshot -VMName PSDirect
  1. 查看支持文件 :再次查看支持两个检查点的文件。
Get-ChildItem -Path $Parent
  1. 创建并显示另一个文件 :在PSDirect中创建并显示另一个文件。
$SB = {
  $FileName2 = 'C:\File_After_Checkpoint_2'
  Get-Date | Out-File -FilePath $FileName2
  Get-ChildItem -Path C:\ -File | Format-Table 
}
$ICHT = @{
  VMName    = 'PSDirect'
  ScriptBlock = $SB 
  Credential  = $RKCred
}
Invoke-Command @ICHT
  1. 恢复到第一个检查点 :将PSDirect VM恢复到名为Snapshot1的检查点。
$Snap1 = Get-VMSnapshot -VMName PSDirect -Name Snapshot1
Restore-VMSnapshot -VMSnapshot $Snap1 -Confirm:$false
Start-VM -Name PSDirect
Wait-VM -For IPAddress -Name PSDirect
  1. 查看当前文件 :查看PSDirect上当前的文件。
$SB = {
  Get-ChildItem -Path C:\ | Format-Table
}
$ICHT = @{
  VMName    = 'PSDirect'
  ScriptBlock = $SB 
  Credential  = $RKCred
}
Invoke-Command @ICHT
  1. 向前滚动到第二个检查点 :向前滚动到Snapshot2。
$Snap2 = Get-VMSnapshot -VMName PSdirect -Name Snapshot2
Restore-VMSnapshot -VMSnapshot $Snap2 -Confirm:$false
Start-VM -Name PSDirect
Wait-VM -For IPAddress -Name PSDirect
  1. 观察支持文件 :观察当前支持PSDirect的文件。
$SB = {
    Get-ChildItem -Path C:\ | Format-Table
}
$ICHT = @{
  VMName      = 'PSDirect'
  ScriptBlock = $SB 
  Credential  = $RKCred
}
Invoke-Command @ICHT
  1. 再次恢复到第一个检查点 :再次恢复到Snapshot1。
$Snap1 = Get-VMSnapshot -VMName PSDirect -Name Snapshot1
Restore-VMSnapshot -VMSnapshot $Snap1 -Confirm:$false
Start-VM -Name PSDirect
Wait-VM -For IPAddress -Name PSDirect
  1. 再次检查检查点和VM数据文件 :再次检查检查点和VM数据文件。
Get-VMSnapshot -VMName PSDirect
Get-ChildItem -Path $Parent | Format-Table
  1. 移除所有检查点 :从HV1移除所有检查点。
Get-VMSnapshot -VMName PSDirect |
  Remove-VMSnapshot
  1. 再次检查VM数据文件 :再次检查VM数据文件。
Get-ChildItem -Path $Parent
3. Azure管理概述

Azure是Microsoft的云计算平台,提供了广泛的功能,可帮助组织将部分或全部本地基础架构迁移到云端。Azure的功能分为三个层次:
| 层次 | 描述 |
| ---- | ---- |
| 基础设施即服务(IaaS) | 提供即时计算基础设施,包括服务器、存储、网络、防火墙和安全等组件,以及运行这些组件所需的物理设施。在IaaS环境中,服务器是Azure虚拟机(VM),与网络、安全和存储组件交互。 |
| 平台即服务(PaaS) | 提供完整的云部署环境,包括操作系统、存储和其他基础设施。Azure SQL数据库是Azure的一个关键PaaS服务,由Azure管理操作系统和SQL Server的补丁等。 |
| 软件即服务(SaaS) | 用户直接使用供应商放置在云端的应用程序,如Office 365,它捆绑了Exchange Online、SharePoint Online、Teams等。 |

4. 使用PowerShell开始使用Azure

在使用PowerShell管理Azure功能之前,需要完成两件基本事情:
1. 获取Azure订阅 :Azure是商业服务,使用每个功能可能会产生实际成本。获取Azure订阅的方式有多种,如通过Visual Studio订阅、Action Pack订阅或按即用即付方式直接购买。
2. 获取所需的cmdlet :获取用于访问Azure和Office 365功能的cmdlet。

Azure的成本根据资源使用情况而定,而Office 365和其他SaaS服务的费用通常基于用户数量。有关Azure成本的详细信息,请参阅https://azure.microsoft.com/pricing/,有关Microsoft 365费用的详细信息,请参阅https://www.microsoft.com/microsoft - 365/buy/compare - all - microsoft - 365 - products。

深入探究Hyper - V与Azure管理:复制、检查点及云端资源创建(续)

5. 创建Azure资源

创建Azure资源是使用Azure的基础步骤,以下是创建核心资源的过程:
1. 创建资源组 :所有Azure资源都在资源组内创建。资源组是对Azure资源进行逻辑分组的容器,方便管理和组织。
2. 创建存储账户 :用于存储所需的存储,如Azure VM的VHD文件。在大规模Azure部署中,可能需要多个资源组和存储账户实例,但为了简化,这里使用单个资源组和存储账户。

6. 探索Azure存储账户

使用之前创建的Azure存储账户来设置Azure存储。Azure存储提供了可靠的云存储解决方案,可用于存储各种类型的数据,如文件、Blob、队列等。通过配置存储账户,可以实现数据的安全存储和高效访问。

7. 创建Azure SMB文件共享

可以创建一个SMB 3文件共享,客户端应用程序可以通过Internet访问该共享。这一功能非常有用,例如当使用Azure IaaS VM托管一个需要共享文件夹存储数据的应用程序时,就可以将共享文件夹托管在Azure中,而不是指向本地文件共享。

8. 创建Azure网站

可以设置一个简单的网站,创建一个免费的Azure应用计划来支持IIS网站。这个应用计划适合短期营销活动等简单网站的搭建,并且可以根据负载动态扩展,以提供互联网规模的网站服务。

9. 创建Azure虚拟机

创建一个Azure VM并通过远程桌面协议(RDP)访问它。虽然Azure使用Hyper - V的变体来运行VM,但不能使用之前提到的Hyper - V cmdlet来管理Azure VM,Azure有自己的一套命令。以下是创建Azure VM的大致步骤:
1. 准备必要的参数 :如VM名称、大小、操作系统镜像等。
2. 使用Azure命令创建VM :通过PowerShell使用Azure特定的cmdlet来创建VM。
3. 配置网络和安全设置 :确保VM可以通过网络访问,并设置适当的安全规则。
4. 连接到VM :使用RDP协议连接到创建好的Azure VM。

10. 总结

通过以上内容,我们详细介绍了Hyper - V环境中VM复制、检查点管理以及Azure资源创建和管理的相关知识和操作步骤。Hyper - V的复制和检查点功能为VM的管理和维护提供了强大的支持,而Azure作为云计算平台,提供了丰富的功能和服务,可帮助组织实现灵活、高效的云端部署。无论是在本地环境还是云端,这些技术都能提高系统的可靠性、可维护性和灵活性。在实际应用中,需要根据具体需求和场景选择合适的技术和操作方法,以达到最佳的效果。同时,要注意Azure服务的成本管理,合理使用资源,避免不必要的费用支出。

深入探究Hyper - V与Azure管理:复制、检查点及云端资源创建(续)

5. 创建Azure资源

创建Azure资源是使用Azure的基础步骤,以下是创建核心资源的过程:
1. 创建资源组 :所有Azure资源都在资源组内创建。资源组是对Azure资源进行逻辑分组的容器,方便管理和组织。
2. 创建存储账户 :用于存储所需的存储,如Azure VM的VHD文件。在大规模Azure部署中,可能需要多个资源组和存储账户实例,但为了简化,这里使用单个资源组和存储账户。

创建资源组和存储账户的操作步骤如下:
- 创建资源组 :可以使用Azure PowerShell命令 New-AzResourceGroup 来创建资源组。示例代码如下:

New-AzResourceGroup -Name "MyResourceGroup" -Location "EastUS"

上述代码中, -Name 指定资源组的名称, -Location 指定资源组所在的地理位置。
- 创建存储账户 :使用 New-AzStorageAccount 命令创建存储账户。示例代码如下:

New-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount" -Location "EastUS" -SkuName Standard_LRS

这里, -ResourceGroupName 指定资源组的名称, -Name 指定存储账户的名称, -Location 指定存储账户的地理位置, -SkuName 指定存储账户的SKU类型。

以下是创建Azure资源的流程图:

graph LR
    A[开始] --> B[创建资源组]
    B --> C[创建存储账户]
    C --> D[结束]
6. 探索Azure存储账户

使用之前创建的Azure存储账户来设置Azure存储。Azure存储提供了可靠的云存储解决方案,可用于存储各种类型的数据,如文件、Blob、队列等。通过配置存储账户,可以实现数据的安全存储和高效访问。

探索Azure存储账户的步骤如下:
1. 获取存储账户的上下文 :使用 Get-AzStorageAccount 命令获取存储账户的上下文信息。示例代码如下:

$storageAccount = Get-AzStorageAccount -ResourceGroupName "MyResourceGroup" -Name "mystorageaccount"
$ctx = $storageAccount.Context
  1. 创建Blob容器 :可以使用 New-AzStorageContainer 命令在存储账户中创建Blob容器。示例代码如下:
New-AzStorageContainer -Name "mycontainer" -Context $ctx
  1. 上传文件到Blob容器 :使用 Set-AzStorageBlobContent 命令将本地文件上传到Blob容器中。示例代码如下:
Set-AzStorageBlobContent -File "C:\path\to\file.txt" -Container "mycontainer" -Blob "file.txt" -Context $ctx
7. 创建Azure SMB文件共享

可以创建一个SMB 3文件共享,客户端应用程序可以通过Internet访问该共享。这一功能非常有用,例如当使用Azure IaaS VM托管一个需要共享文件夹存储数据的应用程序时,就可以将共享文件夹托管在Azure中,而不是指向本地文件共享。

创建Azure SMB文件共享的步骤如下:
1. 创建文件共享 :使用 New-AzStorageShare 命令在存储账户中创建文件共享。示例代码如下:

New-AzStorageShare -Name "myshare" -Context $ctx
  1. 上传文件到文件共享 :使用 Set-AzStorageFileContent 命令将本地文件上传到文件共享中。示例代码如下:
Set-AzStorageFileContent -ShareName "myshare" -Source "C:\path\to\file.txt" -Path "file.txt" -Context $ctx
8. 创建Azure网站

可以设置一个简单的网站,创建一个免费的Azure应用计划来支持IIS网站。这个应用计划适合短期营销活动等简单网站的搭建,并且可以根据负载动态扩展,以提供互联网规模的网站服务。

创建Azure网站的步骤如下:
1. 创建应用服务计划 :使用 New-AzAppServicePlan 命令创建应用服务计划。示例代码如下:

New-AzAppServicePlan -Name "MyAppServicePlan" -Location "EastUS" -ResourceGroupName "MyResourceGroup" -Tier Free
  1. 创建网站 :使用 New-AzWebApp 命令在应用服务计划上创建网站。示例代码如下:
New-AzWebApp -Name "mywebsite" -Location "EastUS" -AppServicePlan "MyAppServicePlan" -ResourceGroupName "MyResourceGroup"
9. 创建Azure虚拟机

创建一个Azure VM并通过远程桌面协议(RDP)访问它。虽然Azure使用Hyper - V的变体来运行VM,但不能使用之前提到的Hyper - V cmdlet来管理Azure VM,Azure有自己的一套命令。以下是创建Azure VM的大致步骤:
1. 准备必要的参数 :如VM名称、大小、操作系统镜像等。
2. 使用Azure命令创建VM :通过PowerShell使用Azure特定的cmdlet来创建VM。
3. 配置网络和安全设置 :确保VM可以通过网络访问,并设置适当的安全规则。
4. 连接到VM :使用RDP协议连接到创建好的Azure VM。

创建Azure虚拟机的详细步骤如下:
1. 创建网络安全组 :使用 New-AzNetworkSecurityGroup 命令创建网络安全组。示例代码如下:

New-AzNetworkSecurityGroup -Name "MyNSG" -ResourceGroupName "MyResourceGroup" -Location "EastUS"
  1. 创建虚拟网络和子网 :使用 New-AzVirtualNetwork Add-AzVirtualNetworkSubnetConfig 命令创建虚拟网络和子网。示例代码如下:
$subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name "mysubnet" -AddressPrefix 10.0.0.0/24 -VirtualNetwork $vnet
$vnet = New-AzVirtualNetwork -Name "myvnet" -ResourceGroupName "MyResourceGroup" -Location "EastUS" -AddressPrefix 10.0.0.0/16 -Subnet $subnetConfig
  1. 创建公共IP地址 :使用 New-AzPublicIpAddress 命令创建公共IP地址。示例代码如下:
New-AzPublicIpAddress -Name "mypublicip" -ResourceGroupName "MyResourceGroup" -Location "EastUS" -AllocationMethod Static
  1. 创建网络接口 :使用 New-AzNetworkInterface 命令创建网络接口。示例代码如下:
New-AzNetworkInterface -Name "myinterface" -ResourceGroupName "MyResourceGroup" -Location "EastUS" -SubnetId $subnetConfig.Id -PublicIpAddressId $publicIp.Id -NetworkSecurityGroupId $nsg.Id
  1. 创建虚拟机配置 :使用 New-AzVMConfig 命令创建虚拟机配置。示例代码如下:
$vmConfig = New-AzVMConfig -VMName "myvm" -VMSize "Standard_DS1_v2"
  1. 设置虚拟机操作系统 :使用 Set-AzVMOperatingSystem 命令设置虚拟机的操作系统。示例代码如下:
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName "myvm" -Credential $cred
  1. 设置虚拟机网络接口 :使用 Set-AzVMNetworkInterface 命令设置虚拟机的网络接口。示例代码如下:
Set-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
  1. 设置虚拟机镜像 :使用 Set-AzVMSourceImage 命令设置虚拟机的操作系统镜像。示例代码如下:
Set-AzVMSourceImage -VM $vmConfig -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2019-Datacenter" -Version "latest"
  1. 创建虚拟机 :使用 New-AzVM 命令创建虚拟机。示例代码如下:
New-AzVM -ResourceGroupName "MyResourceGroup" -Location "EastUS" -VM $vmConfig
10. 总结

通过以上内容,我们详细介绍了Hyper - V环境中VM复制、检查点管理以及Azure资源创建和管理的相关知识和操作步骤。Hyper - V的复制和检查点功能为VM的管理和维护提供了强大的支持,而Azure作为云计算平台,提供了丰富的功能和服务,可帮助组织实现灵活、高效的云端部署。

以下是相关技术的对比表格:
| 技术 | 功能 | 适用场景 |
| ---- | ---- | ---- |
| Hyper - V VM复制 | 实现VM的复制和故障转移,确保业务连续性 | 对VM可用性要求较高的场景 |
| Hyper - V检查点 | 捕获VM状态,可回滚到检查点 | 故障排查、培训等场景 |
| Azure IaaS | 提供计算基础设施,包括VM、存储、网络等 | 需要灵活配置和管理基础设施的场景 |
| Azure PaaS | 提供完整的云部署环境,如Azure SQL数据库 | 希望简化部署和管理的场景 |
| Azure SaaS | 直接使用云端应用程序,如Office 365 | 无需自行部署和管理应用程序的场景 |

无论是在本地环境还是云端,这些技术都能提高系统的可靠性、可维护性和灵活性。在实际应用中,需要根据具体需求和场景选择合适的技术和操作方法,以达到最佳的效果。同时,要注意Azure服务的成本管理,合理使用资源,避免不必要的费用支出。

先展示下效果 https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值