2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-06-13 09:50:19 +00:00

Merge pull request #3541 from bybai/cfgdoc

enhance xCAT network scripts related document
This commit is contained in:
Mark Gurevich
2017-08-02 16:26:31 -04:00
committed by GitHub
29 changed files with 739 additions and 203 deletions

View File

@ -1,10 +0,0 @@
Advanced Networking Configuration - confignetwork
=================================================
**Note:** ``confignetwork`` postscript is only supported on RHEL releases.
.. toctree::
:maxdepth: 2
.. include:: ../../../common/deployment/cfg_network_vlan.rst
.. include:: ../../../common/deployment/cfg_network_bond.rst

View File

@ -1,58 +0,0 @@
Configure Two Bonded Adapters
-----------------------------
The following example set the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` has two physical NICs: eth2 and eth3
* Bond eth2 and eth3 as ``bond0``
* Assign ip ``40.0.0.1`` to the bonded interface ``bond0``
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Using the ``mkdef`` or ``chdef`` commands
a. Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3`` ::
chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet
b. Define ``bond0`` and bond ``eth2`` and ``eth3`` as ``bond0`` ::
chdef cn1 nictypes.bond0=bond nicdevices.bond0="eth2|eth3"
chdef cn1 nicips.bond0=40.0.0.1
Add network object into the networks table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use the ``chdef`` command to add/modify the networks in the ``networks`` table ::
chdef -t network net40 net=40.0.0.0 mask=255.0.0.0
chdef cn1 nicnetworks.bond0=net40
Add ``confignetwork`` into the node's postscripts list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use command below to add ``confignetwork`` into the node's postscripts list ::
chdef cn1 -p postscripts=confignetwork
During OS deployment on compute node, ``confignetwork`` postscript will be executed.
If the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript without rebooting the node::
updatenode cn1 -P confignetwork
Verify bonding mode
~~~~~~~~~~~~~~~~~~~
Login to compute node cn1 and check bonding options in ``/etc/sysconfig/network-scripts/ifcfg-bond0`` file ::
BONDING_OPTS="mode=802.3ad xmit_hash_policy=layer2+3"
* ``mode=802.3ad`` requires additional configuration on the switch.
* ``mode=2`` can be used for bonding without additional switch configuration.
If changes are made to ``/etc/sysconfig/network-scripts/ifcfg-bond0`` file, restart network service.

View File

@ -1,109 +0,0 @@
Configure BOND, VLAN and BRIDGES
--------------------------------
The ``confignetwork`` postscript can be used to configure the network interfaces on the compute nodes to support VLAN, BONDs, and BRIDGES. In order for the ``confignetwork`` postscript to run successfully, the following attributes must be configured for the node in the ``nics`` table:
* ``nicips``
* ``nictypes``
* ``nicnetworks``
* ``nicdevices`` - resolves the relationship among the physical network interface devices
The following example set the xCAT properties for compute node ``cn1`` to achieve the following network configuration using the ``confignetwork`` postscript:
* Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3``
* Bond ``eth2`` and ``eth3`` as ``bond0``
* From ``bond0``, create 2 VLANs: ``bond0.1`` and ``bond0.2``
* Make bridge ``br1`` using ``bond0.1`` with IP (10.0.0.1)
* Make bridge ``br2`` using ``bond0.2`` with IP (20.0.0.1)
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Chose one of two methods described below:
#. Using the ``mkdef`` or ``chdef`` commands
a. Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3`` ::
chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet
b. Define ``bond0`` and bond ``eth2`` and ``eth3`` as ``bond0`` ::
chdef cn1 nictypes.bond0=bond \
nicdevices.bond0="eth2|eth3"
c. From ``bond0``, create 2 VLANs: ``bond0.1`` and ``bond0.2`` ::
chdef cn1 nictypes.bond0.1=vlan \
nictypes.bond0.2=vlan \
nicdevices.bond0.1=bond0 \
nicdevices.bond0.2=bond0
d. Create bridge ``br1`` using ``bond0.1`` with IP (10.0.0.1) ::
chdef cn1 nictypes.br1=bridge \
nicdevices.br1=bond0.1 \
nicips.br1=10.0.0.1 \
nicnetworks.br1="net10"
e. Create bridge ``br2`` using ``bond0.2`` with 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>.stanza`` with 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 -z`` option, define the stanza file to xCAT: ::
cat <filename>.stanza | mkdef -z
Define the additional networks to xCAT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If this is a new network being created on the compute nodes, an entry needs to be created into the xCAT database.
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
chdef -t network net20 net=20.0.0.0 mask=255.0.0.0
Add ``confignetwork`` into the node's postscripts list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use the following command to add ``confignetwork`` into postscript list to execute on reboot: ::
chdef cn1 -p postscripts=confignetwork
If the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript without rebooting the node::
updatenode cn1 -P confignetwork

View File

@ -0,0 +1,63 @@
Configure Aliases
-----------------
The following example sets the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` with one physical NIC: ``eth2``
* User wants to configure aliases ``aliases1-1`` and ``aliases1-2``
* Assign ip ``11.1.0.100`` to ``aliases1-1`` and ``12.1.0.100`` to ``aliases1-2``
Add network object into the networks table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/modify the networks in the ``networks`` table ::
chdef -t network -o 11_1_0_0-255_255_0_0 net=11.1.0.0 mask=255.255.0.0
chdef -t network -o 12_1_0_0-255_255_0_0 net=12.1.0.0 mask=255.255.0.0
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Compute node ``cn1`` has one physical NICs: ``eth2`` ::
chdef cn1 nictypes.eth2=ethernet
#. Define ``nicips``, ``nicaliases``, ``nichostnamesuffixes`` ::
chdef cn1 nicips.eth2="11.1.0.100|12.1.0.100" nicaliases.eth2="aliases1-1|aliases1-2" nichostnamesuffixes.eth2="-eth2|-eth2-1"
#. Define ``nicnetworks`` ::
chdef cn1 nicnetworks.eth2="11_1_0_0-255_255_0_0|12_1_0_0-255_255_0_0"
Update /etc/hosts
~~~~~~~~~~~~~~~~~
#. Update the ``/etc/hosts`` file ::
makehosts cn1
#. Check the ``/etc/hosts`` file ::
11.1.0.100 cn1-eth2 cn1-eth2.cluster.com aliases1-1
12.1.0.100 cn1-eth2-1 cn1-eth2-1.cluster.com aliases1-2
Enable ``confignetwork`` to configure aliases
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Add ``confignetwork`` into the node's postscripts list, ``confignetwork`` will be executed during OS deployment on compute node ::
chdef cn1 -p postscripts=confignetwork
#. Or if the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript ::
updatenode cn1 -P confignetwork
Check the result
~~~~~~~~~~~~~~~~
Check if eth2 is configured correctly ::
xdsh cn1 "ip addr show eth2"

