<?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>HiTechSavvy Sys Admin</title>
	<atom:link href="http://www.hitechsavvy.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.hitechsavvy.com</link>
	<description>What do geeks do all day?</description>
	<lastBuildDate>Tue, 05 Feb 2013 19:17:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Protected: First Rate Rants</title>
		<link>http://www.hitechsavvy.com/?p=598&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=first-rate-rants</link>
		<comments>http://www.hitechsavvy.com/?p=598#comments</comments>
		<pubDate>Mon, 28 Jan 2013 19:13:26 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=598</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
				<content:encoded><![CDATA[<form action="http://www.hitechsavvy.com/wp-login.php?action=postpass" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-598">Password: <input name="post_password" id="pwbox-598" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=598" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=598" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=598</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu boots into initramfs</title>
		<link>http://www.hitechsavvy.com/?p=594&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-boots-into-initramfs</link>
		<comments>http://www.hitechsavvy.com/?p=594#comments</comments>
		<pubDate>Mon, 28 Jan 2013 17:36:32 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=594</guid>
		<description><![CDATA[Don&#8217;t panic, your boot sector is still good an readable.  Type &#8216;exit&#8217; and you&#8217;ll complete the boot process.  But why does this happen and how can we fix it?  From my reading this can be caused by faults on the &#8230; <a href="http://www.hitechsavvy.com/?p=594">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Don&#8217;t panic, your boot sector is still good an readable.  Type &#8216;exit&#8217; and you&#8217;ll complete the boot process.  But why does this happen and how can we fix it?  From my reading this can be caused by faults on the disk or an improperly formatted grub configuration or hardware controllers that are too slow responding with the information needed by the grub to complete a clean boot.</p>
<p><strong>DISK FAULTS</strong><br />
If you have a bad sector or two you can address this with the commands below.  Or, you may need to boot into the live CD and fsck -y</p>
<p>sudo touch /forcefsck<br />
sudo shutdown -r now</p>
<p><strong>SLOW CONTROLLER HARDWARE RESPONSE</strong><br />
If the controller hardware takes too long to respond back with the correct devices the system will advance without properly identifying them.  In Ubuntu you can address this in the /etc/default/grub file by changing the GRUB_CMDLINE_LINUX line as follow:</p>
<p>GRUB_CMDLINE_LINUX=&#8221;rootdelay=60&#8243;<br />
update-grub<br />
reboot</p>
<p><strong>IMPROPERLY FORMATTED GRUB</strong><br />
Not sure the best way to go about this, but what I read was related to a mismatch in the selected boot partitions in /etc/fstab and those in the grub.  I have definately seen SuperMicro system where the drives flipped about on boot.  This is caused by a RAID configuration that works well with Windows installs but confounds Linux.  It&#8217;s controlled at BIOS/CMOS level and can be removed with dmraid.  Yeck!  Drop me a note if you need help with this.  I likely have the recipe for fixing it.</p>
<p><strong>KERNEL PANIC &#8211; Missing Init</strong></p>
<p>Init is process id #1, the #1 that all other processes are started from.  The first one run after boot and the one that cleans up when you are shutting down.  This isn&#8217;t a kernel panic at all, but a failure on the init process.  FSCK it.</p>
<p>Ubuntu Live CD, opened the terminal and typed:</p>
<div>
<pre dir="ltr">sudo debugfs -w /dev/sda1
debugfs 1.41.11 (14-Mar-2010)
debugfs:</pre>
</div>
<p>type in: clri &lt;8&gt;<br />
and after hitting enter,<br />
type this: quit<br />
then reboot. It should force an fsck and come up happy.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=594" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=594" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=594</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Oracle with an RPM</title>
		<link>http://www.hitechsavvy.com/?p=564&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-oracle-with-an-rpm</link>
		<comments>http://www.hitechsavvy.com/?p=564#comments</comments>
		<pubDate>Thu, 11 Oct 2012 20:17:44 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=564</guid>
		<description><![CDATA[Recently I took on the task of finding a way to install oracle 11gR2 on CentOS x64. This process seems to not be talked about on the Internet, or maybe I just don&#8217;t know how to search. So, what makes &#8230; <a href="http://www.hitechsavvy.com/?p=564">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Recently I took on the task of finding a way to install oracle 11gR2 on CentOS x64. This process seems to not be talked about on the Internet, or maybe I just don&#8217;t know how to search.</p>
<p>So, what makes it so difficult? It&#8217;s larger than the maximum allowed RPM size of 2GB, but that shouldn&#8217;t stop you from breaking it up into two RPMS where the second one calls the installer in silent mode.</p>
<p>I have it working, but I just wondered why the Internet is so silent about this subject.</p>
<p>ANSWER:</p>
<p>A couple of weeks later and it looks like a matter of too much oracle documentation.  Oracle owns the SEO on these terms and penetrating them isn&#8217;t going to a simple matter of setting up an teaser article with a few terms filled out.  I&#8217;m going to try a few keywords and see how that goes for me.</p>
<p>keywords: rpmbuild</p>
<p>&nbsp;</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=564" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=564" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=564</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding a Host to an HA VMWare Cluster</title>
		<link>http://www.hitechsavvy.com/?p=557&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adding-a-host-to-an-ha-vmware-cluster</link>
		<comments>http://www.hitechsavvy.com/?p=557#comments</comments>
		<pubDate>Mon, 01 Oct 2012 15:11:44 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=557</guid>
		<description><![CDATA[When adding a new piece of iron to a high-availability (HA) cluster your CPU compatibility matters.  HA means vMotion is involved and vMotion is able to bridge the various pieces of hardware using &#8220;Enhanced vMotion Compatibility&#8221; or EVC for short.  &#8230; <a href="http://www.hitechsavvy.com/?p=557">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>When adding a new piece of iron to a high-availability (HA) cluster your CPU compatibility matters.  HA means vMotion is involved and vMotion is able to bridge the various pieces of hardware using &#8220;Enhanced vMotion Compatibility&#8221; or EVC for short.  EVC is a mode you set that allows the servers to function at their highest common denominator, or rather, the greatest level of shared compatibility.  So, if you have a new system with all kinds of additional CPU capabilities but your old system is still L4 &#8220;Sandy Bridge&#8221; then your system must be setup to use L4.</p>
<ul>
<li><strong>L0</strong> &#8211; Intel &#8220;Meron&#8221; Xeon Core 2</li>
<li><strong>L1</strong> &#8211; Intel &#8220;Penryn&#8221; Xeon 45nm Core 2</li>
<li><strong>L2</strong> &#8211; Intel &#8220;Nehalem&#8221; Xeon Core i7</li>
<li><strong>L3</strong> &#8211; Intel &#8220;Westmere&#8221; Xeon 32 nm Core i7</li>
<li><strong>L4</strong> &#8211; Intel &#8220;Sandy Bridge&#8221;</li>
<li><strong>L5</strong> &#8211; Intel &#8220;Ivy Bridge&#8221;</li>
</ul>
<p>So… just use <a href="http://www.vmware.com/resources/compatibility/search.php" target="_blank">VMWare&#8217;s Compatibility Guide</a>? No, you need to apply some common sense as well.  I just went shopping for an r720 to work with our &#8216;Sandy-Bridge&#8221; hexcore r710&#8242;s and found that the compatibility guides doesn&#8217;t really cover new systems very well.  Take a look at <a href="http://www.vmware.com/resources/compatibility/search.php" target="_blank">Wikipedia and look up your processor</a>.  In my case, I have a choice of quite a few <a href="http://en.wikipedia.org/wiki/List_of_Intel_Xeon_microprocessors#.22Sandy_Bridge-EP.22_.2832_nm.29" target="_blank">Xeon E5-26xx processors</a>, but there is a note that the Xeon E5-2603 and Xeon E5-2609 do not have Hyper-threading capabilities.  Well, my other systems certainly do.  Also, these are quadcore rather than hexcore.  So, problem avoided.  I need to spend a couple hundred more on a proper processor so I don&#8217;t have to degrade my EVC Mode.</p>
<p>Reference:</p>
<ul>
<li><a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1003212" target="_blank">http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1003212</a></li>
<li><a href="http://www.vmware.com/resources/compatibility/search.php" target="_blank">http://www.vmware.com/resources/compatibility/search.php</a></li>
<li><a href="http://en.wikipedia.org/wiki/List_of_Intel_Xeon_microprocessors" target="_blank">http://en.wikipedia.org/wiki/List_of_Intel_Xeon_microprocessors</a></li>
</ul>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=557" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=557" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=557</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected: KOHA Reports</title>
		<link>http://www.hitechsavvy.com/?p=548&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=koha-reports</link>
		<comments>http://www.hitechsavvy.com/?p=548#comments</comments>
		<pubDate>Thu, 20 Sep 2012 15:26:09 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=548</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
				<content:encoded><![CDATA[<form action="http://www.hitechsavvy.com/wp-login.php?action=postpass" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label for="pwbox-548">Password: <input name="post_password" id="pwbox-548" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=548" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=548" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=548</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PostgreSQL Replication to a Warm-Standby Using WAL Files</title>
		<link>http://www.hitechsavvy.com/?p=541&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=postgresql-replication-to-a-warm-standby-using-wal-files</link>
		<comments>http://www.hitechsavvy.com/?p=541#comments</comments>
		<pubDate>Mon, 10 Sep 2012 15:47:25 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[CentOS / Redhat]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux Sysadmin]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=541</guid>
		<description><![CDATA[THEORY Like a good relational database, PostgreSQL maintains a set of transactional log file known as write-ahead-logs (WAL) in the pg_xlog directory.  These logs are written to for every change in the database files and are used to recovery from &#8230; <a href="http://www.hitechsavvy.com/?p=541">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h1>THEORY</h1>
<p>Like a good relational database, PostgreSQL maintains a set of transactional log file known as write-ahead-logs (WAL) in the pg_xlog directory.  These logs are written to for every change in the database files and are used to recovery from a crash condition.  If you crash, replay all the WAL files since the last backup and you will be back in business right at the point of failure.</p>
<p>Well, if you have this capability, what about keeping a warm-standby system and feeding it all the WAL files.  If you teach it how to continuously process the incoming write ahead logs from the live system you will have a system ready to go at a moments notice.  When you read about this setup in other places on line the primary server is known as &#8216;master&#8217; and the secondary the &#8216;slave&#8217;.</p>
<p><em>NOTE BENE: Both your primary and your secondary need to be running the same major version of the postgreSQL database.<span id="more-541"></span></em></p>
<h1>THE CONTINUOUS FEED</h1>
<p>If you&#8217;ve read other articles on this blog you see that rsync and ssh tunneling are one of my favorite tools for system administration.  We will be setting up a trust between the live primary server and the warm-backup secondary.  There are other ways to do this, but I&#8217;m going to show you the RHEL/CentOS method.</p>
<p>In a nutshell, create an ssh cert on both system and share them with the other system.  So do these command on both system so you have reciprocal trust:</p>
<pre>su - postgres
ssh-keygen -trsa
cd ~/.ssh/
cp id_rsa.pub authorized_key</pre>
<p>At this point you are authorized to connect as the postgres user to your own machine.  We want to be able to connect the primary and secondary together.  That means having a copy of the id_rsa.pub data in the authorized_key file on the remote system.  So, make that edit and then test the connection</p>
<pre>ssh postgres@remotesystem</pre>
<p>Almost ready to move on, but in a future step we are going to need the rsync command on both systems.  So, make sure you have it available</p>
<pre>yum install rsync</pre>
<h1>SUDOERS FOR STOP/START/STATUS</h1>
<p>Edit your /etc/sudoers file on both systems and make an entry at the bottom so that postgres is allowed to workk with the initialization file on the remote system.</p>
<pre>postgres ALL=NOPASSWD: /etc/init.d/postgresql</pre>
<p>That works, move on to the fun part.</p>
<h1>BUILDING PG_STANDBY</h1>
<p>Before we can get this working we will need a special module called pg_standby which does not come standard and probably needs to be compiled.  That should be an obstacle for you.</p>
<pre># If yo don't have the dev tools get them
yum groupinstall "Development Tools"

# Get the source http://www.postgresql.org/ftp/source/
wget http://ftp.postgresql.org/pub/source/v8.4.6/postgresql-8.4.6.tar.gz
tar -zxvf postgresql-8.4.6.tar.gz 
cd postgresql-8.4.6
./configure
gmake all
cd pg_standby
gmake all
cp pg_standby/pg_standby /usr/local/bin/pg_standby
chmod 755 /usr/local/bin/pg_standby</pre>
<p>So, we should be good with a new pg_standby.</p>
<h1>CONFIGURING POSTGRESQL.CONF ON BOTH SIDES</h1>
<p>On the live, primary server edit the archive_ settings so that that are on and able to rsync to the secondary, warm-standby.  Don&#8217;t restart or reload the server yet and these setting will not take affect.</p>
<p>archive_mode = on               # allows archiving to be done<br />
archive_command = &#8216;rsync -a %p postgres@warmstandby:/var/lib/pgsql/walfiles/%f&#8217;<br />
archive_timeout = 30           # 30 is a test number.  In service set it to 0</p>
<p>On the secondary, warm-standby create a recovery.conf file in the postgres $HOME directory</p>
<pre>su - postgres
mkdir -pv /var/lib/pgsql/walfiles
vi recovery.conf
# this is your line for recovery.conf
restore_command = '/usr/local/bin/pg_standby -l -d -s 2 -t /tmp/pgsql.trigger.5432 /var/lib/pgsql/walfiles %f %p %r 3&gt;&gt;standby.log</pre>
<p>Clean up the data directory.  We are very close to replicating with an rsync command:</p>
<pre>rm -rf /var/lib/pgsql/data/</pre>
<p>Back on the master, let&#8217;s put the database in safe-copy mode and make a copy of the live data over to the warm-standby</p>
<pre>psql -U postgres -c "SELECT pg_start_backup('dhreplication');"
rsync -azv /var/lib/pgsql/data/* postgres@warmstandby:/var/lib/pgsql/data/
psql -U postgres -c "SELECT pg_stop_backup();"
service postgresql reload</pre>
<p>Now, we need to edit the postgresql.conf on the secondary, warm-standby.  This is the file we just copied over in the rsync.</p>
<pre># Turn archive_mode = off
vi /var/lib/pgsql/data/postgresql.conf</pre>
<p>Still on the secondary let&#8217;s build a symbolic link that places a copy of the recovery.conf file that we created above in the data directory</p>
<pre>ln -s /var/lib/pgsql/recovery.conf /var/lib/pgsql/data/recovery.conf</pre>
<h1>LETS DO IT</h1>
<p>Let&#8217;s grab three different terminal sessions on the secondary, warm-standby server and do the following on the three terminals:</p>
<pre>tail -f /var/lib/pgsql/data/pg_log/postgresql*.log</pre>
<pre>watch -n1 ls -lah /var/lib/pgsql/walfiles/</pre>
<pre>/etc/init.d/postgresql start</pre>
<p>Your tail command will produce lines line this:</p>
<pre>running restore        : OK

removing "/var/lib/pgsql/walfiles/00000001000000030000005B"
LOG:  restored log file "00000001000000030000005E" from archive
Trigger file         : /tmp/pgsql.trigger.5432
Waiting for WAL file    : 00000001000000030000005F
WAL file path        : /var/lib/pgsql/walfiles/00000001000000030000005F
Restoring to        : pg_xlog/RECOVERYXLOG
Sleep interval        : 2 seconds
Max wait interval    : 0 forever
Command for restore    : cp "/var/lib/pgsql/walfiles/00000001000000030000005F" "pg_xlog/RECOVERYXLOG"
Keep archive history    : 00000001000000030000005D and later
WAL file not present yet. Checking for trigger file...
WAL file not present yet. Checking for trigger file...
WAL file not present yet. Checking for trigger file...</pre>
<p>The watch command will show you the a new WAL file arriving every 30 seconds.  That may be a bit frequent for you, but for testing it&#8217;s nice to not have to wait for the files to move. edit the archive_timeout to change this. The watch command will show something like this</p>
<pre>Every 1.0s: ls -lah /var/lib/pgsql/walfiles/                                                                   Mon Sep 10 09:25:34 2012

total 64M
drwxr-xr-x  2 postgres postgres 4.0K Sep 10 09:25 .
drwx------  7 postgres postgres 4.0K Sep 10 07:43 ..
-rw-------  1 postgres postgres  16M Sep 10 09:10 00000001000000030000005B
-rw-------  1 postgres postgres  16M Sep 10 09:15 00000001000000030000005C
-rw-------  1 postgres postgres  16M Sep 10 09:20 00000001000000030000005D
-rw-------  1 postgres postgres  16M Sep 10 09:25 .00000001000000030000005E.7Bu3Vc</pre>
<p>TESTING AND CUTOVER</p>
<p>At this point your warm-standby server will stay in sync with the primary, but you won&#8217;t be able to use your secondary server.  This is as intended.  Doing a cutover test you want to follow the following steps:</p>
<ol>
<li>Primary &#8211; Set the archive_command = /bin/true</li>
<li>Primary &#8211; service postgresql reload</li>
<li>Secondary &#8211; touch /tmp/pgsql.trigger.5432</li>
<li>Secondary &#8211; service postgresql reload</li>
</ol>
<p>That should do it.</p>
<h1>REFERENCE:</h1>
<p><a href="http://little418.com/2009/06/setting-up-postgresql-warm-standby-replication-at-joyent.html">http://little418.com/2009/06/setting-up-postgresql-warm-standby-replication-at-joyent.html</a><br />
<a href="http://www.postgresql.org/docs/current/interactive/warm-standby.htm">http://www.postgresql.org/docs/current/interactive/warm-standby.htm</a><br />
<a href="http://www.postgresql.org/docs/current/interactive/continuous-archiving.html">http://www.postgresql.org/docs/current/interactive/continuous-archiving.html</a><br />
<a href="http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling">http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling</a></p>
<p>&nbsp;</p>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=541" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=541" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=541</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restoring Files From RackSpace Cloud Files</title>
		<link>http://www.hitechsavvy.com/?p=523&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=restoring-files-from-rackspace-cloud-files</link>
		<comments>http://www.hitechsavvy.com/?p=523#comments</comments>
		<pubDate>Mon, 27 Aug 2012 21:32:39 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[CentOS / Redhat]]></category>
		<category><![CDATA[Backups]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[openstack]]></category>
		<category><![CDATA[Rackspace]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=523</guid>
		<description><![CDATA[If you are like me and have a cloud server on rackspace you probably have a backup of your server that runs weekly or daily but may have never found a nice way to access these files.  In fact, i &#8230; <a href="http://www.hitechsavvy.com/?p=523">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>If you are like me and have a cloud server on rackspace you probably have a backup of your server that runs weekly or daily but may have never found a nice way to access these files.  In fact, i was on chat with a Fanatical Support guy the other day shortly after I had deleted my httpd.conf file.  I asked him if I could restore a file using my cloud file backups and he said &#8220;No&#8221;.</p>
<p>That bothered me, but I don&#8217;t expect support the guys to be all knowing, even if it is a top-notch organization like Rackspace.  The real answer is yes.  Here is how it&#8217;s done.</p>
<p>If you are familiar with the API calls for interacting with RackSpace programmatically, you should probably skip this article, it&#8217;s going to be really basic.  If you want to learn these calls, then I found a <a href="http://rackerua.com/2012/09/mounting-a-xenserver-vhd-in-linux/" target="_blank">nice article here</a> that describes pulling and extracting the files for a Windows image and getting a .vhd file</p>
<h1>ANATOMY OF A BACKUP</h1>
<p>So logging in to the RackSpace Cloud interface and you should see a new(ish) addition to the Hosting Menu.  Choose &#8220;Cloud Servers&#8221; under the Open Cloud and then you&#8217;ll enter a new interface.  Once there click on &#8220;Files&#8221;  At this point you see your files.  Yes, you can see them in the old interface, but you cannot download them.</p>
<p><img alt="" src="webkit-fake-url://E9855C50-B10A-44AC-8A27-E7260386B150/image.tiff" /></p>
<p>What I found was a set of files with a timestamp in them and a site ID.  One meta file that ends and .yml and describes all of the other compressed tarballs that contain the actual data.  You probably noticed that the tarballs are incremented (0, 1, 2, etc)</p>
<pre>---
name: daily_20120827_111111_cloudserver1111111.yml</pre>
<pre> format: tarball
 image_type: full
 files:
 - daily_20120827_111111_cloudserver111111.tar.gz.0
 - daily_20120827_111111_cloudserver111111.tar.gz.1
 - daily_20120827_111111_cloudserver111111.tar.gz.2</pre>
<h1>WHAT TO DO WITH THEM</h1>
<p>If you have all the files in one directory you should be able to address them line this.  Remember, I&#8217;m trying to find my httpd.conf.  Well, this is going to find any and all httpd.conf file in the tar.gz files available.</p>
<pre>for tarball in `ls -1 *cloudserver111111.tar.gz.*`
do
    recoveryfile=`tar -tzf $tarball | grep httpd.conf`
    tar -zxvf $tarball $recoveryfile
done</pre>
<p>You will want to change the file you are looking for (httpd.conf) and the first line which defines the files you want to look through.  I&#8217;d use the find * command at the end to expose the directory structure that was created.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=523" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=523" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=523</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hard Drive Related Cheatsheet for Linux</title>
		<link>http://www.hitechsavvy.com/?p=517&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hard-drive-related-cheatsheet-for-linux</link>
		<comments>http://www.hitechsavvy.com/?p=517#comments</comments>
		<pubDate>Fri, 27 Jul 2012 15:34:07 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=517</guid>
		<description><![CDATA[&#160; TERMINOLOGY: Partition - a portion of physical hard disk space. A hard disk may contain one or more partitions. Partitions are defined by BIOS and described by partition tables stored on a harddrive. Volume - a logical concept which hides the &#8230; <a href="http://www.hitechsavvy.com/?p=517">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p><strong>TERMINOLOGY:</strong></p>
<ul>
<li><strong>Partition</strong> - a portion of physical hard disk space. A hard disk may contain one or more partitions. Partitions are defined by BIOS and described by partition tables stored on a harddrive.</li>
<li><strong>Volume</strong> - a logical concept which hides the physical organization of storage space. A compatibility volume directly corresponds to a partition while LVM volume may span more than one partition on one or more physical disks. A volume is seen by users as a single drive letter.</li>
<li><strong>Physical Volume (PV) </strong>Synonym for &#8220;hard disk&#8221;. A single physical hard drive.</li>
<li><strong>Volume Group (VG) </strong>A set of one or more PVs which form a single storage pool. You can define multiple VGs on each system.</li>
<li><strong>Logical Volume (LV)</strong> A usable unit of disk space within VG. LVs are used analogously to partitions on PCs or slices under Solaris: they usually contain filesystems or paging spaces (&#8220;swap&#8221;)Unlike physical partition can span multiple physical volumes that constitute VG. .</li>
<li><strong>Root partition. </strong>Physical or logical partition what holds root filesystem and mount points for all other partitions. Can be physical partition or logical volume.</li>
<li></li>
</ul>
<p><strong>LVM Commands</strong></p>
<ul>
<li><strong>pvcreate /dev/hda3</strong> – creates physical volumes</li>
<li><strong>vgcreate vg01 /dev/hda3</strong> – creates a volume group (in this case, vg01) using the physical volume</li>
<li><strong>lvcreate -l25000 -nlv01 vg01</strong> – creates a logical volume using the volume group, allocating 25000 blocks</li>
<li><strong>lvcreate -L4G -nlvroot vgraid1</strong></li>
<li><strong>vgextend</strong> – adds a volume to the volume group (if you add a new disk)</li>
<li><strong>lvdisplay</strong> -v /dev/vg01/lv01</li>
<li><strong>vgdisplay</strong> -v vg01</li>
<li><strong>lvremove</strong></li>
<li><strong>vgreduce</strong></li>
<li><strong>mkfs -t ext3 /dev/vg01/lv02</strong> makes a file system</li>
<li><strong>mount /dev/vg01/lv02 /home/new</strong> mount the file system</li>
<li><strong>mount -a</strong> mounts everything in /etc/fstab</li>
<li><strong>vgscan &#8211;mknodes</strong></li>
<li><strong>vgchange -a y /dev/vgraid1</strong> (bring /dev/vgraid1 online if it didn&#8217;t come up automatically)</li>
<li><strong>lvscan</strong></li>
<li><strong>mkfs -t ext4</strong> -t small /dev/vgraid5extra</li>
<li><strong>umount /home/new</strong> (unmount a filesystem)</li>
<li><strong>pvresize</strong> – update size of pv</li>
<li><strong>lvextend -L+ /dev/vgraid0/lvsharedfiles0 </strong></li>
<li><strong>e2fsck -f /dev/vgraid1/lvsharedfilestemp</strong> (check filesystem)</li>
<li><strong>resize2fs /dev/vgraid1/lvsharedfilestemp</strong> (resize the filesystem) (now works online)</li>
</ul>
<p><strong>MDADM stuff</strong><br />
RAID<br />
raidtools2<br />
mdadm (probably a better choice)<br />
/etc/raid/raidtab<br />
<a href="http://unthought.net/Software-RAID.HOWTO/" rel="nofollow" target="_blank">http://unthought.net/Software-RAID.HOWTO/</a><br />
<a href="http://xtronics.com/reference/SATA-RAID-debian-for-2.6.html" rel="nofollow" target="_blank">http://xtronics.com/reference<wbr>/SATA-RAID-debian-for-2.6.html</wbr></a><br />
<a href="http://juerd.nl/site.plp/debianraid" rel="nofollow" target="_blank">http://juerd.nl/site.plp/debianraid</a></p>
<p>mdadm -Cv /dev/md0 -l1 -n2 missing /dev/sda1 &#8211;auto creates a degraded raid 1 array<br />
mdadm -Cv -c 256 /dev/md20 -l5 -n2 missing /dev/sdf1 array with chunk size</p>
<p>mdadm -A -a /dev/md0 /dev/sda1</p>
<p>mdadm -A -a /dev/md1 /dev/sda2<br />
fixing a degraded array<br />
mdadm &#8211;add /dev/md7 /dev/sdd2</p>
<p>mkfs -t ext3 /dev/md20 – make a file system<br />
mkfs -t ext3 -T largefile4 -E stride=16,stripe-width=2 /dev/md20 – reduce inodes, runs faster on big files</p>
<p>largefile4 is defined in /etc/mke2fs.conf, blocksize defaults to 4096, so with chunk size of 256, we need stride of 16</p>
<p>mdadm &#8211;detail &#8211;scan &gt;&gt; /etc/mdadm/mdadm.conf</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=517" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=517" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=517</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Critical Warning Number 6 &#8211; (Fake or Scam)</title>
		<link>http://www.hitechsavvy.com/?p=513&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=critical-warning-number-6-fake-or-scam</link>
		<comments>http://www.hitechsavvy.com/?p=513#comments</comments>
		<pubDate>Fri, 27 Jul 2012 13:45:30 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Financial]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=513</guid>
		<description><![CDATA[Every now and then I hear a commercial on the radio that piques my interest.  In this case it&#8217;s the radio add &#8220;Critical Warning 6&#8243; which I end up listening to every morning on the way to work in July &#8230; <a href="http://www.hitechsavvy.com/?p=513">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Every now and then I hear a commercial on the radio that piques my interest.  In this case it&#8217;s the radio add &#8220;Critical Warning 6&#8243; which I end up listening to every morning on the way to work in July and August 2012.  In part, it goes:</p>
<pre><em>Something very big will happen in America within the next 180 days. It will be more devastating than the credit crisis of 2008. For most people, it will hit them like a brick wall. It will touch Americans harder and deeper than anything else we've seen since the Great Depression. Michael Lombardi feels so strongly about this, he's decided to present his "Critical Warning Number Six" in a new video. In case you're not familiar with him... Michael Lombardi has been widely recognized as predicting five major economic events over the past 10 years. In 2002, he started advising his readers to buy gold– related investments when gold traded under $300 an ounce. In 2006, he begged his readers to get out of the housing market...before it plunged.</em></pre>
<p>My thoughts, and please share your own on this issue below:</p>
<ol>
<li><strong>Scare Tactic</strong> &#8211; The voice used for the advertising is a threatening male voice about to tell you something you don&#8217;t want to hear.</li>
<li><strong>Timing</strong> &#8211; &#8220;Within the next 180-days&#8230; &#8220;  As of this writing if you poke around on like you can find mention of this &#8216;prediction&#8217; going back to November of 2011 and possibly further back.</li>
<li><strong>Verification of Past Predictions</strong> &#8211; I tried to use the <a href="http://wayback.archive.org/web/*/http://www.criticalwarning6.com/" target="_blank">Internet Archive Wayback Machine</a> to see what this website looked like in the past.  After all, if Mr. Lombardi has posted his past predictions online we should be able to see them.  Unfortunately, the Wayback Machine doesn&#8217;t seem to have an old web archives of his content.</li>
<li><strong><strong></strong></strong><strong>Who Else Made These Predictions</strong>? &#8211; I read a book prior to the present economic crisis by Harry S. Dent that seems to say the same thing Michael Lombardi is saying, but the information is verifiable.  A few differences.  The <a href="http://wayback.archive.org/web/20080701000000*/http://www.hsdent.com/" target="_blank">Wayback machine shows Dent</a> ready to publish his book back in <a href="http://web.archive.org/web/20080701050355/http://www.hsdent.com/" target="_blank">July of 2008</a>.   Dent sells a newsletter that essentially draws parallels to the great depression 80-some-years ago.  It&#8217;s a good read and I&#8217;m a firm believer that history is a fine indicator of the future.  But as the immortal Samuel Clemen once said, &#8220;History does not repeat itself, but it does rhyme&#8221;</li>
<li><strong>Why Share Your Knowledge?</strong> &#8211; If you lived in the future, let&#8217;s say the year 2022 and you traveled back to 2012 what would you do with your knowledge?  How would you leverage this knowledge? One way would be to setup a newsletter and charge $200/year sharing your knowledge with others.  The other would be to take your capital and make smart investments.  Then there is the third way; you could invest with your knowledge of the past and then share the knowledge as a newsletter.  If you invest first and have a large enough following you can make money as your followers invest and drive up prices.</li>
</ol>
<p>I&#8217;ll probably come back to this and add as time allows.</p>
<p><strong>About Jay Farschman</strong> - Jay currently works as a Senior Systems Administrator for an asset management company in Colorado where he works with companies that produce hardware, telecommunications software and financial services.  Jay previously owned a consulting company and provided training and consulting services for three Fortune 500 companies and numerous small businesses where he leveraged Linux to provided exceptional value.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=513" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=513" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=513</wfw:commentRss>
		<slash:comments>70</slash:comments>
		</item>
		<item>
		<title>Viewing Your Linux Hardware with DMIDECODE</title>
		<link>http://www.hitechsavvy.com/?p=509&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=viewing-your-linux-hardware-with-dmidecode</link>
		<comments>http://www.hitechsavvy.com/?p=509#comments</comments>
		<pubDate>Wed, 25 Jul 2012 14:42:46 +0000</pubDate>
		<dc:creator>jayfarschman</dc:creator>
				<category><![CDATA[CentOS / Redhat]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux Sysadmin]]></category>

		<guid isPermaLink="false">http://www.hitechsavvy.com/?p=509</guid>
		<description><![CDATA[I never like opening a running system when I can simply query that system with a simply command for the information needed.  dmidecode is a great tool for polling hardware information in human-readable format. In its simplest form you will &#8230; <a href="http://www.hitechsavvy.com/?p=509">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I never like opening a running system when I can simply query that system with a simply command for the information needed.  dmidecode is a great tool for polling hardware information in human-readable format.</p>
<p>In its simplest form you will dump all the information to the screen</p>
<pre>dmidecode</pre>
<p>but that&#8217;s a bit much so try running with the -t argument which lets you narrow down the search to the components (bios, system, baseboard, chassis, processor, memory, cache, connector, slot)  So, for instance, if need to learn how much RAM you system can handle:</p>
<pre># dmidecode -t memory
# dmidecode 2.10
SMBIOS 2.7 present.
# SMBIOS implementations newer than version 2.6 are not
# fully supported by this version of dmidecode.

Handle 0x0027, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Single-bit ECC
    Maximum Capacity: 32 GB
    Error Information Handle: No Error
    Number Of Devices: 4</pre>
<p>Enjoy and let me know you you end up using this command.</p>
<p>&nbsp;</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.hitechsavvy.com/?p=509" target="_blank" title="Share on Facebook">Share on Facebook</a></p><g:plusone href="http://www.hitechsavvy.com/?p=509" size="standard"  annotation="none"  ></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://www.hitechsavvy.com/?feed=rss2&#038;p=509</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: www.hitechsavvy.com @ 2013-05-25 09:31:17 by W3 Total Cache -->