Advanced Networking Configuration¶
The confignetwork postscript can be used to configure the network interfaces on the compute nodes to support VLAN, BONDs, and BRIDGES. In order to use the confignetwork postscript, the following attributes must be configured for the node in the nics table:
nicipsnictypesnicnetworksnicdevices- resolves the relationship among the physical network intereface devices
The following example set the xCAT properties for compute node cn1 to achieve the following network configuration using the confignetwork postscript:
- Compute node
cn1has two physical NICs: eth2 and eth3- Bond eth2 and eth3 as
bond0- From
bond0, create 2 VLANs:bond0.1andbond0.2- Make bridge
br1usingbond0.1with IP (10.0.0.1)- Make bridge
br2usingbond0.2with IP (20.0.0.1)
Define attributes in the nics table¶
Using the
mkdeforchdefcommandsCompute node
cn1has two physical NICs:eth2andeth3chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet
Define
bond0and bondeth2andeth3asbond0chdef cn1 nictypes.bond0=bond \ nicdevices.bond0="eth2|eth3"Fom
bond0, create 2 VLANs:bond0.1andbond0.2chdef cn1 nictypes.bond0.1=vlan \ nictypes.bond0.2=vlan \ nicdevices.bond0.1=bond0 \ nicdevices.bond0.2=bond0Create bridge
br1usingbond0.1with IP (10.0.0.1)chdef cn1 nictypes.br1=bridge \ nicdevices.br1=bond0.1 \ nicips.br1=10.0.0.1 \ nicnetworks.br1="net10"Create bridge
br2usingbond0.2with IP (20.0.0.1)chdef cn1 nictypes.br2=bridge \ nicdevices.br2=bond0.2 \ nicips.br2=20.0.0.1 \ nicnetworks.br2="net20"
Using an xCAT stanza file
Prepare a stanza file
<filename>.stanzawith content similiar to the following:# <xCAT data object stanza file> cn1: objtype=node arch=x86_64 groups=kvm,vm,all nicdevices.br1=bond0.1 nicdevices.br2=bond0.2 nicdevices.bond0.1=bond0 nicdevices.bond0.2=bond0 nicdevices.bond0=eth2|eth3 nictypes.eth2=ethernet nictypes.eth3=ethernet nictypes.bond0=bond nictypes.bond0.1=vlan nictypes.bond0.2=vlan nictypes.br1=bridge nictypes.br2=bridge nicips.br1=10.0.0.1 nicips.br2=20.0.0.1 nicnetworks.br1=net10 nicnetworks.br2=net20
Using the
mkdef -zoption, define the stanza file to xCAT:cat <filename>.stanza | mkdef -z
Using
tabeditto edit thenicsdatabase table directlyThe
tabeditcommand opens the specified xCAT database table in avilike editor and allows the user to edit any text and write the changes back to the database table.After changing the content of the
nicstable, here is the result fromtabdump nics# tabdump nics #node,nicips,nichostnamesuffixes,nichostnameprefixes,nictypes,niccustomscripts,nicnetworks,nicaliases,nicextraparams,nicdevices,comments,disable "cn1","br1!10.0.0.1,br2!20.0.0.1",,,"br1!bridge,eth2!ethernet,eth3!ethernet,bond0.2!vlan,bond0!bond,br2!bridge,bond0.1!vlan",,"br1!net10,br2!net20",,,"br1!bond0.1,bond0!eth2|eth3,bond0.2!bond0,bond0.1!bond0,br2!bond0.2",,
Add network object into the networks table¶
The nicnetworks attribute only defines the nic that uses the IP address.
Other information about the network should be defined in the networks table.
Use the chdef command to add/modify the networks in the networks table
chdef -t network net10 net=10.0.0.0 mask=255.0.0.0 mgtifname=eth0
chdef -t network net20 net=20.0.0.0 mask=255.0.0.0 mgtifname=eth1
Add confignetwork into the node’s postscripts list¶
Using below command to add confignetwork into the node’s postscripts list
chdef cn1 -p postscripts=confignetwork
During OS deployment on compute node, confignetwork will be run in postscript.
If the compute node has OS, use updatenode command to run confignetwork
updatenode cn1 -P confignetwork