View File

@ -0,0 +1,53 @@
Configure Bond using two Ethernet Adapters
------------------------------------------
The following example sets the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` with two physical NICs: ``eth2`` and ``eth3``
* Bond eth2 and eth3 as ``bond0``
* Assign ip ``40.0.0.1`` to the bonded interface ``bond0``
Add network object into the networks table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add the network ``net40`` in the ``networks`` table ::
chdef -t network net40 net=40.0.0.0 mask=255.0.0.0
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3`` ::
chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet
#. Define ``bond0`` and bond ``eth2`` and ``eth3`` as ``bond0`` ::
chdef cn1 nictypes.bond0=bond nicdevices.bond0="eth2|eth3"
chdef cn1 nicips.bond0=40.0.0.1
#. Define ``nicnetworks`` for ``bond0`` ::
chdef cn1 nicnetworks.bond0=net40
Enable ``confignetwork`` to configure bond
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. If adding ``confignetwork`` into the node's postscripts list, ``confignetwork`` will be executed during OS deployment on compute node ::
chdef cn1 -p postscripts=confignetwork
#. Or if the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript ::
updatenode cn1 -P confignetwork
Verify bonding mode
~~~~~~~~~~~~~~~~~~~
Login to compute node cn1 and check bonding options in ``/etc/sysconfig/network-scripts/ifcfg-bond0`` file ::
BONDING_OPTS="mode=802.3ad xmit_hash_policy=layer2+3"
* ``mode=802.3ad`` requires additional configuration on the switch.
* ``mode=2`` can be used for bonding without additional switch configuration.

View File

@ -0,0 +1,75 @@
Configure Bridge Based on Bond Adapters
---------------------------------------
The following example sets the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` with two physical NICs: ``eth2`` and ``eth3``
* Bond eth2 and eth3 as ``bond0``
* Create bridge ``br0`` based on ``bond0``
* Assign ip ``40.0.0.1`` to the bridge interface ``br0``
Add network object into the networks table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/modify network data in the ``networks`` table ::
chdef -t network net40 net=40.0.0.0 mask=255.0.0.0
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3`` ::
chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet
#. Define ``bond0`` and bond ``eth2`` and ``eth3`` as ``bond0`` ::
chdef cn1 nictypes.bond0=bond nicdevices.bond0="eth2|eth3"
#. Define ``br0`` based on ``bond0`` ::
chdef cn1 nicips.br0=40.0.0.1 nictypes.br0=bridge
#. Define ``nicnetworks`` for ``br0`` ::
chdef cn1 nicnetworks.br0=net40
Enable ``confignetwork`` to configure bridge
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. If adding ``confignetwork`` into the node's postscripts list, ``confignetwork`` will be executed during OS deployment on compute node ::
chdef cn1 -p postscripts=confignetwork
#. Or if the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript ::
updatenode cn1 -P confignetwork
Verify bridge
~~~~~~~~~~~~~
Login to compute node cn1 and check bonding options in ``/etc/sysconfig/network-scripts/ifcfg-bond0`` file ::
DEVICE="bond0"
BOOTPROTO="none"
NAME="bond0"
BONDING_MASTER="yes"
ONBOOT="yes"
USERCTL="no"
TYPE="Bond"
BONDING_OPTS="mode=802.3ad miimon=100"
DHCLIENTARGS="-timeout 200"
BRIDGE=br0
Check ``ifcfg-br0`` under ``/etc/sysconfig/network-scripts/`` ::
DEVICE="br0"
BOOTPROTO="static"
IPADDR="40.0.0.1"
NETMASK="255.0.0.0"
NAME="br0"
ONBOOT="yes"
STP="on"
TYPE="Bridge"
Use ``ip addr`` command to check if ``br0`` and ``bond0`` are correct.

