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

<channel>
	<title>An It-Slave in the digital saltmine &#187; centos</title>
	<atom:link href="http://www.it-slav.net/blogs/category/centos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.it-slav.net/blogs</link>
	<description>Another Blog from a Geek that has no life</description>
	<lastBuildDate>Tue, 10 Jan 2012 20:27:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>KVM virtualization, some best practice, part 2</title>
		<link>http://www.it-slav.net/blogs/2012/01/08/kvm-virtualization-some-best-practice-part-2/</link>
		<comments>http://www.it-slav.net/blogs/2012/01/08/kvm-virtualization-some-best-practice-part-2/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 11:30:19 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[Cool things]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Geek stuff]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[op5]]></category>
		<category><![CDATA[op5 Monitor]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=2201</guid>
		<description><![CDATA[Background It really annoyed me that the iowait at the cpu on the Dom 0 system was approximatly 50% when the 4 virtual system was doing more or less nothing. I showed my earlier blogpost about VM virtualization to our sysadmin at op5. He gave me a couple of more hints that really make a [...]]]></description>
			<content:encoded><![CDATA[<h2>Background</h2>
<p>It really annoyed me that the iowait at the cpu on the Dom 0 system was approximatly 50% when the 4 virtual system was doing more or less nothing.</p>
<p>I showed my<a href="http://www.it-slav.net/blogs/2012/01/01/kvm-virtualization-some-best-practice/" target="_blank"> earlier blogpost</a> about VM virtualization to our sysadmin at op5. He gave me a couple of more hints that really make a big difference, the best part is that they are real simple to implement.</p>
<p>I also noticed that I forgot some parts in the previous article that was obvius to me.</p>
<p><span id="more-2201"></span></p>
<h3>&nbsp;</h3>
<h3>#1 use virtio drivers if possible</h3>
<p>This is probably the single most important step to get the most out of the hardware.</p>
<p>When the virtual systems wants to communicate with the hardware it uses drivers, if the drivers are simulating hardware to give a service to the virtual operating system it adds alot of overhed. A simple example:</p>
<ul>
<li>The virtual system wants to access the disk</li>
<li>The virtual system communicates via the driver to the hardware</li>
<li>The hardware is not real hardware, it is emulated hardware in sofware&nbsp;</li>
<li>The software that emulates the hardware sends the I/O to the Dom 0 virtualization engine</li>
<li>The Virtualization engine verifies that the access is ok, translate it to real hardware call via its driver</li>
<li>The hardware do the operation and send the result back up via all the steps to the virtual operating system</li>
</ul>
<p>All this transalations and software calls take alot of resources from the machine.</p>
<p>By using virtual drivers, so that there is no need to emulate hardware, many of the steps can be skipped or done with much less penalty. However not all operating system have virtio drivers.</p>
<h3>&nbsp;</h3>
<h3>#2 load the virtio modules in Dom 0</h3>
<p>This is a real god hint I got from our sysadmin, load the virtual drivers in the Dom 0 system asweell. According to him, the virtual drivers in the Dom 0 and Dom U:s communicate and makes the I/O much more effective. I have not found any information about this at any place so I was sceptical but I tried it.</p>
<pre># modprobe virtio_balloon
# modprobe virtio_blk
# modprobe virtio_net
# modprobe virtio_pci</pre>
<p>The virtual systems need to be rebooted as far as I know before the loaded drivers will have any effect.</p>
<p>At first no change at all, but after few hours I noticed that CPU idle raized and the iowait went from at least 50% down to below 5%.</p>
<p>A nice graph, created by <a href="http://www.op5.com/network-monitoring/op5-monitor/" target="_blank">op5 Monitor</a> showing the difference:</p>
<p><img alt="" height="505" src="http://www.it-slav.net/blogs/wp-content/uploads/Screen Shot 2012-01-05 at 10_24_45 AM.png" width="604" /></p>
<p>I loaded the virtual drivers approximately 4 pm, and it took until 10 pm before the performance boost showed up.</p>
<p>The correct way of making sure that the drivers are loaded directly would be to remake the kernel but I&#39;m lazy so I have just added the module load to /etc/rc.local</p>
<h2>&nbsp;</h2>
<h2>Conclusions</h2>
<p>It is always important to monitor systems. When doing changes it is not possible know if the changes do have any impact if you do not monitor and follow up how and if the changes does anything.</p>
<p>My former statement that KVM is not mature is more true then I have thought. The knowledge how to tune and maintain KVM systems seems to be like black art where the knowledge is not documented and well spread. I have read the RedHat virtualization and I have not found anything about that the virtual drivers should be loaded on the Dom0 system.</p>
<p>If there is anyone out there that has some documentation or more hints, please send me the link or comment this blogpost.</p>
<p>Links:</p>
<ul>
<li><a href="http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/index.html" target="_blank">RedHa</a>t virtualization doc</li>
<li><a href="http://www.op5.com/network-monitoring/op5-monitor/" target="_blank">op5 Monitor</a> that monitor and creates nice graphs</li>
<li><a href="http://exchange.nagios.org/directory/Plugins/System-Metrics/CPU-Usage-and-Load/check_cpu_stats-2Esh/details" style="color: rgb(200, 0, 0); font-family: arial, verdana, sans-serif; text-align: justify; " target="_blank">check_cpu_stats</a>&nbsp;Nagios plugin to monitor cpustat</li>
</ul>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2012%2F01%2F08%2Fkvm-virtualization-some-best-practice-part-2%2F&amp;title=KVM%20virtualization%2C%20some%20best%20practice%2C%20part%202" id="wpa2a_2"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2012/01/08/kvm-virtualization-some-best-practice-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KVM virtualization, some best practice, part 1</title>
		<link>http://www.it-slav.net/blogs/2012/01/01/kvm-virtualization-some-best-practice/</link>
		<comments>http://www.it-slav.net/blogs/2012/01/01/kvm-virtualization-some-best-practice/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 20:02:05 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[Cool things]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Geek stuff]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[it-slav.net]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[op5]]></category>
		<category><![CDATA[op5 Monitor]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=2181</guid>
		<description><![CDATA[Background As an it slave, I have the same problems as most datacenters: Running out of space because of more and more machines get into the datacenter Overheating Powerconsumption Added to the &#34;normal&#34; datacenter problems, I also have to deal with: Wife acceptance Noice, my neighbours has complained about the noice outside my basement. To [...]]]></description>
			<content:encoded><![CDATA[<h2>Background</h2>
<p>As an it slave, I have the same problems as most datacenters:</p>
<ul>
<li>Running out of space because of more and more machines get into the datacenter</li>
<li>Overheating</li>
<li>Powerconsumption</li>
</ul>
<p>Added to the &quot;normal&quot; datacenter problems, I also have to deal with:</p>
<ul>
<li>Wife acceptance</li>
<li>Noice, my neighbours has complained about the noice outside my basement.</li>
</ul>
<p>To address this issues I will run a consolidation project to get fewer machines by using virtualization. As virtualization engine, KVM is choosed.</p>
<p>This article will describe some pitfalls I run into and how I solved them.</p>
<p><span id="more-2181"></span></p>
<h2>&nbsp;</h2>
<h2>&nbsp;</h2>
<h2>KVM plattform</h2>
<p>KVM seems to be the future for virtualization within the Linux area since Xen has done some mistakes.</p>
<p>As I have good experience of running CentOS and has KVM included I decided to use CentOS as the plattform for my virtualization.</p>
<p>&nbsp;</p>
<h2>Issues</h2>
<h3>Bridge network</h3>
<p>To let the virtual boxes has full access to the network you need create a network bridge, it is rather straightforward and well documented so I will skip this part. I used the documentation on Red Hat customer support. Why KVM requires a bridge instead of a normal NIC is another question <img src='http://www.it-slav.net/blogs/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>&nbsp;</h3>
<h3>Snapshots</h3>
<p>One handy feature with virtualization is that the virtual systems can be one big fat file at the physical host, this gives the possibility to make full backups without turning the system down a.k.a snapshots.</p>
<p>However to get snapshot to work the filetype must be qcow2 and raw is the default format.</p>
<p>It is possible to convert from raw to qcow2 format by running the command:</p>
<pre>qemu-img convert -f raw -O qcow2 &lt;virtualhost&gt;.img &lt;virtualhost&gt;.img.qcow2</pre>
<p>Remember to turn of your virtual system by running:</p>
<pre>virsh shutdown &lt;virtualhost&gt;
</pre>
<p>After the conversion:</p>
<pre>virsh edit &lt;virtualhost&gt;
</pre>
<p>modify the type and path, i.e.</p>
<pre>      &lt;driver name=&#39;qemu&#39; type=&#39;qcow2&#39; cache=&#39;none&#39;/&gt;
      &lt;source file=&#39;/var/lib/libvirt/images/web.img.qcow2&#39;/&gt;
</pre>
<p>Start your virtual system:</p>
<pre>virsh start &lt;virtualhost&gt;</pre>
<p>&nbsp;</p>
<p>Take a snapshot with:</p>
<pre>qemu-img snapshot -c &lt;snapshotname&gt; &lt;virtualhost&gt;.img.preallc.qcow2</pre>
<p>&nbsp;</p>
<p>To create a full image of your snapshot you need to compile a more resent version of qemu-img then shipped with CentOS 6.2, I download a later version and compiled it from <a href="http://git.qemu.org/qemu.git/commit/?id=51ef67270b1d10e1fcf3de7368dccad1ba0bf9d1" target="_blank">here</a>, i renamed the new to qemu.img2 and copied it to /usr/local/bin</p>
<pre>qemu-img2 convert -p -f qcow2 -O qcow2 -s &lt;snapshotname&gt; &lt;virtualhost&gt;.img.preallc.qcow2 &lt;targetpath&gt;
</pre>
<p>Beware: This command can use all your resources and may affect all your virtual systems, use nice and ionice to prevent it.</p>
<h3>&nbsp;</h3>
<h3>Disk I/O</h3>
<p>After installing just a few virtual system I noticed that my physical host got alot of I/O wait, it can be seen by using tools like top.</p>
<p>To monitor this I installed the nagios plugins:</p>
<ul>
<li>check disk io, can be found <a href="https://trac.id.ethz.ch/projects/nagios_plugins/wiki/check_diskio" target="_blank">here</a></li>
<li>check cpu stats, can be found <a href="http://exchange.nagios.org/directory/Plugins/System-Metrics/CPU-Usage-and-Load/check_cpu_stats-2Esh/details" target="_blank">here</a></li>
<li>check_libvirt, developed by <a href="http://www.op5.com" target="_blank">op5</a> and an <a href="http://www.op5.com/how-to/how-to-monitor-kvm-installation/" target="_blank">Howto </a></li>
</ul>
<p>However it seems like that though my virtual systems did more or less nothing they caused alot of disk I/O on the physical system.</p>
<p>I did some investigations and read quite many articles, fiddled and tested. The following is what worked for me in my setup.</p>
<h4>#1 Change disk scheduler</h4>
<p>The disk scheduler can be changed on runtime by modify the file:</p>
<pre>/sys/block/sda/queue/scheduler</pre>
<p>to see what scheduler you use now:</p>
<pre>cat /sys/block/sda/queue/scheduler</pre>
<p>Change sda to the device you have.</p>
<p>The scheduler that worked best for me is deadline</p>
<pre>echo deadline &gt; /sys/block/sda/queue/scheduler</pre>
<p>&nbsp;</p>
<h4>#2 Mount with noatime</h4>
<p>A feature in Unix and other Unixlike systems like Linux is that it normaly stores when a file is accessed. So one read always produce a write and if you are using raid like morroring this get worse, one reade always generate several writes. This creates alot of overhead for a feature soldom used.</p>
<p>So change /etc/fstab so it will mount the file systems with noatime.<br />
	An axample:</p>
<pre>UUID=a290aa4b-635c-45fa-b144-1fbef90b3735 /                       ext4    defaults,noatime        1 1</pre>
<p>&nbsp;</p>
<h4>#3 Preallocation disk images</h4>
<p>A real boost that is hidden in the featureset and not shown in the virtualmachine gui is using preallocation disk images. They cannot be created from the GUI so I install the virtual machine, turn it of and convert it afterwards.</p>
<pre>qemu-img convert -f qcow2 -O qcow2 -o preallocation=metadata &lt;virtualhost&gt;.img.qcow2 &lt;virtualhost&gt;.img.preallc.qcow2</pre>
<p>Change the path to new image name by editing the virtual machine settings</p>
<pre>virsh edit &lt;virtualhost&gt;</pre>
<p>&nbsp;</p>
<h2>Conclusions</h2>
<p>In my opinion it seems like KVM is still a little bit immature or at least the tools to handle it. Maybe it would be a good idea to have one linux distro focusing on beeing the best platform for virtualization.</p>
<p>I am convinced that I can get even more bang for the bucks out of my installation if I learn how to tweak it even more, so if you have any hints, do not hesitate to contact me. Preferably as a comment to this blogpost.</p>
<p>&nbsp;</p>
<h2>Referenses:</h2>
<ul>
<li><a href="http://www.op5.com/network-monitoring/op5-monitor/" target="_blank">op5 Monitor</a>, a nagios based enterprise monitor tool to monitor my environment</li>
<li><a href="http://www.op5.com/how-to/how-to-monitor-kvm-installation/" target="_blank">check_libvirt</a>, a nagios plugin done by op5 to monitor KVM</li>
<li><a href="https://trac.id.ethz.ch/projects/nagios_plugins/wiki/check_diskio" target="_blank">check_diskio</a>, a nagios plugin to monitor disk I/O</li>
<li><a href="http://exchange.nagios.org/directory/Plugins/System-Metrics/CPU-Usage-and-Load/check_cpu_stats-2Esh/details" target="_blank">check_cpu_stats</a>, a nagios plugin to monitor cpu usage rather detailed</li>
<li>Another <a href="http://itscblog.tamu.edu/improve-disk-io-performance-in-kvm/" target="_blank">blogpost</a> which helped me</li>
<li><a href="http://www.google.se/url?sa=t&amp;rct=j&amp;q=redhat%206%20kvm%20howto&amp;source=web&amp;cd=6&amp;ved=0CE0QFjAF&amp;url=http%3A%2F%2Fwww.redhat.com%2Fsummit%2F2011%2Fpresentations%2Fsummit%2Fdecoding_the_code%2Fwednesday%2Fwagner_w_420_kvm_performance_improvements_and_optimizations.pdf&amp;ei=qzT-TtvGBsyB4AS8xNmkDg&amp;usg=AFQjCNEK6OMSA4WtSs7NYj6n-jsmauwcnw&amp;cad=rja" target="_blank">KVM performance improvements and optimizations</a> &#8211; Red Hat presentation</li>
</ul>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2012%2F01%2F01%2Fkvm-virtualization-some-best-practice%2F&amp;title=KVM%20virtualization%2C%20some%20best%20practice%2C%20part%201" id="wpa2a_4"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2012/01/01/kvm-virtualization-some-best-practice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hurray, CentOS 6 is released</title>
		<link>http://www.it-slav.net/blogs/2011/07/13/hurray-centos-6-is-released/</link>
		<comments>http://www.it-slav.net/blogs/2011/07/13/hurray-centos-6-is-released/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 11:50:44 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[centos]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=2084</guid>
		<description><![CDATA[After a long wait CentOS 6 is here. Before installing, read the release notes]]></description>
			<content:encoded><![CDATA[<p>After a long wait CentOS 6 is <a href="http://centos.org/">here.</a></p>
<p>Before installing, read the <a href="http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.0">release notes</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2011%2F07%2F13%2Fhurray-centos-6-is-released%2F&amp;title=Hurray%2C%20CentOS%206%20is%20released" id="wpa2a_6"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2011/07/13/hurray-centos-6-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitor HP Proliant with Nagios or Op5 Monitor</title>
		<link>http://www.it-slav.net/blogs/2010/03/02/monitor-hp-proliant-with-nagios-or-op5-monitor/</link>
		<comments>http://www.it-slav.net/blogs/2010/03/02/monitor-hp-proliant-with-nagios-or-op5-monitor/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 20:38:52 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[centos]]></category>
		<category><![CDATA[Cool things]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Geek stuff]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[op5 Monitor]]></category>
		<category><![CDATA[HP SIM]]></category>
		<category><![CDATA[Insight Manager]]></category>
		<category><![CDATA[SIM]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=1644</guid>
		<description><![CDATA[&#160; Background It is always a good idea to monitor the server hardware, in many cases the root cause of the probblem is hardware related like: a fan stops and the temperature gets to high, dust in the machine makes it to hot, disks that fails, memory corruption and so on.&#160; This article will describe [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<h2>Background</h2>
<p>It is always a good idea to monitor the server hardware, in many cases the root cause of the probblem is hardware related like: a fan stops and the temperature gets to high, dust in the machine makes it to hot, disks that fails, memory corruption and so on.&nbsp; This article will describe howto enable hardware monitoring on a HP&nbsp;Proliant running CentOS Linux and then howto collect the data with Nagios or op5 Monitor. The procedure is the same with RedHat Enterprise Linux and similiar with Suse Enterprise server.</p>
<p>The HP&nbsp;manuals and information is bloated with irrelevant information and I&nbsp;had to struggle several hours, ask collegues to get it running. I&nbsp;hope this blog article will help others to get monitoring of HP Proliant using HP Insight Manager easier to setup.</p>
<h2>&nbsp;<span id="more-1644"></span></h2>
<p>&nbsp;</p>
<h2>Installing the software on the target system</h2>
<p>You need two packages from HP and can be downloaded from <a href="http://www.hp.com">hp.com</a> under &quot;Support &amp; Drivers&quot;. Search your hardware plattform and correct operating system:</p>
<ul>
<li>ProLiant Support Pack for Red Hat Enterprise Linux 5 (i686)&nbsp; The latest Proliant Support Package 2010-03-02 name is psp-8.25.rhel5.i686.en.tar.gz</li>
<li>HP System Health Application and Insight Management Agents for Red Hat Enterprise Linux 5 (x86). The latest name is hpasm-8.0.0-173.rhel5.i386.rpm</li>
</ul>
<p>&nbsp;</p>
<p>Install kernel source code and rpm tools:</p>
<pre>
# yum install kernel-devel rpm-build rpm-devel
 </pre>
<p>&nbsp;</p>
<p>Proliant Support Package is not supported on CentOS so you have to let the installer think it is a RedHat system. If you have a RHEL&nbsp;system skip the next steps.</p>
<pre>
# cp /etc/redhat-release /etc/redhat-release.backup

# echo &quot;Red Hat Enterprise Linux Server release 5.4 (Tikanga)&quot;&gt;/etc/redhat-release</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Untar the Proliant Support Package</p>
<pre>
 # tar xzvf psp-8.25.rhel5.i686.en.tar.gz</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Install the  Proliant Support Package</p>
<pre>
# cd compaq/csp/linux/

# ./install825.sh</pre>
<p>alot of text appears and some questions, answer them.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Install HP System Health Application and Insight Management Agents, and for some stupid reason it is in conflict with some other packages just installed. I solved it in a dirty way:</p>
<pre>
# rpm -i --force  --replacefiles --nodeps hpasm-8.0.0-173.rhel5.i386.rpm</pre>
<p>Configure by running:</p>
<pre>
# hpa/etc/init.d/hpasm configure</pre>
<p>and answer the questions.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Do not forget to restore /etc/redhat-release</p>
<pre>
# cp /etc/redhat-release.backup /etc/redhat-release</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>I&nbsp;did modify my /etc/snmp/snmp.conf to:</p>
<pre>
dlmod cmaX /usr/lib/libcmaX.so
rocommunity public
trapsink 10.1.1.20
syscontact peter@it-slav.net
syslocation PDC, Peters DataCenter</pre>
<p>&nbsp;</p>
<p>To test that you have installation and configuration work, run a snmpwalk from your Nagios or op5 Monitor host:</p>
<pre>
# snmpwalk -c public -v1  &lt;ip-adress of your proliant box&gt; 1.3.6.1.4.1.232

SNMPv2-SMI::enterprises.232.1.1.1.0 = INTEGER: 1
SNMPv2-SMI::enterprises.232.1.1.2.0 = INTEGER: 23
SNMPv2-SMI::enterprises.232.1.1.3.0 = INTEGER: 2
SNMPv2-SMI::enterprises.232.1.2.1.4.1.0 = INTEGER: 30
SNMPv2-SMI::enterprises.232.1.2.1.4.2.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.232.1.2.1.4.2.1.2.1 = STRING: &quot;Compaq Standard Equipment Agent for Linux&quot;
SNMPv2-SMI::enterprises.232.1.2.1.4.2.1.3.1 = &quot;&quot;
SNMPv2-SMI::enterprises.232.1.2.1.4.2.1.4.1 = Hex-STRING: 00 00 00 00 00 00 00
SNMPv2-SMI::enterprises.232.1.2.1.4.2.1.5.1 = STRING: &quot;To gather Standard Equipment data for Linux.&quot;

...
 </pre>
<h2>&nbsp;</h2>
<h2>Install check_hpasm on the Nagios or op5 Monitor host</h2>
<p>The <a href="http://labs.consol.de/lang/en/nagios/check_hpasm/">check_hpasm</a> can be downloaded from <a href="http://labs.consol.de/">Console Labs</a>.</p>
<p>Unpack the tarball</p>
<pre>
# tar xzvf check_hpasm-4.1.2.tar.gz</pre>
<p>&nbsp;</p>
<pre>
Configure and compile

# ./configure --prefix=/opt/plugins/custom/hp-insight --with-nagios-user=monitor --with-nagios-group=users --enable-perfdata

...

# make

...

# make install</pre>
<p>&nbsp;</p>
<p>Test</p>
<pre>
# /opt/plugins/custom/hp-insight/libexec/check_hpasm -H  -C public

OK - System: 'proliant dl360 g3', S/N: '7J31LMW6N01D', ROM: 'P31 01/28/2004', hardware working fine, da: 1 logical drives, 1 physical drives | fan_1=50% fan_2=50% temp_1_cpu=16;50;50 temp_2_cpu=15;65;65 temp_3_ioBoard=21;56;56 temp_4_cpu=20;65;65
</pre>
<p>Congratulations your plugin and hw monitoring works!</p>
<p>&nbsp;</p>
<h2>Configure Nagios or op5 Monitor<br />
&nbsp;</h2>
<p>checkcommands.cfg</p>
<pre>
# command 'check_hpasm'
define command{
    command_name                   check_hpasm
    command_line                   $USER1$/custom/libexec/check_hpasm -H $HOSTADDRESS$ -C $ARG1$
    }</pre>
<p>&nbsp;</p>
<p>services.cfg</p>
<pre>
# service 'Insight Manager'
define service{
    use                            default-service
    host_name                      humpa
    service_description            Insight Manager
    check_command                  check_hpasm!public
    contact_groups                 call_it-slav,it-slav_jabber,it-slav_mail
    }</pre>
<h2>&nbsp;</h2>
<p>Screenshoot, using ninja</p>
<p><a href="http://www.it-slav.net/blogs/wp-content/uploads/2010/03/hpinsightmgr.png"><img width="1242" height="182" src="http://www.it-slav.net/blogs/wp-content/uploads/2010/03/hpinsightmgr.png" alt="" title="hpinsightmgr" class="aligncenter size-full wp-image-1658" /></a></p>
<p>&nbsp;</p>
<h2>&nbsp;Useful links</h2>
<ul>
<li><a href="http://www.op5.com">op5</a>, a systems and network management company</li>
<li><a href="http://www.op5.com/op5/products/network-monitor">op5 Monitor</a>, an enterpise monitor system based on Nagios</li>
<li><a href="http://www.op5.org/community/projects/ninja">Ninja</a>, Nagios is now just awesome</li>
<li><a href="http://www.nagios.org">Nagios</a>, enterprise monitoring based on opensource</li>
<li><a href="http://welcome.hp.com/country/us/en/support.html">Hp support &amp; drivers</a>, a place to start looking for the HP software used in this article</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2010%2F03%2F02%2Fmonitor-hp-proliant-with-nagios-or-op5-monitor%2F&amp;title=Monitor%20HP%20Proliant%20with%20Nagios%20or%20Op5%20Monitor" id="wpa2a_8"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2010/03/02/monitor-hp-proliant-with-nagios-or-op5-monitor/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mail problems at it-slav.net</title>
		<link>http://www.it-slav.net/blogs/2008/11/30/mail-problems-at-it-slavnet/</link>
		<comments>http://www.it-slav.net/blogs/2008/11/30/mail-problems-at-it-slavnet/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 00:52:44 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[centos]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[it-slav.net]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=450</guid>
		<description><![CDATA[I have noticed the last 2 days that I did not receive as many mails as I usually do. The whole family has been ill the last couple of days so I did not spend any time troubleshoot that. But today I noticed that I&#8217;ve only got 1 mail so something must be wrong. I [...]]]></description>
			<content:encoded><![CDATA[<p>I have noticed the last 2 days that I did not receive as many mails as I usually do. The whole family has been ill the last couple of days so I did not spend any time troubleshoot that.</p>
<p>But today I noticed that I&#8217;ve only got 1 mail so something must be wrong. I did send an email from my job to my private adress and got the email back with the following message:</p>
<pre><a class="moz-txt-link-rfc2396E" href="mailto:peter@it-slav.net">&lt;peter@it-slav.net&gt;</a>: cannot update mailbox /var/mail/peter for user peter.
    error writing message: File too large
</pre>
<p>After some troubleshooting I found the following in the postfix documentation:</p>
<dl>
<dt><strong><a name="mailbox_size_limit">mailbox_size_limit</a> (default: 51200000)</strong></dt>
<dd>
<p>The maximal size of any <a href="http://www.postfix.org/local.8.html">local(8)</a> individual mailbox or maildir file, or zero (no limit).  In fact, this limits the size of any file that is written to upon local delivery, including files written by external commands that are executed by the <a href="http://www.postfix.org/local.8.html">local(8)</a> delivery agent.</p>
<p>This limit must not be smaller than the message size limit.</p>
</dd>
</dl>
<p class="moz-text-plain" style="font-family: -moz-fixed; font-size: 12px;" lang="x-western"> </p>
<p>So I changed the mailbox_size_limit = 0 and now everything seems alright again.</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2008%2F11%2F30%2Fmail-problems-at-it-slavnet%2F&amp;title=Mail%20problems%20at%20it-slav.net" id="wpa2a_10"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2008/11/30/mail-problems-at-it-slavnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install and configure SNMP on RHEL or CentOS</title>
		<link>http://www.it-slav.net/blogs/2008/11/11/install-and-configure-snmp-on-rhel-or-centos/</link>
		<comments>http://www.it-slav.net/blogs/2008/11/11/install-and-configure-snmp-on-rhel-or-centos/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 06:59:17 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[centos]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Hints]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=250</guid>
		<description><![CDATA[This guide describe howto install and do a basic configure of SNMP on a RedHat Enterprise Linux or CentOS. Probably it will work on many other *nix systems. 1. Installation Run command yum install net-snmp-utils [root@dull etc]# yum install net-snmp-utils Loading &#34;fastestmirror&#34; plugin Loading &#34;dellsysidplugin&#34; plugin ... ... Dependencies Resolved ============================================================================= Package Arch Version Repository [...]]]></description>
			<content:encoded><![CDATA[<p>This guide describe howto install and do a basic configure of SNMP on a RedHat Enterprise Linux or CentOS. Probably it will work on many other *nix systems.</p>
<h2>1. Installation</h2>
<p>Run command yum install net-snmp-utils</p>
<pre>
[root@dull etc]# yum install net-snmp-utils
Loading &quot;fastestmirror&quot; plugin
Loading &quot;dellsysidplugin&quot; plugin
...
...
Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 net-snmp-utils          i386       1:5.3.1-24.el5_2.2  updates           182 k
Installing for dependencies:
 net-snmp                i386       1:5.3.1-24.el5_2.2  updates           698 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 879 k
Is this ok [y/N]: y
</pre>
<p>Answer y</p>
<p>Downloading Packages:</p>
<pre>
<pre>
(1/2): net-snmp-utils-5.3 100% |=========================| 182 kB    00:02
(2/2): net-snmp-5.3.1-24. 100% |=========================| 698 kB    00:06
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
 Installing: net-snmp                     ######################### [1/2]
  Installing: net-snmp-utils               ######################### [2/2]
Installed: net-snmp-utils.i386 1:5.3.1-24.el5_2.2
Dependency Installed: net-snmp.i386 1:5.3.1-24.el5_2.2
Complete!
</pre>
</pre>
<p>Now it is installed</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>2. Configure</h2>
<p>I&#8217;m careful so I do a backup of the snmpd config file.</p>
<pre>
[root@dull ~]# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.org </pre>
<p>Create a new config file.</p>
<pre>
[root@dull ~]# vi /etc/snmp/snmpd.conf</pre>
<pre>
rocommunity  public
syslocation  &quot;PDC, Peters DataCenter&quot;
syscontact  peter@it-slav.net</pre>
<p>Start the snmpd service</p>
<pre>
[root@dull ~]# /etc/init.d/snmpd start</pre>
<p>Do a snmpwalk to make sure it is working</p>
<pre>
[root@dull ~]# snmpwalk -v 1 -c public -O e 127.0.0.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux dull 2.6.18-92.1.17.el5 #1 SMP Tue Nov 4 13:45:01 EST 2008 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (16748) 0:02:47.48
SNMPv2-MIB::sysContact.0 = STRING: peter@it-slav.net
SNMPv2-MIB::sysName.0 = STRING: dull
SNMPv2-MIB::sysLocation.0 = STRING: &quot;PDC, Peters DataCentral&quot;
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01
...</pre>
<pre>
...</pre>
<p>Yes, it is working</p>
<p>And finally, make sure snmpd starts next time you restart your machine.</p>
<pre>
[root@dull ~]# chkconfig snmpd on
</pre>
<p>&nbsp;</p>
<h2>3. Monitor example</h2>
<p>Below is an example of how it looks using <a href="http://www.op5.com/op5/products/network-monitor">op5 Monitor</a> a Nagios based Enterprise Monitor solution.</p>
<p><a href="http://www.it-slav.net/blogs/wp-content/uploads/2009/02/optimussnmp-eth0.png"><img width="602" height="192" class="aligncenter size-full wp-image-1683" title="optimussnmp-eth0" alt="" src="http://www.it-slav.net/blogs/wp-content/uploads/2009/02/optimussnmp-eth0.png" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>4. Useful links</h2>
<ul>
<li><a href="http://www.op5.com/op5/products/network-statistics">op5 Statistics</a>, a cacti based graph tool</li>
<li><a href="http://www.op5.com/op5/products/network-monitor">op5 Monitor</a>, an Enterprise Class Monitoring system based on Nagios</li>
<li><a href="http://www.net-snmp.org">Net-SNMP</a>, an open source implementation of SNMP</li>
<li><a href="http://www.cacti.net/">Cacti</a>, an open source graph tool</li>
<li><a href="http://www.nagios.org">Nagios</a>, the number 1 monitor tool</li>
</ul>
<p>&nbsp;</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2008%2F11%2F11%2Finstall-and-configure-snmp-on-rhel-or-centos%2F&amp;title=Install%20and%20configure%20SNMP%20on%20RHEL%20or%20CentOS" id="wpa2a_12"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2008/11/11/install-and-configure-snmp-on-rhel-or-centos/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>check_mounts plugin for op5 Monitor or Nagios</title>
		<link>http://www.it-slav.net/blogs/2008/11/07/check_mounts-plugin-for-op5-monitor-or-nagios/</link>
		<comments>http://www.it-slav.net/blogs/2008/11/07/check_mounts-plugin-for-op5-monitor-or-nagios/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 20:16:17 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Nagios]]></category>
		<category><![CDATA[op5 Monitor]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[xfs]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=184</guid>
		<description><![CDATA[When I updated my CentOS system and could not mount XFS file system and my op5 Monitor did not react. I even run check_disk on these mount points but op5 Monitor did not tell me that anything was wrong. So when I managed to get the system to boot and my monitoring system tell me [...]]]></description>
			<content:encoded><![CDATA[<p>When I updated my CentOS system and could not mount XFS file system and my op5 Monitor did not react. I even run check_disk on these mount points but op5 Monitor did not tell me that anything was wrong. So when I managed to get the system to boot and my monitoring system tell me everything was alright I went to bed.<br />
When I checked my email this morning I noticed that my backup script had failed and complained &#8220;file does not exist&#8221; and so on. I investigated this and found that my XFS file system was not mounted because of the missing XFS kernel module. I also looked in to why my monitor system has not warned me and figured out that check_disk check the file system you point it to and if that is not mounted it will take the parent and the thresholds for that was not reached.<br />
After taken a look at http://www.nagiosexchange.org and found a ruby script that probably would do the job. But I do not want to install ruby on all my monitored systems, so I decided to write my own. It is written in bash and works on CentOS, and probably on most *nix systems.</p>
<p>The script looks in /etc/fstab and compares it with the file systems mounted. If anything is missing, return CRITICAL and the name of the missed mountpoint. The script does not check that some system file systems are mounted i.e. /proc</p>
<p>I have uploaded this script to nagios exchange.</p>
<pre>#!/bin/sh
#By peter@it-slav.net
#GPLv2

RESULT=0
TMPFILE=`mktemp /tmp/mount.XXXXXXXXXX`
FSTABMOUNTS=`grep -e '^#' -v /etc/fstab|grep -v  tmpfs |grep -v devpts|grep -v sysfs|grep -v proc|grep -v swap| awk '{print $2}'`
for i in $FSTABMOUNTS
do
        mountpoint $i &gt; /dev/null
        if [ $? != "0" ]
        then
                echo -n "$i " &gt;&gt;$TMPFILE
                RESULT=2
        fi

done
#echo $RESULT
if [ $RESULT != "0" ]
then
        echo "is not mounted" &gt;&gt; $TMPFILE
        echo -n "CRITICAL: "
        cat $TMPFILE
else
        echo "OK: All disks mounted"
fi
rm $TMPFILE
exit $RESULT</pre>
<p>Links:</p>
<ul>
<li><a href="http://www.nagiosexchange.org/cgi-bin/page.cgi?g=Detailed%2F2792.html;d=1" target="_blank">check_mounts.sh</a> at <a href="http://www.nagiosexchange.org" target="_blank">Nagiosexchange</a></li>
<li><a href="http://www.op5.com/op5/products/monitor" target="_blank">op5 Monitor </a></li>
<li>My <a href="http://www.it-slav.net/blogs/?p=179" target="_blank">other</a> blog about the problems when I did a kernel upgrade</li>
</ul>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2008%2F11%2F07%2Fcheck_mounts-plugin-for-op5-monitor-or-nagios%2F&amp;title=check_mounts%20plugin%20for%20op5%20Monitor%20or%20Nagios" id="wpa2a_14"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2008/11/07/check_mounts-plugin-for-op5-monitor-or-nagios/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CentOS Kernel upgrade failed</title>
		<link>http://www.it-slav.net/blogs/2008/11/07/centos-kernel-upgrade-failed/</link>
		<comments>http://www.it-slav.net/blogs/2008/11/07/centos-kernel-upgrade-failed/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 07:57:30 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[centos]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[xen]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.it-slav.net/blogs/?p=179</guid>
		<description><![CDATA[Yesterday new CentOS kernels was released and could be updated with yum update. I did that on 3 systems and none of them worked afterwards. The first system is the machine that runs this blog. It runs Xen kernel with two virtual system.Luckily the webserver and database runs in Dom0. After update the system did [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday new CentOS kernels was released and could be updated with yum update. I did that on 3 systems and none of them worked afterwards.</p>
<p>The first system is the machine that runs this blog. It runs Xen kernel with two virtual system.Luckily the webserver and database runs in Dom0. After update the system did not start, it seems like the Xen kernel is broken, so now I run non-Xen kernel.</p>
<p>The second system is my op5 Monitor system that monitor my environment. That changed the default kernel to Xen and that was broken, after chenged boot kernel to the non-Xen it works again.</p>
<p>The third machine is my fileserver, with a couple of disks. Two of the filesystems are XFS, and the new kernel did not have support for XFS so my large file systems could not be mounted. So I started the old kernel with XFS support.</p>
<p><strong>This is not an acceptable behavior of an enteprise operating system.</strong></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.it-slav.net%2Fblogs%2F2008%2F11%2F07%2Fcentos-kernel-upgrade-failed%2F&amp;title=CentOS%20Kernel%20upgrade%20failed" id="wpa2a_16"><img src="http://www.it-slav.net/blogs/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.it-slav.net/blogs/2008/11/07/centos-kernel-upgrade-failed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

