Details
Note: For details about using port binding in iSCSI adapter configuration, see Considerations for using software iSCSI port binding in ESX/ESXi (KB 2038869).
Solution
Types of port binding
These three different types of port binding determine when ports in a port group are assigned to virtual machines:
- Static Binding
- Dynamic Binding
- Ephemeral Binding
Static binding
When you connect a virtual machine to a port group configured with static binding, a port is immediately assigned and reserved for it, guaranteeing connectivity at all times. The port is disconnected only when the virtual machine is removed from the port group. You can connect a virtual machine to a static-binding port group only through vCenter Server.
Note: Static binding is the default setting, recommended for general use.
Dynamic binding
In a port group configured with dynamic binding, a port is assigned to a virtual machine only when the virtual machine is powered on and its NIC is in a connected state. The port is disconnected when the virtual machine is powered off or the virtual machine's NIC is disconnected. Virtual machines connected to a port group configured with dynamic binding must be powered on and off through vCenter.
Dynamic binding can be used in environments where you have more virtual machines than available ports, but do not plan to have a greater number of virtual machines active than you have available ports. For example, if you have 300 virtual machines and 100 ports, but never have more than 90 virtual machines active at one time, dynamic binding would be appropriate for your port group.
Note: Dynamic binding is deprecated in ESXi 5.0.
Ephemeral binding
In a port group configured with ephemeral binding, a port is created and assigned to a virtual machine by the host when the virtual machine is powered on and its NIC is in a connected state. The port is deleted when the virtual machine is powered off or the virtual machine's NIC is disconnected.
You can assign a virtual machine to a distributed port group with ephemeral port binding on ESX/ESXi and vCenter, giving you the flexibility to manage virtual machine connections through the host when vCenter is down. Although only ephemeral binding allows you to modify virtual machine network connections when vCenter is down, network traffic is unaffected by vCenter failure regardless of port binding type.
Note: Ephemeral port groups should be used only for recovery purposes when you want to provision ports directly on host bypassing vCenter Server, not for any other case. This is true for several reasons:
- Scalability
An ESX/ESXi 4.x host can support up to 1016 ephemeral port groups and an ESXi 5.x host can support up to 256 ephemeral port groups. Since ephemeral port groups are always pushed to hosts, this effectively is also the vCenter Server limit. For more information, see Configuration Maximums for VMware vSphere 5.0 and Configuration Maximums for VMware vSphere 4.1. - Performance
Every operation, including add-host and virtual machine power operation, is slower comparatively because ports are created/destroyed in the operation code path. Virtual machine operations are far more frequent than add-host or switch-operations, so ephemeral ports are more demanding in general. - Non-persistent (that is, "ephemeral") ports
Port-level permissions and controls are lost across power cycles, so no historical context is saved.
Note: vSphere 5.0 has introduced a new advanced option for static port binding called Auto Expand. This port group property allows a port group to expand automatically by a small predefined margin whenever the port group is about to run out of ports. In vSphere 5.1, the Auto Expand feature is enabled by default.
In vSphere 5.0 Auto Expand is disabled by default. To enable it, use the vSphere 5.0 SDK via the managed object browser (MOB):
- In a browser, enter the address http://vc-ip-address/mob/.
- When prompted, enter your vCenter Server username and password.
- Click the Content link.
- In the left pane, search for the row with the word
rootFolder
. - Open the link in the right pane of the row. The link should be similar to group-d1 (Datacenters).
- In the left pane, search for the row with the word
childEntity
. In the right pane, you see a list of datacenter links. - Click the datacenter link in which the vDS is defined.
- In the left pane, search for the row with the word
networkFolder
and open the link in the right pane. The link should be similar to group-n123 (network). - In the left pane, search for the row with the word
childEntity
. You see a list of vDS and distributed port group links in the right pane. - Click the distributed port group for which you want to change this property.
- In the left pane, search for the row with the word
config
and click the link in the right pane. - In the left pane, search for the row with the word
autoExpand
. It is usually the first row. - Note the corresponding value displayed in the right pane. The value should be false by default.
- In the left pane, search for the row with the word
configVersion
. The value should be 1 if it has not been modified. - Note the corresponding value displayed in the right pane as it is needed later.
- Go back to the distributed port group page.
- Click the link that reads ReconfigureDvs_Task. A new window appears.
- In the Spec text field, enter this text:
<spec>
<configVersion>1</configVersion>
<autoExpand>true</autoExpand>
</spec>
where configVersion is what you recorded in step 15. - Click the Invoke Method link.
- Close the window.
- Repeat Steps 10 through 14 to verify the new value for autoExpand.
These steps can be automated using a custom script. For more information, see the VMware vSphere blog entry Automating Auto Expand Configuration for a dvPortgroup in vSphere 5.
Examples: The script allows you to:
- Enable Auto Expand for a distributed port group, by running this command:
updatedvPortgroupAutoExpand.pl --server vcenter-ip --username user --operation enable --dvportgroup portgroupname
- Disable Auto Expand for a distributed port group, by running this command:
updatedvPortgroupAutoExpand.pl --server vcenter-ip --username user --operation disable --dvportgroup portgroupname
Source:
No comments:
Post a Comment