<?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: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-4398316906426164671</id><updated>2011-07-28T22:28:09.911-07:00</updated><title type='text'>Skjetlein</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rskjetlein.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4398316906426164671/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rskjetlein.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Skjetlein</name><uri>http://www.blogger.com/profile/01134167383242149276</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>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4398316906426164671.post-3458098177007164615</id><published>2009-08-29T12:34:00.000-07:00</published><updated>2009-08-29T13:13:48.156-07:00</updated><title type='text'>Expanding a ZFS pool</title><content type='html'>As some users of ZFS come asks - is it possible to expand a pool?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The standard answer per zfs manual is to add more devices or vdevs (raidz, mirrors). As this gives you more space, it does comes with a backside and that is the need for more harddisk that again consumes more space. Space in commidity hardware is not something we have plentyfull of so the best approach would be to replace the existing harddrives.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The zfs documentation vaguely mentiones that you can do a one by one replacement of the drives within a vdev, thus indirectly expanding.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Earlier I have never been in need for expanding any vdev since upgrading space have come hand in hand with upgrade the entire server. But now the data growth have superseded the lifetime of the server, I had to solve this issue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Server I use for storage today have two pools, each with one single vdev in raidz. The first goal was to upgrade the biggest pool. This consisted of 6 x 750GB harddrives, new drives was 1.5TB.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The clue is that the zpool will scale the vdev by the smallest device within its entity. And what one need to do is to replace the disks one by one.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To be absolutely sure on the method and the result I did first a quick test on a small install. I create a instance in vmware with 6 virtual disks.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;da1: 1024MB (2097152 512 byte sectors: 64H 32S/T 1024C)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;da2: 1024MB (2097152 512 byte sectors: 64H 32S/T 1024C)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;da3: 1024MB (2097152 512 byte sectors: 64H 32S/T 1024C)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;da4: 8192MB (16777216 512 byte sectors: 255H 63S/T 1044C)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;da5: 8192MB (16777216 512 byte sectors: 255H 63S/T 1044C)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;b&gt;da6: 8192MB (16777216 512 byte sectors: 255H 63S/T 1044C)&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:'courier new';font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="font-family:'courier new';font-size:100%;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;div&gt;&lt;b&gt;# zpool create test raidz da{1,2,3}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;# zpool status&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;  pool: test&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt; state: ONLINE&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt; scrub: none requested&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;config:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;        NAME        STATE     READ WRITE CKSUM&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;        test        ONLINE       0     0     0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;          raidz1    ONLINE       0     0     0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;            da1     ONLINE       0     0     0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;            da2     ONLINE       0     0     0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;            da3     ONLINE       0     0     0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;errors: No known data errors&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;# zpool list&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;test  2.98G   141K  2.98G     0%  ONLINE  -&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;As you can see the pool test is created as usual with 3 x 1GB disks and the total unconsumed space is approx 3 GB.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Now we continue to replace all the disks with 8 GB's.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;# zpool replace test da1 da4&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;# zpool replace test da2 da5&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;# zpool replace test da3 da6&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Note: you must wait for the resilver process to complete for each drive until you continue with the next one.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;While replacing zpool status will report this:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;# zpool status&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;  pool: test&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt; state: ONLINE&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt; scrub: resilver completed after 0h0m with 0 errors on Sat Aug 29 19:52:20 2009&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;config:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;        NAME        STATE     READ WRITE CKSUM&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;        test        ONLINE       0     0     0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;          raidz1    ONLINE       0     0     0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;            da4     ONLINE       0     0     0  30.5K resilvered&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;            da5     ONLINE       0     0     0  50K resilvered&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;            da3     ONLINE       0     0     0  29.5K resilvered&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;errors: No known data errors&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Now, the resilver process is very quick, since there where no data stored in the pool. This is a major benefit with ZFS, it only cares for the blocks that actually have data. In a hardware raid implementation, a replacement always results in a full XOR recalculation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;There is still one drive left to replace, you can see that the total space is still unaffected by the two first drives been replaced.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;# zpool list&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;test  2.98G   165K  2.98G     0%  ONLINE  -&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;After the last drive been replaced the capacity have increased:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;# zpool list&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;test  24.0G   168K  24.0G     0%  ONLINE  -&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;In comparison with hardware and dedicated solutions (SAN) the approach is exactly the same. There are actually not many implementations you can expand a raid in this manner. Most solutions are based on moving a volume on a raid to a bigger raid or spanning the volume over several raid sets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Many have complained ZFS lack of been able to resize raids, but they need to remember that very few implementions can do this. Resizing requires heavy recalculations and a major logistical works since the data is allready stored in a specific pattern with checksums.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Again, zfs shows us the future of filesystems. The flexibillity, ease of use and end to end intergrity puts most other fs's in the dust.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Note for FreeBSD: The current tested version, zfs v13. You most reboot the server when all replacements have been done in order for the zfs to detect the increased capacity. If there are other better methods, please comment.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4398316906426164671-3458098177007164615?l=rskjetlein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rskjetlein.blogspot.com/feeds/3458098177007164615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4398316906426164671&amp;postID=3458098177007164615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4398316906426164671/posts/default/3458098177007164615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4398316906426164671/posts/default/3458098177007164615'/><link rel='alternate' type='text/html' href='http://rskjetlein.blogspot.com/2009/08/expanding-zfs-pool.html' title='Expanding a ZFS pool'/><author><name>Skjetlein</name><uri>http://www.blogger.com/profile/01134167383242149276</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><id>tag:blogger.com,1999:blog-4398316906426164671.post-8205404539729621986</id><published>2009-02-27T20:07:00.000-08:00</published><updated>2009-02-27T20:29:49.204-08:00</updated><title type='text'>Hva vil man?</title><content type='html'>I den siste tiden har jeg selv stått ovenfor valg som vil påvirke fremtiden i større grad. Veiskille, fritid, miljø etc er stikkord for de tanker og konsekvenser av valg jeg har måtte foreta. En annen like interessant sak er at jeg kjenner flere som har havnet i samme situasjon, å høre andres tanker og prioriteringer i slike settinger setter ofte ting i et godt perspektiv.&lt;br /&gt;&lt;br /&gt;Det å stå på sidelinjen, men samtidig egentlig være med i samme båt og se de fleste prioritere og velge utifra hva andre forventer av dem er tankevekkende. Det virker som de fleste velger med horisont og perspektiv som er styrt av samfundets roller og normer - hva andre forventer.&lt;br /&gt;&lt;br /&gt;Istedenfor burde man reflektere på hva man egentlig vil, og da med trykk på &lt;span style="font-weight: bold;"&gt;egentlig&lt;/span&gt;. De fleste utfordrer seg ikke nok på dette og tar rett og slett ikke hensyn til seg selv. Den andre side kan være det at mange setter seg i situasjoner hvori de i ikke simpelthet lenger har mulighet til å velge utifra det man vil.&lt;br /&gt;&lt;br /&gt;For mange fengsler seg inn i den situasjon man allerede befinner seg i. Et typisk eksempel på dette er økonomiske rammer hvor stadig høyere inntekt senker terskelen for å binde seg til forpliktelser hvor den opprinnelige grunntanken var å ta ibruk muligheter man fikk.&lt;br /&gt;&lt;br /&gt;(artikkel ikke ferdig)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4398316906426164671-8205404539729621986?l=rskjetlein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rskjetlein.blogspot.com/feeds/8205404539729621986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4398316906426164671&amp;postID=8205404539729621986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4398316906426164671/posts/default/8205404539729621986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4398316906426164671/posts/default/8205404539729621986'/><link rel='alternate' type='text/html' href='http://rskjetlein.blogspot.com/2009/02/hva-vil-man.html' title='Hva vil man?'/><author><name>Skjetlein</name><uri>http://www.blogger.com/profile/01134167383242149276</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><id>tag:blogger.com,1999:blog-4398316906426164671.post-7048647761463935134</id><published>2009-01-02T10:23:00.000-08:00</published><updated>2009-01-02T10:50:03.340-08:00</updated><title type='text'>Disconnecting</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://storage0.dms.mpinteractiv.ro/media/2/2/7244/2468685/1/nokia-1200.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 236px; height: 176px;" src="http://storage0.dms.mpinteractiv.ro/media/2/2/7244/2468685/1/nokia-1200.jpg" alt="" border="0" /&gt;&lt;/a&gt;Before christmas, I received a new so called smartphone. Not that I am new to the smartphone concept, but this phone i rather unique in that it really connects you to internet - &lt;span style="font-weight: bold;"&gt;all the time&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;From before I have used Palm Treo 650, Iphone and now this item. From going to very basic phones, the first one i had couldnt even send sms (only receive) to actually requiring some effort in order to &lt;span style="font-weight: bold;"&gt;not &lt;/span&gt;connecting it to internet.&lt;br /&gt;&lt;br /&gt;A couple days ago, I realized that I was becomming more and more a slave of this item. Not the item itself, but being connected to internet. Checking n mail accounts, checking who's online, chatting, tweeting, facebook, friendfeed, linkedin etc etc.&lt;br /&gt;&lt;br /&gt;The simple fix for me was to simply disconnecting myself from all this (noise). I shelfed all the smartphones and bought one of the simplest phones I could find. A Nokia 1200. It can't check email, you cant do online chatting, no rss feed and certanly not facebook.&lt;br /&gt;&lt;br /&gt;Ironically the simple phone was a timesaver (not only due to less frequent need for charging :) ),  and let me spend more time on what I really like. In this time of year it is mostly anything related to step slopes and snow and reading email is not compatible with that. When interneting,  I maybe spend 20 minutes and finish all the tasks in that timeperiod, instead of randomly checking via a smartphone n times a day.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Tempus edax rerum&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4398316906426164671-7048647761463935134?l=rskjetlein.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rskjetlein.blogspot.com/feeds/7048647761463935134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4398316906426164671&amp;postID=7048647761463935134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4398316906426164671/posts/default/7048647761463935134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4398316906426164671/posts/default/7048647761463935134'/><link rel='alternate' type='text/html' href='http://rskjetlein.blogspot.com/2009/01/disconnecting.html' title='Disconnecting'/><author><name>Skjetlein</name><uri>http://www.blogger.com/profile/01134167383242149276</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>
