<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Srinivasa Raju PVS</title>
	<atom:link href="http://pvssraju.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pvssraju.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 14 Oct 2009 14:36:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pvssraju.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Srinivasa Raju PVS</title>
		<link>http://pvssraju.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pvssraju.wordpress.com/osd.xml" title="Srinivasa Raju PVS" />
	<atom:link rel='hub' href='http://pvssraju.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Nagios NRPE to Monitor Remote Linux Server</title>
		<link>http://pvssraju.wordpress.com/2009/10/14/nagios-nrpe-to-monitor-remote-linux-server/</link>
		<comments>http://pvssraju.wordpress.com/2009/10/14/nagios-nrpe-to-monitor-remote-linux-server/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 14:36:16 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Redhat Linux]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=43</guid>
		<description><![CDATA[NRPE Remote Server Installation and Setup Create Nagios user account on remote server to be monitored: # useradd nagios # passwd nagios Download and Install Nagios Plugins: # mkdir -p /opt/Nagios/Nagios_Plugins # cd /opt/Nagios/Nagios_Plugins Save file to directory /opt/Nagios http://www.nagios.org/download/download.php As of this writing Nagios 3.0.6 (Stable) and Nagios Plugins 1.4.13 (Stable) Extract Files: # [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=43&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>NRPE Remote Server Installation and Setup<br />
Create Nagios user account on remote server to be monitored:</p>
<p># useradd nagios<br />
# passwd nagios<br />
Download and Install Nagios Plugins:</p>
<p># mkdir -p /opt/Nagios/Nagios_Plugins<br />
# cd /opt/Nagios/Nagios_Plugins<br />
Save file to directory /opt/Nagios</p>
<p>http://www.nagios.org/download/download.php</p>
<p>As of this writing Nagios 3.0.6 (Stable) and Nagios Plugins 1.4.13 (Stable)</p>
<p>Extract Files:</p>
<p># tar xzf nagios-plugins-1.4.13.tar.gz</p>
<p># cd nagios-plugins-1.4.13<br />
Compile and Configure Nagios Plugins</p>
<p>** You need the openssl-devel package installed to compile plugins with ssl support. **</p>
<p># yum -y install openssl-devel<br />
Instal Plugins:</p>
<p># ./configure &#8211;with-nagios-user=nagios &#8211;with-nagios-group=nagios<br />
# make<br />
# make install<br />
The permissions on the plugin directory and the plugins will need to be changed to nagios user</p>
<p># chown nagios.nagios /usr/local/nagios<br />
# chown -R nagios.nagios /usr/local/nagios/libexec<br />
Package xinted is needed</p>
<p># yum install xinetd<br />
Downlad and Install NRPE Daemon</p>
<p># mkdir -p /opt/Nagios/Nagios_NRPE<br />
# cd /opt/Nagios/Nagios_NRPE<br />
Save file to directory /opt/Nagios</p>
<p>http://www.nagios.org/download/download.php</p>
<p>As of this writing NRPE 2.12 (Stable)</p>
<p>Extract the Files:</p>
<p># tar -xzf nrpe-2.12.tar.gz<br />
# cd nrpe-2.12<br />
Compile and Configure NRPE</p>
<p>** You need the openssl-devel package installed to compile NRPE with ssl support. **</p>
<p># yum -y install openssl-devel<br />
Install NRPE:</p>
<p># ./configure </p>
<p>General Options:<br />
 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
 NRPE port:    5666<br />
 NRPE user:    nagios<br />
 NRPE group:   nagios<br />
 Nagios user:  nagios<br />
 Nagios group: nagios</p>
<p># make all</p>
<p># make install-plugin</p>
<p># make install-daemon</p>
<p># make install-daemon-config</p>
<p># make install-xinetd<br />
Post NRPE Configuration</p>
<p>Edit Xinetd NRPE entry:</p>
<p>Add Nagios Monitoring server to the “only_from” directive</p>
<p># vi /etc/xinetd.d/nrpe</p>
<p>only_from = 127.0.0.1<br />
Edit services file entry:</p>
<p>Add entry for nrpe daemon</p>
<p># vi /etc/services</p>
<p>nrpe      5666/tcp    # NRPE<br />
Restart Xinetd and Set to start at boot:</p>
<p># chkconfig xinetd on</p>
<p># service xinetd restart<br />
Test NRPE Daemon Install</p>
<p>Check NRPE daemon is running and listening on port 5666:</p>
<p># netstat -at |grep nrpe<br />
Output should be:</p>
<p>tcp    0    0 *:nrpe    *.*    LISTEN<br />
Check NRPE daemon is functioning:</p>
<p># /usr/local/nagios/libexec/check_nrpe -H localhost<br />
Output should be NRPE version:</p>
<p>NRPE v2.12<br />
Open Port 5666 on Firewall</p>
<p>Make sure to open port 5666 on the firewall of the remote server so that the Nagios monitoring server can access the NRPE daemon.</p>
<p>Nagios Monitoring Host Server Setup<br />
Downlad and Install NRPE Plugin</p>
<p># mkdir -p /opt/Nagios/Nagios_NRPE<br />
# cd /opt/Nagios/Nagios_NRPE<br />
Save file to directory /opt/Nagios</p>
<p>http://www.nagios.org/download/download.php</p>
<p>As of this writing NRPE 2.12 (Stable)</p>
<p>Extract the Files:</p>
<p># tar -xzf nrpe-2.12.tar.gz<br />
# cd nrpe-2.12<br />
Compile and Configure NRPE</p>
<p># ./configure </p>
<p># make all</p>
<p># make install-plugin<br />
Test Connection to NRPE daemon on Remote Server</p>
<p>Lets now make sure that the NRPE on our Nagios server can talk to the NRPE daemon on the remote server we want to monitor. Replace “” with the remote servers IP address.</p>
<p># /user/local/nagios/libexec/check_nrpe -H<br />
NRPE v2.12<br />
Create NRPE Command Definition</p>
<p>A command definition needs to be created in order for the check_nrpe plugin to be used by nagios.</p>
<p># vi /usr/local/nagios/etc/objects/commands.cfg<br />
Add the following:</p>
<p>###############################################################################<br />
# NRPE CHECK COMMAND<br />
#<br />
# Command to use NRPE to check remote host systems<br />
###############################################################################</p>
<p>define command{<br />
        command_name check_nrpe<br />
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$<br />
        }<br />
Create Linux Object template</p>
<p>In order to be able to add the remote linux machine to Nagios we need to create an object template file adn add some object definitions.</p>
<p>Create new linux-box-remote object template file:</p>
<p># vi /usr/local/nagios/etc/objects/linux-box-remote.cfg<br />
Add the following and replace the values “host_name” “alias” “address” with the values that match your setup:</p>
<p>** The “host_name” you set for the “define_host” section must match the “host_name” in the “define_service” section **</p>
<p>define host{<br />
          name                  linux-box-remote             ; Name of this template<br />
          use                   generic-host          ; Inherit default values<br />
          check_period          24&#215;7<br />
          check_interval        5<br />
          retry_interval        1<br />
          max_check_attempts    10<br />
          check_command         check-host-alive<br />
          notification_period   24&#215;7<br />
          notification_interval 30<br />
          notification_options  d,r<br />
          contact_groups        admins<br />
          register              0          ; DONT REGISTER THIS &#8211; ITS A TEMPLATE<br />
          }</p>
<p>define host{<br />
          use       linux-box-remote     ; Inherit default values from a template<br />
          host_name Centos5    ; The name we&#8217;re giving to this server<br />
          alias     Centos5 ; A longer name for the server<br />
          address   192.168.0.5   ; IP address of the server<br />
          }</p>
<p>define service{<br />
          use                 generic-service<br />
          host_name           Centos5<br />
          service_description CPU Load<br />
          check_command       check_nrpe!check_load<br />
          }<br />
define service{<br />
          use                 generic-service<br />
          host_name           Centos5<br />
          service_description Current Users<br />
          check_command       check_nrpe!check_users<br />
          }<br />
define service{<br />
          use                 generic-service<br />
          host_name           Centos5<br />
          service_description /dev/hda1 Free Space<br />
          check_command       check_nrpe!check_hda1<br />
          }<br />
define service{<br />
          use                 generic-service<br />
          host_name           Centos5<br />
          service_description Total Processes<br />
          check_command       check_nrpe!check_total_procs<br />
          }<br />
define service{<br />
          use                 generic-service<br />
          host_name           Centos5<br />
          service_description Zombie Processes<br />
          check_command       check_nrpe!check_zombie_procs<br />
          }<br />
Activate the linux-box-remote.cfg template:</p>
<p># vi /usr/local/nagios/etc/nagios.cfg<br />
And add:</p>
<p># Definitions for monitoring remote Linux machine<br />
cfg_file=/usr/local/nagios/etc/objects/linux-box-remote.cfg<br />
Verify Nagios Configuration Files:</p>
<p># /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg<br />
Total Warnings: 0<br />
Total Errors:   0<br />
Restart Nagios:</p>
<p># service nagios restart<br />
Check Nagios Monitoring server that the remote linux box was added and is being monitored !</p>
<p>TroubleShooting<br />
NRPE ./configure error:</p>
<p>checking for SSL headers… configure: error: Cannot find ssl headers<br />
Solution:</p>
<p>You need to install the openssl-devel package</p>
<p># yum -y install openssl-devel<br />
CHECK_NRPE: Error – Could not complete SSL handshake<br />
Solution:</p>
<p>This is most likely not a probem with SSL but rather with Xinetd access restrictions.</p>
<p>Check the following files:</p>
<p>/etc/xinetd.d/nrpe</p>
<p>/etc/hosts.allow</p>
<p>/etc/hosts.deny</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=43&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/10/14/nagios-nrpe-to-monitor-remote-linux-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>Howto add an disk to Solaris 10</title>
		<link>http://pvssraju.wordpress.com/2009/10/08/howto-add-an-disk-to-solaris-10/</link>
		<comments>http://pvssraju.wordpress.com/2009/10/08/howto-add-an-disk-to-solaris-10/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 09:49:31 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=36</guid>
		<description><![CDATA[Howto add an disk to Solaris 10 6/06 Written by Administrator Friday, 14 July 2006 Howto add an SATA disk to Solaris 10 6/06 An common task is to connect another SATA disk to the system. When you&#8217;re used on running Linux, you will find it logic that Linux just sees the disk, and you [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=36&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Howto add an disk to Solaris 10 6/06<br />
Written by Administrator<br />
Friday, 14 July 2006<br />
Howto add an SATA disk to Solaris 10 6/06 </p>
<p>An common task is to connect another SATA disk to the system. When you&#8217;re used on running Linux, you will find it logic that Linux just sees the disk, and you can fdisk it right away. Solaris is just another story. </p>
<p>To let solaris know a new disk is added I run the cmd :</p>
<p>devfsadm -vC</p>
<p>It scans the system and will add and remove new and old devices. When the cmd completes, time for another cmd : </p>
<p>format</p>
<p>This cmd let you choose a disk to format, and create an Solaris label on the disk. After creating the label, have fun by slicing the disk. (It&#8217;s a killer <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Preparing an disk is done like :</p>
<p># format</p>
<p>Searching for disks&#8230;done</p>
<p>AVAILABLE DISK SELECTIONS:</p>
<p>0. c2d0 </p>
<p>/pci@0,0/pci-ide@8/ide@1/cmdk@0,0</p>
<p>1. c3d0 </p>
<p>/pci@0,0/pci-ide@7/ide@0/cmdk@0,0</p>
<p>Specify disk (enter its number): 1</p>
<p>selecting c3d0</p>
<p>Controller working list found</p>
<p>[disk formatted, defect list found]</p>
<p>FORMAT MENU:</p>
<p>disk &#8211; select a disk</p>
<p>type &#8211; select (define) a disk type</p>
<p>partition &#8211; select (define) a partition table</p>
<p>current &#8211; describe the current disk</p>
<p>format &#8211; format and analyze the disk</p>
<p>fdisk &#8211; run the fdisk program</p>
<p>repair &#8211; repair a defective sector</p>
<p>show &#8211; translate a disk address</p>
<p>label &#8211; write label to the disk</p>
<p>analyze &#8211; surface analysis</p>
<p>defect &#8211; defect list management</p>
<p>backup &#8211; search for backup labels</p>
<p>verify &#8211; read and display labels</p>
<p>save &#8211; save new disk/partition definitions</p>
<p>volname &#8211; set 8-character volume name</p>
<p>! &#8211; execute , then return</p>
<p>quit</p>
<p>format&gt; fdisk</p>
<p>No fdisk table exists. The default partition for the disk is:</p>
<p>a 100% &#8220;SOLARIS System&#8221; partition</p>
<p>Type &#8220;y&#8221; to accept the default partition, otherwise type &#8220;n&#8221; to edit the</p>
<p>partition table.</p>
<p>y</p>
<p>format&gt; lABEL</p>
<p>`lABEL&#8217; is not expected.</p>
<p>format&gt; label</p>
<p>Ready to label disk, continue? y</p>
<p>format&gt; verify</p>
<p>Warning: Primary label on disk appears to be different from</p>
<p>current label.</p>
<p>Warning: Check the current partitioning and &#8216;label&#8217; the disk or use the</p>
<p>&#8216;backup&#8217; command.</p>
<p>Primary label contents:</p>
<p>Volume name = </p>
<p>ascii name = </p>
<p>pcyl = 30400</p>
<p>ncyl = 30398</p>
<p>acyl = 2</p>
<p>bcyl = 0</p>
<p>nhead = 255</p>
<p>nsect = 63</p>
<p>Part Tag Flag Cylinders Size Blocks</p>
<p>0 unassigned wm 0 0 (0/0/0) 0</p>
<p>1 unassigned wm 0 0 (0/0/0) 0</p>
<p>2 backup wu 0 &#8211; 30397 232.86GB (30398/0/0) 488343870</p>
<p>3 unassigned wm 0 0 (0/0/0) 0</p>
<p>4 unassigned wm 0 0 (0/0/0) 0</p>
<p>5 unassigned wm 0 0 (0/0/0) 0</p>
<p>6 unassigned wm 0 0 (0/0/0) 0</p>
<p>7 unassigned wm 0 0 (0/0/0) 0</p>
<p>8 boot wu 0 &#8211; 0 7.84MB (1/0/0) 16065</p>
<p>9 alternates wm 1 &#8211; 2 15.69MB (2/0/0) 32130</p>
<p>format&gt; par</p>
<p>PARTITION MENU:</p>
<p>0 &#8211; change `0&#8242; partition</p>
<p>1 &#8211; change `1&#8242; partition</p>
<p>2 &#8211; change `2&#8242; partition</p>
<p>3 &#8211; change `3&#8242; partition</p>
<p>4 &#8211; change `4&#8242; partition</p>
<p>5 &#8211; change `5&#8242; partition</p>
<p>6 &#8211; change `6&#8242; partition</p>
<p>7 &#8211; change `7&#8242; partition</p>
<p>select &#8211; select a predefined table</p>
<p>modify &#8211; modify a predefined partition table</p>
<p>name &#8211; name the current table</p>
<p>print &#8211; display the current table</p>
<p>label &#8211; write partition map and label to the disk</p>
<p>! &#8211; execute , then return</p>
<p>quit</p>
<p>partition&gt; mod</p>
<p>Select partitioning base:</p>
<p>0. Current partition table (original)</p>
<p>1. All Free Hog</p>
<p>Choose base (enter number) [0]? 1</p>
<p>Part Tag Flag Cylinders Size Blocks</p>
<p>0 root wm 0 0 (0/0/0) 0</p>
<p>1 swap wu 0 0 (0/0/0) 0</p>
<p>2 backup wu 0 &#8211; 30397 232.86GB (30398/0/0) 488343870</p>
<p>3 unassigned wm 0 0 (0/0/0) 0</p>
<p>4 unassigned wm 0 0 (0/0/0) 0</p>
<p>5 unassigned wm 0 0 (0/0/0) 0</p>
<p>6 usr wm 0 0 (0/0/0) 0</p>
<p>7 unassigned wm 0 0 (0/0/0) 0</p>
<p>8 boot wu 0 &#8211; 0 7.84MB (1/0/0) 16065</p>
<p>9 alternates wm 1 &#8211; 2 15.69MB (2/0/0) 32130</p>
<p>Do you wish to continue creating a new partition</p>
<p>table based on above table[yes]?</p>
<p>Free Hog partition[6]?</p>
<p>Enter size of partition &#8217;0&#8242; [0b, 0c, 0.00mb, 0.00gb]:</p>
<p>Enter size of partition &#8217;1&#8242; [0b, 0c, 0.00mb, 0.00gb]:</p>
<p>Enter size of partition &#8217;3&#8242; [0b, 0c, 0.00mb, 0.00gb]:</p>
<p>Enter size of partition &#8217;4&#8242; [0b, 0c, 0.00mb, 0.00gb]:</p>
<p>Enter size of partition &#8217;5&#8242; [0b, 0c, 0.00mb, 0.00gb]:</p>
<p>Enter size of partition &#8217;7&#8242; [0b, 0c, 0.00mb, 0.00gb]:</p>
<p>Part Tag Flag Cylinders Size Blocks</p>
<p>0 root wm 0 0 (0/0/0) 0</p>
<p>1 swap wu 0 0 (0/0/0) 0</p>
<p>2 backup wu 0 &#8211; 30397 232.86GB (30398/0/0) 488343870</p>
<p>3 unassigned wm 0 0 (0/0/0) 0</p>
<p>4 unassigned wm 0 0 (0/0/0) 0</p>
<p>5 unassigned wm 0 0 (0/0/0) 0</p>
<p>6 usr wm 3 &#8211; 30397 232.84GB (30395/0/0) 488295675</p>
<p>7 unassigned wm 0 0 (0/0/0) 0</p>
<p>8 boot wu 0 &#8211; 0 7.84MB (1/0/0) 16065</p>
<p>9 alternates wm 1 &#8211; 2 15.69MB (2/0/0) 32130</p>
<p>Okay to make this the current partition table[yes]?</p>
<p>Enter table name (remember quotes): &#8220;datadsk&#8221;</p>
<p>Ready to label disk, continue? y</p>
<p>partition&gt; q</p>
<p>FORMAT MENU:</p>
<p>disk &#8211; select a disk</p>
<p>type &#8211; select (define) a disk type</p>
<p>partition &#8211; select (define) a partition table</p>
<p>current &#8211; describe the current disk</p>
<p>format &#8211; format and analyze the disk</p>
<p>fdisk &#8211; run the fdisk program</p>
<p>repair &#8211; repair a defective sector</p>
<p>show &#8211; translate a disk address</p>
<p>label &#8211; write label to the disk</p>
<p>analyze &#8211; surface analysis</p>
<p>defect &#8211; defect list management</p>
<p>backup &#8211; search for backup labels</p>
<p>verify &#8211; read and display labels</p>
<p>save &#8211; save new disk/partition definitions</p>
<p>volname &#8211; set 8-character volume name</p>
<p>! &#8211; execute , then return</p>
<p>quit</p>
<p>format&gt; save</p>
<p>Saving new disk and partition definitions</p>
<p>Enter file name["./format.dat"]:</p>
<p>format&gt; verify</p>
<p>Warning: Primary label on disk appears to be different from</p>
<p>current label.</p>
<p>Warning: Check the current partitioning and &#8216;label&#8217; the disk or use the</p>
<p>&#8216;backup&#8217; command.</p>
<p>Primary label contents:</p>
<p>Volume name = </p>
<p>ascii name = </p>
<p>pcyl = 30400</p>
<p>ncyl = 30398</p>
<p>acyl = 2</p>
<p>bcyl = 0</p>
<p>nhead = 255</p>
<p>nsect = 63</p>
<p>Part Tag Flag Cylinders Size Blocks</p>
<p>0 unassigned wm 0 0 (0/0/0) 0</p>
<p>1 unassigned wm 0 0 (0/0/0) 0</p>
<p>2 backup wu 0 &#8211; 30397 232.86GB (30398/0/0) 488343870</p>
<p>3 unassigned wm 0 0 (0/0/0) 0</p>
<p>4 unassigned wm 0 0 (0/0/0) 0</p>
<p>5 unassigned wm 0 0 (0/0/0) 0</p>
<p>6 unassigned wm 3 &#8211; 30397 232.84GB (30395/0/0) 488295675</p>
<p>7 unassigned wm 0 0 (0/0/0) 0</p>
<p>8 boot wu 0 &#8211; 0 7.84MB (1/0/0) 16065</p>
<p>9 alternates wm 1 &#8211; 2 15.69MB (2/0/0) 32130</p>
<p>format&gt; q</p>
<p>Two more steps to go, first a filesystem is needed, and after that the disk must be mounted. Creating an filesystem is easy :</p>
<p># newfs /dev/dsk/c3d0s6<br />
newfs: construct a new file system /dev/rdsk/c3d0s6: (y/n)? y<br />
Warning: 4870 sector(s) in last cylinder unallocated<br />
/dev/rdsk/c3d0s6:       488295674 sectors in 79476 cylinders of 48 tracks, 128 sectors<br />
        238425.6MB in 4968 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)<br />
super-block backups (for fsck -F ufs -o b=#) at:<br />
 32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,<br />
Initializing cylinder groups:<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..<br />
super-block backups for last 10 cylinder groups at:<br />
 487395104, 487493536, 487591968, 487690400, 487788832, 487887264, 487985696,<br />
 488084128, 488182560, 488280992</p>
<p>And mounting the disk : </p>
<p># mount /dev/dsk/c3d0s6 /mnt  </p>
<p># df -h /mnt/<br />
Filesystem             size   used  avail capacity  Mounted on<br />
/dev/dsk/c3d0s6        229G    64M   227G     1%    /mnt</p>
<p>Well that whas easy, wasn&#8217;t it ?</p>
<p>prtvtoc /dev/dsk/c1t1d0s2<br />
To checked partition information </p>
<p>Add new partition details on /etc/fstab to work after reboot</p>
<p>/dev/dsk/c1t1d0s6       /dev/rdsk/c1t1d0s6      /oradata       ufs     2       yes      logging<br />
/dev/dsk/c1t2d0s6       /dev/rdsk/c1t2d0s6      /orabackup     ufs     2       yes      logging</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=36&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/10/08/howto-add-an-disk-to-solaris-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>How to create a self-signed SSL Certificate</title>
		<link>http://pvssraju.wordpress.com/2009/10/01/how-to-create-a-self-signed-ssl-certificate/</link>
		<comments>http://pvssraju.wordpress.com/2009/10/01/how-to-create-a-self-signed-ssl-certificate/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 13:12:07 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Redhat Linux]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=33</guid>
		<description><![CDATA[Overview The following is an extremely simplified view of how SSL is implemented and what part the certificate plays in the entire process. Normal web traffic is sent unencrypted over the Internet. That is, anyone with access to the right tools can snoop all of that traffic. Obviously, this can lead to problems, especially where [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=33&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Overview</p>
<p>The following is an extremely simplified view of how SSL is implemented and what part the certificate plays in the entire process.</p>
<p>Normal web traffic is sent unencrypted over the Internet. That is, anyone with access to the right tools can snoop all of that traffic. Obviously, this can lead to problems, especially where security and privacy is necessary, such as in credit card data and bank transactions. The Secure Socket Layer is used to encrypt the data stream between the web server and the web client (the browser).</p>
<p>SSL makes use of what is known as asymmetric cryptography, commonly referred to as public key cryptography (PKI). With public key cryptography, two keys are created, one public, one private. Anything encrypted with either key can only be decrypted with its corresponding key. Thus if a message or data stream were encrypted with the server&#8217;s private key, it can be decrypted only using its corresponding public key, ensuring that the data only could have come from the server.</p>
<p>If SSL utilizes public key cryptography to encrypt the data stream traveling over the Internet, why is a certificate necessary? The technical answer to that question is that a certificate is not really necessary &#8211; the data is secure and cannot easily be decrypted by a third party. However, certificates do serve a crucial role in the communication process. The certificate, signed by a trusted Certificate Authority (CA), ensures that the certificate holder is really who he claims to be. Without a trusted signed certificate, your data may be encrypted, however, the party you are communicating with may not be whom you think. Without certificates, impersonation attacks would be much more common.</p>
<p>Step 1: Generate a Private Key</p>
<p>The openssl toolkit is used to generate an RSA Private Key and CSR (Certificate Signing Request). It can also be used to generate self-signed certificates which can be used for testing purposes or internal usage.</p>
<p>The first step is to create your RSA Private Key. This key is a 1024 bit RSA key which is encrypted using Triple-DES and stored in a PEM format so that it is readable as ASCII text.</p>
<p>openssl genrsa -des3 -out server.key 1024</p>
<p>Generating RSA private key, 1024 bit long modulus<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;++++++<br />
&#8230;&#8230;..++++++<br />
e is 65537 (0&#215;10001)<br />
Enter PEM pass phrase:<br />
Verifying password &#8211; Enter PEM pass phrase:</p>
<p>Step 2: Generate a CSR (Certificate Signing Request)</p>
<p>Once the private key is generated a Certificate Signing Request can be generated. The CSR is then used in one of two ways. Ideally, the CSR will be sent to a Certificate Authority, such as Thawte or Verisign who will verify the identity of the requestor and issue a signed certificate. The second option is to self-sign the CSR, which will be demonstrated in the next section.</p>
<p>During the generation of the CSR, you will be prompted for several pieces of information. These are the X.509 attributes of the certificate. One of the prompts will be for &#8220;Common Name (e.g., YOUR name)&#8221;. It is important that this field be filled in with the fully qualified domain name of the server to be protected by SSL. If the website to be protected will be https://public.akadia.com, then enter public.akadia.com at this prompt. The command to generate the CSR is as follows:</p>
<p>openssl req -new -key server.key -out server.csr</p>
<p>Country Name (2 letter code) [GB]:CH<br />
State or Province Name (full name) [Berkshire]:Bern<br />
Locality Name (eg, city) [Newbury]:Oberdiessbach<br />
Organization Name (eg, company) [My Company Ltd]:Akadia AG<br />
Organizational Unit Name (eg, section) []:Information Technology<br />
Common Name (eg, your name or your server&#8217;s hostname) []:public.akadia.com<br />
Email Address []:martin dot zahn at akadia dot ch<br />
Please enter the following &#8216;extra&#8217; attributes<br />
to be sent with your certificate request<br />
A challenge password []:<br />
An optional company name []:</p>
<p>Step 3: Remove Passphrase from Key</p>
<p>One unfortunate side-effect of the pass-phrased private key is that Apache will ask for the pass-phrase each time the web server is started. Obviously this is not necessarily convenient as someone will not always be around to type in the pass-phrase, such as after a reboot or crash. mod_ssl includes the ability to use an external program in place of the built-in pass-phrase dialog, however, this is not necessarily the most secure option either. It is possible to remove the Triple-DES encryption from the key, thereby no longer needing to type in a pass-phrase. If the private key is no longer encrypted, it is critical that this file only be readable by the root user! If your system is ever compromised and a third party obtains your unencrypted private key, the corresponding certificate will need to be revoked. With that being said, use the following command to remove the pass-phrase from the key:</p>
<p>cp server.key server.key.org<br />
openssl rsa -in server.key.org -out server.key</p>
<p>The newly created server.key file has no more passphrase in it.</p>
<p>-rw-r&#8211;r&#8211; 1 root root 745 Jun 29 12:19 server.csr<br />
-rw-r&#8211;r&#8211; 1 root root 891 Jun 29 13:22 server.key<br />
-rw-r&#8211;r&#8211; 1 root root 963 Jun 29 13:22 server.key.org</p>
<p>Step 4: Generating a Self-Signed Certificate</p>
<p>At this point you will need to generate a self-signed certificate because you either don&#8217;t plan on having your certificate signed by a CA, or you wish to test your new SSL implementation while the CA is signing your certificate. This temporary certificate will generate an error in the client browser to the effect that the signing certificate authority is unknown and not trusted.</p>
<p>To generate a temporary certificate which is good for 365 days, issue the following command:</p>
<p>openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt<br />
Signature ok<br />
subject=/C=CH/ST=Bern/L=Oberdiessbach/O=Akadia AG/OU=Information<br />
Technology/CN=public.akadia.com/Email=martin dot zahn at akadia dot ch<br />
Getting Private key</p>
<p>Step 5: Installing the Private Key and Certificate</p>
<p>When Apache with mod_ssl is installed, it creates several directories in the Apache config directory. The location of this directory will differ depending on how Apache was compiled.</p>
<p>cp server.crt /usr/local/apache/conf/ssl.crt<br />
cp server.key /usr/local/apache/conf/ssl.key</p>
<p>Step 6: Configuring SSL Enabled Virtual Hosts</p>
<p>SSLEngine on<br />
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt<br />
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key<br />
SetEnvIf User-Agent &#8220;.*MSIE.*&#8221; nokeepalive ssl-unclean-shutdown<br />
CustomLog logs/ssl_request_log \<br />
   &#8220;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&#8221;%r\&#8221; %b&#8221;</p>
<p>Step 7: Restart Apache and Test</p>
<p>/etc/init.d/httpd stop<br />
/etc/init.d/httpd stop</p>
<p>https://public.akadia.com</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=33&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/10/01/how-to-create-a-self-signed-ssl-certificate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>How to find the WWN (World Wide Name) in Sun Solaris</title>
		<link>http://pvssraju.wordpress.com/2009/10/01/how-to-find-the-wwn-world-wide-name-in-sun-solaris/</link>
		<comments>http://pvssraju.wordpress.com/2009/10/01/how-to-find-the-wwn-world-wide-name-in-sun-solaris/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 09:26:56 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=30</guid>
		<description><![CDATA[World Wide Name (WWN) are unique 8 byte (64-bit) identifiers in SCSI or fibre channel similar to that of MAC Addresses on a Network Interface Card (NIC). Talking about the WWN names, there are also World Wide port Name (WWpN), a WWN assigned to a port on a Fabric which is what you would be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=30&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>World Wide Name (WWN) are unique 8 byte (64-bit) identifiers in SCSI or fibre channel similar to that of MAC Addresses on a Network Interface Card (NIC).<br />
Talking about the WWN names, there are also<br />
World Wide port Name (WWpN), a WWN assigned to a port on a Fabric which is what you would be looking for most of the time.<br />
World Wide node Name (WWnN), a WWN assigned to a node/device on a Fibre Channel fabric.<br />
To find the WWN numbers of your HBA card in Sun Solaris, you can use one the following procedures<br />
Using fcinfo (Solaris 10 only)<br />
This is probably the easiest way to find the WWN numbers on your HBA card. Here you can see the HBA Port WWN (WWpN) and the Node WWN (WWnN) of the two ports on the installed Qlogic HAB card.<br />
This is also useful in finding the Model number, Firmwar version FCode, supported and current speeds and the port status of the HBA card/port.</p>
<p>root@ sunserver:/root# fcinfo hba-port | grep WWN<br />
HBA Port WWN: 2100001b32xxxxxx<br />
Node WWN: 2000001b32xxxxxx<br />
HBA Port WWN: 2101001b32yyyyyy<br />
Node WWN: 2001001b32yyyyyy<br />
For detailed info including Make &amp; model number, Firmware, Fcode and current status and supported/current speeds then<br />
root@ sunserver:/root# fcinfo hba-port<br />
HBA Port WWN: 2100001b32xxxxxx<br />
OS Device Name: /dev/cfg/c2<br />
Manufacturer: QLogic Corp.<br />
Model: 375-3356-02<br />
Firmware Version: 4.04.01<br />
FCode/BIOS Version:  BIOS: 1.24; fcode: 1.24; EFI: 1.8;<br />
Type: N-port<br />
State: online<br />
Supported Speeds: 1Gb 2Gb 4Gb<br />
Current Speed: 4Gb<br />
Node WWN: 2000001b32xxxxxx<br />
HBA Port WWN: 2101001b32yyyyyy<br />
OS Device Name: /dev/cfg/c3<br />
Manufacturer: QLogic Corp.<br />
Model: 375-3356-02<br />
Firmware Version: 4.04.01<br />
FCode/BIOS Version:  BIOS: 1.24; fcode: 1.24; EFI: 1.8;<br />
Type: unknown<br />
State: offline<br />
Supported Speeds: 1Gb 2Gb 4Gb<br />
Current Speed: not established<br />
Node WWN: 2001001b32yyyyyy</p>
<p>Using scli</p>
<p>root@ sunserver:/root# scli -i | egrep “Node Name|Port Name”<br />
Node Name                  : 20-00-00-1B-32-XX-XX-XX<br />
Port Name                  : 21-00-00-1B-32-XX-XX-XX<br />
Node Name                  : 20-01-00-1B-32-YY-YY-YY<br />
Port Name                  : 21-01-00-1B-32-YY-YY-YY</p>
<p>For more detailed info on the HBA Cards run as follows: Similar to fcinfo but also provides Model Name and serial number.</p>
<p>root@ sunserver:/root# scli -i<br />
——————————————————————————<br />
Host Name                  : sunserver<br />
HBA Model                  : QLE2462<br />
HBA Alias                  :<br />
Port                       : 1<br />
Port Alias                 :<br />
Node Name                  : 20-00-00-1B-32-XX-XX-XX<br />
Port Name                  : 21-00-00-1B-32-XX-XX-XX<br />
Port ID                    : 11-22-33<br />
Serial Number              : AAAAAAA-bbbbbbbbbb<br />
Driver Version             : qlc-20080514-2.28<br />
FCode Version              : 1.24<br />
Firmware Version           : 4.04.01<br />
HBA Instance               : 2<br />
OS Instance                : 2<br />
HBA ID                     : 2-QLE2462<br />
OptionROM BIOS Version     : 1.24<br />
OptionROM FCode Version    : 1.24<br />
OptionROM EFI Version      : 1.08<br />
OptionROM Firmware Version : 4.00.26<br />
Actual Connection Mode     : Point to Point<br />
Actual Data Rate           : 2 Gbps<br />
PortType (Topology)        : NPort<br />
Total Number of Devices    : 2<br />
HBA Status                 : Online<br />
——————————————————————————<br />
Host Name                  : sunserver<br />
HBA Model                  : QLE2462<br />
HBA Alias                  :<br />
Port                       : 2<br />
Port Alias                 :<br />
Node Name                  : 20-01-00-1B-32-YY-YY-YY<br />
Port Name                  : 21-01-00-1B-32-YY-YY-YY<br />
Port ID                    : 00-00-00<br />
Serial Number              : AAAAAAA-bbbbbbbbbb<br />
Driver Version             : qlc-20080514-2.28<br />
FCode Version              : 1.24<br />
Firmware Version           : 4.04.01<br />
HBA Instance               : 3<br />
OS Instance                : 3<br />
HBA ID                     : 3-QLE2462<br />
OptionROM BIOS Version     : 1.24<br />
OptionROM FCode Version    : 1.24<br />
OptionROM EFI Version      : 1.08<br />
OptionROM Firmware Version : 4.00.26<br />
Actual Connection Mode     : Unknown<br />
Actual Data Rate           : Unknown<br />
PortType (Topology)        : Unidentified<br />
Total Number of Devices    : 0<br />
HBA Status                 : Loop down</p>
<p>Using prtconf<br />
root@ sunserver:/root# prtconf -vp | grep -i wwn<br />
port-wwn:  2100001b.32xxxxxx<br />
node-wwn:  2000001b.32xxxxxx<br />
port-wwn:  2101001b.32yyyyyy<br />
node-wwn:  2001001b.32yyyyyy<br />
Using prtpicl<br />
root@ sunserver:/root# prtpicl -v | grep wwn<br />
:node-wwn  20  00  00  1b  32  xx  xx  xx<br />
:port-wwn  21  00  00  1b  32  xx  xx  xx<br />
:node-wwn  20  01  00  1b  32  yy  yy  yy<br />
:port-wwn  21  01  00  1b  32  yy  yy  yy</p>
<p>Using luxadm<br />
Run the following command to obtain the physical path to the HBA Ports<br />
root@ sunserver:/root$ luxadm -e port<br />
/devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl              CONNECTED<br />
/devices/pci@400/pci@0/pci@9/SUNW,qlc@0,1/fp@0,0:devctl            NOT CONNECTED</p>
<p>With the physical path obtained from the above command, we can trace the WWN numbers as follows. here I use the physical path to the one that is connected:<br />
root@ sunserver:/root$ luxadm -e dump_map /devices/pci@400/pci@0/pci@9/SUNW,qlc@0/fp@0,0:devctl<br />
Pos  Port_ID Hard_Addr Port WWN         Node WWN         Type<br />
0    123456  0         1111111111111111 2222222222222222 0×0  (Disk device)<br />
1    789123  0         1111111111111111 2222222222222222 0×0  (Disk device)<br />
2    453789  0         2100001b32xxxxxx 2000001b32xxxxxx 0×1f (Unknown Type,Host Bus Adapter)</p>
<p>Hope this helps. If you know of any more way then please feel free to post it to the comments and I shall amend it to the article.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=30&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/10/01/how-to-find-the-wwn-world-wide-name-in-sun-solaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>Solaris 10 memory usage analysis</title>
		<link>http://pvssraju.wordpress.com/2009/09/14/solaris-10-memory-usage-analysis/</link>
		<comments>http://pvssraju.wordpress.com/2009/09/14/solaris-10-memory-usage-analysis/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 14:37:27 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=27</guid>
		<description><![CDATA[Solaris 10 memory usage analysis It so happens that I need to get a bit more insight into what’s eating all the RAM on one of my solaris boxes. Whenever this happens I can never remember all the various incantations, so I’m putting them all here for future reference. Most of these need to run [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=27&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Solaris 10 memory usage analysis</p>
<p>It so happens that I need to get a bit more insight into what’s eating all the RAM on one of my solaris boxes. Whenever this happens I can never remember all the various incantations, so I’m putting them all here for future reference.<br />
Most of these need to run as root.</p>
<p>prstat -a -s rss<br />
- Quick overview of top processes ordered by physical memory consumption, plus memory consumption per user. Note that if you have lots of processes all sharing (say) a 1GB bit of shard memory, each process will show up as using 1GB (very noticeable with oracle, where there can be 100 processes each with a hook into the multi-GB SGA)</p>
<p>ls -l /proc/{pid}/as<br />
nice easy way to see the address space (total memory usage) for a single process. Good for when you want to see the memory usage of a set of processes which is too large to fit into prstat e.g. _</p>
<p># is apache leaking?<br />
for pid in `pgrep httpd`<br />
do<br />
   ls -l /proc/$pid/as<br />
done<br />
vmstat -S 3<br />
Am I swapping? watch the swap in/out columns; if they’re not 0, you need more RAM</p>
<p>vmstat 3<br />
Am I thinking about swapping? The sr (Scan Rate) column tells you when you’re starting to run low on memory, and the kernel is scanning physical memory to find blocks that can be swapped out. c.f. Myth: Using swap is bad for performance</p>
<p> echo &#8220;::memstat&#8221; | mdb -k<br />
How much memory is being used by the kernel and/or the (UFS) file system caches? (n.b. the kernel memory usage includes the ZFS ARC cache – see below) Warning this can take several minutes to run, and sucks up a lot of CPU time.</p>
<p> kstat -m zfs<br />
How much memory is the ZFS ARC cache using? (n.b. if you have lots of ZFS data, this can be a very big number; the ARC cache will use up to (system RAM -1GB), but it should release RAM as soon as other apps need it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=27&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/09/14/solaris-10-memory-usage-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>chroot login HOWTO</title>
		<link>http://pvssraju.wordpress.com/2009/08/19/chroot-login-howto/</link>
		<comments>http://pvssraju.wordpress.com/2009/08/19/chroot-login-howto/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:27:23 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Redhat Linux]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=23</guid>
		<description><![CDATA[chroot login HOWTO Introduction Testing new cross-toolchains properly requires overriding your target system&#8217;s core shared libraries with the newly created, and probably buggy, ones. Doing this without nuking your target system requires creating a sandbox of some sort. This document describes one way to set up a chroot jail on your target system suitable for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=23&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>chroot login HOWTO<br />
Introduction<br />
Testing new cross-toolchains properly requires overriding your target system&#8217;s core shared libraries with the newly created, and probably buggy, ones. Doing this without nuking your target system requires creating a sandbox of some sort. This document describes one way to set up a chroot jail on your target system suitable for running gcc and glibc remote regression tests (or many other purposes).<br />
1. Set Up and Test a Jail<br />
Two shell scripts are provided as an example of how to set up a jail on linux. Please read and understand them. They are provided as executable shell scripts, but they should not be run blindly. You may need to edit the two scripts to reflect your target system&#8217;s peculiarities and the needs of the programs you intend to run in the jail. The scripts as furnished have been tested both on Debian x86 and on an embedded PPC Linux system based on busybox, and contain everything needed to run the gcc and glibc regression tests (which isn&#8217;t much). They assume that either busybox or ash is available, so if you&#8217;re running this on a workstation, you&#8217;ll need install ash before running them. (ash is preferred over bash simply because it has fewer dependencies; you can use bash, but you&#8217;ll need to modify the scripts to add the additional libraries used by bash, e.g. ncurses.)<br />
The first shell script, mkjail.sh, makes a tarball containing core shared libraries and the jail&#8217;s etc/passwd file. The second shell script, initjail.sh, unpacks that tarball into the jail, and adds crucial /dev entries, a /proc filesystem, /etc files, core programs like sh, and non-toolchain shared libraries, and appends a given file to the jail&#8217;s /etc/passwd file. </p>
<p>The two-step process is exactly what you need when testing cross-toolchains; you run the first script on the development system, and the second script on the target system. However, you should run them both on the target system initially and verify that the jail works before testing them with your newly compiled and probably buggy toolchain&#8217;s shared libraries. </p>
<p>1.1. Setting up a jail<br />
For example, here&#8217;s how to use the scripts to set up a minimal jail containing a copy of the system libraries and system /etc/passwd file:<br />
$ sh mkjail.sh / /etc/passwd<br />
$ su<br />
# zcat jail.tar.gz | sh initjail.sh myjail</p>
<p>1.2. Testing the Jail<br />
Once you have the jail set up, test it by hand using the /usr/sbin/chroot program to run a shell inside the jail, e.g.<br />
$ su<br />
# /usr/sbin/chroot `pwd`/myjail /bin/sh</p>
<p>(Note: the argument to chroot must be an absolute path, else exec fails. This appears to be a bug in Linux.) If you can&#8217;t run a shell inside the jail, try running something easier, e.g. /bin/true (the simplest program there is):<br />
$ su<br />
# /usr/sbin/chroot `pwd`/myjail /bin/true</p>
<p>Once you get that working, go back to trying the shell. The most common cause of programs not running in the jail is missing shared libraries; to fix that, just copy the missing libraries from the system into the corresponding place in the jail. (Note that shared libraries consist of one or two files, and zero or more symbolic links; take care to not follow symbolic links when copying. In the provided scripts, I use the -d option to /bin/cp to avoid dereferencing links.)<br />
2. Configure Jail Login Scheme<br />
Specific users can be configured such that the moment they log in, a wrapper program (see chrootshell.c) jails the user in his home directory using the chroot system call, looks up his record in the jail&#8217;s private /etc/passwd file, and uses it to set his current directory and transfer control to his preferred shell. Every program and shared library the user executes then comes from the jail, not from the surrounding system.<br />
Only users who have the root password can set up jails, partly because setting up a jail requires mounting /proc inside the jail. Users with the root password can set up jails on behalf of lesser users (though you might want to take away their ability to run setuid root programs if you do that, else they might be able to get out of the jail&#8230;) </p>
<p>2.1. Install chrootshell<br />
chrootshell will be installed setuid root, so first audit the source (chrootshell.c) for security problems, then compile and install it with the commands<br />
$ cc chrootshell.c -o chrootshell<br />
$ su<br />
# install -o root -m 4755 chrootshell /sbin/chrootshell</p>
<p>You probably need to add the line<br />
/sbin/chrootshell</p>
<p>to /etc/shells, else login may refuse to run it.<br />
2.2. Create outer /etc/passwd entry<br />
For each user you want to give access to a jail, create a new /etc/passwd entry for each user/jail combination, with home directory set to the jail&#8217;s top directory, and the shell set to /sbin/chrootshell, e.g.<br />
fred2:x:1000:1000:Fred Smith&#8217;s Jail:/home/fred/jail:/sbin/chrootshell</p>
<p>2.3. Create inner /etc/passwd entry<br />
For each user created in the previous step, create a new /etc/passwd entry in the jail&#8217;s /etc/passwd. This entry should list a real home directory inside the jail, and a real shell, so it&#8217;ll be quite different from the one in the system /etc/passwd. For example:<br />
fred2:x:1000:1000:Fred Smith In Jail:/home/fred2:/bin/sh</p>
<p>2.4. Test and Troubleshoot Jail Login<br />
Try logging in as a jailed user via telnet, e.g.<br />
$ telnet localhost<br />
username: fred2<br />
password: xxxx<br />
$ ls</p>
<p>When you do an ls, you should see just the files in that user&#8217;s home directory inside the jail.<br />
If telnet just closes the connection after login, first you need to figure out whether the problem is before or after chrootshell starts. Begin by listing the target system&#8217;s logfiles, e.g. </p>
<p>$ su<br />
# cd /var/log<br />
# ls -ltr</p>
<p>and examine the most recently change log files for telnet or pam permission problems. If you see any, it means you haven&#8217;t even gotten to chrootshell yet.<br />
If it looks like chrootshell is started, but then aborts, you can turn on more helpful logging by uncommenting the line </p>
<p>/* #define DEBUG_PRINTS */</p>
<p>and recompiling and reinstalling chrootshell. This will cause verbose error messages to be sent directly to the file /var/log/chrootshell.log. The error messages tell you what line chrootshell.c is failing in, which should tell you enough to solve the problem.<br />
3. Setting Up Berkeley r-utilities (rsh, rlogin, rcp)<br />
For truly convenient (but insecure) access to the jail, you may want to set up the Berkely r-utilities (rsh, rlogin, and rcp). For instance, they are the native and probably preferred way of running the gcc and glibc test suites on remote embedded systems with tcp/ip connectivity.<br />
Incidentally, rcp and rsh are the reason I used a C program for chrootshell rather than a shell script. A shell script version of chrootshell seems to fail to handle some of the remote commands </p>
<p>3.1. Installing r-utilities clients and servers<br />
Beware: this is highly insecure!<br />
To do this on a Red Hat or Debian Linux workstation, install the rsh-server and rsh-client packages. You can also do this by downloading, building, and installing ftp://ftp.gnu.org/gnu/inetutils/inetutils-1.4.2.tar.gz. (Don&#8217;t use version 1.4.1; the rshd in that version did not set up the remote environment properly.) For an embedded target, the only parts of inetutils you really need to build and install are rcp, rshd, and rlogind. (Yes, you need rcp even if you just want to run the server side.) sent by the gcc regression test due to quoting problems. </p>
<p>Once the binaries are installed on the target, you need to configure the system to run them. </p>
<p>rshd is run via inetd or xinetd or the like.<br />
If your target system uses inetd, here&#8217;s an example line to add to /etc/inetd.conf: </p>
<p>shell   stream  tcp     nowait.1000  root    /bin/rshd</p>
<p>The &#8220;.1000&#8243; tells inetd to expect 1000 sessions per minute, which should be sufficient to handle the gcc regression tests. (If you leave this off, inetd will stop spawning rshd after about the 40th session in a one-minute period.)<br />
If your target system uses xinetd, you probably need to set the &#8220;cps&#8221; field of /etc/xinetd.d/rsh to a large value such as &#8220;200 5&#8243; for xinet to handle the expected traffic. I haven&#8217;t tested this, but here&#8217;s what I think /etc/xinetd.d/rsh should look like: </p>
<p>service login<br />
{<br />
   socket_type             = stream<br />
   wait                    = no<br />
   cps                     = 200 5<br />
   user                    = root<br />
   server                  = /usr/sbin/in.rlogind<br />
   disable                 = no<br />
}</p>
<p>rlogind is normally run standalone by giving the -d option. For instance, add this line to the target system&#8217;s startup scripts: </p>
<p>/bin/rlogind -d</p>
<p>If you want to allow remote access by root (which is highly insecure, but useful in limited situations, as you&#8217;ll see below), add the -o option.<br />
3.2. Opening up a security hole for the r-utilities<br />
If your systems use a firewall, you&#8217;ll need to open up TCP ports 513 (the &#8216;login&#8217; service) and 514 (the &#8216;shell&#8217; service). Note that this is a highly insecure thing to do, and should only be done inside a network entirely disconnected from the Internet or any large LAN, or at least well-shielded from it by another firewall.<br />
If your system is using PAM, you may need to add entries in /etc/pam.d for rsh and rlogin. (If you installed the rsh-servers package, it probably added these entries for you.) </p>
<p>You probably need to add entries either to the systemwide /etc/hosts.equiv file (see &#8216;man hosts.equiv&#8217;) or the per-user .rhosts file (see &#8216;man rhosts&#8217;). </p>
<p>3.2. Testing and Troubleshooting rsh<br />
First, verify you can run &#8216;ls&#8217; remotely without the jail. Assuming the target system&#8217;s hostname is &#8216;target&#8217;, and assuming you have an account with the same name on both systems, give the following command on your workstation:<br />
$ rsh target ls</p>
<p>If this doesn&#8217;t work, look at the most recently modified files in the target&#8217;s /var/log directory for interesting error messages. If that doesn&#8217;t explain the problem, try running tcpdump and looking at the packets being sent and received. If that doesn&#8217;t explain the problem, you can run rshd under strace to see what files it&#8217;s opening &#8212; maybe it&#8217;s not looking where you expected for security info. (This requires modifying /etc/inetd.conf to invoke strace -o /tmp/strace.log /bin/rshd instead of just /bin/rshd.) When all else fails, you could build rsh from source and step through it in the debugger.<br />
Once that&#8217;s working, verify that you can spawn 200 commands in quick succession, e.g. </p>
<p>x=0; while test $x -lt 200; do rsh 11.3.4.1 ls; x=$(($x+1)); echo $x; done</p>
<p>and once that works, really overstress the system by verifying you can spawn 200 overlapping commands, e.g.<br />
x=0; while test $x -lt 200; do rsh -n 11.3.1.1 ls &amp; true ; x=$(($x+1)); echo $x; done</p>
<p>If you get the error<br />
poll: protocol failure in circuit setup</p>
<p>around the 40th iteration, then you may need to edit /etc/inetd.conf and add .1000 to the end of the &#8216;nowait&#8217; keyword (or edit /etc/xinit.d/rsh and add the cps parameter&#8230;) as described above.<br />
3.3. Testing rlogin<br />
Verify you can get a remote shell with either the command &#8216;rlogin target&#8217; (or its synonym &#8216;rsh target&#8217;; rsh invokes rlogin if it&#8217;s run without a command).<br />
3.4. Testing rcp<br />
Verify you can copy files to the target system using rcp, e.g.<br />
rcp /etc/hosts target:</p>
<p>4. Setting up chroot jails remotely<br />
The entire reason I wrote this document was to help me achieve the goal of fully automated build-and-test of crosstoolchains. This requires a way to remotely script replacing the contents of a chroot jail with new system libraries. Once a jail has been set up for the user you plan to run the remote tests as, and it has passed all the above tests, you should be able to blow away the old jail&#8217;s contents, and recreate the jail remotely filled with the system shared libraries you plan to test. For example, assuming the toolchain you want to test is in /opt/my_toolchain, and the user &#8216;jailuser&#8217; is set up to be inside the jail on the target, you can rebuild it with the following commands:<br />
$ TARGET=11.3.4.1<br />
$ rcp $JAILUSER@$TARGET:/jail/etc/passwd jail_etc_passwd<br />
$ sh mkjail.sh result/sh4-unknown-linux-gnu/gcc-3.3-glibc-2.2.5/sh4-unknown-linux-gnu jail_etc_passwd<br />
$ rcp initjail.sh root@$TARGET:<br />
$ cat jail.tar.gz | rsh -l root $TARGET /bin/sh initjail.sh /jail</p>
<p>Then test the jail to make sure it still works, e.g.<br />
$ rsh -l jailuser target ls<br />
$ rcp /etc/hosts jailuser@target:/tmp</p>
<p>Summary<br />
This document has shown how to set up a target system to allow remote login and file copy into accounts running in a chroot jail. If everything described here works properly, you should be all set to Run gcc regression tests remotely on the target system.<br />
About this document<br />
Ideas and code snippets taken variously from:<br />
the very similar www.tjw.org/chroot-login-HOWTO, by Terry J. White and Brian Rhodes.<br />
SVR4&#8242;s login&#8217;s feature whereby a &#8220;*&#8221; in the shell field of /etc/passwd triggered a chroot, http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?login+1<br />
Martin P. Ibert&#8217;s 1993 post, http://groups.google.com/groups?selm=HNLAB98U%40heaven7.in-berlin.de<br />
Ulf Bartelt&#8217;s 1994 post, http://groups.google.com/groups?selm=1994Jun5.144526.9091%40solaris.rz.tu-clausthal.de<br />
Tony White&#8217;s chroot-login-HOWTO from 2001, http://www.tjw.org/chroot-login-HOWTO/<br />
Mike Makonnen&#8217;s June 2003 post, http://groups.google.com/groups?selm=bbeuh2%2416j0%241%40FreeBSD.csie.NCTU.edu.tw </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=23&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/08/19/chroot-login-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>Solaris Fault Management</title>
		<link>http://pvssraju.wordpress.com/2009/08/19/solaris-fault-management/</link>
		<comments>http://pvssraju.wordpress.com/2009/08/19/solaris-fault-management/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 08:36:52 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=5</guid>
		<description><![CDATA[Solaris Fault Management The Solaris Fault Management Facility is designed to be integrated into the Service Management Facility to provide a self-healing capability to Solaris 10 systems. The fmd daemon is responsible for monitoring several aspects of system health. The fmadm config command shows the current configuration for fmd. The Fault Manager logs can be viewed with fmdump -v and fmdump [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=5&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Solaris Fault Management</h3>
<p>The Solaris Fault Management Facility is designed to be integrated into the <a href="http://www.princeton.edu/~unix/Solaris/troubleshoot/smf.html">Service Management Facility</a> to provide a self-healing capability to Solaris 10 systems.</p>
<p>The <code>fmd</code> daemon is responsible for monitoring several aspects of system health.</p>
<p>The <code>fmadm config</code> command shows the current configuration for <code>fmd</code>.</p>
<p>The Fault Manager logs can be viewed with <code>fmdump -v</code> and <code>fmdump -e -v</code>.</p>
<p><code>fmadm faulty</code> will list any devices flagged as faulty.</p>
<p><code>fmstat</code> shows statistics gathered by <code>fmd</code>.</p>
<h3>Fault Management</h3>
<p>With Solaris 10, Sun has implemented a daemon, <code>fmd</code>, to track and react to fault management. In addition to sending traditional syslog messages, the system sends binary telemetry events to <code>fmd</code> for correlation and analysis. Solaris 10 implements default fault management operations for several pieces of hardware in Sparc systems, including CPU, memory, and I/O bus events. Similar capabilities are being implemented for x64 systems.</p>
<p>Once the problem is defined, failing components may be offlined automatically without a system crash, or other corrective action may be taken by <code>fmd</code>. If a service dies as a result of the fault, the <a href="http://www.princeton.edu/~unix/Solaris/troubleshoot/smf.html">Service Management Facility (SMF)</a> will attempt to restart it and any dependent processes.</p>
<p>The Fault Management Facility reports error messages in a well-defined and explicit format. Each error code is uniquely specified by a Universal Unique Identifier (UUID) related to a document on the Sun web site at<a href="http://www.sun.com/msg/">http://www.sun.com/msg/</a> .</p>
<p>Resources are uniquely identified by a Fault Managed Resource Identifier (FMRI). Each Field Replaceable Unit (FRU) has its own FMRI. FMRIs are associated with one of the following conditions:</p>
<ul>
<li><code>ok</code>: Present and available for use.</li>
<li><code>unknown</code>: Not present or not usable, perhaps because it has been offlined or unconfigured.</li>
<li><code>degraded</code>: Present and usable, but one or more problems have been identified.</li>
<li><code>faulted</code>: Present but not usable; unrecoverable problems have been diagnosed and the resource has been disabled to prevent damage to the system.</li>
</ul>
<p>The <code>fmdump -V -u</code><em> eventid</em> command can be used to pull information on the type and location of the event. (The eventid is included in the text of the error message provided to syslog.) The <code>-e</code> option can be used to pull error log information rather than fault log information.</p>
<p>Statistical information on the performance of fmd can be viewed via the <code>fmstat</code>command. In particular, <code>fmstat -m</code><em> modulename</em> provides information for a given module.</p>
<p>The <code>fmadm</code> command provides administrative support for the Fault Management Facility. It allows us to load and upload modules and view and update the resource cache. The most useful capabilities of <code>fmadm</code> are provided through the following subcommands:</p>
<ul>
<li><code>config</code>: Display the configuration of component modules.</li>
<li><code>faulty</code>: Display faulted resources. With the -a option, list cached resource information. With the -i option, list persistent cache identifier information, instead of most recent state and UUID.</li>
<li><code>load</code> <em>/path/module</em>: Load the module.</li>
<li><code>unload</code> <em>module</em>: Unload module; the module name is the same as reported by fmadm config.</li>
<li><code>rotate</code> <em>logfile</em>: Schedule rotation for the specified log file. Used with the logadm configuration file.</li>
</ul>
<h3>Additional Resources</h3>
<p><a href="http://www.sun.com/bigadmin/features/articles/selfheal.html">Amy Rich&#8217;s Predictive Self-Healing Article</a></p>
<p><a href="http://www.acmqueue.com/modules.php?name=Content&amp;pa=showpage&amp;pid=242">Mike Shapiro&#8217;s magazine article</a> and <a href="http://blogs.sun.com/mws/resource/fma-osug.pdf">presentation</a> contain a good discussion of the architectural underpinnings of the Fault Manager.</p>
<p><a href="http://blogs.sun.com/gavinm/date/20060315">Gavin Maltby </a>reports on AMD fault management in this blog entry.</p>
<p><a href="http://prefetch.net/blog/index.php/category/fault-management">matty&#8217;s blog</a> has a short introduction to Fault Management on Solaris.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=5&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/08/19/solaris-fault-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Create a Link Aggregation &#8211; Bonding on Solaris</title>
		<link>http://pvssraju.wordpress.com/2009/08/19/how-to-create-a-link-aggregation-bonding-on-solaris/</link>
		<comments>http://pvssraju.wordpress.com/2009/08/19/how-to-create-a-link-aggregation-bonding-on-solaris/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 08:36:21 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=12</guid>
		<description><![CDATA[Before You Begin Note &#8211; Link aggregation only works on full-duplex, point-to-point links that operate at identical speeds. Make sure that the interfaces in your aggregation conform to this requirement. If you are using a switch in your aggregation topology, make sure that you have done the following on the switch: Configured the ports to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=12&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h5 style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;text-decoration:none;margin:3px 0 0;padding:0;">Before You Begin</h5>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;margin-top:0;">
<hr size="1" />
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Note &#8211; </strong>Link aggregation only works on full-duplex, point-to-point links that operate at identical speeds. Make sure that the interfaces in your aggregation conform to this requirement.</p>
<hr size="1" />
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">If you are using a switch in your aggregation topology, make sure that you have done the following on the switch:</p>
<ul style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Configured the ports to be used as an aggregation</p>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">If the switch supports LACP, configured LACP in either active mode or passive mode</p>
</li>
</ul>
<ol style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Assume the Primary Administrator role, or become superuser.</strong></p>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, &#8220;Working With the Solaris Management Console (Tasks),&#8221; in <em>System Administration Guide: Basic Administration</em>.</p>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Determine which interfaces are currently installed on your system.</strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm show-link</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Determine which interfaces have been plumbed.</strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>ifconfig -a</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Create an aggregation.<a name="indexterm-678"></a></strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm create-aggr -d </strong></tt><strong><em>interface<tt></tt></em><tt> </tt><em>key<tt></tt></em><tt></tt></strong><tt></tt></pre>
</td>
</tr>
</tbody>
</table>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="0" cellspacing="5">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><em>interface</em></p>
</td>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Represents the device name of the interface to become part of the aggregation.</p>
</td>
</tr>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><em>key</em></p>
</td>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Is the number that identifies the aggregation. The lowest key number is 1. Zeroes are not allowed as keys.</p>
</td>
</tr>
</tbody>
</table>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">For example:</p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm create-aggr -d bge0 -d bge1 1</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Configure and plumb the newly created aggregation.</strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>ifconfig aggr</strong></tt><em>key</em> <tt><strong>plumb</strong></tt> <em>IP-address</em> <tt><strong>up</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">For example:</p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>ifconfig aggr1  plumb 192.168.84.14 up</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Check the status of the aggregation you just created.<a name="indexterm-679"></a></strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm show-aggr</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">You receive the following output:</p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;">key: 1 (0x0001) policy: L4      address: 0:3:ba:7:84:5e (auto)
           device   address           speed         duplex  link    state
           bge0     0:3:ba:7:84:5e    1000  Mbps    full    up      attached
           bge1     0:3:ba:7:84:5e    0     Mbps    unknown down    standby</pre>
</td>
</tr>
</tbody>
</table>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">The output shows that an aggregation with the key of 1 and a policy of L4 was created. Note that the interfaces are known by the MAC address <tt>0:3:ba:7:84:5e</tt>, which is the system MAC address.</p>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>(Optional) Make the IP configuration of the link aggregation persist across reboots.</strong></p>
<ol style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;" type="a">
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>For link aggregations with IPv4 addresses, create an <tt>/etc/hostname.aggr.</tt><em>key</em> file. For IPv6-based link aggregations, create an <tt>/etc/hostname6.aggr.</tt><em>key</em> file.</strong></p>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Enter the IPv4 or IPv6 address of the link aggregation into the file.</strong></p>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">For example, you would create the following file for the aggregation that is created in this procedure:</p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>vi /etc/hostname.aggr1</strong></tt>
<tt><strong>192.168.84.14</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Perform a reconfiguration boot.</strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>reboot -- -r</strong></tt></pre>
</td>
</tr>
</tbody>
</table>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Verify that the link aggregation configuration you entered in the <tt>/etc/hostname.aggr</tt><em>key</em> file has been configured.</strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>ifconfig -a</strong></tt>
.
.
aggr1: flags=1000843 &lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 3
        inet 192.168.84.14 netmask ff000000 broadcast 192.255.255.</pre>
</td>
</tr>
</tbody>
</table>
</li>
</ol>
</li>
</ol>
<p><a name="galii"></a></p>
<h5 style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;text-decoration:none;margin:3px 0 0;padding:0;">Example 6-4   Creating a Link Aggregation</h5>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;margin-top:0;">This example shows the commands that are used to create a link aggregation with two devices, <tt>bge0</tt> and <tt>bge1</tt>, and the resulting output.</p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm show-link</strong></tt>
ce0             type: legacy    mtu: 1500       device: ce0
ce1             type: legacy    mtu: 1500       device: ce1
bge0            type: non-vlan  mtu: 1500       device: bge0
bge1            type: non-vlan  mtu: 1500       device: bge1
bge2            type: non-vlan  mtu: 1500       device: bge2
# <tt><strong>ifconfig -a</strong></tt>
lo0: flags=2001000849 &lt;UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL&gt; mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=1000843 &lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 2
        inet 192.168.84.253 netmask ffffff00 broadcast 192.168.84.255
        ether 0:3:ba:7:84:5e
# <tt><strong>dladm create-aggr -d bge0 -d bge1 1</strong></tt>
# <tt><strong>ifconfig aggr1 plumb 192.168.84.14 up</strong></tt>
# <tt><strong>dladm show-aggr</strong></tt>
key: 1 (0x0001) policy: L4      address: 0:3:ba:7:84:5e (auto)
     device   address           speed         duplex  link    state
     bge0     0:3:ba:7:84:5e    1000  Mbps    full    up      attached
     bge1     0:3:ba:7:84:5e    0     Mbps    unknown down    standby

# <tt><strong>ifconfig -a</strong></tt>
lo0: flags=2001000849 &lt;UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL&gt; mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
ce0: flags=1000843 &lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 2
        inet 192.168.84.253 netmask ffffff00 broadcast 192.168.84.255
        ether 0:3:ba:7:84:5e
aggr1: flags=1000843 &lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 3
        inet 192.168.84.14 netmask ff000000 broadcast 192.255.255.255
        ether 0:3:ba:7:84:5e</pre>
</td>
</tr>
</tbody>
</table>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Note that the two interfaces that were used for the aggregation were not previously plumbed by <tt>ifconfig</tt>.</p>
<p><a name="gafxe"></a></p>
<h3 style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:18px;color:#000000;text-decoration:none;margin:3px 0 0;padding:0;"><img src="http://docs.huihoo.com/opensolaris/system-administration-guide-ip-services/html/graphics/procedure.gif" border="0" alt="Procedure" />How to Modify an Aggregation</h3>
<p><a name="indexterm-680"></a></p>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">This procedure shows how to make the following changes to an aggregation definition:</p>
<ul style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Modifying the policy for the aggregation</p>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Changing the mode for the aggregation</p>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Removing an interface from the aggregation</p>
</li>
</ul>
<ol style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Assume the Primary Administrator role, or become superuser.</strong></p>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, &#8220;Working With the Solaris Management Console (Tasks),&#8221; in <em>System Administration Guide: Basic Administration</em>.</p>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>Modify the aggregation to change the policy.<a name="indexterm-681"></a></strong></p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm modify-aggr -P</strong></tt><em>policy key</em></pre>
</td>
</tr>
</tbody>
</table>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="0" cellspacing="5">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><em>policy</em></p>
</td>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Represents one or more of the policies L2, L3, and L4, as explained in <a style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;text-decoration:none;color:#3e6b8a;" href="http://docs.huihoo.com/opensolaris/system-administration-guide-ip-services/html/p29.html#gafwr">Policies and Load Balancing</a>.</p>
</td>
</tr>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><em>key</em></p>
</td>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Is a number that identifies the aggregation. The lowest key number is 1. Zeroes are not allowed as keys.</p>
</td>
</tr>
</tbody>
</table>
</li>
<li style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;margin-left:15px;padding-left:0;">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><strong>If LACP is running on the switch to which the devices in the aggregation are attached, modify the aggregation to support LACP.<a name="indexterm-682"></a><a name="indexterm-683"></a></strong></p>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">If the switch runs LACP in passive mode, be sure to configure active mode for your aggregation.</p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm modify-aggr -l</strong></tt> <em>LACP mode</em> <tt><strong>-t</strong></tt> <em>timer-value key</em></pre>
</td>
</tr>
</tbody>
</table>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="0" cellspacing="5">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><tt>-l</tt> <em>LACP mode</em></p>
</td>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Indicates the LACP mode in which the aggregation is to run. The values are <tt>active</tt>, <tt>passive</tt>, and <tt>off</tt>.</p>
</td>
</tr>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><tt>-t</tt> <em>timer-value</em></p>
</td>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Indicates the LACP timer value, either <tt>short</tt> or <tt>long</tt>.</p>
</td>
</tr>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;"><em>key</em></p>
</td>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;" valign="top">
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;">Is a number that identifies the aggregation. The lowest key number is 1. Zeroes are not allowed as keys.</p>
</td>
</tr>
</tbody>
</table>
</li>
</ol>
<p><a name="galre"></a></p>
<h5 style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;text-decoration:none;margin:3px 0 0;padding:0;">Example 6-5   Modifying a Link Aggregation</h5>
<p style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;margin-top:0;">This example shows how to modify the policy of aggregation <tt>aggr1</tt> to L2 and then turn on active LACP mode.</p>
<table style="margin-top:15px;margin-bottom:15px;border-collapse:collapse;border:1px solid black;" border="1" cellpadding="4" width="100%">
<tbody>
<tr>
<td style="font-family:Arial, Helvetica, Luxi-sans, 'Nimbus Sans L', sans-serif;font-size:12px;color:#000000;padding:4px;">
<pre style="font-family:Monaco, Courier, 'Courier New';color:#666666;"># <tt><strong>dladm modify-aggr -P L2 1</strong></tt>
# <tt><strong>dladm modify-aggr -l active -t short 1</strong></tt>
# <tt><strong>dladm show-aggr</strong></tt>
key: 1 (0x0001) policy: L2      address: 0:3:ba:7:84:5e (auto)
     device   address           speed         duplex  link    state
     bge0     0:3:ba:7:84:5e    1000  Mbps    full    up      attached
     bge1     0:3:ba:7:84:5e    0     Mbps    unknown down    standby</pre>
</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=12&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/08/19/how-to-create-a-link-aggregation-bonding-on-solaris/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>

		<media:content url="http://docs.huihoo.com/opensolaris/system-administration-guide-ip-services/html/graphics/procedure.gif" medium="image">
			<media:title type="html">Procedure</media:title>
		</media:content>
	</item>
		<item>
		<title>fmdump man page</title>
		<link>http://pvssraju.wordpress.com/2009/08/19/fmdump-man-page/</link>
		<comments>http://pvssraju.wordpress.com/2009/08/19/fmdump-man-page/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 08:33:47 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=7</guid>
		<description><![CDATA[fmdump(1M) Name &#124; Synopsis &#124; Description &#124; Options &#124; Operands &#124; Examples &#124; Exit Status &#124; Files &#124; Attributes &#124; See Also &#124;Notes Name fmdump– fault management log viewer Synopsis fmdump [-efmvV] [-c class] [-R dir] [-t time] [-T time] [-u uid] [-n name[.name]*[=value]] [file] Description The time of its diagnosis A Universal Unique Identifier (UUID) that can be used to uniquely identify this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=7&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2 style="font-size:22px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">fmdump(1M)</h2>
<p style="color:#333333;margin-top:2px;" align="center"><a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#NAME">Name</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Synopsis">Synopsis</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Description">Description</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Options">Options</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Operands">Operands</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Examples">Examples</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Exit%20Status">Exit Status</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Files">Files</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Attributes">Attributes</a> | <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#See%20Also">See Also</a> |<a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmdump-1m?a=view#Notes">Notes</a></p>
<p><a name="NAME"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Name</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">fmdump– fault management log viewer</ul>
<p><a name="Synopsis"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Synopsis</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<pre style="font-family:Monaco, Courier, 'Courier New', monospace;color:#666666;"><kbd>fmdump</kbd> [<tt>-efmvV</tt>] [<tt>-c</tt> <var>class</var>] [<tt>-R</tt> <var>dir</var>] [<tt>-t</tt> <var>time</var>] [<tt>-T</tt> <var>time</var>]
     [<tt>-u</tt> <var>uid</var>] [<tt>-n</tt> <var>name</var>[.<var>name</var>]*[=<var>value</var>]] [<var>file</var>]</pre>
</ul>
<p><a style="text-decoration:none;"></a><a name="Description"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Description</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<li>
<ul style="margin-left:13px;padding-left:0;">
<li>
<p style="color:#333333;">The time of its diagnosis</p>
</li>
<li>
<p style="color:#333333;">A Universal Unique Identifier (UUID) that can be used to uniquely identify this particular problem across any set of systems</p>
</li>
<li>
<p style="color:#333333;">A message identifier that can be used to access a corresponding knowledge article located at Sun&#8217;s web site, <a style="text-decoration:none;color:#3e6b8a;" href="http://www.sun.com/">http://www.sun.com/msg/</a></p>
</li>
</ul>
</li>
<p style="color:#333333;">The <kbd>fmdump</kbd> utility can be used to display the contents of any of the log files associated with the Solaris Fault Manager, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmd-1m?a=view">fmd(1M)</a>. The Fault Manager runs in the background on each Solaris system. It receives telemetry information relating to problems detected by the system software, diagnoses these problems, and initiates proactive self-healing activities such as disabling faulty components.</p>
<p style="color:#333333;">The Fault Manager maintains two sets of log files for use by administrators and service personnel:</p>
<p><a style="text-decoration:none;"></a></p>
<dl>
<dt>error log</dt>
<dd>
<p style="color:#333333;">A log which records error telemetry, the symptoms of problems detected by the system.</p>
</dd>
<dt>fault log</dt>
<dd>
<p style="color:#333333;">A log which records fault diagnosis information, the problems believed to explain these symptoms.</p>
</dd>
</dl>
<p style="color:#333333;">By default, <kbd>fmdump</kbd> displays the contents of the fault log, which records the result of each diagnosis made by the fault manager or one of its component modules.</p>
<p style="color:#333333;">An example of a default <kbd>fmdump</kbd> display follows:</p>
<table border="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td style="color:#333333;">
<pre style="font-family:Monaco, Courier, 'Courier New', monospace;color:#666666;"># fmdump
TIME                 UUID                                 SUNW-MSG-ID
Dec 28 13:01:27.3919 bf36f0ea-9e47-42b5-fc6f-c0d979c4c8f4 FMD-8000-11
Dec 28 13:01:49.3765 3a186292-3402-40ff-b5ae-810601be337d FMD-8000-11
Dec 28 13:02:59.4448 58107381-1985-48a4-b56f-91d8a617ad83 FMD-8000-OW
...</pre>
</td>
</tr>
</tbody>
</table>
<p style="color:#333333;">Each problem recorded in the fault log is identified by:</p>
<p><a style="text-decoration:none;"></a></p>
<p style="color:#333333;">If a problem requires action by a human administrator or service technician or affects system behavior, the Fault Manager also issues a human-readable message to <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/syslogd-1m?a=view">syslogd(1M)</a>. This message provides a summary of the problem and a reference to the knowledge article on the Sun web site,<a style="text-decoration:none;color:#3e6b8a;" href="http://www.sun.com/">http://www.sun.com/msg/</a>.</p>
<p style="color:#333333;">You can use the <kbd><strong>-v</strong></kbd> and <kbd><strong>-V</strong></kbd> options to expand the display from a single-line summary to increased levels of detail for each event recorded in the log. The <kbd><strong>-c</strong></kbd>, <kbd><strong>-t</strong></kbd>, <kbd><strong>-T</strong></kbd>, and <kbd><strong>-u</strong></kbd> options can be used to filter the output by selecting only those events that match the specified <var>class</var>, range of times, or <var>uuid</var>.</p>
<p style="color:#333333;">If more than one filter option is present on the command-line, the options combine to display only those events that are selected by the logical <tt>AND</tt> of the options. If more than one instance of the same filter option is present on the command-line, the like options combine to display any events selected by the logical <tt>OR</tt> of the options. For example, the command:</p>
<table border="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td style="color:#333333;">
<pre style="font-family:Monaco, Courier, 'Courier New', monospace;color:#666666;"># fmdump -u uuid1 -u uuid2 -t 02Dec03</pre>
</td>
</tr>
</tbody>
</table>
<p style="color:#333333;">selects events whose attributes are <tt>(uuid1 OR uuid2</tt>) <tt>AND</tt> (time on or after 02Dec03).</p>
</ul>
<p><a style="text-decoration:none;"></a><a name="Options"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Options</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<p style="color:#333333;">The following options are supported:</p>
<p><a style="text-decoration:none;"></a></p>
<dl>
<dt><kbd><strong>-c</strong></kbd> <var>class</var></dt>
<dd>
<p style="color:#333333;">Select events that match the specified class. The class argument can use the glob pattern matching syntax described in <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2239/sh-1?a=view">sh(1)</a>. The class represents a hierarchical classification string indicating the type of telemetry event. More information about Sun&#8217;s telemetry protocol is available at Sun&#8217;s web site, <a style="text-decoration:none;color:#3e6b8a;" href="http://www.sun.com/">http://www.sun.com/msg/</a>.</p>
</dd>
<dt><kbd><strong>-e</strong></kbd></dt>
<dd>
<p style="color:#333333;">Display events from the fault management error log instead of the fault log. This option is shorthand for specifying the pathname of the error log file.</p>
<p style="color:#333333;">The error log file contains Private telemetry information used by Sun&#8217;s automated diagnosis software. This information is recorded to facilitate post-mortem analysis of problems and event replay, and should not be parsed or relied upon for the development of scripts and other tools. See<a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2252/attributes-5?a=view">attributes(5)</a> for information about Sun&#8217;s rules for Private interfaces.</p>
</dd>
<dt><kbd><strong>-f</strong></kbd></dt>
<dd>
<p style="color:#333333;">Follow the growth of the log file by waiting for additional data. <kbd>fmdump</kbd> enters an infinite loop where it will sleep for a second, attempt to read and format new data from the log file, and then go back to sleep. This loop can be terminated at any time by sending an interrupt (<tt>Control-C</tt>).</p>
</dd>
<dt><kbd><strong>-m</strong></kbd></dt>
<dd>
<p style="color:#333333;">Print the localized diagnosis message associated with each entry in the fault log.</p>
</dd>
<dt><kbd><strong>-n</strong></kbd> <var>name</var>[.<var>name</var>]*[=<var>value</var>]</dt>
<dd>
<p style="color:#333333;">Select fault log or error log events, depending on the <kbd><strong>-e</strong></kbd> option, that have properties with a matching name (and optionally a matching value). For string properties the value can be a regular expression match. Regular expression syntax is described in the EXTENDED REGULAR EXPRESSIONS section of the <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2252/regex-5?a=view">regex(5)</a> manual page. Be careful when using the characters:</p>
<table border="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td style="color:#333333;">
<pre style="font-family:Monaco, Courier, 'Courier New', monospace;color:#666666;">$  *  {  ^  |  (  )  \</pre>
</td>
</tr>
</tbody>
</table>
<p style="color:#333333;">&#8230;or a regular expression, because these are meaningful to the shell. It is safest to enclose any of these in single quotes. For numeric properties, the value can be octal, hex, or decimal.</p>
</dd>
<dt><kbd><strong>-R</strong></kbd> <var>dir</var></dt>
<dd>
<p style="color:#333333;">Use the specified root directory for the log files accessed by <kbd>fmdump</kbd>, instead of the default root (<tt>/</tt>).</p>
</dd>
<dt><kbd><strong>-t</strong></kbd> <var>time</var></dt>
<dd>
<p style="color:#333333;">Select events that occurred at or after the specified time. The time can be specified using any of the following forms:</p>
<p><a style="text-decoration:none;"></a></p>
<dl>
<dt><tt><var>mm</var>/<var>dd</var>/<var>yy hh</var>:<var>mm</var>:<var>ss</var></tt></dt>
<dd>
<p style="color:#333333;">Month, day, year, hour in 24-hour format, minute, and second. Any amount of whitespace can separate the date and time. The argument should be quoted so that the shell interprets the two strings as a single argument.</p>
</dd>
<dt><tt><var>mm</var>/<var>dd</var>/<var>yy hh</var>:<var>mm</var></tt></dt>
<dd>
<p style="color:#333333;">Month, day, year, hour in 24-hour format, and minute. Any amount of whitespace can separate the date and time. The argument should be quoted so that the shell interprets the two strings as a single argument.</p>
</dd>
<dt><tt><var>mm</var>/<var>dd</var>/<var>yy</var></tt></dt>
<dd>
<p style="color:#333333;">12:00:00AM on the specified month, day, and year.</p>
</dd>
<dt><tt><var>ddMonyy hh</var>:<var>mm</var>:<var>ss</var></tt></dt>
<dd>
<p style="color:#333333;">Day, month name, year, hour in 24-hour format, minute, and second. Any amount of whitespace can separate the date and time. The argument should be quoted so that the shell interprets the two strings as a single argument.</p>
</dd>
<dt><tt><var>ddMonyy hh</var>:<var>mm</var></tt></dt>
<dd>
<p style="color:#333333;">Day, month name, year, hour in 24-hour format, and minute. Any amount of whitespace can separate the date and time. The argument should be quoted so that the shell interprets the two strings as a single argument.</p>
</dd>
<dt><tt><var>Mon</var> <var>dd</var> <var>hh</var>:<var>mm</var>:<var>ss</var></tt></dt>
<dd>
<p style="color:#333333;">Month, day, hour in 24-hour format, minute, and second of the current year.</p>
</dd>
<dt><tt><var>yyyy</var>-<var>mm</var>-<var>dd</var> [T <var>hh</var>:<var>mm</var>[:<var>ss</var>]]</tt></dt>
<dd>
<p style="color:#333333;">Year, month, day, and optional hour in 24-hour format, minute, and second. The second, or hour, minute, and second, can be optionally omitted.</p>
</dd>
<dt><var>ddMonyy</var></dt>
<dd>
<p style="color:#333333;">12:00:00AM on the specified day, month name, and year.</p>
</dd>
<dt><tt><var>hh</var>:<var>mm</var>:<var>ss</var></tt></dt>
<dd>
<p style="color:#333333;">Hour in 24-hour format, minute, and second of the current day.</p>
</dd>
<dt><tt><var>hh</var>:<var>mm</var></tt></dt>
<dd>
<p style="color:#333333;">Hour in 24-hour format and minute of the current day.</p>
</dd>
<dt><var>T</var><tt>ns</tt> | <var>T</var><tt>nsec</tt></dt>
<dd>
<p style="color:#333333;"><var>T</var> nanoseconds ago where T is an integer value specified in base 10.</p>
</dd>
<dt><tt><var>T</var>us |<var>T</var>usec</tt></dt>
<dd>
<p style="color:#333333;"><var>T</var> microseconds ago where T is an integer value specified in base 10.</p>
</dd>
<dt><var>T</var><tt>ms</tt> | <var>T</var><tt>msec</tt></dt>
<dd>
<p style="color:#333333;">T milliseconds ago where T is an integer value specified in base 10.</p>
</dd>
<dt><tt><var>T</var>s | <var>T</var>sec</tt></dt>
<dd>
<p style="color:#333333;">T seconds ago where <var>T</var> is an integer value specified in base 10.</p>
</dd>
<dt><tt><var>T</var>m |<var>T</var>min</tt></dt>
<dd>
<p style="color:#333333;"><var>T</var> minutes ago where <var>T</var> is an integer value specified in base 10.</p>
</dd>
<dt><tt><var>T</var>h |<var>T</var>hour</tt></dt>
<dd>
<p style="color:#333333;"><var>T</var> hours ago where <var>T</var> is an integer value specified in base 10.</p>
</dd>
<dt><tt><var>T</var>d |<var>T</var>day</tt></dt>
<dd>
<p style="color:#333333;"><var>T</var> days ago where <var>T</var> is an integer value specified in base 10.</p>
</dd>
</dl>
<p style="color:#333333;">You can append a decimal fraction of the form <tt>.</tt><var>n</var> to any <kbd><strong>-t</strong></kbd> option argument to indicate a fractional number of seconds beyond the specified time.</p>
</dd>
<dt><kbd><strong>-T</strong></kbd> <var>time</var></dt>
<dd>
<p style="color:#333333;">Select events that occurred at or before the specified time. <var>time</var> can be specified using any of the time formats described for the <kbd><strong>-t</strong></kbd> option.</p>
</dd>
<dt><kbd><strong>-u</strong></kbd> <var>uuid</var></dt>
<dd>
<p style="color:#333333;">Select fault diagnosis events that exactly match the specified <var>uuid</var>. Each diagnosis is associated with a Universal Unique Identifier (UUID) for identification purposes. The <kbd><strong>-u</strong></kbd> option can be combined with other options such as <kbd><strong>-v</strong></kbd> to show all of the details associated with a particular diagnosis.</p>
<p style="color:#333333;">If the <kbd><strong>-e</strong></kbd> option and <kbd><strong>-u</strong></kbd> option are both present, the error events that are cross-referenced by the specified diagnosis are displayed.</p>
</dd>
<dt><kbd><strong>-v</strong></kbd></dt>
<dd>
<p style="color:#333333;">Display verbose event detail. The event display is enlarged to show additional common members of the selected events.</p>
</dd>
<dt><kbd><strong>-V</strong></kbd></dt>
<dd>
<p style="color:#333333;">Display very verbose event detail. The event display is enlarged to show every member of the name-value pair list associated with each event. In addition, for fault logs, the event display includes a list of cross-references to the corresponding errors that were associated with the diagnosis.</p>
</dd>
</dl>
</ul>
<p><a style="text-decoration:none;"></a><a name="Operands"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Operands</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<p style="color:#333333;">The following operands are supported:</p>
<p><a style="text-decoration:none;"></a></p>
<dl>
<dt><var>file</var></dt>
<dd>
<p style="color:#333333;">Specifies an alternate log file to display instead of the system fault log. The <kbd>fmdump</kbd> utility determines the type of the specified log automatically and produces appropriate output for the selected log.</p>
</dd>
</dl>
</ul>
<p><a style="text-decoration:none;"></a><a name="Examples"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Examples</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;"><a style="text-decoration:none;"></a></p>
<hr />
<h5 style="font-size:14px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Example 1 Retrieving Given Class from <kbd>fmd</kbd> Log</h5>
<p style="color:#333333;">Use any of the following commands to retrieve information about a specified class from the <kbd>fmd</kbd> log. The complete class name is <tt>ereport.io.ddi.context</tt>.</p>
<table border="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td style="color:#333333;">
<pre style="font-family:Monaco, Courier, 'Courier New', monospace;color:#666666;"># <strong><kbd>fmdump -Ve -c 'ereport.io.ddi.context'</kbd></strong>
# <strong><kbd>fmdump -Ve -c 'ereport.*.context'</kbd></strong>
# <strong><kbd>fmdump -Ve -n 'class=ereport.io.ddi.context'</kbd></strong>
# <strong><kbd>fmdump -Ve -n 'class=ereport.*.context'</kbd></strong></pre>
</td>
</tr>
</tbody>
</table>
<p style="color:#333333;">Any of the preceding commands produces the following output:</p>
<table border="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td style="color:#333333;">
<pre style="font-family:Monaco, Courier, 'Courier New', monospace;color:#666666;">Oct 06 2007 11:53:20.975021712 ereport.io.ddi.context
        nvlist version: 0
                class = ereport.io.ddi.context
                ena = 0x1b03a15ecf00001
                detector = (embedded nvlist)
                nvlist version: 0
                        version = 0x0
                        scheme = dev
                        device-path = /
                (end detector)

                __ttl = 0x1
                __tod = 0x470706b0 0x3a1da690</pre>
</td>
</tr>
</tbody>
</table>
<hr /><a style="text-decoration:none;"></a></p>
<hr />
<h5 style="font-size:14px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Example 2 Retrieving Specific Detector Device Path from <kbd>fmd</kbd> Log</h5>
<p style="color:#333333;">The following command retrieves a detector device path from the <kbd>fmd</kbd> log.</p>
<table border="1" cellpadding="1" width="100%">
<tbody>
<tr>
<td style="color:#333333;">
<pre style="font-family:Monaco, Courier, 'Courier New', monospace;color:#666666;"># <strong><kbd>fmdump -Ve -n 'detector.device-path=.*/disk@1,0$'</kbd></strong>
Oct 06 2007 12:04:28.065660760 ereport.io.scsi.disk.rqs
nvlist version: 0
       class = ereport.io.scsi.disk.rqs
       ena = 0x453ff3732400401
       detector = (embedded nvlist)
                nvlist version: 0
                        version = 0x0
                        scheme = dev
                        device-path = /pci@0,0/pci1000,3060@3/disk@1,0
                (end detector)

                __ttl = 0x1
                __tod = 0x4707094c 0x3e9e758</pre>
</td>
</tr>
</tbody>
</table>
<hr /></ul>
<p><a style="text-decoration:none;"></a><a name="Exit Status"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Exit Status</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<p style="color:#333333;">The following exit values are returned:</p>
<p><a style="text-decoration:none;"></a></p>
<dl>
<dt>0</dt>
<dd>
<p style="color:#333333;">Successful completion. All records in the log file were examined successfully.</p>
</dd>
<dt>1</dt>
<dd>
<p style="color:#333333;">A fatal error occurred. This prevented any log file data from being examined, such as failure to open the specified file.</p>
</dd>
<dt>2</dt>
<dd>
<p style="color:#333333;">Invalid command-line options were specified.</p>
</dd>
<dt>3</dt>
<dd>
<p style="color:#333333;">The log file was opened successfully, but one or more log file records were not displayed, either due to an I/O error or because the records themselves were malformed. <kbd>fmdump</kbd> issues a warning message for each record that could not be displayed, and then continues on and attempts to display other records.</p>
</dd>
</dl>
</ul>
<p><a style="text-decoration:none;"></a><a name="Files"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Files</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;"><a style="text-decoration:none;"></a>
<dl>
<dt><kbd>/var/fm/fmd</kbd></dt>
<dd>
<p style="color:#333333;">Fault management log directory</p>
</dd>
<dt><kbd>/var/fm/fmd/errlog</kbd></dt>
<dd>
<p style="color:#333333;">Fault management error log</p>
</dd>
<dt><kbd>/var/fm/fmd/fltlog</kbd></dt>
<dd>
<p style="color:#333333;">Fault management fault log</p>
</dd>
</dl>
</ul>
<p><a style="text-decoration:none;"></a><a name="Attributes"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Attributes</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<p style="color:#333333;">See <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2252/attributes-5?a=view">attributes(5)</a> for descriptions of the following attributes:</p>
<p><a style="text-decoration:none;"></a><a style="text-decoration:none;"></a></p>
<table border="1" cellspacing="0" cellpadding="10" width="100%">
<thead>
<tr>
<th align="center" valign="middle" scope="col">
<p style="color:#333333;">ATTRIBUTE TYPE</p>
</th>
<th align="center" valign="middle" scope="col">
<p style="color:#333333;">ATTRIBUTE VALUE</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td style="color:#333333;" align="left" valign="top">
<p style="color:#333333;">Availability</p>
</td>
<td style="color:#333333;" align="left" valign="top">
<p style="color:#333333;">SUNWfmd</p>
</td>
</tr>
<tr>
<td style="color:#333333;" align="left" valign="top">
<p style="color:#333333;">Interface Stability</p>
</td>
<td style="color:#333333;" align="left" valign="top">
<p style="color:#333333;">See below.</p>
</td>
</tr>
</tbody>
</table>
<p style="color:#333333;">
<p style="color:#333333;">
<p style="color:#333333;">The command-line options are Evolving. The human-readable error log output is Private. The human-readable fault log output is Evolving.</p>
</ul>
<p><a style="text-decoration:none;"></a><a name="See Also"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">See Also</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<p style="color:#333333;"><a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2239/sh-1?a=view">sh(1)</a>, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmadm-1m?a=view">fmadm(1M)</a>, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmd-1m?a=view">fmd(1M)</a>, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/fmstat-1m?a=view">fmstat(1M)</a>, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2240/syslogd-1m?a=view">syslogd(1M)</a>, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2242/libexacct-3lib?a=view">libexacct(3LIB)</a>, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2252/attributes-5?a=view">attributes(5)</a>, <a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-2252/regex-5?a=view">regex(5)</a></p>
<p style="color:#333333;"><a style="text-decoration:none;color:#3e6b8a;" href="http://docs.sun.com/app/docs/doc/819-3321"><cite>System Administration Guide: Security Services</cite></a></p>
<p style="color:#333333;"><a style="text-decoration:none;color:#3e6b8a;" href="http://www.sun.com/">http://www.sun.com/msg/</a></p>
</ul>
<p><a style="text-decoration:none;"></a><a name="Notes"></a></p>
<h4 style="font-size:16px;text-decoration:none;color:#000000;margin:3px 0 0;padding:24px 0 0;">Notes</h4>
<ul style="margin-left:13px;padding-left:0;margin-top:2px;">
<p style="color:#333333;">Fault logs contain references to records stored in error logs that can be displayed using <kbd>fmdump</kbd> <kbd><strong>-V</strong></kbd> to understand the errors that were used in the diagnosis of a particular fault. These links are preserved if an error log is renamed as part of log rotation. They can be broken by removing an error log file, or by moving it to another filesystem directory. <kbd>fmdump</kbd> can not display error information for such broken links. It continues to display any and all information present in the fault log.</p>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=7&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/08/19/fmdump-man-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
		<item>
		<title>Installing nagios plugin and NRPE on Solaris 10</title>
		<link>http://pvssraju.wordpress.com/2009/08/19/installing-nagios-plugin-and-nrpe-on-solaris-10/</link>
		<comments>http://pvssraju.wordpress.com/2009/08/19/installing-nagios-plugin-and-nrpe-on-solaris-10/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 08:33:02 +0000</pubDate>
		<dc:creator>pvssraju</dc:creator>
				<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://pvssraju.wordpress.com/?p=9</guid>
		<description><![CDATA[Configuring Nagios Plugins &#38; NRPE on Solaris 10 Here’s a step by step installation of the Nagios plugin NRPE for Solaris 10 x86 (as the remote host): useradd -c “nagios system user” -d /usr/local/nagios -m nagios chown nagios:nagios /usr/local/nagios/ cd /usr/local/src # or wherever you like to put source code wget http://internap.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz wget http://internap.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz gunzip [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=9&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2 id="post-95"><a title="Permanent Link: Configuring Nagios Plugins &amp; NRPE on Solaris 10" rel="bookmark" href="http://www.utahsysadmin.com/2008/03/14/configuring-nagios-plugins-nrpe-on-solaris-10/">Configuring Nagios Plugins &amp; NRPE on Solaris 10</a></h2>
<p>Here’s a step by step installation of the Nagios plugin NRPE for Solaris 10 x86 (as the remote host):</p>
<blockquote><p>useradd -c “nagios system user” -d /usr/local/nagios -m nagios<br />
chown nagios:nagios /usr/local/nagios/<br />
cd /usr/local/src # or wherever you like to put source code<br />
wget http://internap.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz<br />
wget http://internap.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz<br />
gunzip nagios-plugins-1.4.11.tar.gz<br />
tar -xvf nagios-plugins-1.4.11.tar<br />
gunzip nrpe-2.12.tar.gz<br />
tar -xvf nrpe-2.12.tar</p></blockquote>
<p>First we’ll compile the nagios plugins:</p>
<blockquote><p>cd nagios-plugins-1.4.11<br />
./configure<br />
make<br />
make install<br />
chown -R nagios:nagios /usr/local/nagios/libexec<br />
cd ..</p></blockquote>
<p>Run a quick check to make sure the plugins are working:</p>
<blockquote><p>/usr/local/nagios/libexec/check_disk -w 10 -c 5 -p /</p></blockquote>
<p>Next, we’ll compile NRPE. Normally at this point we would just run `cd nrpe-2.12; ./configure`. Unfortunately, the configure script can not find the SSH headers and libraries on Solaris 10. You get errors like this:</p>
<blockquote><p>checking for SSL headers… configure: error: Cannot find ssl headers</p></blockquote>
<blockquote><p>checking for SSL libraries… configure: error: Cannot find ssl libraries</p></blockquote>
<p>The answer to this is, of course, to tell configure where to find them:</p>
<blockquote><p>cd nrpe-2.12<br />
./configure –with-ssl=/usr/sfw/ –with-ssl-lib=/usr/sfw/lib/</p></blockquote>
<p>Currently there is a bug in 2.12 that it assumes that all systems have 2 syslog facilities that Solaris doesn’t have, so if you try and compile it generates the following errors:</p>
<blockquote><p>nrpe.c: In function `get_log_facility’:<br />
nrpe.c:617: error: `LOG_AUTHPRIV’ undeclared (first use in this function)<br />
nrpe.c:617: error: (Each undeclared identifier is reported only once<br />
nrpe.c:617: error: for each function it appears in.)<br />
nrpe.c:619: error: `LOG_FTP’ undeclared (first use in this function)<br />
*** Error code 1<br />
make: Fatal error: Command failed for target `nrpe’<br />
Current working directory /usr/local/src/nrpe-2.12/src<br />
*** Error code 1<br />
make: Fatal error: Command failed for target `all’</p></blockquote>
<p>Unfortunately, the fix at this time is to comment out the code that calls these two facilities, lines 616-619, in src/nrpe.c:</p>
<blockquote><p>/*else if(!strcmp(varvalue,”authpriv”))<br />
log_facility=LOG_AUTHPRIV;<br />
else if(!strcmp(varvalue,”ftp”))<br />
log_facility=LOG_FTP;*/</p></blockquote>
<p>UPDATE:  You no longer need to comment out these lines, just replace them with the following:</p>
<blockquote><p>else if(!strcmp(varvalue,”authpriv”))<br />
log_facility=LOG_AUTH;<br />
else if(!strcmp(varvalue,”ftp”))<br />
log_facility=LOG_DAEMON;</p></blockquote>
<p>Now it will compile:</p>
<blockquote><p># make all<br />
cd ./src/; make ; cd ..<br />
gcc -g -O2 -I/usr/sfw//include/openssl -I/usr/sfw//include -DHAVE_CONFIG_H -o nrpe nrpe.c utils.c -L/usr/sfw/lib/ -lssl -lcrypto -lnsl -lsocket ./snprintf.o<br />
gcc -g -O2 -I/usr/sfw//include/openssl -I/usr/sfw//include -DHAVE_CONFIG_H -o check_nrpe check_nrpe.c utils.c -L/usr/sfw/lib/ -lssl -lcrypto -lnsl -lsocket</p>
<p>*** Compile finished ***</p></blockquote>
<p>Next install the new binaries:</p>
<blockquote><p># make install<br />
cd ./src/ &amp;&amp; make install<br />
make install-plugin<br />
.././install-sh -c -m 775 -o nagios -g nagios -d /usr/local/nagios/libexec<br />
.././install-sh -c -m 775 -o nagios -g nagios check_nrpe /usr/local/nagios/libexec<br />
make install-daemon<br />
.././install-sh -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin<br />
.././install-sh -c -m 775 -o nagios -g nagios nrpe /usr/local/nagios/bin</p></blockquote>
<p>Optionally, if you want to use the sample config file run (Recommended if you don’t already have a standard config):</p>
<blockquote><p># make install-daemon-config<br />
./install-sh -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc<br />
./install-sh -c -m 644 -o nagios -g nagios sample-config/nrpe.cfg /usr/local/nagios/etc</p></blockquote>
<p>Modify the nrpe.cfg file with your settings:</p>
<blockquote><p>vi /usr/local/nagios/etc/nrpe.cfg</p></blockquote>
<p>With Solaris 10, we don’t use either inetd or xinetd, but SMF. Thankfully, we can convert inetd entires into the SMF repository with the inetconv command. So first, add the following entry to /etc/services:</p>
<blockquote><p>nrpe            5666/tcp                        # NRPE</p></blockquote>
<p>Then add the following line to the end of /etc/inet/inetd.conf:</p>
<blockquote><p>nrpe stream tcp nowait nagios /usr/sfw/sbin/tcpd /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -i</p></blockquote>
<p>Next, we need to convert it to SMF:</p>
<blockquote><p># inetconv<br />
nrpe -&gt; /var/svc/manifest/network/nrpe-tcp.xml<br />
Importing nrpe-tcp.xml …Done<br />
# inetconv -e<br />
svc:/network/nrpe/tcp:default enabled</p></blockquote>
<p>Check to make sure it went online:</p>
<blockquote><p># svcs svc:/network/nrpe/tcp:default<br />
STATE          STIME    FMRI<br />
online         15:53:39 svc:/network/nrpe/tcp:default<br />
# netstat -a | grep nrpe<br />
*.nrpe               *.*                0      0 49152      0 LISTEN</p></blockquote>
<p>Check the default installed parameters:</p>
<blockquote><p># inetadm -l svc:/network/nrpe/tcp:default<br />
SCOPE    NAME=VALUE<br />
name=”nrpe”<br />
endpoint_type=”stream”<br />
proto=”tcp”<br />
isrpc=FALSE<br />
wait=FALSE<br />
exec=”/usr/sfw/sbin/tcpd -c /usr/local/nagios/etc/nrpe.cfg -i”<br />
arg0=”/usr/local/nagios/bin/nrpe”<br />
user=”nagios”<br />
default  bind_addr=”&#8221;<br />
default  bind_fail_max=-1<br />
default  bind_fail_interval=-1<br />
default  max_con_rate=-1<br />
default  max_copies=-1<br />
default  con_rate_offline=-1<br />
default  failrate_cnt=40<br />
default  failrate_interval=60<br />
default  inherit_env=TRUE<br />
default  tcp_trace=FALSE<br />
default  tcp_wrappers=FALSE<br />
default  connection_backlog=10</p></blockquote>
<p>Change it so that it uses tcp_wrappers:</p>
<blockquote><p># inetadm -m svc:/network/nrpe/tcp:default tcp_wrappers=TRUE</p></blockquote>
<p>And check to make sure it took effect:</p>
<blockquote><p># inetadm -l svc:/network/nrpe/tcp:default<br />
SCOPE    NAME=VALUE<br />
name=”nrpe”<br />
endpoint_type=”stream”<br />
proto=”tcp”<br />
isrpc=FALSE<br />
wait=FALSE<br />
exec=”/usr/sfw/sbin/tcpd -c /usr/local/nagios/etc/nrpe.cfg -i”<br />
arg0=”/usr/local/nagios/bin/nrpe”<br />
user=”nagios”<br />
default  bind_addr=”&#8221;<br />
default  bind_fail_max=-1<br />
default  bind_fail_interval=-1<br />
default  max_con_rate=-1<br />
default  max_copies=-1<br />
default  con_rate_offline=-1<br />
default  failrate_cnt=40<br />
default  failrate_interval=60<br />
default  inherit_env=TRUE<br />
default  tcp_trace=FALSE<br />
tcp_wrappers=TRUE<br />
default  connection_backlog=10</p></blockquote>
<p>Modify your hosts.allow and hosts.deny to only allow your nagios server access to the NRPE port. Note that tcpd always looks at hosts.allow first, so even though we specify that everyone is rejected in the hosts.deny file, the ip addresses specified in hots.allow are allowed.<br />
/etc/hosts.allow:</p>
<blockquote><p>nrpe: LOCAL, 10.0.0.45</p></blockquote>
<p>/etc/hosts.deny:</p>
<blockquote><p>nrpe: ALL</p></blockquote>
<p>Finally, check to make sure you have everything installed correctly (should return version information):</p>
<blockquote><p>/usr/local/nagios/libexec/check_nrpe -H localhost<br />
NRPE v2.12</p></blockquote>
<p>Optionally, modify any firewalls between your nagios server and the remote host to allow port 5666.<br />
Don’t forget to configure your nagios server to check your new service.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvssraju.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvssraju.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvssraju.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvssraju.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pvssraju.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pvssraju.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pvssraju.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pvssraju.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvssraju.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvssraju.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvssraju.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvssraju.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvssraju.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvssraju.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvssraju.wordpress.com&amp;blog=8837791&amp;post=9&amp;subd=pvssraju&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pvssraju.wordpress.com/2009/08/19/installing-nagios-plugin-and-nrpe-on-solaris-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/48fee6affdc2513c0e68f0bd3e71c3ce?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvssraju</media:title>
		</media:content>
	</item>
	</channel>
</rss>
