<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;DEQHR3w-eCp7ImA9WhRaE0o.&quot;"><id>tag:blogger.com,1999:blog-2685744387877119547</id><updated>2012-02-16T02:12:16.250-05:00</updated><category term="linux" /><category term="storage" /><category term="tools" /><category term="3par" /><title>vmFail</title><subtitle type="html">avoiding infrastructure fail one step at a time</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.vmfail.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.vmfail.com/" /><author><name>Jordan Lederman</name><uri>http://www.blogger.com/profile/12151170010097340034</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Vmfail" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="vmfail" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CkAFSXs8fSp7ImA9WxFSEk8.&quot;"><id>tag:blogger.com,1999:blog-2685744387877119547.post-6594804458260228351</id><published>2010-04-13T14:25:00.005-04:00</published><updated>2010-04-14T00:51:58.575-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-14T00:51:58.575-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tools" /><title>ibcli - a command line tool for infoblox management</title><content type="html">&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; As a long time &lt;a href="http://www.infoblox.com"&gt;infoblox&lt;/a&gt; customer I was really excited about the recent major redo of the administrative interface. The slow, windows-only-java-based eclipse gui is gone and replaced with a much nicer and faster html/ajax interface. It is still far from intuitive, but at least we no longer have to rdesktop or spin up a vm for dns/dhcp changes. The new interface seems to have all the functionality that the old one did, but really hasn't added anything that approaches the flexibility you can achieve from using the perl API. &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I recently found out about something even better than a fancy ajax gui, which is a new program called &lt;a href="http://ibcli.blogspot.com"&gt;ibcli&lt;/a&gt;. ibcli is billed as "A command line tool for Infoblox Databases" and is a both an odd and interesting project to me. It is a single perl script with &lt;a href="http://sites.google.com/site/ibclidev/user-guide"&gt;very good documentation&lt;/a&gt;, clean looking code, and seemingly no user community. In fact I really can't find any mention of it anywhere else online, but it seems that the project has been online for more than a year and is at version &lt;a href="http://ibcli.blogspot.com/2010/03/version-346-is-now-available.html"&gt;3.46&lt;/a&gt;. The following example usage is me using ibcli to:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt; determine the ip space used for site.mydomain.com because I wasn't sure what space. &lt;/li&gt;
&lt;li&gt; reserving ip addresses below .10 for future use with A records for reserved.site.mydomain.com. &lt;/li&gt;
&lt;li&gt; creating a host object with a static dhcp reservation. &lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
The 3rd item was all I intended to do, 1 and 2 were slight detours along the way.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=code&gt;username$ perl ibcli 
 
#####################################################################
#
# the Infoblox CLI Revision: 3.46  (this is beta code, ymmv)
#
#####################################################################

( press &lt;tab&gt; for help )
server ? &gt;   bye configure download exit help history quit restart show test upload
server ? &gt;
&lt;/pre&gt;&lt;br /&gt;
tab completion is a nice plus.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=code&gt;server&gt; conf server 10.10.1.10 user username password *******
username@10.10.1.10 &gt; sh host site.mydomain.com
--- ---
             configure_for_dns : true
                     ipv4addrs : 10.4.1.98
                          name : xml-site.mydomain.com
                  network_view : default
                           ttl : 3600
                       use_ttl : 1
                         views : default
                          zone : mydomain.com
--- ---
             configure_for_dns : true
                     ipv4addrs : 10.7.5.1
                          name : router.site.mydomain.com
                  network_view : default
                         views : default
                          zone : site.mydomain.com
--- ---
             configure_for_dns : true
                     ipv4addrs : 10.7.5.2
                          name : site-sw-1.site.mydomain.com
                  network_view : default
                         views : default
                          zone : site.mydomain.com
--- ---
username@10.10.1.10 &gt; show network 10.7.5.0/24 ipam next_available
  10.7.5.0/24 : 10.7.5.5
