<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8164909509334568341</id><updated>2024-08-29T03:27:08.378-07:00</updated><category term="Copy on Write"/><category term="File Server"/><category term="LVM"/><category term="Linux"/><category term="Snapshot"/><title type='text'>My Automated Life</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://myautomatedlife.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8164909509334568341/posts/default'/><link rel='alternate' type='text/html' href='http://myautomatedlife.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8164909509334568341.post-7965780110838438342</id><published>2011-05-18T17:27:00.000-07:00</published><updated>2011-05-18T17:42:07.223-07:00</updated><title type='text'>Console Gaming Computer</title><content type='html'>Just a heads up, over the next several weeks or months I&#39;ll be putting together a computer purpose-built for playing old console games on a HD Television using a PS3 Bluetooth gamepad.&lt;br /&gt;&lt;br /&gt;Here&#39;s my list of requirements:&lt;br /&gt;&lt;br /&gt;Hardware must cost less than $300 (goal is less than $200) (not including controller)&lt;br /&gt;Once initial configuration is complete, must boot into an interface that can be controlled using nothing but the PS3 gamepad.&lt;br /&gt;Must emulate, at a minimum, NES, Genesis, GB, GBA, SNES, PS1, N64&lt;br /&gt;&lt;br /&gt;Here are some additional goals:&lt;br /&gt;&lt;br /&gt;Media Player functionality&lt;br /&gt;SMB/CIFS share for adding ROMs/Music/Movies to local storage&lt;br /&gt;LiveCD/DVD/USB with a simple mechanism for adding ROMs to the image&lt;br /&gt;&lt;br /&gt;Anyway, I&#39;ll be posting details and notes as I progress.  If you&#39;re interested in assisting with this project, please let me know.</content><link rel='replies' type='application/atom+xml' href='http://myautomatedlife.blogspot.com/feeds/7965780110838438342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://myautomatedlife.blogspot.com/2011/05/console-gaming-computer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8164909509334568341/posts/default/7965780110838438342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8164909509334568341/posts/default/7965780110838438342'/><link rel='alternate' type='text/html' href='http://myautomatedlife.blogspot.com/2011/05/console-gaming-computer.html' title='Console Gaming Computer'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8164909509334568341.post-7920396344603201630</id><published>2009-12-08T19:01:00.000-08:00</published><updated>2009-12-09T22:21:23.304-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Copy on Write"/><category scheme="http://www.blogger.com/atom/ns#" term="File Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="LVM"/><category scheme="http://www.blogger.com/atom/ns#" term="Snapshot"/><title type='text'>Migrating My File Server to LVM</title><content type='html'>The other day I ran across an &lt;a href=&quot;http://www.thogan.com/site/index.php?option=com_content&amp;amp;view=article&amp;amp;id=8:windows-xpvista7-iscsi-boot&amp;amp;catid=2:uncatagorized&amp;amp;Itemid=2&quot;&gt;article on some really neat tricks&lt;/a&gt; that can be done with &lt;a href=&quot;http://en.wikipedia.org/wiki/Logical_volume_management&quot;&gt;LVM&lt;/a&gt; (&lt;a href=&quot;http://www.blogger.com/en.wikipedia.org/wiki/Logical_volume_management&quot;&gt;Logical Volume Management&lt;/a&gt;) on a Linux file server.  The snapshot feature was of particular interest to me.&lt;br /&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;pub-0262920425027431&quot;; /* Within Post 468x60 banner, created 12/9/09 */ google_ad_slot = &quot;3701518674&quot;; google_ad_width = 468; google_ad_height = 60; //--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;For those of you not familiar with the term, I&#39;ll try to briefly explain what a snapshot is and what it&#39;s good for.  A more detailed explanation can be found &lt;a href=&quot;http://en.wikipedia.org/wiki/Snapshot_%28computer_storage%29&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;When you take a snapshot of a dataset, you instantly get two datasets.  One dataset is the data exactly as it was when you took the snapshot.  The other dataset is the data as it is currently (with all the changes since the snapshot was taken).&lt;br /&gt;&lt;br /&gt;You may ask &quot;How does it instantly make a complete copy of the dataset?  Wouldn&#39;t that take hours for even moderately sized datasets?&quot;&lt;br /&gt;&lt;br /&gt;The magic comes from a bit of technology called &lt;a href=&quot;http://en.wikipedia.org/wiki/Copy_on_write&quot;&gt;&quot;Copy on Write&quot; (COW)&lt;/a&gt;.  When you hit the snapshot button, all your current data is frozen as is, and another thread is started that only tracks the &lt;span style=&quot;font-weight: bold;&quot;&gt;changes&lt;/span&gt; to the original dataset.  Instantly, you have two virtual copies of your dataset.  One is a read-only dataset frozen in time the instant you hit the snapshot button, and the other is a read/write dataset which keeps on functioning as if nothing of interest happened.&lt;br /&gt;&lt;br /&gt;It should be noted, however, that by freezing your dataset with a snapshot, your dataset will never take up less space than it&#39;s currently occupying.  When you delete some piece of data on your read/write dataset, it only flags that piece of data as being deleted, it&#39;s still occupying space on your read-only dataset.&lt;br /&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!-- google_ad_client = &quot;pub-0262920425027431&quot;; /* Within Post 468x60 banner, created 12/9/09 */ google_ad_slot = &quot;3701518674&quot;; google_ad_width = 468; google_ad_height = 60; //--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;To reclaim storage space, you have two options.  You can &quot;delete&quot; the snapshot, which causes all the changes in your read/write dataset to be applied to the original dataset.  Or you can &quot;revert&quot; to snapshot, which simply deletes the changes tracked in your read/write dataset, and gives you read/write access to your frozen dataset.&lt;br /&gt;&lt;br /&gt;That&#39;s &quot;snapshots&quot; in a nutshell, but that barely scratches the surface of all the neat tricks Copy on Write can do.  One of the neatest tricks, which I plan on implementing over the next month or so, is the ability to create multiple read/write volumes all based on a common snapshot.&lt;br /&gt;&lt;br /&gt;This is what makes Copy on Write terribly useful.&lt;br /&gt;&lt;br /&gt;If you have compare the contents of the hard drives of ten computers running Windows 7, you&#39;ll notice that about 10GB worth of files on each HD is identical (the OS files).  If you consolidate your storage in some form of &lt;a href=&quot;http://en.wikipedia.org/wiki/Storage_Area_Network&quot;&gt;SAN&lt;/a&gt;, you can install Windows 7 to a (virtual) drive in your SAN, then take a snapshot of that drive.  At this point, you can create 10 new virtual drives based off that snapshot, all tracking their changes individually.  Map your 10 computers to the new virtual drives in your SAN, and you&#39;re only using that 10GB once, instead of storing it separately 10 times (once for each computer) on local drives.  10GB may not sound like a lot, but let&#39;s pretend it&#39;s not 10 computers we&#39;re talking about, but 1000.  That&#39;s almost 10TB (9990GB) of wasted storage.  And that&#39;s just the Windows OS.  Throw on some standard software packages like Office or Photoshop, and the wasted space gets bigger and bigger.&lt;br /&gt;&lt;br /&gt;Now we&#39;re saving a ton on storage.  But wait, there are more cool tricks we can do.&lt;br /&gt;&lt;br /&gt;1000 people accessing the same 10GB of data can get pretty slow, if you&#39;re using a slow volume.  But since we know that 1000 users are going to be accessing this particular 10GB of data, we spend a little more money to put this 10GB on a very fast volume (&lt;a href=&quot;http://en.wikipedia.org/wiki/Ram_disk&quot;&gt;RAM disk&lt;/a&gt;, or &lt;span style=&quot;font-weight: bold;&quot;&gt;lots&lt;/span&gt; of HDs in a &lt;a href=&quot;http://en.wikipedia.org/wiki/RAID10#RAID_10_.28RAID_1.2B0.29&quot;&gt;RAID10&lt;/a&gt; array), which will actually &lt;span style=&quot;font-weight: bold;&quot;&gt;improve&lt;/span&gt; the users&#39; access time over an internal HD, assuming the SAN fabric doesn&#39;t become a choke-point.  For this to work effectively in an &lt;a href=&quot;http://en.wikipedia.org/wiki/Iscsi&quot;&gt;iSCSI&lt;/a&gt; environment, you&#39;d probably need a 10Gbps network backbone and 1Gbps to the desktops.  If, however, you&#39;re not running 1000 machines off a single volume, then you don&#39;t need the 10Gbps backbone to see massive improvements.&lt;br /&gt;&lt;br /&gt;I&#39;ll be migrating my current, non-LVM-based file server to LVM-based storage in the coming weeks.  I&#39;ll post from time to time during the transition.</content><link rel='replies' type='application/atom+xml' href='http://myautomatedlife.blogspot.com/feeds/7920396344603201630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://myautomatedlife.blogspot.com/2009/12/migrating-my-fileserver-to-lvm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8164909509334568341/posts/default/7920396344603201630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8164909509334568341/posts/default/7920396344603201630'/><link rel='alternate' type='text/html' href='http://myautomatedlife.blogspot.com/2009/12/migrating-my-fileserver-to-lvm.html' title='Migrating My File Server to LVM'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>