玩转神龙服务器的Hyper-V虚拟化网络之 配置直通网卡

简介: 在上一篇 **玩转神龙服务器的Hyper-V虚拟化网络之 配置NAT网络** 的文章中我们使用NAT的方式使Hyper-V VM可以访问公网。在这一篇里,我们会使用直通网卡的特性来使VM有对外提供服务的功能。 ## 前置条件 神龙服务器,一块主网卡。 另外,需要创建额外的辅助网卡,并创建EIP绑定到此辅助网卡。需要创建多少VM,就要创建多少辅助网卡和EIP。 ![image.p

在上一篇 玩转神龙服务器的Hyper-V虚拟化网络之 配置NAT网络 的文章中我们使用NAT的方式使Hyper-V VM可以访问公网。在这一篇里,我们会使用直通网卡的特性来使VM有对外提供服务的功能。

前置条件

神龙服务器,一块主网卡。
另外,需要创建额外的辅助网卡,并创建EIP绑定到此辅助网卡。需要创建多少VM,就要创建多少辅助网卡和EIP。

image.png

image.png

安装Hyper-V

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

运行完后会自动重启两次。

创建虚拟机

这里我预先Copy了阿里云的镜像VHD文件win2016_64_dtc_1607_en-us_40G_noxen_20180801.vhd放在了D盘。我会为每一个虚拟机新建一个基于此VHD的差异磁盘。

$PathVHD = "D:\win2016_64_dtc_1607_en-us_40G_noxen_20180801.vhd"
$VMName = "VM1"
$HyperVRootPath = "D:\Hyper-V"
$VMMeorySize = 4GB
$VMVHD = "${HyperVRootPath}\${VMName}\Virtual Hard Disks\${VMName}.vhd"

New-VHD -ParentPath $PathVHD -Path $VMVHD -Differencing
New-VM -Name $VMName -MemoryStartupBytes $VMMeorySize -BootDevice VHD -VHDPath $VMVHD -Path $HyperVRootPath -Generation 1

在Hyper-V Server上直通网卡到VM

  • 假定需要给VM使用的网卡的IP是192.168.88.20, 使用以下Powershell禁用此网卡,在神龙服务器,此网卡会消失并在设备管理器里不可见。

    $AttachNicIP = "192.168.88.20" # 替换为真实IP
    
    $pnpDeviceID = $null
    Get-WmiObject Win32_NetworkAdapter  | % {
        $config = $_.GetRelated('Win32_NetworkAdapterConfiguration') 
        $IP = $config | Select-Object -expand IPAddress
        if($IP -like "*${AttachNicIP}*")
        {
        $pnpDeviceID = $_.PNPDeviceID
        }
    }
    if ($pnpDeviceID -eq $null) {throw "no device matches."}
    
    $dev = (Get-PnpDevice -PresentOnly).Where{ $_.PNPDeviceID -like $pnpDeviceID }
    
    Disable-PnpDevice -InstanceId $dev.InstanceId -Confirm:$false
    $locationPath = (Get-PnpDeviceProperty -KeyName DEVPKEY_Device_LocationPaths -InstanceId $dev.InstanceId).Data[0]
    Dismount-VmHostAssignableDevice -LocationPath $locationPath -Force –Verbose
  • 在分配直通网卡给VM时,VM要满足两个条件,一是VM的 自动停止操作关闭电源。二是如果VM使用了动态内存,最小内存和启动内存要一致(我们这里用的是固定大小内存)。在我们前一步创建的VM,第二个条件已经满足。现在配置第一个条件并添加网卡。

    $VM = Get-VM -Name $VMName
    Set-VM -VM $VM -AutomaticStopAction TurnOff
    Add-VMAssignableDevice -VM $vm -LocationPath $locationPath –Verbose
    Start-VM -Name $VMName

image.png

为VM安装网卡驱动

如果镜像中已经有最新的网卡设备,这时我们应该可以通过EIP访问VM。
没有带最新的网卡驱动,虚拟机网卡设备可能不能工作。这时需要给虚拟机安装网卡驱动。
驱动位于Hyper-V Server的 "C:ProgramDataaliyunvminitkvmwin10amd64"里。

  • 将网卡驱动Copy到Guest VM里。方法有很多,你可以使用你所想到的方法。这里提供一个创建VHD,把驱动放进去,然后Attach 到VM里。

    $DriverVHD = "${evn:Temp}\DriverData.vhdx"
    New-VHD -Path $DriverVHD -Dynamic -Size 1GB
    Mount-VHD -Path $DriverVHD
    $vhdobj = (Get-DiskImage -ImagePath $DriverVHD)
    
    $DataDrive  = (Get-Disk -Number $vhdobj.Number) | Initialize-Disk -PartitionStyle MBR -PassThru |  New-Partition -UseMaximumSize -AssignDriveLetter | Format-Volume -Confirm:$false -FileSystem NTFS -Force 
    
    $DestPath = "{0}:\Drivers" -f $DataDrive.DriveLetter
    Copy-Item -Path "C:\ProgramData\aliyun\vminit\kvm\win10\amd64" -Filter net*.* -Destination $DestPath –Recurse
    
    Dismount-VHD -Path $DriverVHD
    
    Add-VMHardDiskDrive -VMName $VMName -Path $DriverVHD -ControllerType SCSI
  • 在VM里安装驱动。在命令行或PowerShell里执行以下命令。这里的D盘是我们上一步Attach的虚拟磁盘。

    pnputil -i -a D:\drivers\*.inf

当然,这个时候可以做一些清理工作像删除临时磁盘等,这里就不多说了。

到此,大功告成。可以通过EIP RDP到这个VM里了。感觉是不是多了一台ECS实例?当然你还可以创建很多台。。。

参考:

https://blogs.technet.microsoft.com/heyscriptingguy/2016/07/14/passing-through-devices-to-hyper-v-vms-by-using-discrete-device-assignment/

相关文章
|
4月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
917 66
|
7月前
|
运维 监控 安全
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
320 3
VMware NSX 9.0 正式版发布 - 下一代网络安全虚拟化平台
|
5月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族是什么?不同规格CPU型号、处理器主频及网络性能参数均不同
阿里云ECS实例规格族是指具有不同性能特点和适用场景的实例类型集合。不同规格族如计算型c9i、通用算力型u1、经济型e等,在CPU型号、主频、网络性能、云盘IOPS等方面存在差异。即使CPU和内存配置相同,性能参数和价格也各不相同,适用于不同业务需求。
468 144
|
6月前
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
715 0
|
6月前
|
机器学习/深度学习 存储 监控
内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
企业文件服务器审计是保障信息安全、确保合规的关键措施。DataSecurity Plus 是由卓豪ManageEngine推出的审计工具,提供全面的文件访问监控、实时异常告警、用户行为分析及合规报告生成功能,助力企业防范数据泄露风险,满足GDPR、等保等多项合规要求,为企业的稳健发展保驾护航。
183 0
|
7月前
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
159 1
|
4月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
441 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
3月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
394 10
|
3月前
|
网络协议 API 网络安全
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
708 3
VMware NSX 9.0.1.0 发布 - 下一代网络安全虚拟化平台
|
3月前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。