Configuring Solaris Link Aggregation
Link aggregation or commonly known Ethernet bonding allows us to enhance the network availability and performance by combining multiple network interfaces together and form an aggregation of those interfaces which act as a single network interface with greatly enhanced availability and performance.
<>When we aggregate two or more network interfaces, we are forming a new network interface on top of those physical interfaces combined in the link layer.Note: You need to have at least two physical network interfaces and not be part of a virtual interface in order to create a link aggregation.
Disable NWAM
If enabled, you must disable Network auto-magic Configuration Management (NWAM) as link aggregation and NWAM cannot co-exist.
# svcadm disable network/physical:nwam
Unplumb Interfaces
The interfaces must be unplumb-ed in order for us to use them in a link aggregation. The following is an example of unplumbing our interfaces:
# ifconfig ce2 down unplumb # ifconfig ce3 down unplumb
Virtual Interfaces
The interfaces you intend to use in a link aggregation must not be part of virtual interface; otherwise it will not be possible to create the aggregation. To ensure that an interface is not part of a virtual interface use the following command and check the output:
# dladm show-link
If you have virtual interface associated with your physical device, use the dladm
command to remove them. For example:
# dladm delete-vlan vlan0
Creating the aggregation device
We use dladm create-aggr
subcommand with the following syntax to create aggregation links:
dladm create-aggr [-l interface_name]* aggregation_name
For example, we are using ce2
and ce3
to create aggr0
:
# dladm create-aggr -l ce2 -l ce3 aggr0
Plumb the aggr0 interface
We configure the aggregation IP address the same way that we configure a physical or virtual interface. For example:
# ifconfig aggr0 plumb 192.168.1.20/24 up
Check interface status
- Firstly, use
ifconfig
to see the status of our new aggregated interface.# ifconfig aggr0
- Using the
dladm
command we can get a list of physical and virtual interfaces:# dladm show-link LINK CLASS MTU STATE OVER ce0 phys 1500 up -- ce1 phys 1500 up -- ce2 phys 1500 up -- ce3 phys 1500 up -- aggr0 aggr 1500 up ce2 ce3
- Again, we use
dladm
to get a list of aggregated interfaces:# dladm show-aggr
Adding/Removing aggregation interfaces
We can use the subcommandsadd-aggr
and remove-aggr
to add or remove an interface in the aggregation. For example:
# dladm add-aggr -l ce1 aggr0 # dladm remove-aggr -l ce3 aggr0
Persistent binding
The aggregation configuration will survive a reboot but the ifconfig configuration will not survive unless we persist it using the interface configuration files.
To make the aggregation IP configuration persistent we just need to add create /etc/hostname.aggr0
file with the following content:
192.168.1.20/24
Deleting an aggregtion interface
To delete an aggregation we use delete-aggr
subcommand of dladm
. For example to delete aggr0 we can use the following:
- Before we can delete the aggregation we need to bring down its interface and unplumb it:
# ifconfig aggr0 down unplumb
- Delete the aggregation device:
# dladm delete-aggr aggr0