View File

@ -0,0 +1,61 @@
Configure VLAN Based on Bond Adapters
-------------------------------------
The following example sets the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` with two physical NICs: ``eth2`` and ``eth3``
* Bond eth2 and eth3 as ``bond0``
* Create bridge ``bond0.1`` based on ``bond0``
* Assign ip ``40.0.0.1`` to the bridge interface ``bond0.1``
Add network object into the networks table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/modify the network ``net40`` in the ``networks`` table ::
chdef -t network net40 net=40.0.0.0 mask=255.0.0.0
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3`` ::
chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet
#. Define ``bond0`` and bond ``eth2`` and ``eth3`` as ``bond0`` ::
chdef cn1 nictypes.bond0=bond nicdevices.bond0="eth2|eth3"
#. Define VLAN ``bond0.1`` based on ``bond0`` ::
chdef cn1 nicips.bond0.1=40.0.0.1 nictypes.bond0.1=vlan
#. Define ``nicnetworks`` for ``bond0.1`` ::
chdef cn1 nicnetworks.bond0.1=net40
Enable ``confignetwork`` to configure bridge
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. If adding ``confignetwork`` into the node's postscripts list, ``confignetwork`` will be executed during OS deployment on compute node ::
chdef cn1 -p postscripts=confignetwork
#. Or if the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript ::
updatenode cn1 -P confignetwork
Verify VLAN
~~~~~~~~~~~
Login to compute node cn1 and check ``ifcfg-bond0.1`` under ``/etc/sysconfig/network-scripts/`` ::
DEVICE="bond0.1"
BOOTPROTO="static"
IPADDR="40.0.0.1"
NETMASK="255.0.0.0"
NAME="bond0.1"
ONBOOT="yes"
USERCTL=no
VLAN=yes
Use ``ip addr`` command to check if ``br0`` and ``bond0`` are correct.

View File

@ -0,0 +1,77 @@
Configure BOND, VLAN and BRIDGES
--------------------------------
The following example set the xCAT properties for compute node ``cn1`` to achieve the following network configuration using the ``confignetwork`` postscript:
* Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3``
* Bond ``eth2`` and ``eth3`` as ``bond0``
* From ``bond0``, create 2 VLANs: ``bond0.1`` and ``bond0.2``
* Make bridge ``br1`` using ``bond0.1`` with IP (10.0.0.1)
* Make bridge ``br2`` using ``bond0.2`` with IP (20.0.0.1)
Define the additional networks to xCAT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If this is a new network being created on the compute nodes, an entry needs to be created into the xCAT database.
The ``nicnetworks`` attribute only defines the nic that uses the IP address.
Other information about the network should be defined in the ``networks`` table.
Add/modify the networks in the ``networks`` table ::
chdef -t network net10 net=10.0.0.0 mask=255.0.0.0
chdef -t network net20 net=20.0.0.0 mask=255.0.0.0
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Compute node ``cn1`` has two physical NICs: ``eth2`` and ``eth3`` ::
chdef cn1 nictypes.eth2=ethernet nictypes.eth3=ethernet
#. Define ``bond0`` and bond ``eth2`` and ``eth3`` as ``bond0`` ::
chdef cn1 nictypes.bond0=bond \
nicdevices.bond0="eth2|eth3"
#. From ``bond0``, create 2 VLANs: ``bond0.1`` and ``bond0.2`` ::
chdef cn1 nictypes.bond0.1=vlan \
nictypes.bond0.2=vlan \
nicdevices.bond0.1=bond0 \
nicdevices.bond0.2=bond0
#. Create bridge ``br1`` using ``bond0.1`` with 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 ``br2`` using ``bond0.2`` with IP (20.0.0.1) ::
chdef cn1 nictypes.br2=bridge \
nicdevices.br2=bond0.2 \
nicips.br2=20.0.0.1 \
nicnetworks.br2="net20"
Add ``confignetwork`` into the node's postscripts list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Use the following command to add ``confignetwork`` into postscript list to execute on reboot: ::
chdef cn1 -p postscripts=confignetwork
#. If the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript without rebooting the node::
updatenode cn1 -P confignetwork
Check result
~~~~~~~~~~~~
Use ``ip`` command on ``cn1`` to check all NICs ::
xdsh cn1 "ip addr"
Check all network configuration files under ``/etc/sysconfig/network-scripts/``.

View File

@ -0,0 +1,56 @@
Configure Bridge Based On Ethernet NIC
--------------------------------------
The following example set the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` has one physical NIC: eth1
* User wants to confgure 1 bridge br1 based on eth1
* Assign ip ``30.5.106.9`` to br0
Add network object into the networks table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/modify the network ``net30`` in the ``networks`` table ::
chdef -t network net30 net=30.0.0.0 mask=255.0.0.0
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Compute node ``cn1`` has one physical NIC: ``eth1`` ::
chdef cn1 nictypes.eth1=ethernet
#. Define bridge ``br1`` based on ``eth1`` ::
chdef cn1 nictypes.br1=bridge nicdevices.br1="eth1"
chdef cn1 nicips.br1=30.5.106.9
#. Define ``nicnetworks`` for ``br1`` ::
chdef cn1 nicnetworks.br1=net30
Enable ``confignetwork`` to configure bridge
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. If add ``confignetwork`` into the node's postscripts list, ``confignetwork`` will be executed during OS deployment on compute node ::
chdef cn1 -p postscripts=confignetwork
#. Or if the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript ::
updatenode cn1 -P confignetwork
Verify Bridge
~~~~~~~~~~~~~
Login to compute node cn1 and check configure files in ``ifcfg-br1`` under ``/etc/sysconfig/network-scripts/`` ::
TYPE=Bridge
STP=on
Check ``ifcfg-eth1`` under ``/etc/sysconfig/network-scripts/`` ::
BRIDGE=br1
Use ``ip addr`` command to check if ``br1``, ``eth0.6`` and ``eth0.7`` are correct.