username@10.10.1.10 &gt; conf zone site.mydomain.com add a_record reserved 10.7.5.5
username@10.10.1.10 &gt; show network 10.7.5.0/24 ipam next_available
  10.7.5.0/24 : 10.7.5.6
username@10.10.1.10 &gt; conf zone site.mydomain.com add a_record reserved 10.7.5.6
username@10.10.1.10 &gt; show network 10.7.5.0/24 ipam next_available
  10.7.5.0/24 : 10.7.5.13
username@10.10.1.10 &gt; conf zone site.mydomain.com add host marketing-printer-1 10.7.5.13:00:00:85:BA:0B:5B comment "new printer 4/11/10 -username"
username@10.10.1.10 &gt; restart dhcp member 69.2.92.110
&lt;/pre&gt;&lt;br /&gt;
You can also schedule a change to happen in the future by appending "&lt;b&gt;at &lt;i&gt;&lt;a href="http://www.w3schools.com/Schema/schema_dtypes_date.asp"&gt;DateTime String&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;" to the conf command. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class=code&gt;username@10.10.1.10 &gt; conf zone mydomain.com add host jl-test-1 1.2.3.4 at 2010-04-14T14:15:00-04:00
username@10.10.1.10 &gt; show grid schedule
              changed_objects : Infoblox::Grid::ScheduledTask::ChangedObject=HASH(0x104c08018)
                scheduled_time : 2010-04-14T18:15:00Z
                   submit_time : 2010-04-13T17:39:35Z
                     submitter : username
                       task_id : 2

