<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sun Solaris System Admin &#187; MultiPathing</title>
	<atom:link href="http://www.sunsolarisadmin.com/tag/multipathing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sunsolarisadmin.com</link>
	<description>Sun Solaris HowTo's Tips Tricks Tutorials</description>
	<lastBuildDate>Wed, 21 Sep 2011 19:57:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
<link>http://www.sunsolarisadmin.com</link>
<url>http://www.sunsolarisadmin.com/wp-content/mbp-favicon/favicon.ico</url>
<title>Sun Solaris System Admin</title>
</image>
		<item>
		<title>Configure IPMP Load Balancing &amp; Resilience in Sun Solaris</title>
		<link>http://www.sunsolarisadmin.com/networking/configure-ipmp-load-balancing-resilience-in-sun-solaris/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configure-ipmp-load-balancing-resilience-in-sun-solaris</link>
		<comments>http://www.sunsolarisadmin.com/networking/configure-ipmp-load-balancing-resilience-in-sun-solaris/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 22:15:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[failover]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[IPMP]]></category>
		<category><![CDATA[loadbalance]]></category>
		<category><![CDATA[MultiPathing]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[resilience]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[Virtual-IP]]></category>

		<guid isPermaLink="false">http://www.sunsolarisadmin.com/networking/configure-ipmp-load-balancing-resilience-in-sun-solaris/</guid>
		<description><![CDATA[IP Multipathing (IPMP) in Sun Solaris enables the load balancing capabilities and resilience for Network connections with multple Network Interface Cards (NIC). I discussed here about providing resilience for network connections with multiple NICs on the system. Now, we take it to the next step and make the network connections not only resilient but also <a href='http://www.sunsolarisadmin.com/networking/configure-ipmp-load-balancing-resilience-in-sun-solaris/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><div style="float: left"><script type="text/javascript"><!--
google_ad_client = "pub-6220434432369569";
/* sunsoladm_336x280_post */
google_ad_slot = "5048319182";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><br />
IP Multipathing (IPMP) in Sun Solaris enables the load balancing capabilities and resilience for Network connections with multple Network Interface Cards (NIC).</p>
<p>I discussed <a href="http://www.sunsolarisadmin.com/networking/configure-ipmp-network-resilience-with-multiple-nics-in-solaris/" title="IPMP Config for network connection resilience" target="_blank">here</a> about providing resilience for network connections with multiple NICs on the system. Now, we take it to the next step and make the network connections not only resilient but also load balance the network connections such that both the NICs participating in IPMP are active and forwards traffic. This improves the network throughput and thereby efficiency of the server especially if it is a critical system serving multiple connections.<br />
<span id="more-40"></span>To configure IPMP for load balancing we need to have</p>
<blockquote><p>1. Two Virtual IP Addresses. These IPs are used by the Applications for data.</p>
<p>2. Test IP Address for each NIC. These IPs are not used by applications and are only used to prode a remote target device to check connectivity.</p>
<p>3. Each Interface has unique MAC-Address. By default in SPARC platforms, all NICs have a System-wide MAC-Address assigned and so they share a single MAC-Address. To change this behaviour <a href="http://www.sunsolarisadmin.com/networking/multiple-interfaces-nics-use-single-mac-address-in-solaris-on-sparc/" title="Multiple Interface use same MAC-Address" target="_blank">click here</a></p></blockquote>
<p>The NICs doesn&#8217;t have to be of the same kind but have to be of the same speed (10/100/1000Mbps).</p>
<p>In our configuration,</p>
<blockquote><p>192.168.1.99  &#8211; Virtual IP1</p>
<p>192.168.1.100 &#8211; Virtual IP2</p>
<p>192.168.1.101 &#8211; Test IP for ce0 (NIC1)</p>
<p>192.168.1.102 &#8211; Test IP for ce1 (NIC2)</p>
<p>appserver &#8211; Actual hostname</p>
<p>appserver-1 &#8211; Hostname for Data IP2</p>
<p>appserver-2 &#8211; Hostname for Data IP2</p>
<p>appserver-ce0 &#8211; Hostname for test IP on ce0 interface</p>
<p>appserver-ce1 &#8211; Hostname for test IP on ce1 interface</p></blockquote>
<p><u><strong>Add Host Entries in /etc/hosts<br />
</strong></u><br />
Let&#8217;s start with adding the hosts entries for the IP addresses in the /etc/hosts file.</p>
<blockquote><p><strong># IPMP group appserver-ipmp</strong><br />
<strong>127.0.0.1       localhost</strong><br />
<strong>192.168.1.99   appserver-1        loghost</strong><br />
<strong>192.168.1.100  appserver-2  appserver  loghost</strong><br />
<strong>192.168.1.101  appserver-ce0    loghost</strong><br />
<strong>192.168.1.102  appserver-ce1    loghost</strong></p></blockquote>
<p>We have configured a hostname for each of the Virtual IPs and the Test IPs. However, the Test IPs should not be used by applications for any network connections.</p>
<p><u><strong>Create hostname.ce* files</strong></u></p>
<p>For every interface on the system create a hostname.ce* file. For us, create the files</p>
<p><u><strong>hostname.ce0 &amp; hostname.ce1</strong></u></p>
<p><u><strong>Edit hostname.ce0</strong></u></p>
<p>Add the following on the hostname.ce0 file. This is the primary or master interface of the IPMP Pair<br />
<strong><br />
</strong></p>
<blockquote><p><strong>appserver-ce0 netmask + broadcast + group appserver-ipmp deprecated -failover up \</strong><br />
<strong>addif appserver netmask + broadcast + failover up</strong></p></blockquote>
<p><u><strong>Edit hostname.ce1</strong></u></p>
<p>Add the following on the hostname.ce1 file. This is the secondary or slave interface of the IPMP Pair</p>
<blockquote><p><strong>appserver-ce1 netmask + broadcast + group appserver-ipmp deprecated -failover up \</strong><br />
<strong>addif appserver netmask + broadcast + failover up</strong></p></blockquote>
<p>where<br />
netmask &#8211; assigns the default netmask</p>
<p>broadcast &#8211; assigns the default broadcast value</p>
<p>group &#8211; specifies the IPMP group</p>
<p>deprecated &#8211; indicate test Interface not be used for data transfer</p>
<p>-failover &#8211; makes the test interface not to failover</p>
<p>Now, the configuration is complete and an ifconfig output should look like as follows:</p>
<blockquote><p><strong>root@ appserver:/$<br />
</strong>lo0: flags=2001000849&lt;UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL&gt; mtu 8232 index 1<br />
inet 127.0.0.1 netmask ff000000<br />
ce0: flags=9040843&lt;UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER&gt; mtu 1500 index 2<br />
inet 192.168.1.99 netmask ffffff00 broadcast 192.168.1.255<br />
groupname appserver-ipmp<br />
ether 0:xx:xx:xx:xx:x<br />
ce0:1: flags=1000843&lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 2<br />
inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255<br />
ce1: flags=69040843&lt;UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER&gt; mtu 1500 index 3<br />
inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255<br />
groupname appserver-ipmp<br />
ether 0:xx:xx:xx:xx:x<br />
ce1:1: flags=1000843&lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 4</p>
<p>inet 192.168.1.102 netmask ffffff00 broadcast 192.168.1.255</p></blockquote>
<p>Now, both the NICs will forward traffic and when one of the inerface fails, it transparently failover the virtual IP address onto the other active interface and you can see an interface &#8220;ce1:2&#8243; would be created for the failed over IP. When the link is restored, this will be failed back to the ce0 interface. There should be no disruption to the network connections.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunsolarisadmin.com/networking/configure-ipmp-load-balancing-resilience-in-sun-solaris/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Configure IPMP network resilience with Multiple NICs in Solaris</title>
		<link>http://www.sunsolarisadmin.com/networking/configure-ipmp-network-resilience-with-multiple-nics-in-solaris/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configure-ipmp-network-resilience-with-multiple-nics-in-solaris</link>
		<comments>http://www.sunsolarisadmin.com/networking/configure-ipmp-network-resilience-with-multiple-nics-in-solaris/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 18:15:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[failover]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[IPMP]]></category>
		<category><![CDATA[MultiPathing]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[resilience]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[Virtual-IP]]></category>

		<guid isPermaLink="false">http://www.sunsolarisadmin.com/networking/configure-ipmp-network-resilience-with-multiple-nics-in-solaris/</guid>
		<description><![CDATA[IP Multipathing (IPMP) in Sun Solaris enables the load balancing capabilities and resilience for Network connections with multple Network Interface Cards (NIC). IPMP is mostly used to provide resilience with network connections wherein a Sun Solaris Server with multiple NICs can be configured such that if the primary NIC fails it automatically failover to the <a href='http://www.sunsolarisadmin.com/networking/configure-ipmp-network-resilience-with-multiple-nics-in-solaris/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><div style="float: left"><script type="text/javascript"><!--
google_ad_client = "pub-6220434432369569";
/* sunsoladm_336x280_post */
google_ad_slot = "5048319182";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><br />
IP Multipathing (IPMP) in Sun Solaris enables the load balancing capabilities and resilience for Network connections with multple Network Interface Cards (NIC).</p>
<p>IPMP is mostly used to provide resilience with network connections wherein a Sun Solaris Server with multiple NICs can be configured such that if the primary NIC fails it automatically failover to the secondary NIC on the system. Also, if it is a multi-switch environment then each Network Interface participating in IPMP can be connection to two different switches such that a network connection failure due to a NIC failure or a switch failure can be avoided.</p>
<p><span id="more-38"></span><br />
To configure IPMP for resiliency we need to have</p>
<blockquote><p><strong>1. Virtual IP Address</strong></p>
<p><strong>2. Test IP Address for each NIC.</strong></p></blockquote>
<p>The Virtual IP is the actual Data IP and the test IPs are the ones used by IPMP to probe a remote target system to check connectivity. The test IP interfaces are marked as &#8220;deprecated&#8221; which indicates that this IP should be used by applications for any network data transfer. The NICs doesn&#8217;t have to be of the same make or have to be the same speed (10/100/1000Mbps). However, they should be of the same kind (Ethernet here)</p>
<p>In our configuration,</p>
<blockquote><p><strong>192.168.1.100 &#8211; Virtual IP </strong></p>
<p><strong>192.168.1.101 &#8211; Test IP for ce0 (NIC1)</strong></p>
<p><strong>192.168.1.102 &#8211; Test IP for ce1 (NIC2)</strong></p>
<p><strong>appserver &#8211; Hostname</strong></p>
<p><strong>appserver-ce0 &#8211; Hostname for IP on ce0 interface</strong></p>
<p><strong>appserver-ce1 &#8211; Hostname for IP on ce1 interface</strong></p></blockquote>
<p><u><strong>Add Host Entries in /etc/hosts<br />
</strong></u><br />
Let&#8217;s start with adding the hosts entries for the IP addresses in the /etc/hosts file.</p>
<blockquote><p><strong># IPMP group appserver-ipmp</strong><br />
<strong>127.0.0.1       localhost</strong><br />
<strong>192.168.1.100  appserver        loghost</strong><br />
<strong>192.168.1.101  appserver-ce0    loghost</strong><br />
<strong>192.168.1.102  appserver-ce1    loghost</strong></p></blockquote>
<p><u><strong>Create hostname.ce* files</strong></u></p>
<p>For every interface on the system create a hostname.ce* file. For us, create the files</p>
<p><strong>hostname.ce0 &amp; hostname.ce1<br />
</strong><br />
<u><strong>Edit hostname.ce0<br />
</strong></u><br />
Add the following on the hostname.ce0 file. This is the primary or master interface of the IPMP Pair</p>
<blockquote><p><strong>appserver-ce0 netmask + broadcast + group appserver-ipmp deprecated -failover up\</strong></p>
<p><strong>addif appserver netmask + broadcast + failover up</strong></p></blockquote>
<p><u><strong>Edit hostname.ce1</strong></u></p>
<p>Add the following on the hostname.ce1 file. This is the secondary or slave interface of the IPMP Pair</p>
<blockquote><p><strong>appserver-ce1 netmask + broadcast + group appserver-ipmp deprecated \</strong><br />
<strong>-failover standby up</strong></p></blockquote>
<p>where</p>
<p>netmask &#8211; sets default netmask values</p>
<p>broadcast &#8211; sets default broadcast address</p>
<p>-failover  &#8211; indicates that the test IPs should not be failed over</p>
<p>deprecated &#8211; indicates that the interface should not be used for data transfer</p>
<p>Now, the configuration is complete and an ifconfig output should look like as follows:</p>
<blockquote><p><strong>root@ appserver:/$</strong><br />
lo0: flags=2001000849&lt;UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL&gt; mtu 8232 index 1<br />
inet 127.0.0.1 netmask ff000000<br />
ce0: flags=9040843&lt;UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER&gt; mtu 1500 index 2<br />
inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255<br />
groupname appserver-ipmp<br />
ether 0:xx:xx:xx:xx:x<br />
<strong>ce0:1: flags=1000843&lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 2<br />
inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255<br />
</strong>ce1: flags=69040843&lt;UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE&gt; mtu 1500 index 3<br />
inet 192.168.1.102 netmask ffffff00 broadcast 192.168.1.255<br />
groupname appserver-ipmp<br />
ether 0:xx:xx:xx:xx:x</p></blockquote>
<p>You can see a new virtual interface for &#8220;ce0&#8243; is being created as &#8220;ce0:1&#8243; and the  &#8220;ce1&#8243; interface status is UP but INACTIVE. Indicating it is up and participating in the IPMP but is  as a standby. Test by pinging the device continously from a remote PC and unplugging the active NIC and you should see no packets drop. Reverse the tests and check if it works OK. Also, if you are on the console, you can see the live link messages (check later from /var/adm/messages)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sunsolarisadmin.com/networking/configure-ipmp-network-resilience-with-multiple-nics-in-solaris/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