View File

@ -0,0 +1,30 @@
Use Customized Scripts To Configure NIC
---------------------------------------
If using customized script to configure NIC, ``niccustomscripts`` for the specified nic in ``nics`` table should be configured. In the customized scripts, it can use data from xCAT DB, These data are parsed as global value from ``/xcatpost/mypostscript`` in compute node. Here is a simple example :
#. Compute node ``cn1`` with one physical NIC: ``eth1``
#. Put customized script ``cfgeth1`` under xCAT MN ``/install/postscripts``
#. Configure ``niccustomscripts`` in ``nics`` table ::
chdef cn1 niccustomscripts.eth1=cfgeth1
#. The script ``cfgeth1`` uses data from xCAT DB, for example, it uses network ``net50`` from ``networks`` table ::
chdef -t network net50 net=50.0.0.0 mask=255.0.0.0
**Notes:** The network ``net50`` is parsed as ``NETWORKS_LINE1`` in ``/xcatpost/mypostscript`` as following, so script ``cfgeth1`` can use global value ``NETWORKS_LINE1`` directly ::
NETWORKS_LINE1='netname=net50||net=50.0.0.0||mask=255.0.0.0||mgtifname=||gateway=||dhcpserver=||tftpserver=||nameservers=||ntpservers=||logservers=||dynamicrange=||staticrange=||staticrangeincrement=||nodehostname=||ddnsdomain=||vlanid=||domain=||disable=||comments='
#. When ``confignetwork`` is running in ``cn1``, ``confignetwork`` will execute ``cfgeth1`` to configure eth1, so adding ``confignetwork`` into the node's postscripts list. During OS deployment on compute node, ``confignetwork`` postscript will be executed. ::
chdef cn1 -p postscripts=confignetwork
#. Or if the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript without rebooting the node::
updatenode cn1 -P confignetwork
#. Use ``xdsh cn1 "ip addr show eth1"`` to check the NIC
#. Check ``ifcfg-eth1`` under ``/etc/sysconfig/network-scripts/``

