<?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>Colocation to Virtualization &#187; Monitoring</title>
	<atom:link href="http://blog.colovirt.com/category/monitoring/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.colovirt.com</link>
	<description>and linux between</description>
	<lastBuildDate>Thu, 05 Jan 2012 08:00:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.colovirt.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/afd0d00d02b5abc67acf29066e3d1e3b?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Colocation to Virtualization &#187; Monitoring</title>
		<link>http://blog.colovirt.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.colovirt.com/osd.xml" title="Colocation to Virtualization" />
	<atom:link rel='hub' href='http://blog.colovirt.com/?pushpress=hub'/>
		<item>
		<title>SAN/Networking/Linux: Using Multipath To Verify and Troubleshoot Connectivity To FC LUNs</title>
		<link>http://blog.colovirt.com/2009/05/11/sannetworkinglinux-using-multipath-to-verify-and-troubleshoot-connectivity-to-fc-luns/</link>
		<comments>http://blog.colovirt.com/2009/05/11/sannetworkinglinux-using-multipath-to-verify-and-troubleshoot-connectivity-to-fc-luns/#comments</comments>
		<pubDate>Mon, 11 May 2009 13:33:11 +0000</pubDate>
		<dc:creator>Kevin Goodman</dc:creator>
				<category><![CDATA[EMC]]></category>
		<category><![CDATA[Filesystems]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[SAN (Storage Area Network)]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[active paths]]></category>
		<category><![CDATA[cisco mds]]></category>
		<category><![CDATA[fc]]></category>
		<category><![CDATA[fiber]]></category>
		<category><![CDATA[fiber channel]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[mds]]></category>
		<category><![CDATA[mds9120]]></category>
		<category><![CDATA[multipath]]></category>
		<category><![CDATA[multipathd]]></category>
		<category><![CDATA[multipathing]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[netapp]]></category>
		<category><![CDATA[remaining active paths]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[sanos]]></category>

		<guid isPermaLink="false">http://blog.colovirt.com/?p=545</guid>
		<description><![CDATA[SAN/Networking/Linux: Using Multipath To Verify and Troubleshoot Connectivity To FC LUNs<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=545&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few days ago there was in error on one of our Cisco MDS 9120 fiber switches.  The current environment at this datacenter consists of two Cisco MDS 9120 SAN switches with servers redundantly connected between the two.  These switches are used to connect the servers to our fiber channel (FC) storage systems.  In this case, the servers are generally mapped to an EMC, NetApp, and two RamSans.  Below outlines a basic example of what can be expected from multipathing and the Linux environment when there is loss of connectivity to one leg of the fiber network.</p>
<p><span id="more-545"></span><strong>Below is an excerpt of the log coming from a dual fiber connected server.  In this case, the max active paths would be 2.  If the server had quad fiber connectivity it could have a max of 4 paths in our environment.  As seen from the log, multipathd reported the loss of a path to each LUN an logged it &#8220;remaining active paths: 1&#8243;.  Once the errors were corrected in the failed switch, multipathd reported the restoration &#8220;remaining active paths: 2</strong>&#8220;.</p>
<pre>[root@testsrv01 ~]# cat /var/log/messages | grep multipathd
May  6 10:30:55 testsrv01 multipathd: TempLUN1: remaining active paths: 1
May  6 10:30:55 testsrv01 multipathd: 8:224: readsector0 checker reports path is up
May  6 10:30:55 testsrv01 multipathd: 8:224: reinstated
May  6 10:30:55 testsrv01 multipathd: RanSanLUN2: remaining active paths: 1
May  6 10:30:56 testsrv01 multipathd: 65:128: readsector0 checker reports path is up
May  6 10:30:56 testsrv01 multipathd: 65:128: reinstated
May  6 10:30:57 testsrv01 multipathd: TempLUN1: remaining active paths: 2
May  6 10:30:58 testsrv01 multipathd: 65:224: readsector0 checker reports path is up
May  6 10:30:58 testsrv01 multipathd: 65:224: reinstated
May  6 10:30:58 testsrv01 multipathd: RanSanLUN2: remaining active paths: 2</pre>
<p><strong>To be safe, the &#8216;multipath&#8217; command was used via the Command Line Interface (CLI) on the server(s) to verify that the storage systems were visable to the OS.</strong></p>
<pre>NAME
       multipath - Device mapper target autoconfig
SYNOPSIS
       multipath [options] [device]

       -l     show the current multipath topology from information fetched in sysfs and the device mapper
       -ll    show the current multipath topology from all available information (sysfs, the device mapper ...)</pre>
<p><strong>Truncated results are below that shows connectivity to the RamSans and EMC.  This server is not mapped to the NetApp.</strong></p>
<pre>[root@testsrv01 ~]# multipath -ll
ramsan_DramCache (25050c24001094501)
[size=9 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=4][active]
 \_ 2:0:3:0  sdah 66:16  [active][ready]
 \_ 2:0:4:0  sdai 66:32  [active][ready]
 \_ 1:0:3:0  sdal 66:80  [active][ready]
 \_ 1:0:4:0  sdan 66:112 [active][ready]

ramsan_FlashSSD (25050c24021094501)
[size=1853 GB][features="0"][hwhandler="0"]
\_ round-robin 0 [prio=4][active]
 \_ 2:0:3:1  sdaj 66:48  [active][ready]
 \_ 2:0:4:1  sdak 66:64  [active][ready]
 \_ 1:0:3:1  sdam 66:96  [active][ready]
 \_ 1:0:4:1  sdao 66:128 [active][ready]

EMC_LUN1 (461a963004637699a05bs3464f76)
[size=100 GB][features="1 queue_if_no_path"][hwhandler="0"]
\_ round-robin 0 [prio=2][active]
 \_ 2:0:2:8  sdab 65:176 [active][ready]
 \_ 1:0:2:8  sdl  8:176  [active][ready]</pre>
<p><strong>Notes:  Make sure to verify that all servers have multipathing setup and working correctly, all of the Linux servers never missed a beat!  The database (Oracle) and Websphere servers kept on going.  The same can not be said about the Exchange environment.  Due to a configuration problem there, multipathing was not functioning and it lost connectivity to its storage LUNs.  The VMware cluster survived fine as well.<br />
</strong></p>
<br />Posted in EMC, Filesystems, Linux, Monitoring, Networking, SAN (Storage Area Network), VMWare  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/colovirt.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/colovirt.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/colovirt.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/colovirt.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/colovirt.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/colovirt.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/colovirt.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/colovirt.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/colovirt.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/colovirt.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/colovirt.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/colovirt.wordpress.com/545/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/colovirt.wordpress.com/545/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/colovirt.wordpress.com/545/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=545&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.colovirt.com/2009/05/11/sannetworkinglinux-using-multipath-to-verify-and-troubleshoot-connectivity-to-fc-luns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Kevin Goodman</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux/Unix/File Systems: Inodes (Part 2) – File Level Inode Information And Removal</title>
		<link>http://blog.colovirt.com/2009/04/13/linuxunixfile-systems-inodes-part-2-file-level-inode-information-and-removal/</link>
		<comments>http://blog.colovirt.com/2009/04/13/linuxunixfile-systems-inodes-part-2-file-level-inode-information-and-removal/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 08:00:03 +0000</pubDate>
		<dc:creator>Kevin Goodman</dc:creator>
				<category><![CDATA[Filesystems]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[chown]]></category>
		<category><![CDATA[exec]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[gid]]></category>
		<category><![CDATA[inode]]></category>
		<category><![CDATA[inodes]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[permissions]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[rm]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[uid]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[xargs]]></category>

		<guid isPermaLink="false">http://blog.colovirt.com/?p=497</guid>
		<description><![CDATA[Linux/Unix/File Systems: Inodes (Part 2) - File Level Inode Information And Removal<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=497&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Inodes &#8220;Part 1&#8243; went into locating filesystem level inode information.  Here we will move from the main filesystem to the individual file.  Besides reviewing how the inode record reflects permissions modification using chown, file removal based on inode number will be covered.</p>
<p><strong>Create a test file</strong></p>
<pre>user01@testsrv:~$ touch testfile</pre>
<p><strong>Below, &#8220;ls&#8221; is used to display the inode number (2009418) of the test file </strong></p>
<pre>user01@testsrv:~$ ls -i /home/user01/testfile
<strong>2009418</strong> /home/user01/testfile
<span id="more-497"></span><strong>Check the inode record for the newly created empty file</strong></pre>
<pre>user01@testsrv:~$ stat /home/user01/testfile
File: `/home/user01/testfile'
Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fe01h/65025d	Inode: 2009418     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/user01)   Gid: ( 1000/user01)
Access: 2009-04-10 17:52:59.000000000 -0400
Modify: 2009-04-10 17:52:58.000000000 -0400
Change: 2009-04-10 17:52:58.000000000 -0400</pre>
<p><strong>In the following example, a file is being checked that is solely owned by the root user</strong></p>
<pre>user01@testsrv:~$ ls -la /home/user01/w2k3-2.iso
-rw-r--r-- 1 root root 171769856 2009-03-28 13:15 /home/user01/w2k3-2.iso</pre>
<p><strong>Review the root owned ISO file inode information.  The user and group ownership is referenced as Uid and Gid respectively</strong></p>
<pre>user01@testsrv:~$ stat /home/user01/w2k3-2.iso
File: `/home/user01/w2k3-2.iso'
Size: 171769856 	Blocks: 335824     IO Block: 4096   regular file
Device: fe01h/65025d	Inode: 2009538     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2009-03-28 13:11:44.000000000 -0400
Modify: 2009-03-28 13:15:33.000000000 -0400
Change: 2009-03-28 13:15:33.000000000 -0400</pre>
<p><strong>Change the permissions of the ISO file via the root user (current owner of the file)</strong></p>
<pre>root@testsrv:/home/user01# chown user01:user01 /home/user01/w2k3-2.iso</pre>
<p><strong>Re-check tje ISO file permission from the initial user (user01) via the ls command</strong></p>
<pre>user01@testsrv:~$ ls -la /home/user01/w2k3-2.iso
-rw-r--r-- 1 user01 user01 171769856 2009-03-28 13:15 /home/user01/w2k3-2.iso</pre>
<p><strong>Re-stat the ISO file to view the changes in the inode record.  As you can see, the file ownership is now set to user user01 and group user01</strong></p>
<pre>user01@testsrv:~$ stat /home/user01/w2k3-2.iso
File: `/home/user01/w2k3-2.iso'
Size: 171769856 	Blocks: 335824     IO Block: 4096   regular file
Device: fe01h/65025d	Inode: 2009538     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/user01)   Gid: ( 1000/user01)
Access: 2009-03-28 13:11:44.000000000 -0400
Modify: 2009-03-28 13:15:33.000000000 -0400
Change: 2009-04-10 17:57:35.000000000 -0400</pre>
<p><strong>For the next example user01 is kept as the user, but the group is changed to &#8216;admin&#8217;.  Since the current user user01 now has full rights to the file, it can be done from that account</strong></p>
<pre>user01@testsrv:~$ chown :admin /home/user01/w2k3-2.iso</pre>
<p><strong>Re-stat the file once more to see if the group (Gid) has been changed in the inode for this file</strong></p>
<pre>user01@testsrv:~$ stat /home/user01/w2k3-2.iso
File: `/home/user01/w2k3-2.iso'
Size: 171769856 	Blocks: 335824     IO Block: 4096   regular file
Device: fe01h/65025d	Inode: 2009538     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/user01)   Gid: (  119/   admin)
Access: 2009-03-28 13:11:44.000000000 -0400
Modify: 2009-03-28 13:15:33.000000000 -0400
Change: 2009-04-10 18:00:32.000000000 -0400</pre>
<p><strong>Now with the basic understanding of finding an retrieving inode numbers and information, we will proceed to removing files using the &#8220;rm&#8221; command.  Specifically, the following will detail how to remove a file by referencing the inode number.  All of which is done by using &#8220;find&#8221; and passing the results to &#8220;rm&#8221;.</strong></p>
<p><strong>There have only been a few occasions that I can remember where I have needed to know the following, but it is worth knowing!  The main benefit is when a file has been created with a control character in the name</strong></p>
<p><strong>Create a test file</strong></p>
<pre>user01@testsrv:/tmp/testdir$ touch '`'
user01@testsrv:/tmp/testdir$ ls
`</pre>
<p><strong>Try to remove the file without enclosing the &#8220;`&#8221; filename</strong></p>
<pre>user01@testsrv:/tmp/testdir$ rm `
&gt;</pre>
<p><strong>Above you can see that the command did not work.  Instead it dropped to the &#8220;&gt;&#8221; sub-prompt</strong></p>
<p><strong>Locate the inode number for the &#8220;`&#8221; file.  Tab based auto-complete does wonders escaping the special character filename on the command line</strong></p>
<pre>user01@testsrv:/tmp/testdir$ ls -i /tmp/testdir/`
1163285 /tmp/testdir/`</pre>
<p><strong>Now that the inode number is known, the &#8220;find&#8221; command can be used to retrieve the filename associated with it</strong></p>
<pre>user01@testsrv:/tmp/testdir$ find /tmp -inum 1163285
/tmp/testdir/`</pre>
<p><strong>Putting it all together, we can remove the file passing the &#8220;find&#8221; results to &#8220;rm&#8221;.  Below uses a command line pipe (&#8220;|&#8221;) and xargs to accomplish this</strong></p>
<pre>user01@testsrv:/tmp/testdir$ find /tmp -inum 1163285 | xargs rm</pre>
<p><strong>Verify the file has been removed</strong></p>
<pre>user01@testsrv:/tmp/testdir$ ls /tmp/testdir/</pre>
<p><strong>The same can be accomplished via find commands built-in exec feature</strong></p>
<pre>user01@testsrv:/tmp/testdir$ find /tmp -inum 1163285 -exec rm {} ;</pre>
<p><strong>In my opinion, the best way to remove a file via the inode number is as follows</strong></p>
<pre>user01@testsrv:~$ find /tmp -inum 1163285 -exec rm -i {} ;
rm: remove regular empty file `/tmp/testdir/`'? <strong>y</strong></pre>
<p><strong>Specifying &#8220;-i&#8221; after rm makes the user verify the file to be removed.</strong></p>
<p><strong>Notes: There are other ways around removing files with certain characters.  In this chase, the &#8220;`&#8221; file could have been removed with:</strong></p>
<pre>user01@testsrv:/tmp/testdir$ rm /tmp/testdir/`</pre>
<p><strong>If any information in this post is found to be outdated, incorrect, useful, or needs further detail, please leave a comment or email me.</strong></p>
<br />Posted in Filesystems, Linux, Monitoring, Uncategorized  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/colovirt.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/colovirt.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/colovirt.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/colovirt.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/colovirt.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/colovirt.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/colovirt.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/colovirt.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/colovirt.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/colovirt.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/colovirt.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/colovirt.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/colovirt.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/colovirt.wordpress.com/497/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=497&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.colovirt.com/2009/04/13/linuxunixfile-systems-inodes-part-2-file-level-inode-information-and-removal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Kevin Goodman</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux, Unix, NAS, File Systems: Inodes (Part 1) – Checking Availability And High Level Overview</title>
		<link>http://blog.colovirt.com/2009/04/10/linux-unix-nas-file-systems-inodes-part-1-checking-availability-and-high-level-overview/</link>
		<comments>http://blog.colovirt.com/2009/04/10/linux-unix-nas-file-systems-inodes-part-1-checking-availability-and-high-level-overview/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 19:37:40 +0000</pubDate>
		<dc:creator>Kevin Goodman</dc:creator>
				<category><![CDATA[Filesystems]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[df]]></category>
		<category><![CDATA[df -i]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[inode]]></category>
		<category><![CDATA[inodes]]></category>
		<category><![CDATA[max]]></category>
		<category><![CDATA[max inodes]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[reiser]]></category>
		<category><![CDATA[reiser4]]></category>
		<category><![CDATA[reiserfs]]></category>
		<category><![CDATA[tune2fs]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blog.colovirt.com/?p=490</guid>
		<description><![CDATA[Linux, Unix, NAS, File Systems: Inodes (Part 1) - Checking Availability And High Level Overview<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=490&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Inodes really tell you how many file handles (files) that can be created on a file system.  Most people will never exceed the default setting when the file system is created, nor even know that one is set.  I will eventually go into more detail concerning this topic here on the blog.  The majority (not all) of file systems that are used on Linux and Unix do not support dynamic inode allocation.  What this means is that if you exceed the inode limit of a file system before the storage space, the remainder will be un-usable.  That is until some of the current files are removed.</p>
<p>So here is the really bad part.  The inodes on ext2 and ext3 (Linux default type) are statically set when the file system is formatted.  You can not go back and change the max inode settings.  The exceptions to this that I know of are as follows:</p>
<p>- Reiser4<br />
- VxFS<br />
- XFS<br />
- JFS<br />
- WAFL (NetApp proprietary)<br />
- XZFS</p>
<p>If you are running one of the above and have max inodes issue, you can correct it.</p>
<p>I have been working with computers for over 15 years and have only ran into this problem once.  Luckily, it occurred on a NetApp NAS device that had the ability to increase this value on the live file system.  The main killer here are tons of small files.  In this case, the file system for that NFS share was 40 gigabytes in size and default was ~1 million inode limit.  The quick fix for the issue was to increase this to 3 million.</p>
<p>As far as a ext2 and 3 go, the following shows how to query a file system for relevant inode information<br />
<span id="more-490"></span></p>
<pre>root@testbox:~# tune2fs -l /dev/sda1
tune2fs 1.41.3 (12-Oct-2008)
Filesystem volume name:   &lt;none&gt;
Last mounted on:          &lt;not available&gt;
Filesystem UUID:          56161dd8-9d1d-4c54-851d-938bb88ce6d4
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
<strong>Inode count:              4685824</strong>
Block count:              18731782
Reserved block count:     936589
Free blocks:              15534374
<strong>Free inodes:              4459463</strong>
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1019
Blocks per group:         32768
Fragments per group:      32768
<strong>Inodes per group:         8192
Inode blocks per group:   256</strong>
Filesystem created:       Mon Sep 29 16:25:20 2008
Last mount time:          Fri Jan 23 14:27:02 2009
Last write time:          Fri Jan 23 14:27:02 2009
Mount count:              4
Maximum mount count:      33
Last checked:             Thu Jan 15 09:00:37 2009
Check interval:           15552000 (6 months)
Next check after:         Tue Jul 14 10:00:37 2009
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
<strong>First inode:              11
Inode size:	          128</strong>
Journal inode:            8
First orphan inode:       2908742
Default directory hash:   tea
Directory Hash Seed:      a6544c5xxxxxxxxxxxxxxxxx
<strong>Journal backup:           inode blocks</strong></pre>
<p>The above is good to know, especially to check an un-mounted file system.  The command below shows a <strong>friendlier formatted</strong> output</p>
<pre>root@testbox:~# df -i
Filesystem            <strong>Inodes   IUsed   IFree IUse</strong>% Mounted on
/dev/sda1            4685824  226361 4459463    5% /
tmpfs                 222201       4  222197    1% /lib/init/rw
varrun                222201      64  222137    1% /var/run
varlock               222201       5  222196    1% /var/lock
udev                  222201    5142  217059    3% /dev
tmpfs                 222201       5  222196    1% /dev/shm
/dev/sdb1            61063168    1116 61062052    1% /media/disk</pre>
<p>As you can see, there are no issues to be worried about on this test computer.  Most systems administrators perform centralized monitoring of disk usage at a disk space level (capacity).  On highly used servers that utilize locally stored and/or direct attached storage, it is a good idea to have a script check and <strong>report on the available inodes</strong>.</p>
<p><a href="http://colovirt.files.wordpress.com/2009/04/inodes-1.pdf">PDF Version</a></p>
<p><strong>Notes: This information is provided for a high level overview concerning inodes.  More in-depth information will be provided in up-coming posts.</strong></p>
<br />Posted in Filesystems, Linux, Monitoring, NAS  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/colovirt.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/colovirt.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/colovirt.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/colovirt.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/colovirt.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/colovirt.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/colovirt.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/colovirt.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/colovirt.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/colovirt.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/colovirt.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/colovirt.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/colovirt.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/colovirt.wordpress.com/490/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=490&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.colovirt.com/2009/04/10/linux-unix-nas-file-systems-inodes-part-1-checking-availability-and-high-level-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Kevin Goodman</media:title>
		</media:content>
	</item>
		<item>
		<title>To Splunk or Not To Splunk</title>
		<link>http://blog.colovirt.com/2008/10/21/to-splunk-or-not-to-splunk/</link>
		<comments>http://blog.colovirt.com/2008/10/21/to-splunk-or-not-to-splunk/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 02:01:58 +0000</pubDate>
		<dc:creator>Kevin Goodman</dc:creator>
				<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[catos]]></category>
		<category><![CDATA[cfgwrite]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[cisco config mode]]></category>
		<category><![CDATA[cisco monitoring]]></category>
		<category><![CDATA[fiber switch]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mds]]></category>
		<category><![CDATA[sanos]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[splunk]]></category>
		<category><![CDATA[splunkd]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[syslogd]]></category>

		<guid isPermaLink="false">http://collocenter.wordpress.com/?p=30</guid>
		<description><![CDATA[Hmm.  This is a decision I have been trying to decide on for about 2 weeks now.  I have the trial software installed on a Centos server and man was it easy!  Just had to install about 3 package dependencies and the Splunk RPM.  Everything was working fine from there.  Only downside is you have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=30&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hmm.  This is a decision I have been trying to decide on for about 2 weeks now.  I have the trial software installed on a Centos server and man was it easy!  Just had to install about 3 package dependencies and the Splunk RPM.  Everything was working fine from there.  Only downside is you have to get an &#8220;Enterprise Trial License&#8221; through their online system before getting user management and web-portal password protection.  The license lasts for 30 days.  Turns out everything runs great on this unit.  Especially in the highly chattering snmp / syslogs of the network I manage.  Only problem I have with Splunk is with the SNMP indexing.  Their site shows to create and use a FIFO file in the /var file system.  That&#8217;s fine, but under comments the Splunk documentation says that it has been deprecated and there&#8217;s a new method to log SNMP.  Ok, where?  There are no links I can find on their sites within 10 minutes, or links from that comment section!  I currently have about 60 servers remotely syslogging to splunk, as well as about 10 Cisco switches.  That includes Cisco MDS fiber switches.  The example searches and the Splunk &#8220;Applications&#8221; have so far not been as hand off as I wanted.  This has left me writing a lot of my own saved searches.  Saved searches can be saved and ran on a schedule via Cron or Splunks built in scheduler.  I have ones created for Linux port downs, Cisco interface drops, etc.  Alerting has worked great!  Sending them via email and snmp puts.  No complaints at all there!  WIll add some more details tomorrow when they are in front of me.</p>
<p>http://splunk.com</p>
<p>Below are a few rules or &#8220;searches&#8221; that I have written more tailored to my collocations networks. Of course xxxx is replaced with the actual log name, and these are starting on a schedule.  Using the startminutesago function as not to begin parsing the logs for the beginning of time and getting data I do not want.  &#8220;maxspan&#8221; tells it to only go from 5 minutes in the past to now basically.</p>
<p><strong>Searches:</strong></p>
<p>Cisco MDS Fiber Switch SANOS<br />
source=&#8221;/var/log/xxxx&#8221; IF_DOWN_LINK_FAILURE startminutesago=5 | transaction maxspan=5m</p>
<p>Cisco Ethernet Switch<br />
source=&#8221;/var/log/xxxx&#8221; punct=&#8221;__::_&#8230;_:___::._:_%&#8211;:__//,____&#8221; startminutesago=5 | transaction maxspan=5m</p>
<p>Linux Ethernet Down<br />
source=&#8221;/var/log/xxxx&#8221; link down startminutesago=5 | transaction maxspan=5m</p>
<p>Cisco Failed Login<br />
source=&#8221;/var/log/xxxx&#8221; Authentication failure for illegal user startminutesago=5 | transaction maxspan=5m</p>
<p>Cisco Config Save<br />
source=&#8221;/var/log/xxxx&#8221; CFGWRITE startminutesago=5 | transaction maxspan=5m</p>
<p>Cisco Config Mode<br />
source=&#8221;/var/log/xxxx&#8221; Configuring console from pts startminutesago=5 | transaction maxspan=5m</p>
<p><strong>Here is an example email of what was sent to me via Splunks built in alerting system:</strong></p>
<p><!--[if gte mso 9]&gt;  Normal 0     false false false  EN-US X-NONE X-NONE                            &lt;![endif]--><!--[if gte mso 9]&gt;                                                                                                                                            &lt;![endif]--> <!--[if gte mso 10]&gt; &lt;!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} --> <!--[endif]--></p>
<p class="MsoPlainText">Name: &#8216;Cisco Config Mode&#8217;</p>
<p class="MsoPlainText">Query Terms: &#8216;now=1224079500 source=&#8221;/var/log/messages&#8221; Configuring console from pts startminutesago=5 | transaction maxspan=5m&#8217;</p>
<p class="MsoPlainText">Alert was triggered because of: &#8216;Saved Search [Cisco Config Mode]: number of events(1) greater than 0&#8242;</p>
<p class="MsoPlainText"><strong>Attached to the email is a CSV file that contained all the fields needed for auditing, as well as what was alerted on:</strong></p>
<p class="MsoPlainText">Oct 15 10:00:32 192.x.x.x : 2008 Oct 15 06:49:00 UTC: %VSHD-5-VSHD_SYSLOG_CONFIG_I: Configuring console from pts/1 192.x.x.x</p>
<p>Will provide schreen shots of Splunk in action at a later date.</p>
<br />Posted in Monitoring, Security  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/colovirt.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/colovirt.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/colovirt.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/colovirt.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/colovirt.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/colovirt.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/colovirt.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/colovirt.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/colovirt.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/colovirt.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/colovirt.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/colovirt.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/colovirt.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/colovirt.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.colovirt.com&amp;blog=5256186&amp;post=30&amp;subd=colovirt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.colovirt.com/2008/10/21/to-splunk-or-not-to-splunk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Kevin Goodman</media:title>
		</media:content>
	</item>
	</channel>
</rss>
