VMware ESXi学习笔记
esxi网络模型:
物理网卡: 一般会有多个物理网卡,用于管理口和其他(vsan)
虚拟交换机:创建虚拟交换机时,会要求选择至少1个上行链路(物理网卡)
端口组:一般一个虚拟交换机会创建两个端口组,一个虚机使用,一个vmware使用,vmware使用的即内部数据和业务使用,需要创建vmkernel;
每个端口组可以有自己的负载均衡策略,端口安全模式
vmkernel: 这个是针对每个esxi, vmware内部使用的端口组要求创建vmkernel,创建时会提示选择该vmkernel的使用场景,比如vsan
可以在创建好端口组后,直接在端口组上添加vmkernel适配器,然后可以批量选择物理机,这样可以快速在每台物理机上创建vmkernel;
通常虚机使用的端口组不需要vmkernel,而vmware使用的则需要,比如管理面、vsan等
vmkernel适配器就是相当于虚拟网卡,可以配置IP
esxi安装好后默认会创建一个标准的虚拟交换机vSwitch0,包含两个端口组Manager Network和VM Network,默认创建一个vmk0(只勾选了管理),设置的IP就是给vmk0设置IP,
vmk0连接Manager Network端口组,进而连接到vSwitch0标准虚拟交换机上,通过物理口出去
通常通过vcenter管理esxi时,会将同一机架的esxi添加为一个集群(集群内的esxi一般都在同一子网,如果不是的话后续配置vsan等需要配置ip时会很麻烦),集群要求CPU型号一致,
同时将esxi的存储组建成vsan,另外会创建一个DVS(分布式交换机),添加两个端口组,一个用来给虚机使用,一个用来给宿主机内部使用,需要创建vmkernel(包含:vMotion、置备、vSphere Replication、vSphere Replication NFC、vSAN)
esxi虚机网络负载默认是根据虚机网卡的端口ID来的,这样就会导致某个时刻,物理网卡的负载不均衡,处理办法:
1、调整虚机配置,编辑虚机,将网口的连接和启动连接关闭,确认后再次编辑打开;
2、迁移虚机到其他宿主机
3、调整端口组的负载均衡策略,改成安装物理网卡的实际负载来执行
显示物理网卡信息
[root@localhost:~] esxcli network nic list
Name PCI Device Driver Admin Status Link Status Speed Duplex MAC Address MTU Description
------- ------------ ------ ------------ ----------- ----- ------ ----------------- ---- -----------
vmnic0 0000:1a:00.0 i40en Up Up 10000 Full 8c:2a:8e:08:9c:74 9000 Intel(R) Ethernet Connection X722 for 10GbE SFP+
vmnic1 0000:1a:00.1 i40en Up Up 10000 Full 8c:2a:8e:08:9c:75 9000 Intel(R) Ethernet Connection X722 for 10GbE SFP+
显示标准虚拟交换机:
[root@localhost:~] esxcli network vswitch standard list
vSwitch0
Name: vSwitch0
Class: cswitch
Num Ports: 9216
Used Ports: 4
Configured Ports: 128
MTU: 1500
CDP Status: listen
Beacon Enabled: false
Beacon Interval: 1
Beacon Threshold: 3
Beacon Required By:
Uplinks: vmnic2
Portgroups: VM Network, Management Network
查询标准交换机端口组:
[root@localhost:~] esxcli network vswitch standard portgroup list
Name Virtual Switch Active Clients VLAN ID
------------------ -------------- -------------- -------
Management Network vSwitch0 1 0
VM Network vSwitch0 1 0
显示分布式交换机:
[root@localhost:~] esxcli network vswitch dvs vmware list
DVSInfra
Name: DVSInfra
VDS ID: 50 32 c6 7b 2e d8 28 d9-61 62 b4 c0 b4 de 7e da
Class: cswitch
Num Ports: 3323
Used Ports: 8
Configured Ports: 512
MTU: 9000
CDP Status: listen
Beacon Timeout: -1
Uplinks: vmnic5, vmnic6
VMware Branded: true
DVPort:
Client: vmnic5
DVPortgroup ID: dvportgroup-4970
In Use: true
Port ID: 16
Client: vmnic6
DVPortgroup ID: dvportgroup-4970
In Use: true
Port ID: 17
注意,这里的Port ID其实是DVS Port ID,不能用来抓包;esxi上没有查询分布式端口组的命令
如果要抓包,则可以通过esxcli network vm list 命令显示的虚机world id,然后再通过esxcli network vm port list -w WORLDID,这个命令会显示Port ID和DVS Port ID
输入esxtop 再按n 可显示虚机的网络使用请求,里面有port num可用来抓包,跟net-stats -l显示的por num是一样的
查询当前vsan下不可访问的虚机
esxcli vsan debug object list --health inaccessible
esxi上进行抓包:
pktcap-uw --vmk vmk0 --dir 2 --mac 00:50:56:bd:ff:f8 -e
指定物理网卡抓包
pktcap-uw --uplink vmnic0 --dir 2 --mac 00:50:56:bd:ff:f8
这里的PortNum可以用来抓包
pktcap-uw --dir 2 --switchport [PortNum/PortID]
显示esxi上所有活跃的端口信息
[root@localhost:~] net-stats -l
PortNum Type SubType SwitchName MACAddress ClientName
2214592530 4 0 DvsPortset-0 8c:2a:8e:08:9c:74 vmnic0
2214592532 4 0 DvsPortset-0 8c:2a:8e:08:9c:75 vmnic1
67108887 3 0 DvsPortset-0 00:50:56:6f:ea:93 vmk1
67108929 5 7 DvsPortset-0 00:50:56:b2:c0:6c centos_7.0-B0000(10.131.134.25).eth0
67109120 5 9 DvsPortset-0 00:50:56:b2:c5:57 HCI6.3.0-14201(10.131.136.195).eth5
67109121 5 9 DvsPortset-0 00:50:56:b2:2f:b3 HCI6.3.0-14201(10.131.136.195).eth4
67109122 5 9 DvsPortset-0 00:50:56:b2:fc:cd HCI6.3.0-14201(10.131.136.195).eth3
67109123 5 9 DvsPortset-0 00:50:56:b2:88:97 HCI6.3.0-14201(10.131.136.195).eth2
67109124 5 9 DvsPortset-0 00:50:56:b2:57:40 HCI6.3.0-14201(10.131.136.195).eth1
67109125 5 9 DvsPortset-0 00:50:56:b2:49:40 HCI6.3.0-14201(10.131.136.195).eth0
67109126 5 7 DvsPortset-0 00:50:56:b2:02:f5 centos_8.0-12626(10.131.134.136).eth0
可以查看某个端口的网络统计信息
[root@localhost:~] esxcli network port stats get -p 67109168
Packet statistics for port 67109168
Packets received: 105476160732
Packets sent: 9582511311
Bytes received: 3982297224
Bytes sent: 25482787
Broadcast packets received: 85681935373
Broadcast packets sent: 62395482
Multicast packets received: 8661218972
Multicast packets sent: 8699038
Unicast packets received: 11133006387
Unicast packets sent: 9511416791
Receive packets dropped: 1459543
Transmit packets dropped: 372