&lt;/pre&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; There is really no need for me to try all of the features (&lt;a href="http://sites.google.com/site/ibclidev/user-guide#batch"&gt;batch commands look nice&lt;/a&gt;), but most everything I've tried has worked nicely. The author of the script is clear about this being "beta code", so use of this is &lt;b&gt;completely at your own risk&lt;/b&gt;. Enjoy.&lt;br /&gt;
&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2685744387877119547-6594804458260228351?l=www.vmfail.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.vmfail.com/feeds/6594804458260228351/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.vmfail.com/2010/04/ibcli-command-line-tool-for-infoblox.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2685744387877119547/posts/default/6594804458260228351?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2685744387877119547/posts/default/6594804458260228351?v=2" /><link rel="alternate" type="text/html" href="http://www.vmfail.com/2010/04/ibcli-command-line-tool-for-infoblox.html" title="ibcli - a command line tool for infoblox management" /><author><name>Jordan Lederman</name><uri>http://www.blogger.com/profile/12151170010097340034</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkAGSH48fyp7ImA9WxFSEk8.&quot;"><id>tag:blogger.com,1999:blog-2685744387877119547.post-1119462288867520509</id><published>2009-07-27T10:30:00.036-04:00</published><updated>2010-04-14T00:52:09.077-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-14T00:52:09.077-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="storage" /><category scheme="http://www.blogger.com/atom/ns#" term="3par" /><title>How to attach a 3par volume to a CentOS 5.2 server</title><content type="html">&lt;p&gt;&amp;nbsp; &amp;nbsp; The goal of this post is to detail the process of how to make a 3par (san) volume usable by a linux host, and since not all that much of it is 3par specific, it should be easily extendable to most other types of arrays. The major prerequisites are that: &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;The host is already zoned to the array.&lt;br /&gt;
&lt;li&gt;The host object has been created on the array.&lt;br /&gt;
&lt;li&gt;A volume is created on the array&lt;br /&gt;
&lt;li&gt;The volume is exported to this host&lt;br /&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; The equipment involved here is a dell 1955 blade server with a dual port qlogic 2342 &lt;a href="http://en.wikipedia.org/wiki/Fibre_Channel"&gt;fibre channel&lt;/a&gt; card which is connected to a 3par S400 array via brocade switches (full topology details at another time). The OS is CentOS 5.2 x86_64 which is only important &amp;amp; mentioned because it makes use kernel 2.6.18 and is &lt;b&gt;sysfs&lt;/b&gt; based and &lt;b&gt;not proc&lt;/b&gt; based.&lt;/p&gt;&lt;hr /&gt;&lt;h2&gt;Step 1: Use dmsetup to get a quick baseline.&lt;/h2&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Being clear on how things look before and after is key, so use dmsetup (device-mapper setup) to check out what the disk devices look like now.&lt;/p&gt;&lt;pre class="code"&gt;root@server:~$ dmsetup ls
RootDisk-swap   (253, 1)
RootDisk-root   (253, 0)
&lt;/pre&gt;&lt;h2&gt;Step 2: Create your base multipath.conf:&lt;/h2&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; This is probably the only part that is 3par specific and if you are using another type of array, change the contents of the 'devices' as appropriate. Details are easy to find online. For my setup, I do the following:  &lt;pre class="code"&gt;root@server:~$ cat &gt; /etc/multipath.conf
defaults {
  user_friendly_names yes
}
blacklist {
  devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
  devnode "^hd[a-z]"
  devnode "^sda$"
  devnode "^sda[0-9]"
}
devices {
  device {
          vendor "3PARdata"
          product "VV"
          path_grouping_policy multibus
          path_checker tur
          no_path_retry 60
  }
}
^D
&lt;/pre&gt;&lt;h2&gt;Step 3 - Rescan your hba ports &amp;amp; verify the volume is seen.&lt;/h2&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; This host has a single 2 port hba, which appears in sysfs as 'host1' and 'host2' ('host0' is the on-board raid controller). Trigger a re-scan of the fc ports so that they will see the new device. &lt;/p&gt;&lt;pre class="code"&gt;echo "- - -" &gt; /sys/class/scsi_host/host1/scan
echo "- - -" &gt; /sys/class/scsi_host/host2/scan
&lt;/pre&gt;&amp;nbsp; &amp;nbsp; Use dmsetup to see if this worked, and in this case it did.&lt;/p&gt;&lt;pre class="code"&gt;root@server:~$ dmsetup ls
RootDisk-swap   (253, 1)
RootDisk-root   (253, 0)
mpath0  (253, 2)                           &lt;--------- yep
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; In this case it works, which is great and all, but a lot of times it doesn't. If it didn't work, reinitialize each fibre port, scan again, and then check dmsetup (and hope). To reinitialize the port, use &lt;b&gt;issue_lip&lt;/b&gt;: &lt;/p&gt;&lt;pre class="code"&gt;root@server:~$ echo 1 &gt; /sys/class/fc_host/host1/issue_lip
root@server:~$ echo 1 &gt; /sys/class/fc_host/host2/issue_lip
&lt;/pre&gt;&lt;p&gt;For a ton of details on the details of fibre channel including lips, loops, zones, and other tantalizing details, read the very outdated-but-still-good &lt;a href="http://www.iol.unh.edu/services/testing/fc/training/tutorials/fc_tutorial.php"&gt;Interop Library Fibre Channel Tutorial&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;Step 4 - Start, Manage, and Verify multipathd&lt;/h2&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Now that we've verified the host sees the volume, start multipathd, chkconfig it on, and if the output is similar to what follows you are in good shape.
&lt;pre class="code"&gt;root@server:~$ /etc/init.d/multipathd start
Starting multipathd daemon:                                [  OK  ]
root@server:~$ chkconfig multipathd on
root@server:~$ multipath -l
mpath0 (350002ac16bf80456) dm-2 3PARdata,VV
[size=75G][features=1 queue_if_no_path][hwhandler=0]
\_ round-robin 0 [prio=0][enabled]
\_ 1:0:1:124 sdb 8:16  [active][undef]
\_ 2:0:1:124 sdc 8:32  [active][undef]
&lt;/pre&gt;&lt;h3&gt;mpath0 is a bad name&lt;/h3&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Grab the wwid from the multipath output and add a block to the multipath conf giving it a friendly name. If you skip this, things will work just fine until it's the middle of the night a year later, you have 3 san attached volumes that showed up in a different order after a reboot, and you need to figure out what's going on. Of course your documentation is perfect and would have all this stuff written down, but DO IT ANYWAY... The stanza you need will look something like this, which should come right after the devices block. 
&lt;pre class="code"&gt;multipaths {
  multipath {
          wwid    350002ac16bf80456
          alias   mt-prod-rodb-p2
  }
}
&lt;/pre&gt;&lt;h3&gt;multipathd has a shell?&lt;/h3&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Oh yeah it does. Now that you've appropriately named your volume (and if you chose 'mpath0' and work with me I will hunt you down ) you need to reconfigure multipathd to pick up the new changes. Use the super secret interactive multipathd shell which is only super secret because I didn't know about it for a long time. 
&lt;pre class="code"&gt;root@server:~$ multipathd -k
multipathd&gt; reconfigure
ok
&lt;/pre&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; If you have the time, hit '?' for a list of options. There is a ton of stuff you can do here such as administratively shut paths if you have the need to. To do this, use 'del' path (and 'add' path to restore), not 'fail' path. Perhaps more on this another time.
&lt;pre class="code"&gt;multipathd&gt; list paths
hcil      dev dev_t pri dm_st   chk_st  next_check
1:0:1:124 sdb 8:16  1   [active][ready] XXXXXXXXXX 20/20
2:0:1:124 sdc 8:32  1   [active][ready] XXXXXXXXXX 20/20
multipathd&gt; del path sdc
ok
multipathd&gt; list paths
hcil      dev dev_t pri dm_st   chk_st  next_check
1:0:1:124 sdb 8:16  1   [active][ready] .......... 1/20
multipathd&gt; add path sdc
ok
multipathd&gt; ^D
&lt;/pre&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Getting back on track, verify that both dmsetup and multipath see the device by its proper name and if they do, move along to the next part.
&lt;pre class="code"&gt;root@server:~$ multipath -l
mt-prod-rodb-p2 (350002ac16bf80456) dm-2 3PARdata,VV
[size=75G][features=1 queue_if_no_path][hwhandler=0]
\_ round-robin 0 [prio=0][enabled]
\_ 1:0:1:124 sdb 8:16  [active][undef]
\_ 2:0:1:124 sdc 8:32  [active][undef]