View File

@ -0,0 +1,76 @@
Configure Ethernet Network Interface
------------------------------------
The following example sets the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` with two physical NICs: ``eth0`` and ``eth1``
* Management network is ``11.1.89.0``, application network is ``13.1.89.0``
* The install NIC is eth0, and application NIC is eth1
* Assign static ip ``11.1.89.7/24`` to eth0
* Assign static ip ``13.1.89.7/24`` to eth1
Add/update networks into the xCAT DB
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/update additional networks ``net11`` and ``net13`` into ``networks`` table::
chdef -t network net11 net=11.1.89.0 mask=255.255.255.0
chdef -t network net13 net=13.1.89.0 mask=255.255.255.0
**Note:** MTU can be customized as ``mtu`` in ``networks`` table for specified network.
Define Adapters in the nics table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Provision ip is coming from DHCP, there is no need to configure install nic into ``nics`` table. Provision ip can be configured in node definition, but it is not required. ::
chdef cn1 ip=11.1.89.7
#. Data NIC ``eth1`` is not install NIC, configure ``eth1`` into ``nics`` table ::
chdef cn1 nicips.eth1="13.1.89.7" nicnetworks.eth1="net13" nictypes.eth1="Ethernet" nichostnamesuffixes.eth1=-eth2
Update /etc/hosts
~~~~~~~~~~~~~~~~~
#. Run the ``makehosts`` command to add the new configuration to the ``/etc/hosts`` file. ::
makehosts cn1
#. Check ``/etc/hosts`` ::
cat /etc/hosts
11.1.89.7 cn1 cn1.cluster.com
13.1.89.7 cn1-eth1 cn1-eth1.cluster.com
Configure adapters with static IPs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Execute ``confignetwork -s`` to configure both provision ip ``11.1.89.7`` and application data ip ``13.1.89.7`` as static
a. Add ``confignetwork -s`` into postscript list to execute on reboot ::
chdef cn1 -p postscripts="confignetwork -s"
b. If the compute node is already running, use ``updatenode`` command to run ``confignetwork -s`` postscript without rebooting the node ::
updatenode cn1 -P "confignetwork -s"
#. If install NIC is not configured in ``nics`` table, and only configure all other NIC's data defined in ``nics`` table, execute ``confignetwork`` without ``-s``
a. Add ``confignetwork`` into postscript list to execute on reboot ::
chdef cn1 -p postscripts="confignetwork"
b. If the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript without rebooting the node ::
updatenode cn1 -P "confignetwork"
**Notes:** Option "-s" writes the install NIC's information into configuration file for persistence. All other NIC's data defined in ``nics`` table will be written also. Without option "-s", ``confignetwork`` only configures all NIC's data defined in ``nics`` table.
Check result
~~~~~~~~~~~~
#. Use ``xdsh cn1 "ip addr"`` to check ``eth0`` and ``eth1``
#. Check ``ifcfg-eth0`` and ``ifcfg-eth1`` under ``/etc/sysconfig/network-scripts/``

View File

@ -0,0 +1,21 @@
Use Extra Parameters In NIC Configuration File
----------------------------------------------
Use ``nicextraparams`` to customize attributes in NIC configuration file. For example :
#. Compute node ``cn1`` with one physical NIC: ``eth1``
#. Configure network into ``networks`` table, configure ``nicips``, ``nictypes`` and ``nicnetworks`` in ``nics`` table, like :doc:`Configure Ethernet Network Interface<cfg_network_ethernet_nic>`
#. In order to customize "MTU=1456 ONBOOT=no" for eth1. configure ``nicips``, ``nictypes`` and ``nicnetworks`` in ``nics`` table , also need to configure ``nicextraparams`` as following::
chdef cn1 nicextraparams.eth1="MTU=1456 ONBOOT=no"
#. After ``confignetwork`` is executed in ``cn1``, ``nicexraparams`` will overwrite the original value in ``/etc/sysconfig/network-scripts/ifcfg-eth1`` as ::
DEVICE=eth1
IPADDR=13.1.89.7
NETMASK=255.255.255.0
BOOTPROTO=static
ONBOOT=no
HWADDR=42:f5:0a:05:6a:09
MTU=1456

View File

@ -0,0 +1,52 @@
Configure VLAN Based on Ethernet Adapter
----------------------------------------
The following example set the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` has one physical NIC: eth0
* Confgure 2 vlans: eth0.6 and eth0.7 based on eth0
* Assign ip ``60.5.106.9`` to eth0.6 and ``70.5.106.9`` to eth0.7
Define the additional networks to xCAT
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add/modify the networks ``net60`` and ``net70`` in the ``networks`` table ::
chdef -t network net60 net=60.0.0.0 mask=255.0.0.0
chdef -t network net70 net=70.0.0.0 mask=255.0.0.0
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Compute node ``cn1`` has one physical NIC: ``eth0`` ::
chdef cn1 nictypes.eth0=ethernet
#. Define vlan ``eth0.6`` and ``eth0.7`` based on ``eth0`` ::
chdef cn1 nictypes.eth0.6=vlan nicdevices.eth0.6="eth0" nictypes.eth0.7=vlan nicdevices.eth0.7="eth0"
chdef cn1 nicips.eth0.6=60.5.106.9 nicips.eth0.7=70.5.106.9
#. Define ``nicnetworks`` for ``eth0.6`` and ``eth0.7`` ::
chdef cn1 nicnetworks.eth0.6=net60 nicnetworks.eth0.7=net70
Enable ``confignetwork`` to configure VLAN
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Add ``confignetwork`` into postscript list to execute on reboot ::
chdef cn1 -p postscripts=confignetwork
#. If the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript without rebooting the node ::
updatenode cn1 -P confignetwork
Verify VLAN
~~~~~~~~~~~
Login to compute node cn1 and check VLAN options in ``ifcfg-eth0.6`` and ``ifcfg-eth0.7`` under ``/etc/sysconfig/network-scripts/`` ::
VLAN=yes
Use ``ip addr`` command to check if ``eth0.6`` and ``eth0.7`` are there.

