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

refine xCAT network scripts related document

This commit is contained in:
bybai
2017-07-26 04:11:26 -04:00
parent f329a2efa7
commit 7ffc1bd86d
19 changed files with 725 additions and 183 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

@ -1,5 +1,5 @@
Configure Additional Network Interfaces - confignics
====================================================
Configure Additional Network Interfaces - confignics - (depleted)
=================================================================
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

@ -0,0 +1,63 @@
Configure Aliases
-----------------
The following example set the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` has 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 correct or not ::
xdsh cn1 "ip addr show eth2"

View File

@ -0,0 +1,53 @@
Configure Bond using two Ethernet 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``
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 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 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.

View File

@ -0,0 +1,75 @@
Configure Bridge Based on Bond 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``
* 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 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 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 a`` command to check if ``br0`` and ``bond0`` are correct.

View File

@ -0,0 +1,61 @@
Configure VLAN Based on Bond 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``
* 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 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 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 a`` 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 a"
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 a`` 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`` has 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
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 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
#. 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 set the xCAT properties for compute node ``cn1`` to create:
* Compute node ``cn1`` has 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#. Privision ip is coming from DHCP, it is no need to configure install nic into ``nics`` table. Provision ip can be configured in node definition, but it is not must. ::
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 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 configure all NIC's data defined in ``nics`` table.
Check result
~~~~~~~~~~~~
#. Use ``xdsh cn1 "ip a"`` 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 attribute in NIC configuration file. For example :
#. Compute node ``cn1`` has 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 a`` 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 a`` command to check if ``br1``, ``br2``, ``eth0.6`` and ``eth0.7``.

View File

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

View File

@ -1,8 +1,55 @@
Customize network adapter
=========================
This section introduces how to configure network adapters with persistent configuration using xCAT.
Networking Adapters Configuration - 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, BONDs, or BRIDGES, ``nicdevices`` in ``nics`` table must be configured.
* ``nicdevices`` - resolves the relationship among the physical network interface devices
The following scenarios are standalone typical 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>`
Configure Additional Network Interfaces - confignics - (depleted)
-----------------------------------------------------------------
.. toctree::
:maxdepth: 2
cfg_second_adapter.rst
cfg_network.rst

View File

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

View File

@ -1,8 +1,55 @@
Customize network adapter
=========================
This section introduces how to configure network adapters with persistent configuration using xCAT.
Networking Adapters Configuration - 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, BONDs, or BRIDGES, ``nicdevices`` in ``nics`` table must be configured.
* ``nicdevices`` - resolves the relationship among the physical network interface devices
The following scenarios are standalone typical 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>`
Configure Additional Network Interfaces - confignics - (depleted)
-----------------------------------------------------------------
.. toctree::
:maxdepth: 2
cfg_second_adapter.rst
cfg_network.rst