root@server:~$ dmsetup ls
RootDisk-swap   (253, 1)
RootDisk-root   (253, 0)
mt-prod-rodb-p2 (253, 2)
&lt;/pre&gt;&lt;h2&gt;Step 5 - Partitioning and Filesystem nonsense&lt;/h2&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Relax, The hard part is over. Next steps are to create a partition, get the os to see the partition, drop a filesystem on it, and mount it. For the most part this is really standard stuff. &lt;h3&gt;Partition the disk&lt;/h3&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Create a partition on the disk using plain old fdisk. Nothing fancy here, just "n,p,1,&lt;b&gt;enter&lt;/b&gt;,&lt;b&gt;enter&lt;/b&gt;,w,&lt;b&gt;enter&lt;/b&gt;"
&lt;pre class="code"&gt;root@server:~$ fdisk /dev/mapper/mt-prod-rodb-p2
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.


The number of cylinders for this disk is set to 9790.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-9790, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-9790, default 9790):
Using default value 9790

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
&lt;/pre&gt;&lt;p&gt;Ignore that warning, I do, everything is just fine after kpartx.&lt;/p&gt;&lt;h3&gt;Use kpartx to update the device maps&lt;/h3&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; This is the only remaining step you don't normally need to do. The command you'll use is 'kpartx -a /dev/mapper/&lt;i&gt;volume&lt;/i&gt;'&lt;/p&gt;&lt;pre class="code"&gt;root@server:~$ ls -l /dev/mapper/ |grep mt-prod
brw-rw----  1 root disk 253,  2 Jul 25 13:24 mt-prod-rodb-p2

root@server:~$ kpartx -l /dev/mapper/mt-prod-rodb-p2
mt-prod-rodb-p2p1 : 0 157276287 /dev/mapper/mt-prod-rodb-p2 63

