Introduction</title>
- <para>LNET network hardware and routing are now configured via module parameters. Parameters should be specified in the <literal>/etc/modprobe.conf </literal>file, for example:</para>
- <screen>alias lustre llite
-options lnet networks=tcp0,elan0</screen>
- <para>The above option specifies that this node should use all the available TCP and Elan interfaces.</para>
+ <para>LNET network hardware and routing are now configured via module parameters. Parameters should be specified in the <literal>/etc/modprobe.d/lustre.conf</literal>file, for example:</para>
+ <screen>options lnet networks=tcp0(eth2)</screen>
+ <para>The above option specifies that this node should use the TCP protocol on the eth2 network interface.</para>
<para>Module parameters are read when the module is first loaded. Type-specific LND modules (for instance, <literal>ksocklnd</literal>) are loaded automatically by the LNET module when LNET starts (typically upon <literal>modprobe ptlrpc</literal>).</para>
- <para>Under Linux 2.6, LNET configuration parameters can be viewed under <literal>/sys/module/</literal>; generic and acceptor parameters under LNET, and LND-specific parameters under the name of the corresponding LND.</para>
- <para>Under Linux 2.4, <literal>sysfs</literal> is not available, but the LND-specific parameters are accessible via equivalent paths under <literal>/proc</literal>.</para>
- <para>Important: All old (pre v.1.4.6) Lustre configuration lines should be removed from the module configuration files and replaced with the following. Make sure that <literal>CONFIG_KMOD</literal> is set in your <literal>linux.config</literal> so LNET can load the following modules it needs. The basic module files are:</para>
- <para><literal>modprobe.conf </literal>(for Linux 2.6)</para>
- <screen>alias lustre llite
-options lnet networks=tcp0,elan0</screen>
- <para><literal>modules.conf</literal> (for Linux 2.4)</para>
- <screen>alias lustre llite
-options lnet networks=tcp0,elan0</screen>
- <para>For the following parameters, default option settings are shown in parenthesis. Changes to parameters marked with a W affect running systems. (Unmarked parameters can only be set when LNET loads for the first time.) Changes to parameters marked with <literal>Wc</literal> only have effect when connections are established (existing connections are not affected by these changes.)</para>
+ <para>LNET configuration parameters can be viewed under <literal>/sys/module/lnet/parameters/</literal>, and LND-specific parameters under the name of the corresponding LND, for example <literal>/sys/module/ksocklnd/parameters/</literal> for the socklnd (TCP) LND.</para>
+ <para>For the following parameters, default option settings are shown in parenthesis. Changes to parameters marked with a W affect running systems. Unmarked parameters can only be set when LNET loads for the first time. Changes to parameters marked with <literal>Wc</literal> only have effect when connections are established (existing connections are not affected by these changes.)</para>
</section>
<section xml:id="dbdoclet.50438293_78010">
<title>
<para>For a routed network, use the same 'routes' configuration everywhere. Nodes specified as routers automatically enable forwarding and any routes that are not relevant to a particular node are ignored. Keep a common configuration to guarantee that all nodes have consistent routing tables.</para>
</listitem>
<listitem>
- <para>A separate <literal>modprobe.conf.lnet</literal> included from <literal>modprobe.conf</literal> makes distributing the configuration much easier.</para>
+ <para>A separate <literal>lustre.conf</literal> file makes distributing the configuration much easier.</para>
</listitem>
<listitem>
<para>If you set <literal>config_on_load=1</literal>, LNET starts at <literal>modprobe</literal> time rather than waiting for Lustre to start. This ensures routers start working at module load time.</para>
Overview of LNET Module Parameters</title>
<para>LNET kernel module (lnet) parameters specify how LNET is to be configured to work with Lustre, including which NICs will be configured to work with Lustre and the routing to be used with Lustre.</para>
- <para>Parameters for lnet are specified in the <literal>modprobe.conf</literal> or <literal>modules.conf</literal> file (depending on your Linux distribution) in one or more entries with the syntax:</para>
+ <para>Parameters for LNET can be specified in the <literal>/etc/modprobe.d/lustre.conf</literal> file. In some cases the parameters may have been stored in <literal>/etc/modprobe.conf</literal>, but this has been deprecated since before RHEL5 and SLES10, and having a separate <literal>/etc/modprobe.d/lustre.conf</literal> file simplifies administration and distribution of the Lustre networking configuration. This file contains one or more entries with the syntax:</para>
<screen>options lnet <<emphasis>parameter</emphasis>>=<<emphasis>parameter value</emphasis>></screen>
<para>To specify the network interfaces that are to be used for Lustre, set either the networks parameter or the <literal>ip2nets</literal> parameter (only one of these parameters can be used at a time):</para>
<itemizedlist>
</section>
<section xml:id="dbdoclet.50438216_46279">
<title><indexterm><primary>LNET</primary><secondary>module parameters</secondary></indexterm>Setting the LNET Module networks Parameter</title>
- <para>If a node has more than one network interface, you'll typically want to dedicate a specific interface to Lustre. You can do this by including an entry in the <literal>modprobe.conf</literal> file on the node that sets the LNET module <literal>networks</literal> parameter:</para>
+ <para>If a node has more than one network interface, you'll typically want to dedicate a specific interface to Lustre. You can do this by including an entry in the <literal>lustre.conf</literal> file on the node that sets the LNET module <literal>networks</literal> parameter:</para>
<screen>options lnet networks=<<emphasis>comma-separated list of networks</emphasis>></screen>
<para>This example specifies that a Lustre node will use a TCP/IP interface and an InfiniBand interface:</para>
<screen>options lnet networks=tcp0(eth0),o2ib(ib0)</screen>
<screen>options lnet networks=tcp0(eth2),tcp1(eth3)</screen>
<para>When more than one interface is available during the network setup, Lustre chooses the best route based on the hop count. Once the network connection is established, Lustre expects the network to stay connected. In a Lustre network, connections do not fail over to another interface, even if multiple interfaces are available on the same node.</para>
<note>
- <para>LNET lines in <literal>modprobe.conf</literal> are only used by the local node to determine what to call its interfaces. They are not used for routing decisions.</para>
+ <para>LNET lines in <literal>lustre.conf</literal> are only used by the local node to determine what to call its interfaces. They are not used for routing decisions.</para>
</note>
<section remap="h3">
<title><indexterm><primary>configuing</primary><secondary>multihome</secondary></indexterm>Multihome Server Example</title>
<para>To set the <literal>networks</literal> option for this example:</para>
<itemizedlist>
<listitem>
- <para> On each server, <literal>svr1</literal> and <literal>svr2</literal>, include the following line in the modprobe.conf file:</para>
+ <para> On each server, <literal>svr1</literal> and <literal>svr2</literal>, include the following line in the <literal>lustre.conf</literal> file:</para>
</listitem>
</itemizedlist>
<screen>options lnet networks=tcp0(eth0),tcp1(eth1),o2ib</screen>
<itemizedlist>
<listitem>
- <para> For TCP-only clients, the first available non-loopback IP interface is used for <literal>tcp0</literal>. Thus, TCP clients with only one interface do not need to have options defined in the <literal>modprobe.conf</literal> file.</para>
+ <para> For TCP-only clients, the first available non-loopback IP interface is used for <literal>tcp0</literal>. Thus, TCP clients with only one interface do not need to have options defined in the <literal>lustre.conf</literal> file.</para>
</listitem>
<listitem>
- <para> On the InfiniBand clients, include the following line in the <literal>modprobe.conf</literal> file:</para>
+ <para> On the InfiniBand clients, include the following line in the <literal>lustre.conf</literal> file:</para>
</listitem>
</itemizedlist>
<screen>options lnet networks=o2ib</screen>
</section>
<section xml:id="dbdoclet.50438216_31414">
<title><indexterm><primary>LNET</primary><secondary>ip2nets</secondary></indexterm>Setting the LNET Module ip2nets Parameter</title>
- <para>The <literal>ip2nets</literal> option is typically used when a single, universal <literal>modprobe.conf</literal> file is run on all servers and clients. Each node identifies the locally available networks based on the listed IP address patterns that match the node's local IP addresses.</para>
+ <para>The <literal>ip2nets</literal> option is typically used when a single, universal <literal>lustre.conf</literal> file is run on all servers and clients. Each node identifies the locally available networks based on the listed IP address patterns that match the node's local IP addresses.</para>
<para>Note that the IP address patterns listed in the <literal>ip2nets</literal> option are <emphasis>only</emphasis> used to identify the networks that an individual node should instantiate. They are <emphasis>not</emphasis> used by LNET for any other communications purpose.</para>
<para>For the example below, the nodes in the network have these IP addresses:</para>
<itemizedlist>
<para> Infiniband clients have IP over Infiniband (<literal>o2ib</literal>) addresses <literal>132.6.[2-3].2, .4, .6, .8</literal>.</para>
</listitem>
</itemizedlist>
- <para>The following entry is placed in the <literal>modprobe.conf</literal> file on each server and client:</para>
+ <para>The following entry is placed in the <literal>lustre.conf</literal> file on each server and client:</para>
<screen>options lnet 'ip2nets="tcp0(eth0) 192.168.0.[2,4]; \
tcp0 192.168.0.*; o2ib0 132.6.[1-3].[2-8/2]"'</screen>
<para>Each entry in <literal>ip2nets</literal> is referred to as a 'rule'.</para>
- <para>The order of LNET entries is important when configuring servers. If a server node can be reached using more than one network, the first network specified in <literal>modprobe.conf</literal> will be used.</para>
+ <para>The order of LNET entries is important when configuring servers. If a server node can be reached using more than one network, the first network specified in <literal>lustre.conf</literal> will be used.</para>
<para>Because <literal>svr1</literal> and <literal>svr2</literal> match the first rule, LNET uses <literal>eth0</literal> for <literal>tcp0</literal> on those machines. (Although <literal>svr1</literal> and <literal>svr2</literal> also match the second rule, the first matching rule for a particular network is used).</para>
<para>The <literal>[2-8/2]</literal> format indicates a range of 2-8 stepped by 2; that is 2,4,6,8. Thus, the clients at <literal>132.6.3.5</literal> will not find a matching o2ib network.</para>
</section>
<para>The number of LNET routers is not limited. Enough routers should be used to handle the required file serving bandwidth plus a 25 percent margin for headroom.</para>
<section remap="h3">
<title><indexterm><primary>LNET</primary><secondary>routing example</secondary></indexterm>Routing Example</title>
- <para>On the clients, place the following entry in the modprobe.conf file</para>
+ <para>On the clients, place the following entry in the <literal>lustre.conf</literal> file</para>
<screen>lnet networks="tcp" routes="o2ib0 192.168.0.[1-8]@tcp0"</screen>
<para>On the router nodes, use:</para>
<screen>lnet networks="tcp o2ib" forwarding=enabled </screen>
<section xml:id="dbdoclet.50438216_35668">
<title><indexterm><primary>LNET</primary><secondary>route checker</secondary></indexterm>Configuring the Router Checker</title>
<para>In a Lustre configuration in which different types of networks, such as a TCP/IP network and an Infiniband network, are connected by routers, a router checker can be run on the clients and servers in the routed configuration to monitor the status of the routers. In a multi-hop routing configuration, router checkers can be configured on routers to monitor the health of their next-hop routers.</para>
- <para>A router checker is configured by setting lnet parameters in modprobe.conf by including an entry in this form:</para>
+ <para>A router checker is configured by setting lnet parameters in <literal>lustre.conf</literal> by including an entry in this form:</para>
<screen>options lnet <<emphasis>router checker parameter</emphasis>>=<<emphasis>parameter value</emphasis>></screen>
<para>The router checker parameters are:</para>
<itemizedlist>
smp.x86_64.rpm</screen>
</listitem>
<listitem>
- <para>Add the following lines to the <literal>/etc/modprobe.conf</literal> file.</para>
+ <para>Add the following lines to the <literal>/etc/modprobe.d/lustre.conf</literal> file.</para>
<screen>options kmxlnd hosts=/etc/hosts.mxlnd
options lnet networks=mx0(myri0),tcp0(eth0)</screen>
</listitem>
<para>To change a server NID:</para>
<orderedlist>
<listitem>
- <para>Update the LNET configuration in the <literal>/etc/modprobe.conf</literal> file so the list of server NIDs (<literal>lctl list_nids</literal>) is correct.</para>
+ <para>Update the LNET configuration in the <literal>/etc/modprobe.d/lustre.conf</literal> file so the list of server NIDs (<literal>lctl list_nids</literal>) is correct.</para>
<para>The <literal>lctl list_nids</literal> command indicates which network(s) are configured to work with Lustre.</para>
</listitem>
<listitem>
<para>Start Lustre before starting any service that uses sunrpc.</para>
</listitem>
<listitem>
- <para>Use a port other than 988 for Lustre. This is configured in /etc/modprobe.conf as an option to the LNET module. For example:</para>
+ <para>Use a port other than 988 for Lustre. This is configured in <literal>/etc/modprobe.d/lustre.conf</literal> as an option to the LNET module. For example:</para>
<screen>options lnet accept_port=988</screen>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<note>
- <para>Many options in Lustre are set by means of kernel module parameters. These parameters are contained in the <literal>modprobe.conf</literal> file.</para>
+ <para>Many options in Lustre are set by means of kernel module parameters. These parameters are contained in the <literal>/etc/modprobe.d/lustre.conf</literal> file.</para>
</note>
<section xml:id="dbdoclet.50438272_55226">
<title>
<title><indexterm><primary>LNET</primary><secondary>Infiniband load balancing</secondary></indexterm>Load Balancing with InfiniBand</title>
<para>A Lustre file system contains OSSs with two InfiniBand HCAs. Lustre clients have only one InfiniBand HCA using OFED Infiniband ''o2ib'' drivers. Load balancing between the HCAs on the OSS is accomplished through LNET.</para>
<section remap="h3">
- <title><indexterm><primary>LNET</primary><secondary>modprobe.conf</secondary></indexterm>Setting Up <literal>modprobe.conf</literal> for Load Balancing</title>
+ <title><indexterm><primary>LNET</primary><secondary>lustre.conf</secondary></indexterm>Setting Up <literal>lustre.conf</literal> for Load Balancing</title>
<para>To configure LNET for load balancing on clients and servers:</para>
<orderedlist>
<listitem>
- <para>Set the <literal>modprobe.conf</literal> options.</para>
- <para>Depending on your configuration, set modprobe.conf options as follows:</para>
+ <para>Set the <literal>lustre.conf</literal> options.</para>
+ <para>Depending on your configuration, set <literal>lustre.conf</literal> options as follows:</para>
<itemizedlist>
<listitem>
<para>Dual HCA OSS server</para>
</orderedlist>
</listitem>
<listitem>
- <para>Set up the bond interface and its options in /etc/modprobe.conf. Start the slave interfaces by your normal network method.</para>
- <screen># vi /etc/modprobe.conf
+ <para>Set up the bond interface and its options in <literal>/etc/modprobe.d/bond.conf</literal>. Start the slave interfaces by your normal network method.</para>
+ <screen># vi /etc/modprobe.d/bond.conf
</screen>
<orderedlist>
<listitem>
<listitem>
<para>Start/restart the slave interfaces (using your normal network method).</para>
<note>
- <para>You must <literal>modprobe</literal> the bonding module for each bonded interface. If you wish to create bond0 and bond1, two entries in <literal>modprobe.conf</literal> are required.</para>
+ <para>You must <literal>modprobe</literal> the bonding module for each bonded interface. If you wish to create bond0 and bond1, two entries in <literal>bond.conf</literal> file are required.</para>
</note>
<para>The examples below are from RedHat systems. For setup use: <literal>/etc/sysconfig/networking-scripts/ifcfg-*</literal> The website referenced below includes detailed instructions for other configuration methods, instructions to use DHCP with bonding, and other setup details. We strongly recommend you use this website.</para>
<para><link xl:href="http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding">http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding</link></para>
</orderedlist>
<section remap="h3">
<title>Examples</title>
- <para>This is an example showing <literal>modprobe.conf</literal> entries for bonding Ethernet interfaces <literal>eth1</literal> and <literal>eth2</literal> to <literal>bond0</literal>:</para>
- <screen># cat /etc/modprobe.conf
+ <para>This is an example showing <literal>bond.conf</literal> entries for bonding Ethernet interfaces <literal>eth1</literal> and <literal>eth2</literal> to <literal>bond0</literal>:</para>
+ <screen># cat /etc/modprobe.d/bond.conf
alias eth0 8139too
-alias scsi_hostadapter sata_via
-alias scsi_hostadapter1 usb-storage
-alias snd-card-0 snd-via82xx
-options snd-card-0 index=0
-options snd-via82xx index=0
+alias eth1 via-rhine
alias bond0 bonding
options bond0 mode=balance-alb miimon=100
-options lnet networks=tcp
-alias eth1 via-rhine
# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
<para>Lustre routers to connect the two networks.</para>
</listitem>
</itemizedlist>
- <para>Lustre networks and routing are configured and managed by specifying parameters to the Lustre Networking (lnet) module in <literal>/etc/modprobe.conf</literal> or <literal>/etc/modprobe.conf.local</literal> (depending on your Linux distribution).</para>
+ <para>Lustre networks and routing are configured and managed by specifying parameters to the Lustre Networking (<literal>lnet</literal>) module in <literal>/etc/modprobe.d/lustre.conf</literal>.</para>
<para>To prepare to configure Lustre Networking, complete the following steps:</para>
<orderedlist>
<listitem>
</listitem>
<listitem>
<para><emphasis role="bold">To ease the setup of networks with complex network configurations, determine a cluster-wide module configuration.</emphasis></para>
- <para>For large clusters, you can configure the networking setup for all nodes by using a single, unified set of parameters in the modprobe.conf file on each node. Cluster-wide configuration is described in <xref linkend="configuringlnet"/>.</para>
+ <para>For large clusters, you can configure the networking setup for all nodes by using a single, unified set of parameters in the <literal>lustre.conf</literal> file on each node. Cluster-wide configuration is described in <xref linkend="configuringlnet"/>.</para>
</listitem>
</orderedlist>
<note>