玩转神龙服务器的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/

相关文章
|
12月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族是什么?不同规格CPU型号、处理器主频及网络性能参数均不同
阿里云ECS实例规格族是指具有不同性能特点和适用场景的实例类型集合。不同规格族如计算型c9i、通用算力型u1、经济型e等,在CPU型号、主频、网络性能、云盘IOPS等方面存在差异。即使CPU和内存配置相同,性能参数和价格也各不相同,适用于不同业务需求。
796 144
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
280 1
|
JSON 监控 API
在线网络PING接口检测服务器连通状态免费API教程
接口盒子提供免费PING检测API,可测试域名或IP的连通性与响应速度,支持指定地域节点,适用于服务器运维和网络监控。
2149 0
|
机器学习/深度学习 存储 监控
内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
企业文件服务器审计是保障信息安全、确保合规的关键措施。DataSecurity Plus 是由卓豪ManageEngine推出的审计工具,提供全面的文件访问监控、实时异常告警、用户行为分析及合规报告生成功能,助力企业防范数据泄露风险,满足GDPR、等保等多项合规要求,为企业的稳健发展保驾护航。
370 0
|
12月前
|
存储 监控 Linux
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
314 0
|
存储 安全 虚拟化
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
859 3
|
12月前
|
机器学习/深度学习 监控 安全
解密虚拟化弹性内存:五大核心技术与实施策略
本文深入解析虚拟化环境中实现内存弹性管理的五大核心技术与实施策略。内容涵盖内存架构演进、关键技术原理、性能优化方法及典型问题解决方案,助力提升虚拟机密度与资源利用率。
486 0
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
1148 0
|
存储 虚拟化 Docker
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具

热门文章

最新文章