root@server:~$ kpartx -a /dev/mapper/mt-prod-rodb-p2

root@server:~$ ls -l /dev/mapper/ |grep mt-prod
brw-rw----  1 root disk 253,  2 Jul 25 13:24 mt-prod-rodb-p2
brw-rw----  1 root disk 253,  3 Jul 25 13:26 mt-prod-rodb-p2p1
&lt;/pre&gt;&lt;h3&gt;Create the filesystem &amp;amp; mount it&lt;/h3&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; Smooth sailing from this point forward. Filesystem: &lt;/p&gt;&lt;pre class="code"&gt;root@server:~$ mkfs.ext3 /dev/mapper/mt-prod-rodb-p2p1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
9830400 inodes, 19659535 blocks
982976 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
600 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
  32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
  4096000, 7962624, 11239424

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
root@server:~$
&lt;/pre&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;Mounting: &lt;/p&gt;&lt;pre class="code"&gt;root@server:~$ mkdir -p /path/to/mountpoint
root@server:~$ echo "/dev/mapper/mt-prod-rodb-p2p1 /path/to/mountpoint   ext3 defaults,noatime 0 0" &gt;&gt; /etc/fstab  
root@server:~$ mount /path/to/mountpoint
&lt;/pre&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;Done! For reference, check out &lt;a href=http://www.centos.org/docs/5/html/5.2/DM_Multipath/&gt; Using Device-Mapper Multipath &lt;/a&gt; official docs.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2685744387877119547-1119462288867520509?l=www.vmfail.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.vmfail.com/feeds/1119462288867520509/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.vmfail.com/2009/07/howto-attach-3par-volume-to-centos-52.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2685744387877119547/posts/default/1119462288867520509?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2685744387877119547/posts/default/1119462288867520509?v=2" /><link rel="alternate" type="text/html" href="http://www.vmfail.com/2009/07/howto-attach-3par-volume-to-centos-52.html" title="How to attach a 3par volume to a CentOS 5.2 server" /><author><name>Jordan Lederman</name><uri>http://www.blogger.com/profile/12151170010097340034</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;Dk4BSX09eip7ImA9WxJbF00.&quot;"><id>tag:blogger.com,1999:blog-2685744387877119547.post-6594444329808947105</id><published>2009-07-26T12:32:00.013-04:00</published><updated>2009-07-27T10:29:18.362-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-27T10:29:18.362-04:00</app:edited><title>and so it has come to this</title><content type="html">&lt;!-- &lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 177px;" src="http://4.bp.blogspot.com/_BhGIyMzllI0/SmyioeuoCLI/AAAAAAAAAR0/zgvw-C6Suv4/s200/revenge-of-the-nerds.jpg" border="0" alt="nerds"id="BLOGGER_PHOTO_ID_5362840072618510514" /&gt; --&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Yeap, first post so, &lt;span style="font-weight: bold;"&gt;welcome to my blog!&lt;/span&gt; &lt;small&gt;&lt;i&gt;(shoots self in face)&lt;/i&gt;&lt;/small&gt;. The intent of this blog is to share technical info that might just help others avoid the troubles I've run into. Or to put it another way, post what I wish I had in front of me while I stumbled through it the first time. The plan is for this to be more technical than not, focused on Virtualization, Networks, Storage, and Linux, but lets not set expectations too high - expect crap. Feedback is welcome and I hope that something useful will come out of this, only time will tell.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2685744387877119547-6594444329808947105?l=www.vmfail.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.vmfail.com/feeds/6594444329808947105/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.vmfail.com/2009/07/first-post.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2685744387877119547/posts/default/6594444329808947105?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2685744387877119547/posts/default/6594444329808947105?v=2" /><link rel="alternate" type="text/html" href="http://www.vmfail.com/2009/07/first-post.html" title="and so it has come to this" /><author><name>Jordan Lederman</name><uri>http://www.blogger.com/profile/12151170010097340034</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry></feed>

