<?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>GRMTECH Blog &#187; Technical</title>
	<atom:link href="http://www.grmtech.com/blog/topics/technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.grmtech.com/blog</link>
	<description>Innovative Minds at Work</description>
	<lastBuildDate>Tue, 17 Aug 2010 08:53:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sysadmin Department At A Glance</title>
		<link>http://www.grmtech.com/blog/sysadmin-department-at-a-glance/</link>
		<comments>http://www.grmtech.com/blog/sysadmin-department-at-a-glance/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 23:31:11 +0000</pubDate>
		<dc:creator>Raja Gupta</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=1013</guid>
		<description><![CDATA[Introducing&#8230;
The new monitoring system in the Sys Admin Department. Four consecutive monitors with the advance monitoring tools are fully loaded to provide the best monitoring service to the tech team. The monitoring system includes-
1. Smokeping Network Analyzer tool that monitors the VOIP Phones, Workstations, Network Switches and the Internet Sharing Servers and represent the analysis [...]]]></description>
			<content:encoded><![CDATA[
<a href='http://www.grmtech.com/blog/sysadmin-department-at-a-glance/img_3904/' title='The new sysadmin monitoring system 1'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/10/img_3904-150x150.jpg" class="attachment-thumbnail" alt="" title="The new sysadmin monitoring system 1" /></a>
<a href='http://www.grmtech.com/blog/sysadmin-department-at-a-glance/img_3909/' title='img_3909'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/10/img_3909-150x150.jpg" class="attachment-thumbnail" alt="" title="img_3909" /></a>

<p>Introducing&#8230;</p>
<p>The new monitoring system in the Sys Admin Department. Four consecutive monitors with the advance monitoring tools are fully loaded to provide the best monitoring service to the tech team. The monitoring system includes-</p>
<p>1. Smokeping Network Analyzer tool that monitors the VOIP Phones, Workstations, Network Switches and the Internet Sharing Servers and represent the analysis graph.</p>
<p>2. Realtime monitoring graph that reflects the internet connectivity and consumption of all the ISS.</p>
<p>3. Realtime Call Monitor that shows the number of incoming live calls along with the Agent as well as Group Statistics and</p>
<p>4.  Finally the Zabbix  Monitor that   keeps an eye at the whole galaxy of servers and websites of our company all the time and informs the current status of the clients connected to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/sysadmin-department-at-a-glance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manually start asterisk using asterisk user</title>
		<link>http://www.grmtech.com/blog/manually-start-asterisk-using-asterisk-user/</link>
		<comments>http://www.grmtech.com/blog/manually-start-asterisk-using-asterisk-user/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 12:35:09 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[asterisk]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=1004</guid>
		<description><![CDATA[Generally we configure asterisk to auto run on system start up. There may be situations when we may be required to run asterisk manually like when asterisk is overloaded or when asterisk is down for some maintenance. 
If so happens, always start asterisk from asterisk user:-

#su asterisk
#asterisk 
We should not use any custom user and [...]]]></description>
			<content:encoded><![CDATA[<p>Generally we configure asterisk to auto run on system start up. There may be situations when we may be required to run asterisk manually like when asterisk is overloaded or when asterisk is down for some maintenance. </p>
<p>If so happens, always start asterisk from asterisk user:-</p>
<p><code><br />
#su asterisk<br />
#asterisk </code></p>
<p>We should not use any custom user and of course not &#8220;root&#8221; user. If we start asterisk as any non-asterisk user, various functionalities may be affected like our custom applications may not get permissions to execute asteisk cli commands. </p>
<p>For ex. If we run asterisk as root, then php apps running via apache, when execute asterisk cli commands, get following error:-<br />
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)</p>
<p>Run this command<br />
<code>#ls -l /var/run/asterisk/asterisk.ctl<br />
srwxr-xr-x 1 root root 0 Aug  3 04:55 /var/run/asterisk/asterisk.ctl</code></p>
<p>As shown in the above result, non root users have no write permission.</p>
<p>Hence stop the asterisk using following command:-<br />
<code>#asterisk -rx "stop gracefully"</code><br />
When asterisk will stop, use above mentioned process of starting asterisk as asterisk user.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/manually-start-asterisk-using-asterisk-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A brief intro to SVN</title>
		<link>http://www.grmtech.com/blog/svn/</link>
		<comments>http://www.grmtech.com/blog/svn/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 09:12:14 +0000</pubDate>
		<dc:creator>shyama</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[GRMTECH]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=629</guid>
		<description><![CDATA[SVN is acronym as Subversion, a version control system. It lets several developers work on the same project at once without worrying about overwriting each other&#8217;s changes, and keeps track of previous versions of files. It is used to maintain the revisions of files such as source code, web pages and documentation. It is commonly [...]]]></description>
			<content:encoded><![CDATA[<p><strong>SVN</strong> is acronym as Subversion, a version control system. It lets several developers work on the same project at once without worrying about overwriting each other&#8217;s changes, and keeps track of previous versions of files. It is used to maintain the revisions of files such as source code, web pages and documentation. It is commonly used in many open source projects. The version control system puts all versions of a file in a place called <strong>repository</strong>. Source control tools track all prior versions of all files, allowing developers to &#8220;time travel&#8221; backward and forward in their software to determine when and where bugs are introduced. If a mistake is made, files can be rolled back to previous version. Subversion was started in 2000 as an effort to write a free version control system.</p>
<p>Subversion is designed to replace the commonly used CVS (Concurrent Versions System). The biggest change between CVS and Subversion is that Subversion versions the entire repository, instead of individual files.</p>
<p>Subversion offers two types of repository storage — <strong>Berkeley DB</strong> and <strong>FSFS</strong></p>
<p><strong>Berkeley DB</strong> &#8211; It is a very reliable database system. SVN uses Berkeley DB logging facilities, which means that the database first writes to on-disk log files a description of any modifications it is about to make, and then makes the modification itself. This is to ensure that if anything goes wrong, the database system can back up to a previous checkpoint—a location in the log files known not to be corrupt—and replay transactions until the data is restored to a usable state. But it has some limitations. First, Berkeley DB environments are not portable. We cannot simply copy a Subversion repository that was created on a UNIX system onto a Windows system and expect it to work.</p>
<p><strong>FSFS</strong> &#8211; In mid 2004 FSFS (Fast Secure File System) repository came into being. FSFS works faster on directories with a large number of files and takes less disk space. An FSFS repository stores a revision tree in a single file. This storage format is portable across different operating systems and isn&#8217;t sensitive to CPU architecture. Transactions are created in separate sub directories. When complete, a single transaction file is created and moved to the revisions directory.</p>
<p>Basic SVN commands are:-</p>
<p><strong>svn help</strong><br />
This will make svn list all the available functions.</p>
<p><strong>svn co/checkout &lt;Source repository path&gt; &lt;Destination path&gt;</strong><br />
This command is used to pull an SVN tree from the server. If the directory structure is changed then it may occasionally need to delete the local copy and re-check it out.</p>
<p><strong>svn st/status</strong><br />
Checks the status of the working copy.</p>
<p>&#8216;<strong>?</strong>&#8216; Item is not under version control.<br />
&#8216;<strong>A</strong>&#8216; Item is scheduled for Addition.<br />
&#8216;<strong>D</strong>&#8216; Item is scheduled for Deletion.<br />
&#8216;<strong>M</strong>&#8216; Item has been modified.<br />
&#8216;<strong>C</strong>&#8216; Item is in conflict with updates received from the repository.<br />
&#8216;<strong>I</strong>&#8216; Item is being ignored (e.g. with the svn:ignore property).<br />
&#8216;<strong>!</strong>&#8216; Item is missing (e.g. someone has moved or deleted it without using svn). This also indicates that a directory is incomplete (a checkout or update was interrupted).<br />
&#8216;<strong>L</strong>&#8216; Item is locked.<br />
&#8216;<strong>~</strong>&#8216; Item is versioned as a directory, but has been replaced by a file, or vice versa.</p>
<p><strong>svn add &lt;filename|folder&gt;</strong><br />
Add files, directories to the working copy and schedule them for addition to the repository. They will be added to the repository on next commit.</p>
<p><strong>svn diff &lt;filename&gt;</strong><br />
Shows the difference of all modifications to file.</p>
<p><strong>svn revert &lt;filename&gt;</strong><br />
Reverts back to the previous version and discard all modifications made in file.</p>
<p><strong>svn ci/commit &lt;filename|folder&gt; -m &#8220;Comment: Commit message here&#8221;</strong><br />
Commit the changes made in file to the repository with new version.</p>
<p><strong>svn up/update &lt;filename&gt;</strong><br />
Bring the current up-to-date working copy to the repository.</p>
<p><strong>svn delete &lt;filename|folder&gt;</strong><br />
Delete files, directories from working copy and schedule them for deletion to the repository. They will be deleted from repository on next commit.</p>
<p><strong>svn cleanup</strong><br />
Cleanup subversion files resulting from escaped processes and crashed. Recursively clean up the working copy.</p>
<p><strong>svn info &lt;filename&gt;</strong><br />
Display information about file or directory. (Date modified, author, revision, path in repository.)</p>
<p><strong>svn mkdir &lt;folder&gt;</strong><br />
Create a new directory under version control.</p>
<p><strong>svn mv/move &lt;folder1&gt; &lt;folder2&gt;</strong><br />
<strong>svn mv/move &lt;file-old-name&gt; &lt;file-new-name&gt;</strong><br />
Rename or move a file or directory. Moves/renames file/directory in repository and in local work area.</p>
<p><span style="font-size: x-small;"><span style="font-family: Verdana;"><img class="alignnone size-full wp-image-630" src="http://www.grmtech.com/blog/wp-content/uploads/2009/02/svncycle1.png" alt="svncycle1" width="540" height="405" /></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zabbix configuration at CO office of Grmtech</title>
		<link>http://www.grmtech.com/blog/zabbix-configuration-at-co-office-of-grmtech/</link>
		<comments>http://www.grmtech.com/blog/zabbix-configuration-at-co-office-of-grmtech/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 16:09:15 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=522</guid>
		<description><![CDATA[Zabbix is a distributed monitoring solution to monitor servers and applications of an enterprise.
Following are the steps of configuration of Zabbix Server at Grmtech&#8217;s CO office monitoring server:-
1. Download zabbix source files.
cd /usr/src/
wget http://downloads.sourceforge.net/zabbix/zabbix-1.6.2.tar.gz?modtime=1232112875&#38;big_mirror=0
tar -xzf /usr/src/zabbix-1.6.2.tar.gz -C /gt/fsrvthis/
2. Create zabbix database and import the database structure, default templates and other database configurations provided with zabbix [...]]]></description>
			<content:encoded><![CDATA[<p>Zabbix is a distributed monitoring solution to monitor servers and applications of an enterprise.</p>
<p><strong>Following are the steps of configuration of Zabbix Server at Grmtech&#8217;s CO office monitoring server:-</strong><br />
1. Download zabbix source files.</p>
<blockquote><p>cd /usr/src/<br />
wget http://downloads.sourceforge.net/zabbix/zabbix-1.6.2.tar.gz?modtime=1232112875&amp;big_mirror=0<br />
tar -xzf /usr/src/zabbix-1.6.2.tar.gz -C /gt/fsrvthis/</p></blockquote>
<p>2. Create zabbix database and import the database structure, default templates and other database configurations provided with zabbix source.</p>
<blockquote><p>mysql -u root -p<br />
create database zabbix;<br />
quit<br />
cd /gt/fsrvthis/zabbix-1.6.2/create/schema/<br />
mysql -u root &#8211;force zabbix &#8211;password=passwd &lt;mysql.sql<br />
cd /gt/fsrvthis/zabbix-1.6.2/create/data<br />
mysql -u root &#8211;force zabbix &#8211;password=passwd &lt; data.sql<br />
mysql -u root &#8211;force zabbix &#8211;password=passwd &lt; images_mysql.sql</p></blockquote>
<p>3. Compile and build zabbix source files.</p>
<blockquote><p>cd /gt/fsrvthis/zabbix-1.6.2/<br />
./configure &#8211;enable-server &#8211;enable-agent &#8211;with-mysql &#8211;with-net-snmp &#8211;with-libcurl<br />
make install</p></blockquote>
<p>4. Configure zabbix server and agent settings</p>
<blockquote><p>mkdir /etc/zabbix<br />
cp /gt/fsrvthis/zabbix-1.6.2/misc/conf/zabbix_server.conf<br />
/etc/zabbix/<br />
Set DBPassword=passwd in /etc/zabbix/zabbix_server.conf<br />
cp /gt/fsrvthis/zabbix-1.6.2/misc/conf/zabbix_agentd.conf /etc/zabbix/</p></blockquote>
<p>5. Create zabbix group and zabbix user. Set zabbix to run under zabbix user and zabbix group.</p>
<blockquote><p>groupadd zabbix<br />
useradd zabbix -g zabbix -s /sbin/nologin<br />
passwd zabbix<br />
chown zabbix:zabbix /usr/local/sbin/zabbix</p></blockquote>
<p>6.  Install Zabbix as a service</p>
<blockquote><p>cp /gt/fsrvthis/zabbix-1.6.2/misc/init.d/redhat/8.0/zabbix* /etc/init.d/<br />
chmod 755 /etc/init.d/zabbix*</p></blockquote>
<p>In /etc/init.d/zabbix_agentd file set progdir=&#8221;/usr/local/sbin/&#8221;<br />
In /etc/init.d/zabbix_server file set progdir=&#8221;/usr/local/sbin/&#8221;</p>
<p>7. Auto start the zabbix server and agent when server boots</p>
<blockquote><p>chkconfig –-add zabbix_agentd<br />
chkconfig –-add zabbix_server<br />
chkconfig –-level 3 zabbix_server on<br />
chkconfig –-level 3 zabbix_agentd on</p></blockquote>
<p>8. Start and check zabbix server</p>
<blockquote><p>service zabbix_server start<br />
cat /tmp/zabbix_server.log</p></blockquote>
<p>9. Do a simple test to see if the server is listening:</p>
<blockquote><p>telnet localhost 10051</p></blockquote>
<p>10. Start and check zabbix agentd</p>
<blockquote><p>service zabbix_agentd start<br />
cat /tmp/zabbix_agentd.log</p></blockquote>
<p>11. Configure php.ini settings</p>
<blockquote><p>max_execution_time = 300<br />
memory_limit = 256M<br />
date.timezone = America/Los_Angeles</p></blockquote>
<p>12. Restart httpd server</p>
<blockquote><p>service httpd restart</p></blockquote>
<p>13. Install the web interface zabbix server</p>
<blockquote><p>cp -r /gt/fsrvthis/zabbix-1.6.2/frontends/php/*    /var/www/html/</p></blockquote>
<p>14. Open the url http://zabbix_server_ip_address/ in a browser and follow the steps installation<br />
Edit and put the below given code in /var/www/html/conf/zabbix.conf.php</p>
<blockquote><p>&lt;?php<br />
global $DB;<br />
$DB["TYPE"]= &#8220;MYSQL&#8221;;<br />
$DB["SERVER"]= &#8220;localhost&#8221;;<br />
$DB["PORT"]= &#8220;0&#8243;;<br />
$DB["DATABASE"]= &#8220;zabbix&#8221;;<br />
$DB["USER"]= &#8220;root&#8221;;<br />
$DB["PASSWORD"]= &#8220;passwd&#8221;;<br />
$ZBX_SERVER= &#8220;localhost&#8221;;<br />
$ZBX_SERVER_PORT= &#8220;10051&#8243;;<br />
$IMAGE_FORMAT_DEFAULT= IMAGE_FORMAT_PNG;<br />
?&gt;</p></blockquote>
<p>15. Start zabbix server in distributed mode.</p>
<blockquote><p>cd /usr/local/sbin<br />
./zabbix_server -n 1</p></blockquote>
<p>16. Login to zabbix web interface and manage the zabbix server.</p>
<blockquote><p>Uid: Admin<br />
Pwd: zabbix</p></blockquote>
<p><span id="more-522"></span><!--more--><br />
<strong>Steps of configuring Zabbix agent at any machine to be monitored by Zabbix Server:-</strong></p>
<p>1. Download zabbix source files.</p>
<blockquote><p>cd /usr/src/<br />
wget http://downloads.sourceforge.net/zabbix/zabbix-1.6.2.tar.gz?modtime=1232112875&amp;big_mirror=0<br />
tar -xzf /usr/src/zabbix-1.6.2.tar.gz -C /gt/fsrvthis/</p></blockquote>
<p>2. Create zabbix group and zabbix user.</p>
<blockquote><p>groupadd zabbix<br />
useradd zabbix -g zabbix -s /sbin/nologin<br />
passwd zabbix</p></blockquote>
<p>3. Compile and build zabbix source files.</p>
<blockquote><p>cd /gt/fsrvthis/zabbix-1.6.2/<br />
./configure &#8211;enable-agent<br />
make install</p></blockquote>
<p>4. Add the following lines to /etc/services:</p>
<blockquote><p>zabbix_agent 10050/tcp<br />
zabbix_trap 10051/tcp</p></blockquote>
<p>5. Configure zabbix agent settings</p>
<blockquote><p>mkdir /etc/zabbix<br />
cp /gt/fsrvthis/zabbix-1.6.2/misc/conf/zabbix_agentd.conf /etc/zabbix/</p></blockquote>
<p>6. edit /etc/zabbix/zabbix_agentd.conf  and set Zabbix Server ipaddress and Zabbix server hostname. Both should resolve to each other.</p>
<p>7. Start zabbix agentd</p>
<blockquote><p>cd /usr/local/sbin/<br />
./zabbix_agentd</p></blockquote>
<p><!--more--><!--more--></p>
<p><strong>Helpful links:-</strong><br />
http://www.netadmintools.com/art526.html      #Full setup commands with sample command output<br />
http://www.zabbix.com/wiki/doku.php?id=howto:centosinstall<br />
http://www.zabbix.com/forum/showthread.php?t=8044 #Cut and Paste walkthrough of Zabbix installation on CentOS 5<br />
http://blog.brendon.com/wp-content/uploads/2008/11/install_zabbix.sh #Zabbix Install Script for CentOS 5 </p>
<p><!--more--><!--more--></p>
<p><strong>Notes:-</strong><br />
For ./configure &#8230;. command following may be helpful:-<br />
1)<br />
For &#8220;checking for main in -lcurl&#8230; no&#8221; error<br />
yum remove curl*<br />
yum remove libidn-devel-0.6.5-1.1<br />
yum install curl*<br />
yum install libidn-devel-0.6.5-1.1</p>
<p>2)For &#8220;error: Not found Curl library&#8221; or &#8220;curl-config not found&#8221;<br />
yum remove curl*<br />
yum install curl*</p>
<p>3)<br />
For &#8220;net-snmp&#8221; error :-<br />
yum install net-snmp*</p>
<p>4)</p>
<p>Make sure that php-gd, php-math, php-mysql is installed or else install latest updates of php by the following:-<br />
yum install php*</p>
<p>5)</p>
<p>if error &#8220;Can&#8217;t open jason object&#8221; is seen in /tmp/zabbix_agentd.log file, install php jason library [not yet solved. error is still coming]</p>
<p><!--more--><!--more--></p>
<p><strong>Some important locations:</strong><br />
1. /usr/local/sbin contains zabbix_agent,  zabbix_agentd,  zabbix_get,  zabbix_sender and zabbix_server daemon processes.<br />
2. /etc/zabbix contains zabbix_agentd.conf and zabbix_server.conf where parameters for corresponding daemons can be set.<br />
3. /tmp/ contains zabbix_agentd.log and zabbix_server.log files which logs all error entries from corresponding daemon processes.</p>
<p><!--more--><!--more--></p>
<p><strong>Errors yet to be solved:-</strong><br />
1. Mysql, httpd, zabbix_server, zabbix_agentd do not auto start on boot<br />
2. /tmp/zabbix_server.log has error: &#8220;Send list of active checks to [127.0.0.1] failed: host [ZABBIX Server] not found&#8221;<br />
3. /tmp/zabbix_agentd.log has error: Can&#8217;t open jason object<br />
4. The application is located at /var/www/html. Change its location to a proper place in filesystem<br />
5.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/zabbix-configuration-at-co-office-of-grmtech/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New server c1b1 at our Fremont California data center</title>
		<link>http://www.grmtech.com/blog/monster-servers/</link>
		<comments>http://www.grmtech.com/blog/monster-servers/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 05:41:30 +0000</pubDate>
		<dc:creator>prabhat</dc:creator>
				<category><![CDATA[GRMTECH]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=507</guid>
		<description><![CDATA[Due to heavy traffic our old database server is not able to handle  the load so we have deployed a new server, its hardware configuration is :

2 Quad core processors: Intel Xeon Quad-Core L5420 2.5GHz 1333MHz 12MB LGA771 CPU
 32 GB of RAM (getting upgraded to 64 GB of RAM)
 6 TB of Hard [...]]]></description>
			<content:encoded><![CDATA[<p>Due to heavy traffic our old database server is not able to handle  the load so we have deployed a new server, its hardware configuration is :</p>
<ul>
<li>2 Quad core processors: Intel Xeon Quad-Core L5420 2.5GHz 1333MHz 12MB LGA771 CPU</li>
<li> 32 GB of RAM (getting upgraded to 64 GB of RAM)</li>
<li> 6 TB of Hard disk</li>
<li> Gigabyte network</li>
<li>Chasis: <a href="http://www.supermicro.com/products/system/2U/6025/SYS-6025W-NTR+.cfm" target="_blank">http://www.supermicro.com/products/system/2U/6025/SYS-6025W-NTR+.cfm</a></li>
<li>Motherboard: <a href="http://www.supermicro.com/products/motherboard/Xeon1333/5400/X7DWN+.cfm" target="_blank">http://www.supermicro.com/products/motherboard/Xeon1333/5400/X7DWN+.cfm</a></li>
</ul>

<a href='http://www.grmtech.com/blog/monster-servers/p1010060/' title='p1010060'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010060-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010060" /></a>
<a href='http://www.grmtech.com/blog/monster-servers/p1010063/' title='p1010063'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010063-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010063" /></a>
<a href='http://www.grmtech.com/blog/monster-servers/p1010064/' title='p1010064'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010064-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010064" /></a>
<a href='http://www.grmtech.com/blog/monster-servers/p1010066/' title='p1010066'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010066-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010066" /></a>
<a href='http://www.grmtech.com/blog/monster-servers/p1010069/' title='p1010069'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010069-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010069" /></a>
<a href='http://www.grmtech.com/blog/monster-servers/p1010071/' title='p1010071'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010071-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010071" /></a>
<a href='http://www.grmtech.com/blog/monster-servers/p1010072/' title='p1010072'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010072-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010072" /></a>
<a href='http://www.grmtech.com/blog/monster-servers/p1010073/' title='p1010073'><img width="150" height="150" src="http://www.grmtech.com/blog/wp-content/uploads/2009/01/p1010073-150x150.jpg" class="attachment-thumbnail" alt="" title="p1010073" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/monster-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinXP guest os deployment on ESXi or VMware workstation</title>
		<link>http://www.grmtech.com/blog/winxp-guest-os-deployment-on-esxi-or-vmware-workstation/</link>
		<comments>http://www.grmtech.com/blog/winxp-guest-os-deployment-on-esxi-or-vmware-workstation/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 07:18:16 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=103</guid>
		<description><![CDATA[Steps for fresh Windows XP installation on a Virtual machines.
Preparation
LSI storage controller drivers are not available on the Windows XP installation CD, so complete the following preparation before installation:
1. Download the LSI 53C1030 drivers from the LSI Web site.
2. Using MagicISO or other third-party solutions, create a
.flp image containing the LSI Logic drivers.
3. SCP the [...]]]></description>
			<content:encoded><![CDATA[<p>Steps for fresh Windows XP installation on a Virtual machines.</p>
<p>Preparation<br />
LSI storage controller drivers are not available on the Windows XP installation CD, so complete the following preparation before installation:<br />
1. Download the LSI 53C1030 drivers from the LSI Web site.<br />
2. Using MagicISO or other third-party solutions, create a<br />
.flp image containing the LSI Logic drivers.<br />
3. SCP the floppy image to the virtual machine’s ESX host.<br />
If you are using VirtualCenter 2.5, you can use the VIC to upload the file to the desired datastore.<br />
4. Have a Windows XP CD or ISO image that is accessible form the virtual machine.</p>
<p>Pre-installation Virtual Machine Modifications<br />
Make the following modifications to the virtual machine hardware profile before starting the Windows XP<br />
installation:<br />
1 Using the Virtual Infrastructure Client (VIC), connect to VirtualCenter.<br />
2 Locate the virtual machine that was initially created.<br />
3 Edit the following hardware settings:<br />
a Ensure there is a floppy drive present.<br />
b Ensure the floppy drive is configured to connect at Power On.<br />
c If using a floppy image, ensure the Device Type is set to use a floppy image and is pointing to the LSI<br />
Driver image.<br />
d Ensure the CD/DVD drive is present and configured to connect at power on.<br />
e Ensue the CD/DVD Device Type is configured to point at the Windows XP CD or ISO image.</p>
<p>Installation<br />
Once you complete the pre-installation preparation and modifications, you can install Windows XP:<br />
1 From the Virtual Infrastructure client, connect to VirtualCenter.<br />
2 Power on the virtual machine created earlier.<br />
3 Use the console to view the boot process and to send input to the virtual machine.<br />
4 As the Windows Setup process begins, press F6 to add an additional SCSI driver.<br />
This lets you specify the LSI Logic driver on the floppy image.<br />
The Windows setup process copies all the necessary files to the virtual disk. Complete the setup just as you<br />
would for any normal Windows XP installation. Because this image will be used as a template, however, it is<br />
a good idea to make the configuration as generic as possible. For an instance of customization, see “Creating<br />
a Guest Customization” on page 4).<br />
After completing the Windows setup, perform the following tasks before you finalize the image. Some of these<br />
steps will vary from organization to organization, depending on your Windows imaging standards; some are<br />
optional and noted as such. Many can be managed using a group policy (see “Common GPOs for Managing<br />
Virtual Desktops” on page 5).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/winxp-guest-os-deployment-on-esxi-or-vmware-workstation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql master-master database replication</title>
		<link>http://www.grmtech.com/blog/mysql-master-master-database-replication/</link>
		<comments>http://www.grmtech.com/blog/mysql-master-master-database-replication/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 15:28:53 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=437</guid>
		<description><![CDATA[Master-Master replication: Two database systems at two different locations can be configured to run in synchronization with each other using Mysql Master-Master replication. Any changes on DB1 at Loc1 can be updated at realtime on DB2 at Loc2 and vice versa using Mysql&#8217;s built in replication feature.
Following are steps used to setup a Master-Slave replication [...]]]></description>
			<content:encoded><![CDATA[<p>Master-Master replication: Two database systems at two different locations can be configured to run in synchronization with each other using Mysql Master-Master replication. Any changes on DB1 at Loc1 can be updated at realtime on DB2 at Loc2 and vice versa using Mysql&#8217;s built in replication feature.</p>
<p>Following are steps used to setup a Master-Slave replication :-<br />
1. Assumptions:</p>
<ol>
<li>CentOS 5.2</li>
<li>Mysql 5.0</li>
<li>
<ul>
<li>DB1: DbGrmtech</li>
<li>Loc1: 10.1.31.9</li>
<li>DB2: DbGrmtech</li>
<li> Loc2: 10.1.31.6</li>
</ul>
</li>
<li>Loc1 is master and Loc2 is slave</li>
</ol>
<p>2. Create a dump file of DB1 using the command:<br />
    mysqldump &#8211;port 3306 -u GrmtechUser &#8211;password=GrmtechPass   -h 10.1.31.9  &#8211;databases DbGrmtech  &#8211;add-drop-table > dbdump.sql</p>
<p>3. Rsync the dbdump file to Loc2 using the command:<br />
rsync -azpSv -e &#8217;ssh -p 99&#8242; dbdump.sql 10.1.31.6:/home/user/domains/dbbackup/grmtech/dbdump.sql </p>
<p>4. Import the dbdump file in Loc2 using the command:<br />
mysql -u GrmtechUser &#8211;force DbGrmtech &#8211;password=GrmtechPass -h 10.1.31.6  < dbdump.sql</p>
<p>5. Edit Loc1&#8217;s /etc/my.cnf file and add the following lines under [mysqld]:<br />
server-id = 1<br />
log-bin = /var/log/mysql/bin.log<br />
binlog-do-db=DbGrmtech</p>
<p>6. Give the command to restart mysql daemon:<br />
service mysqld restart</p>
<p>7. Login to mysql at Loc2 and give the following command:<br />
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO &#8216;crmuser&#8217;@'10.1.31.6&#8242; IDENTIFIED BY &#8216;crmpass&#8217;</p>
<p>8. Edit Loc2&#8217;s /etc/my.cnf file and add the following lines under [mysqld]:<br />
server-id = 2<br />
master-host = 10.1.31.9<br />
master-port = 3306<br />
master-user = crmuser<br />
master-password = crmpass</p>
<p>replicate-wild-do-table=DbGrmtech.%<br />
replicate-ignore-table = DbGrmtech.tracker</p>
<p>log-bin = /var/log/mysql/bin.log<br />
log-bin-index = /var/log/mysql/log-bin.index<br />
log-error = /var/log/mysql/error.log</p>
<p>relay-log = /var/log/mysql/relay.log<br />
relay-log-info-file = /var/log/mysql/relay-log.info<br />
relay-log-index = /var/log/mysql/relay-log.index</p>
<p>9. Give the command to restart mysql daemon:<br />
service mysqld restart</p>
<p>10. Login to mysql at Loc2 and give the following commands:<br />
Show Slave Status;<br />
If master host setting is not what u set at my.cnf, use this command at mysql prompt:<br />
CHANGE MASTER TO MASTER_HOST=&#8217;10.1.31.9&#8242;, MASTER_USER=&#8217;crmuser&#8217;, MASTER_PASSWORD=&#8217;crmpass&#8217;, MASTER_LOG_FILE=&#8217;bin.000001&#8242;;</p>
<p>By doing the above settings the changes at DB1@Loc1 will be auto replicated to DB2@Loc2 but not vice versa.</p>
<p>Some commands handy in troubleshooting the entire setup:<br />
At Mysql prompt<br />
1. SHOW MASTER STATUS<br />
2. SHOW SLAVE STATUS<br />
3. START/STOP MASTER<br />
4. START/STOP SLAVE</p>
<p>At command prompt<br />
1. tail -50 /var/log/mysql/bin.000001: to see latest changes in DB1</p>
<p>Helpful links:<br />
1. http://www.onlamp.com/pub/a/onlamp/2005/06/16/MySQLian.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/mysql-master-master-database-replication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network Load Balancing Technical Overview</title>
		<link>http://www.grmtech.com/blog/network-load-balancing-technical-overview/</link>
		<comments>http://www.grmtech.com/blog/network-load-balancing-technical-overview/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 01:08:22 +0000</pubDate>
		<dc:creator>Raja Gupta</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=419</guid>
		<description><![CDATA[Target : We have seven ISS running on multiple servers to provide a better internet connectivity and an ISS routing interface to manually manage the network traffic load by shifting users from one ISS to another one.This article is published to motivate the concept of automatic Network Load Balancing and Traffic Routing to provide a [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Target :</strong> We have seven ISS running on multiple servers to provide a better internet connectivity and an ISS routing interface to manually manage the network traffic load by shifting users from one ISS to another one.This article is published to motivate the concept of automatic Network Load Balancing and Traffic Routing to provide a much more better and advanced Network Architecture.</p>
<p> </p>
<p>Network Load Balancing, a clustering technology included in the Microsoft Windows 2000 Advanced Server and Datacenter Server operating systems, enhances the scalability and availability of mission-critical, TCP/IP-based services, such as Web, Terminal Services, virtual private networking, and streaming media servers. This component runs within cluster hosts as part of the Windows 2000 operating system and requires no dedicated hardware support. To scale performance, Network Load Balancing distributes IP traffic across multiple cluster hosts. It also ensures high availability by detecting host failures and automatically redistributing traffic to the surviving hosts. Network Load Balancing provides remote controllability and supports rolling upgrades from the Windows NT 4.0 operating system.</p>
<p>The unique and fully distributed architecture of Network Load Balancing enables it to deliver very high performance and failover protection, especially in comparison with dispatcher-based load balancers.</p>
<p><strong>Advantages</strong></p>
<p><strong></strong><br />
Network Load Balancing is superior to other software solutions such as round robin DNS (RRDNS), which distributes workload among multiple servers but does not provide a mechanism for server availability. If a server within the host fails, RRDNS, unlike Network Load Balancing, will continue to send it work until a network administrator detects the failure and removes the server from the DNS address list. This results in service disruption for clients. Network Load Balancing also has advantages over other load balancing solutions—both hardware- and software-based—that introduce single points of failure or performance bottlenecks by using a centralized dispatcher. Because Network Load Balancing has no proprietary hardware requirements, any industry-standard compatible computer can be used. This provides significant cost savings when compared to proprietary hardware load balancing solutions.</p>
<p>The unique and fully distributed software architecture of Network Load Balancing enables it to deliver the industry&#8217;s best load balancing performance and availability. The specific advantages of this architecture are described below in the &#8220;Network Load Balancing Architecture&#8221; section.</p>
<p><strong>Network Load Balancing Architecture</strong></p>
<p>To maximize throughput and high availability, Network Load Balancing uses a fully distributed software architecture. An identical copy of the Network Load Balancing driver runs in parallel on each cluster host. The drivers arrange for all cluster hosts on a single subnet to concurrently detect incoming network traffic for the cluster&#8217;s primary IP address (and for additional IP addresses on multihomed hosts). On each cluster host, the driver acts as a filter between the network adapter&#8217;s driver and the TCP/IP stack, allowing a portion of the incoming network traffic to be received by the host. By this means incoming client requests are partitioned and load-balanced among the cluster hosts.</p>
<p>Network Load Balancing runs as a network driver logically situated beneath higher-level application protocols, such as HTTP and FTP. Figure 2 below shows the implementation of Network Load Balancing as an intermediate driver in the Windows 2000 network stack.</p>
<p><img src="http://technet.microsoft.com/en-us/library/Bb742455.nlbovw02_big(en-us,TechNet.10).gif" alt="Bb742455.nlbovw02(en-us,TechNet.10).gif" /></p>
<p>Figure: Network Load Balancing runs as an intermediate driver between the TCP/IP protocol and network adapter drivers within the Windows 2000 protocol stack Note that although two network adapters are shown, only one adapter is needed to use Network Load Balancing.<br />
This architecture maximizes throughput by using the broadcast subnet to deliver incoming network traffic to all cluster hosts and by eliminating the need to route incoming packets to individual cluster hosts. Since filtering unwanted packets is faster than routing packets (which involves receiving, examining, rewriting, and resending), Network Load Balancing delivers higher network throughput than dispatcher-based solutions. As network and server speeds grow, its throughput also grows proportionally, thus eliminating any dependency on a particular hardware routing implementation. For example, Network Load Balancing has demonstrated 250 megabits per second (Mbps) throughput on Gigabit networks.</p>
<h3>Network Load Balancing Performance</h3>
<p>The performance impact of Network Load Balancing can be measured in four key areas:</p>
<ul>
<li><strong>CPU overhead</strong> on the cluster hosts, which is the CPU percentage required to analyze and filter network packets (lower is better).</li>
<li><strong>Response time</strong> to clients, which increases with the non-overlapped portion of CPU overhead, called <em>latency</em> (lower is better).</li>
<li><strong>Throughput </strong>to clients, which increases with additional client traffic that the cluster can handle prior to saturating the cluster hosts (higher is better).</li>
<li><strong>Switch occupancy</strong>, which increases with additional client traffic (lower is better) and must not adversely affect port bandwidth.</li>
</ul>
<p>In addition, Network Load Balancing&#8217;s scalability determines how its performance improves as hosts are added to the cluster. Scalable performance requires that CPU overhead and latency not grow faster than the number of hosts.</p>
<p>Options are available for Linux based Networks too. We just need to explore them.</p>
<p> </p>
<p>This was just a small overview. For the complete technical details, please click on the link below-</p>
<p><a href="http://technet.microsoft.com/en-us/library/bb742455.aspx">http://technet.microsoft.com/en-us/library/bb742455.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/network-load-balancing-technical-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DansGuardian virtual appliance on CentOS</title>
		<link>http://www.grmtech.com/blog/dansguardian-virtual-appliance-on-centos/</link>
		<comments>http://www.grmtech.com/blog/dansguardian-virtual-appliance-on-centos/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 11:45:06 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=373</guid>
		<description><![CDATA[Here is a VMware virtual appliance for DansGuardian on CentOS 5.2
The virtual appliance is composed of:
* CentOS 5.2
* VMware Tools
* Squid 3
* DansGuardian
Click on below links to download the virtual appliance.
1. centos-dansguardian-virtualappliance.vmx
2. centos-dansguardian-virtualappliance.vmdk
You can use this virtual appliance to do things like:
1. Do phrase matching, PICS filtering and URL filtering.
2. Restrict list of sites.
Username: root
Password: [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a VMware virtual appliance for DansGuardian on CentOS 5.2</p>
<p>The virtual appliance is composed of:<br />
* CentOS 5.2<br />
* VMware Tools<br />
* Squid 3<br />
* DansGuardian</p>
<p>Click on below links to download the virtual appliance.<br />
1. <a href="/blog/downloads/centos-dansguardian-virtualappliance.vmx">centos-dansguardian-virtualappliance.vmx</a><br />
2. <a href="/blog/downloads/centos-dansguardian-virtualappliance.vmdk">centos-dansguardian-virtualappliance.vmdk</a></p>
<p>You can use this virtual appliance to do things like:<br />
1. Do phrase matching, PICS filtering and URL filtering.<br />
2. Restrict list of sites.</p>
<p>Username: root<br />
Password: dans12</p>
<p>Steps to configure the virtual appliance:-<br />
1. yum install squid*</p>
<p>2. /etc/rc.d/init.d/squid restart</p>
<p>3. Enable packet forwarding in /etc/sysctl.conf. Set net.ipv4.ip_forward = 1.</p>
<p>4. Make changes to /etc/squid/squid.conf. A copy of the original files are kept with the extension .orig<strong> * </strong><strong><br />
</strong></p>
<p>5. Yum install dansguardian or do the ./configure if you want the 2.10.0 version<br />
<strong></strong></p>
<p>6. Make changes in /etc/dansguardian/dansguardian.conf. A copy of the original files are kept with the extension .orig *</p>
<p>7. Enable A. squid B. iptables C. dansguardian using ntsysv</p>
<p>8. Configure iptables to redirect requests from port 80 to port 8080 using following commands**:-<br />
a. iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp -d ! &lt;ip-address-of-i-interface&gt; &#8211;dport 80 -j REDIRECT &#8211;to-ports 8080<br />
b. iptables-save &gt; /etc/sysconfig/iptables<br />
c. service iptables restart</p>
<p><strong>Improving the performance of squid:</strong><br />
Edit squid.conf with these settings:-<br />
maximum_object_size_in_memory 8 MB earlier it was 8KB<br />
cache_mem 800 MB earlier it was 8 MB</p>
<p><strong>Improving the performance of dansguardian:</strong><br />
Edit dansguardian.conf with these settings:-<br />
urlcachenumber = 5000  (default is 1000)<br />
urlcacheage = 9000 (default is 900)</p>
<p>* The difference between original and copied file can be seen using &#8220;diff orig_file new_file&#8221;<br />
** This will make sure that requests for web sites hosted on this server will not get redirected to port 8080</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/dansguardian-virtual-appliance-on-centos/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Desktop publishing vs Application Publishing</title>
		<link>http://www.grmtech.com/blog/desktop-publishing-vs-application-publishing/</link>
		<comments>http://www.grmtech.com/blog/desktop-publishing-vs-application-publishing/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 13:43:10 +0000</pubDate>
		<dc:creator>amit</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.grmtech.com/blog/?p=279</guid>
		<description><![CDATA[Desktop publishing is when you want to give more freedom.
Desktop publishing is of two types:
1. Thin client &#8211; The desktop is running from the server and only the display is happening on the client.
2. Thick Client &#8211; The desktop and its display is running on the client.
Software we use at Grmtech for desktop publishing is [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Desktop publishing</strong> is when you want to give more freedom.</p>
<p>Desktop publishing is of two types:<br />
1. Thin client &#8211; The desktop is running from the server and only the display is happening on the client.<br />
2. Thick Client &#8211; The desktop and its display is running on the client.</p>
<p>Software we use at Grmtech for desktop publishing is Vmware.</p>
<p><strong>Application publishing</strong> is when people log into the server to use the same app every time.<br />
Software we use at Grmtech for Application publishing is Windows 2003 server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grmtech.com/blog/desktop-publishing-vs-application-publishing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