View File

@ -0,0 +1,63 @@
Configure Bridge Based on VLAN
------------------------------
The following example set the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` has one physical NIC: eth0
* Define 2 vlans: eth0.6 and eth0.7 based on eth0
* Define 2 bridge br1 and br2
* Assign ip ``60.5.106.9`` to br1 and ``70.5.106.9`` to br2
Define attributes in the ``nics`` table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Using the ``mkdef`` or ``chdef`` commands
a. Compute node ``cn1`` has one physical NIC: ``eth0`` ::
chdef cn1 nictypes.eth0=ethernet
b. Define vlan ``eth0.6`` and ``eth0.7`` based on ``eth0`` ::
chdef cn1 nictypes.eth0.6=vlan nicdevices.eth0.6="eth0" nictypes.eth0.7=vlan nicdevices.eth0.7="eth0"
c. Define bridge ``br1`` and ``br2`` ::
chdef cn1 nicips.br1=60.5.106.9 nicips.br2=70.5.106.9 nictypes.br1=bridge nictypes.br2=bridge
Add network object into the networks table
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use the ``chdef`` command to add/modify the networks in the ``networks`` table ::
chdef -t network net60 net=60.0.0.0 mask=255.0.0.0
chdef -t network net70 net=70.0.0.0 mask=255.0.0.0
chdef cn1 nicnetworks.br1=net60 nicnetworks.br2=net70
Add ``confignetwork`` into the node's postscripts list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use command below to add ``confignetwork`` into the node's postscripts list ::
chdef cn1 -p postscripts=confignetwork
During OS deployment on compute node, ``confignetwork`` postscript will be executed.
If the compute node is already running, use ``updatenode`` command to run ``confignetwork`` postscript without rebooting the node::
updatenode cn1 -P confignetwork
Verify Bridge
~~~~~~~~~~~~~
Login to compute node cn1 and check ``ifcfg-br1`` and ``ifcfg-br2`` under ``/etc/sysconfig/network-scripts/`` like ::
BOOTPROTO="static"
IPADDR="60.5.106.9"
NETMASK="255.0.0.0"
NAME="br1"
ONBOOT="yes"
STP="on"
TYPE="Bridge"
Use ``ip addr`` command to check if ``br1``, ``br2``, ``eth0.6`` and ``eth0.7``.

View File

@ -1,5 +1,5 @@
Configure Additional Network Interfaces - confignics
====================================================
Configure Additional Network Interfaces old version - confignics - (deprecated)
===============================================================================
The **nics** table and the **confignics** postscript can be used to automatically configure additional network interfaces (multiple ethernets adapters, InfiniBand, etc) on the nodes as they are being deployed.

View File

@ -1 +0,0 @@
.. include:: ../../../common/deployment/cfg_network.rst

View File

@ -1,8 +0,0 @@
Customize network adapter
=========================
.. toctree::
:maxdepth: 2
cfg_second_adapter.rst
cfg_network.rst

View File

@ -1,2 +0,0 @@
.. include:: ../../../common/deployment/cfg_second_adapter.rst

View File

@ -12,6 +12,6 @@ Optional means all the subitems in this page are not necessary to finish an OS d
syncfile.rst
additional_pkg.rst
use_kernel_patch.rst
cfg_network_adapter.rst
network/index.rst

View File

@ -0,0 +1,42 @@
Configure Additional Network Interfaces - confignetwork
-------------------------------------------------------
The ``confignetwork`` postscript can be used to configure the network interfaces on the compute nodes to support Ethernet adapters, VLAN, BONDs, and BRIDGES. ``confignetwork`` can be used in postscripts during OS privision, it can also be executed in ``updatenode``. The way the ``confignetwork`` postscript decides what IP address to give the secondary adapter is by checking the ``nics`` table, in which the nic configuration information is stored. In order for the ``confignetwork`` postscript to run successfully, the following attributes must be configured for the node in the ``nics`` table:
* ``nicips``
* ``nictypes``
* ``nicnetworks``
If configuring VLAN, BOND, or BRIDGES, ``nicdevices`` in ``nics`` table must be configured. VLAN, BOND or BRIDGES is only supported on RHEL.
* ``nicdevices`` - resolves the relationship among the physical network interface devices
The following scenarios are examples to configure Ethernet adapters/BOND/VLAN/Bridge.
#. Configure Ethernet adapters:
* Scenario 1: :doc:`Configure Ethernet Network Interface <../../../../common/deployment/network/cfg_network_ethernet_nic>`
To configure Ethernet install NIC or other Ethernet network adapters as static
#. Configure BOND **[RHEL]**:
* Scenario 2: :doc:`Configure Bond using two Ethernet Adapters <../../../../common/deployment/network/cfg_network_bond>`
#. Configure VLAN **[RHEL]**:
* Scenario 3: :doc:`Configure VLAN Based on Ethernet Adapter <../../../../common/deployment/network/cfg_network_vlan>`
* Scenario 4: :doc:`Configure VLAN Based on Bond Adapters <../../../../common/deployment/network/cfg_network_bond_vlan>`
#. Configure Bridge **[RHEL]**:
* Scenario 5: :doc:`Configure Bridge Based On Ethernet NIC <../../../../common/deployment/network/cfg_network_bridge>`
* Scenario 6: :doc:`Configure Bridge Based on Bond Adapters <../../../../common/deployment/network/cfg_network_bond_bridge>`
* Scenario 7: :doc:`Configure Bridge Based on VLAN <../../../../common/deployment/network/cfg_network_vlan_bridge>`
* Scenario 8: :doc:`Configure Bridge Based on VLAN,VLAN use BOND adapter <../../../../common/deployment/network/cfg_network_bond_vlan_bridge>`
#. Advanced topics:
* :doc:`Use Customized Scripts To Configure NIC <../../../../common/deployment/network/cfg_network_custom_scripts>`
* :doc:`Use Extra Parameters In NIC Configuration File <../../../../common/deployment/network/cfg_network_extra_param>`
* :doc:`Configure Aliases <../../../../common/deployment/network/cfg_network_aliases>`

View File

@ -0,0 +1,2 @@
.. include:: ../../../../common/deployment/network/cfg_second_adapter.rst

View File

@ -0,0 +1,10 @@
Customize network adapter
=========================
This section describes how to configure network adapters with persistent configuration using xCAT. The ``confignetwork`` postscript can be used to configure the network interfaces on the compute nodes to support Ethernet adapters, VLAN, BONDs, and BRIDGES.
.. toctree::
:maxdepth: 1
cfg_network_adapter.rst
cfg_second_adapter.rst

View File

@ -1 +0,0 @@
.. include:: ../../../common/deployment/cfg_network.rst

View File

@ -1,8 +0,0 @@
Customize network adapter
=========================
.. toctree::
:maxdepth: 2
cfg_second_adapter.rst
cfg_network.rst

View File

@ -1,2 +0,0 @@
.. include:: ../../../common/deployment/cfg_second_adapter.rst

View File

@ -10,7 +10,7 @@ Optional means all the subitems in this page are not necessary to finish an OS d
pre_post_script.rst
syncfile.rst
additional_pkg.rst
cfg_network_adapter.rst
network/index.rst
enable_kdump.rst
install_new_kernel.rst
acc_initrd_rootimg_gen_ppc64le.rst

View File

@ -0,0 +1,42 @@
Configure Additional Network Interfaces - confignetwork
-------------------------------------------------------
The ``confignetwork`` postscript can be used to configure the network interfaces on the compute nodes to support Ethernet adapters, VLAN, BONDs, and BRIDGES. ``confignetwork`` can be used in postscripts during OS privision, it can also be executed in ``updatenode``. The way the ``confignetwork`` postscript decides what IP address to give the secondary adapter is by checking the ``nics`` table, in which the nic configuration information is stored. In order for the ``confignetwork`` postscript to run successfully, the following attributes must be configured for the node in the ``nics`` table:
* ``nicips``
* ``nictypes``
* ``nicnetworks``
If configuring VLAN, BOND, or BRIDGES, ``nicdevices`` in ``nics`` table must be configured. VLAN, BOND or BRIDGES is only supported on RHEL.
* ``nicdevices`` - resolves the relationship among the physical network interface devices
The following scenarios are examples to configure Ethernet adapters/BOND/VLAN/Bridge.
#. Configure Ethernet adapters:
* Scenario 1: :doc:`Configure Ethernet Network Interface <../../../../common/deployment/network/cfg_network_ethernet_nic>`
To configure Ethernet install NIC or other Ethernet network adapters as static
#. Configure BOND **[RHEL]**:
* Scenario 2: :doc:`Configure Bond using two Ethernet Adapters <../../../../common/deployment/network/cfg_network_bond>`
#. Configure VLAN **[RHEL]**:
* Scenario 3: :doc:`Configure VLAN Based on Ethernet Adapter <../../../../common/deployment/network/cfg_network_vlan>`
* Scenario 4: :doc:`Configure VLAN Based on Bond Adapters <../../../../common/deployment/network/cfg_network_bond_vlan>`
#. Configure Bridge **[RHEL]**:
* Scenario 5: :doc:`Configure Bridge Based On Ethernet NIC <../../../../common/deployment/network/cfg_network_bridge>`
* Scenario 6: :doc:`Configure Bridge Based on Bond Adapters <../../../../common/deployment/network/cfg_network_bond_bridge>`
* Scenario 7: :doc:`Configure Bridge Based on VLAN <../../../../common/deployment/network/cfg_network_vlan_bridge>`
* Scenario 8: :doc:`Configure Bridge Based on VLAN,VLAN use BOND adapter <../../../../common/deployment/network/cfg_network_bond_vlan_bridge>`
#. Advanced topics:
* :doc:`Use Customized Scripts To Configure NIC <../../../../common/deployment/network/cfg_network_custom_scripts>`
* :doc:`Use Extra Parameters In NIC Configuration File <../../../../common/deployment/network/cfg_network_extra_param>`
* :doc:`Configure Aliases <../../../../common/deployment/network/cfg_network_aliases>`

View File

@ -0,0 +1,2 @@
.. include:: ../../../../common/deployment/network/cfg_second_adapter.rst

View File

@ -0,0 +1,10 @@
Customize network adapter
=========================
This section describes how to configure network adapters with persistent configuration using xCAT. The ``confignetwork`` postscript can be used to configure the network interfaces on the compute nodes to support Ethernet adapters, VLAN, BONDs, and BRIDGES.
.. toctree::
:maxdepth: 1
cfg_network_adapter.rst
cfg_second_adapter.rst