Powercli批量修改分布式交换机端口组

背景

需求:

  • 批量修改虚拟机的分布式端口组

解决:

  • 三条命令解决:先获取目标虚拟机、获取目标端口组、修改虚拟机端口组、检查虚拟机状态。
powershell 复制代码
$vm = Get-VM -Name <虚拟机名称>
$portGroup = Get-VirtualPortGroup -Name <端口组名称>
Get-NetworkAdapter -VM $vm | Set-NetworkAdapter -NetworkName $portGroup
Get-NetworkAdapter -VM $vm

实际操作流程

实操环境

因为调整物理机资源,部分esxi主机加入到新的vcenter中,导入分布式交换机后出现一些问题,需要调整部分虚拟机网络:

三台名叫10.43.10.78-K8SConsul-Czm01的虚拟机需要修改分布式交换机端口组,

修改前:DPortGroup-xxxx-10.43.10.x dvportgroup-285

修改后:DPortGroup-xxxx-10.43.10.x (1) dvportgroup-15232

1.获取目标虚拟机

获取目标虚拟机,设为变量$vm

bash 复制代码
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> get-vm -name *K8ScONSUL*|Get-NetworkAdapter

Name                 Type            NetworkName     MacAddress         WakeOnLan
                                                                          Enabled
----                 ----            -----------     ----------         ---------
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:ee       True
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:76       True
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:ba       True
Network adapter 1    Vmxnet3         dvportgroup-285 00:50:56:b6:xx:3f       True


PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $vm = Get-VM -Name *k8sconsul-c*
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $vm

Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
10.43.10.79-K8SCo... PoweredOn  4        8.000
10.43.10.78-K8SCo... PoweredOn  4        8.000
10.43.10.80-K8SCo... PoweredOn  4        8.000

2.获取目标端口组

获取目标端口组,设为变量$portGroup

bash 复制代码
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps>  Get-VirtualPortGroup|ft -au

Name                                            Key                                       VLanId PortBinding NumPorts
----                                            ---                                       ------ ----------- --------

DPortGroup-xxxx-10.43.10.x (1)   dvportgroup-15232                                Static      48
DPortGroup-xxxx-10.43.10.x       dvportgroup-285                                  Static      48


PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $portGroup = Get-VirtualPortGroup -name "DPortGroup-xxxx-10.43.10.x (1)"
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $portGroup

Name                      Key                            VLanId PortBinding NumPorts
----                      ---                            ------ ----------- --------
DPortGroup-xxxx... dvportgroup-15232                     Static      48                                                                                                                                   

3.修改虚拟机配置:

以先前两个变量($vm和$portGroup)为命令操作对象,将目标虚拟机网络适配器,修改改为使用目标端口组。

bash 复制代码
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $vm                                                                                                                                                                                        Name                 PowerState Num CPUs MemoryGB                                                                       ----                 ---------- -------- --------                                                                       10.43.10.79-K8SCo... PoweredOn  4        8.000                                                                          10.43.10.78-K8SCo... PoweredOn  4        8.000                                                                          10.43.10.80-K8SCo... PoweredOn  4        8.000                                                                                                                                                                                                  
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> $portGroup

Name                      Key                            VLanId PortBinding NumPorts
----                      ---                            ------ ----------- --------
DPortGroup-xxxx... dvportgroup-15232                     Static      48

执行以下命令修改虚拟机的配置,修改端口组。

powershell 复制代码
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-NetworkAdapter -VM $vm | Set-NetworkAdapter -NetworkName $portGroup

确认
是否确实要执行此操作?
正在目标"Network adapter 1"上执行操作"Setting NetworkName: DPortGroup-VID_310-TEST.测试区-10.43.10.x (1)"。
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为"Y"): a
警告: Specifying a distributed port group name as network name is no longer supported. Use the -Portgroup parameter.

Name                 Type            NetworkName     MacAddress         WakeOnLan
                                                                          Enabled
----                 ----            -----------     ----------         ---------
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:ee       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:3f       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:76       True

4.检查虚拟机状态

powershell 复制代码
PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-NetworkAdapter -VM $vm

Name                 Type            NetworkName     MacAddress         WakeOnLan
                                                                          Enabled
----                 ----            -----------     ----------         ---------
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:ee       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:3f       True
Network adapter 1    Vmxnet3         DPortGroup-x... 00:50:56:b6:xx:76       True


PS C:\Users\Czm\AppData\Local\Microsoft\WindowsApps> Get-NetworkAdapter -VM $vm|ft -au

Name              Type    NetworkName                                   MacAddress        WakeOnLanEnabled
----              ----    -----------                                   ----------        ----------------
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.43.10.x (1) 00:50:56:b6:xx:ee             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.43.10.x (1) 00:50:56:b6:xx:3f             True
Network adapter 1 Vmxnet3 DPortGroup-xxxx-10.43.10.x (1) 00:50:56:b6:xx:76             True

分布式端口组修改成功。

参考截图



完成

相关推荐
时间售卖铺9 小时前
Docker镜像构建全解析:从原理到实战优化
运维·docker·云原生·容器
小豆庄10 小时前
会议录屏忘打码后的技术复盘:本地自动化隐私脱敏方案
运维·opencv·目标检测·自动化·视频·纹理贴图
码途行者10 小时前
Linux 服务器 Golang 安装及环境变量配置
linux·运维·服务器
爱和冰阔落10 小时前
【Linux网络】UDP 聊天室怎么实现?从在线用户管理、消息广播到双线程收发与线程池
linux·运维·网络·udp
雪落漂泊10 小时前
Linux进程(三)概念:进程优先级与进程切换篇
linux·运维·服务器
拂拉氏10 小时前
【知识讲解】 Linux信号与可重入函数的认识
linux·运维·服务器
Sayai10 小时前
Kafka 跨数据中心日志同步实战:MirrorMaker 2 选型对比 + Flink 中继任务落地(双中心互备与消费者组隔离避坑)
大数据·运维·分布式·flink·kafka·消息队列·高可用
djjjx.10 小时前
Linux进程篇(十二):从零构建属于你的自定义 Shell 解释器
linux·运维·服务器
云川之下11 小时前
[ensp] 交换机入门配置例子(带vlan)
运维·服务器·网络