<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>zfs &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/zfs/</link>
	<description>Feed of posts on WordPress.com tagged "zfs"</description>
	<pubDate>Fri, 27 Nov 2009 12:14:06 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Encrypted ZFS]]></title>
<link>http://agolon.wordpress.com/2009/11/26/127/</link>
<pubDate>Thu, 26 Nov 2009 10:28:07 +0000</pubDate>
<dc:creator>agolon</dc:creator>
<guid>http://agolon.wordpress.com/2009/11/26/127/</guid>
<description><![CDATA[Instead of the lot of encrypting hack found browsing around the internet, I&#8217;ve found a real el]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Instead of the lot of encrypting hack found browsing around the internet, I&#8217;ve found a real elegant solution  <a href="http://blog.experimentalworks.net/2008/03/setting-up-an-encrypted-zfs-with-freebsd/">here.</a> It is not negligible, that this solution can be done very easy because of the nature of GEOM, the disk handling layer of FreeBSD.</p>
<p>If we want to take this serious, <a href="http://forums.freebsd.org/showthread.php?t=2775">here</a> is an other solution, where the whole thing is done with the root filesystem, and the needed boot record and keys are stored on a USB stick.</p>
<p>Here is a quick and dirty test on a virtual machine according to the tutorials mentioned. I&#8217;ve created two ZFS pools, one is based on a &#8220;normal&#8221; disk device,  and another GEOM-ELI encrypted one (<code>ad3.eli</code> here). </p>
<pre class="brush: plain;">
freebsd# zpool status
  pool: crypted
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        crypted     ONLINE       0     0     0
          ad3.eli   ONLINE       0     0     0

errors: No known data errors

  pool: plain
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        plain       ONLINE       0     0     0
          ad1       ONLINE       0     0     0

errors: No known data errors
</pre>
<p>After a reboot the encrypted device isn&#8217;t initialized yet, that&#8217;s why the <code>crypted</code> pool doesn&#8217;t come up.</p>
<pre class="brush: plain;">
freebsd# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
crypted                    -       -       -      -  FAULTED    -
plain                   123M    322K    123M     0%  ONLINE     -
</pre>
<p>In real life this is what an unauthorized person would see when trying to use the disk.</p>
<pre class="brush: plain;">
freebsd# zpool status crypted
  pool: crypted
 state: FAULTED
status: One or more devices could not be used because the label is missing
        or invalid.  There are insufficient replicas for the pool to continue
        functioning.
action: Destroy and re-create the pool from a backup source.
   see: http://www.sun.com/msg/ZFS-8000-5E
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        crypted     FAULTED      0     0     0  corrupted data
          ad3       UNAVAIL      0     0     0  corrupted data
</pre>
<p>Dekriptáljuk a kulccsal és a jelszóval, létrejön egy .eli device. Természetesen beállítható, hogy bootoláskor bekérje a jelszót.</p>
<pre class="brush: plain;">
freebsd# ls /dev/ad3*
/dev/ad3

freebsd# geli attach -k /root/AD3.KEY /dev/ad3
Enter passphrase:
GEOM_ELI: Device ad3.eli created.
GEOM_ELI: Encryption: AES-CBC 128
GEOM_ELI: Crypto: software

freebsd# ls /dev/ad3*
/dev/ad3        /dev/ad3.eli
</pre>
<p>The two device (which has basicly the same physical disk behind) contains different data. (I&#8217;m not sure that is safe enouugh, but we should trust the developers.)</p>
<pre class="brush: plain;">
freebsd# od -N 64 /dev/ad3
0000000    013656  063203  126627  124130  123623  172041  031633  017602
0000020    031074  161743  066227  176053  134323  043301  014373  107567
0000040    115637  060745  175115  106175  044662  041262  044142  065625
0000060    021002  160304  045367  047763  065401  063457  026315  073572
0000100
freebsd# od -N 64 /dev/ad3.eli
0000000    050742  113732  071701  074476  135444  055035  170031  155754
0000020    150122  143035  154627  104534  121114  101434  167634  110345
0000040    013172  113341  001635  133547  022354  035751  072373  144310
0000060    122771  156712  175330  033173  164006  177125  061412  166472
0000100
</pre>
<p>Let&#8217;s see if the pool is alive! If yes we can use it.</p>
<pre class="brush: plain;">
freebsd# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
crypted                 123M   86.7M   36.3M    70%  ONLINE     -
plain                   123M    322K    123M     0%  ONLINE     -
</pre>
<pre class="brush: plain;">
freebsd#  zpool status crypted
  pool: crypted
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        crypted     ONLINE       0     0     0
          ad3.eli   ONLINE       0     0     0

errors: No known data errors
</pre>
<p>So we are happy now, let&#8217;s take some test. We are using dd to put some random data to the pools. The bad IO speed is because the test is running on VirtualBox over a poor old portable. Actually we do not care the speed, but the comparison of the speed of the pools.</p>
<p>Writing speed on unencrypted device:</p>
<pre class="brush: plain;">
freebsd# dd if=/dev/random of=/plain/testfile bs=1M count=85 &#38; zpool iostat plain 1 100
[1] 1030
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
plain        451K   123M      0      3  1.66K   180K
plain        451K   123M      0     73      0  9.21M
plain       15.4M   108M      0    132      0  10.5M
plain       27.9M  95.1M      0    143      0  12.3M
plain       38.4M  84.6M      0    134      0  11.6M
plain       54.4M  68.6M      0    183      0  13.3M
plain       65.4M  57.6M      0    159      0  9.28M
plain       76.0M  47.0M      0    232  63.8K  13.4M
plain       83.5M  39.5M      0    251      0  7.42M
85+0 records in
85+0 records out
89128960 bytes transferred in 8.286649 secs (10755730 bytes/sec)
^C
[1]  + Done                          dd if=/dev/random of=/plain/testfile bs=1M count=85
</pre>
<p>The same on the encrypted device:</p>
<pre class="brush: plain;">
freebsd# dd if=/dev/random of=/crypted/testfile bs=1M count=85 &#38; zpool iostat crypted 1 100
[1] 1034
               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
crypted     1.72M   121M      0      0  2.73K  51.0K
crypted     1.72M   121M      1     43   125K  5.48M
crypted     16.7M   106M      0    114  63.5K  9.76M
crypted     16.7M   106M      0     71  63.9K  8.87M
crypted     29.1M  93.9M      0     86  62.0K  5.91M
crypted     39.4M  83.6M      0    105      0  8.85M
crypted     48.0M  75.0M      0    129  63.9K  9.29M
crypted     48.0M  75.0M      0     45      0  5.62M
crypted     55.1M  67.9M      0     78      0  4.30M
crypted     66.0M  57.0M      0    157      0  9.49M
crypted     70.1M  52.9M      0     95      0  4.60M
crypted     76.5M  46.5M      0    151  63.9K  7.53M
crypted     80.8M  42.2M      0    128      0  5.51M
crypted     83.8M  39.2M      0    204  63.2K  5.71M
85+0 records in
85+0 records out
89128960 bytes transferred in 13.812837 secs (6452618 bytes/sec)
^C
[1]  + Done                          dd if=/dev/random of=/crypted/testfile bs=1M count=85
</pre>
<p>Of course this test above can not simulate a real life environment, I was only curious, how much resource does need the GELI layer in the middle. So I can not decide from this test wheter this values are tolerable or not. We were not getting clever, we know what we already knew, the encryption slows down the system, and needs more resources.</p>
<p>The benefit of the solution is the transparency. The created <code>.eli</code> device can be used for any filesystem which is supported by the operating system itself. Without the key and the password, the data on the disk is unusable.</p>
<p>On security side, I like the key/pass system. We can put the key on a safe place, and if somehow it is stolen, a password is still there to protect or privacy.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Insights on Discharge]]></title>
<link>http://internationalcoatings.wordpress.com/2009/11/25/insights-on-discharge/</link>
<pubDate>Wed, 25 Nov 2009 00:16:07 +0000</pubDate>
<dc:creator>iccink</dc:creator>
<guid>http://internationalcoatings.wordpress.com/2009/11/25/insights-on-discharge/</guid>
<description><![CDATA[Ed Branigan Another topic we get asked on a regular basis is that concerning discharge. Many printer]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div class="mceTemp">
<div class="mceTemp">
<div class="wp-caption alignleft" style="width: 148px"><a href="http://internationalcoatings.wordpress.com/files/2009/10/ed-1-gif.gif"><img class="size-thumbnail wp-image-43" title="Ed-1-GIF" src="http://internationalcoatings.wordpress.com/files/2009/10/ed-1-gif.gif?w=138" alt="" width="138" height="150" /></a><p class="wp-caption-text">Ed Branigan </p></div>
<p>Another topic we get asked on a regular basis is that concerning discharge.  Many printers would like to use it, but have either heard that it is smelly, or complicated to use.  Here is Ed Branigan with some insights on discharge:</p>
<p>“Discharge printing is enjoying a resurgence thanks to the trend towards soft hand vintage style t-shirts that’s going on right now.  People are still spooked by the discharge process though and the choice to use it seems always to be taken warily.  They imagine thick vapors of formaldehyde floating in clouds around their print shops while everyone has to wear a space suit just to get the job done. But things have changed in recent years as far as discharge printing systems go and for the better.</p>
<p>The technology which applies to discharge printing has been around for over 100 years. Discharge, also known as extraction printing because the result of the application is the extraction of the dye from the fabric, was not applicable to garments at first because printed garments needed to be steamed during the curing process which didn’t make it a very attractive option. The development of chemcially reactive discharge made it much easier to use for t-shirt printers because the garment could now be cured in an oven. That still left the formaldehyde.</p>
<p>Discharge has had a reputation for its smell and many printers will offer this by way of an explanation for being wary of using it:  “I hear that it has a really bad smell” or “I used to use it but stopped because of the smell “. The short answer is that it does have a smell but thanks to newer developments in discharge ink technology, this smell has been greatly reduced.</p>
<p>The cause of the smell is Zinc Formaldehyde Sulfate (ZFS). ZSF is the discharge agent and is typically added to a clear discharge base at about 5%-6% by weight.</p>
<p>The activated base is printed just like a regular ink. During the curing process the dye in the shirt covered by the printed area is discharged or extracted returning it back to its original cotton color. It is also during the curing stage that formaldehye is released and where the smell comes from.  As I mentioned already though, there have been improvements. The formaldehyde content has been greatly reduced and much less is gassed off than used to be. Thanks to the Clean Air Act and other legislation passed in the US in recent decades, stricter controls have been placed on VOC’s (Volatile Organic Compounds) being released into the air from screen printing inks and this has spurred technological advances.</p>
<p>Discharge is no longer the demon that it used to be. While it still requires care with handling and printing, it is by far way easier to manage than previous generations.</p>
<p>While both plastisol and waterbased discharge systems available on the market today the waterbased are more popular.</p>
<p>Waterbased discharge can be tinted using non corrosive pigments or inks to make color. The pigment or ink should be added to the base first and mixed before adding the ZFS. Once mixed it has a shorter shelf life, so be sure to only mix what you need and to follow the instructions.</p>
<p>One last thing to mention:  Not every shirt is dischargeable. It is important to test the garment or fabric first. Garment fabric dyes are fickle and don’t always behave themselves. Do a test print. If the discharge doesn’t work, don’t fight it.   It’s not going to and you can be sure that every shirt that was dyed in that particular lot won’t work either. So when ordering shirts make sure to ask for dischargeable ones.”</p>
<p>FYI, International Coatings carries a waterbased <a href="http://www.iccink.com/Water-Base-Discharge.htm" target="_blank">discharge system</a> containing of the <a href="http://www.iccink.com/pdfs/3707%20Discharge%20Base-Product%20Bulletin.pdf" target="_blank">3707 Discharge Base</a> and the <a href="http://www.iccink.com/pdfs/3707%20Discharge%20Base-Product%20Bulletin.pdf" target="_blank">3709 Discharge Activator</a>.  Our <a href="http://www.iccink.com/pdfs/GEN%20IV%20Product%20Bulletin-3.pdf" target="_blank">GEN IV</a> waterbased ink series can also be used to tint the waterbased discharge. The above-mentioned products can be purchased through our distributor network.  To find International Coatings distributors in your area, you can go to our distributor locator page <a href="http://www.iccink.com/distributorlocator.htm" target="_blank">here</a>.</p>
<div class="wp-caption alignleft" style="width: 145px"><img title="Cross Natural" src="http://internationalcoatings.files.wordpress.com/2009/11/cross-natural.gif?w=135&#038;h=108" alt="" width="135" height="108" /><p class="wp-caption-text">Discharge on black shirt</p></div>
<div class="wp-caption alignleft" style="width: 147px"><img title="Rocketship" src="http://internationalcoatings.files.wordpress.com/2009/11/rocketship.gif?w=137&#038;h=109" alt="" width="137" height="109" /><p class="wp-caption-text">Tinted discharge</p></div>
<div class="wp-caption alignleft" style="width: 147px"><img title="Tinted Discharge" src="http://internationalcoatings.files.wordpress.com/2009/11/tinted-discharge.gif?w=137&#038;h=109" alt="" width="137" height="109" /><p class="wp-caption-text">Special Discharge Effect</p></div>
</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Snapshots en UFS de FreeBSD]]></title>
<link>http://pedorro.wordpress.com/2009/11/17/snapshots-en-ufs-de-freebsd/</link>
<pubDate>Wed, 18 Nov 2009 02:38:27 +0000</pubDate>
<dc:creator>ignacio</dc:creator>
<guid>http://pedorro.wordpress.com/2009/11/17/snapshots-en-ufs-de-freebsd/</guid>
<description><![CDATA[Hace unos días descubrí los snapshots para filesystems UFS(2) de FreeBSD (lo se, lo se, soy un desas]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hace unos días descubrí los <a href="http://people.freebsd.org/~rse/snapshot/">snapshots </a>para filesystems UFS(2) de <a href="http://freebsd.org">FreeBSD </a>(lo se, lo se, soy un desastre) y si bien se implementa también para ZFS le di caña a los snapshots para UFS (default de FreeBSD).<br />
Para probarlo, lo que hice fue crear y montar una imagen en un archivo (dd, mkfs, mdconfig, etc&#8230;) quedando algo así:</p>
<pre class="brush: bash;">
/home/ignacio $ mount &#124; grep md0
/dev/md0 on /usr/home/ignacio/md0 (ufs, local)
</pre>
<p>Lo primero que hay que hacer, es notar la existencia del directorio .snap dentro de la recién montada imagen. Es en la raíz de cada partición UFS es donde está el directorio .snap.<br />
Yo lo que hice fue instalar el frontend <a href="http://people.freebsd.org/~rse/snapshot/snapshot.8.html">snapshot(8) </a>mediante su port <em>sysutils/freebsd-snapshot</em>.</p>
<p>En la página citada, donde Ralf S. Engelschall explica la motivación y la forma de uso la verdad que está muy buena y simple.<br />
Básicamente el comando snapshot, consta de cuatro acciones básicas: list, make, mount y umount.</p>
<p>Con snapshot list podemos ver la lista completa de los snapshots creados para alguna partición, en este caso, aún no hemos creado ninguno por lo que el listado, estará vacío:</p>
<pre class="brush: bash;">
/home/ignacio $ snapshot list /home/ignacio/md0
Filesystem          User   User%     Snap   Snap%  Snapshot
</pre>
<p>Vemos el listado actual del directorio actual:</p>
<pre class="brush: bash;">/home/ignacio $ cd md0
/home/ignacio/md0 $ ls -l
drwxrwxr-x  2 root  operator      512 Nov 17 14:06 .snap
-rw-r--r--  1 root  wheel          12 Nov 10 16:23 ignacio
-rw-r--r--  1 root  wheel     1048576 Nov 10 17:37 test_file.txt
</pre>
<p>y creamos nuestro primer snapshot:</p>
<pre class="brush: bash;">
/home/ignacio/md0 $ snapshot make -g4 /home/ignacio/md0:snaps
</pre>
<p>Donde, -g4 indica que guardaremos 4 generaciones (cuatro vistas al <em>pasado</em>), /home/ignacio/md0 es (donde está montada) la partición y snaps es un tag que le asignamos.</p>
<p>Tiremos ahora un nuevo list:</p>
<pre class="brush: bash;">
/home/ignacio $ snapshot list /home/ignacio/md0
Filesystem          User   User%     Snap   Snap%  Snapshot
/home/ignacio/md0      2MB    2.9%    224KB    0.2%  snaps.0
</pre>
<p>Para jugar un poco borramos el archivo test_file.txt por error y ahora, para salvar el día, recuperamos el snapshot que creamos:</p>
<pre class="brush: bash;">
/home/ignacio/md0 $ ls -l
total 4
drwxrwxr-x  2 root  operator  512 Nov 17 14:09 .snap
-rw-r--r--  1 root  wheel      12 Nov 10 16:23 ignacio
/home/ignacio/md0 $
</pre>
<p>Para recuperar el snapshot debemos montarlo indicando que generación queremos recuperar, en nuestro caso, la 0:</p>
<pre class="brush: bash;">
/home/ignacio $ snapshot mount /home/ignacio/md0:snaps.0 /mnt
WARNING: opening backing store: /usr/home/ignacio/md0/.snap/snaps.0 readonly
</pre>
<p>Buscamos en el /mnt los archivos:</p>
<pre class="brush: bash;">
/home/ignacio $ cd /mnt
/mnt $ ls
.snap           ignacio         test_file.txt
/mnt $
</pre>
<p>Devolvemos test_file.txt a la normalidad:</p>
<pre class="brush: bash;">
/mnt $ cp -v test_file.txt /home/ignacio/md0
test_file.txt -&#62; /home/ignacio/md0/test_file.txt
/ $ snapshot umount /mnt
/ $ cd /home/ignacio/md0
/home/ignacio/md0 $ ls -l
total 1044
drwxrwxr-x  2 root  operator      512 Nov 17 14:09 .snap
-rw-r--r--  1 root  wheel          12 Nov 10 16:23 ignacio
-rw-r--r--  1 root  wheel     1048576 Nov 17 14:14 test_file.txt
</pre>
<p>Con lo de arriba, copiamos el archivo que habiamos perdido por error, desmontamos el snapshot y verificamos como quedó nuestra partición.</p>
<p>En fin, terrible herramienta! Es recomendado revisar además la man page <a href="http://people.freebsd.org/~rse/snapshot/periodic-snapshot.8.html">periodic-snapshot(8)</a> para hacer snapshots periodicos usando el cron y periodic.</p>
<p>Estoy comenzando a ser un usuario feliz de este tipo de filesystems. Claro que ya tengo configurado el cron para que genere los snapshots de manera automatizada para todas las particiones de mi disco y también espero jamás en mi vida necesitarlos.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[סרטון נהדר להצגת המערכת.]]></title>
<link>http://cloudvc.wordpress.com/2009/11/16/%d7%a1%d7%a8%d7%98%d7%95%d7%9f-%d7%a0%d7%94%d7%93%d7%a8-%d7%9c%d7%94%d7%a6%d7%92%d7%aa-%d7%94%d7%9e%d7%a2%d7%a8%d7%9b%d7%aa/</link>
<pubDate>Mon, 16 Nov 2009 15:11:13 +0000</pubDate>
<dc:creator>cloudvc</dc:creator>
<guid>http://cloudvc.wordpress.com/2009/11/16/%d7%a1%d7%a8%d7%98%d7%95%d7%9f-%d7%a0%d7%94%d7%93%d7%a8-%d7%9c%d7%94%d7%a6%d7%92%d7%aa-%d7%94%d7%9e%d7%a2%d7%a8%d7%9b%d7%aa/</guid>
<description><![CDATA[]]></description>
<content:encoded><![CDATA[<div class='snap_preview'></div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HowTo: Mirror the ZFS rpool ]]></title>
<link>http://serverhorror.wordpress.com/2009/11/15/howto-mirror-the-zfs-rpool/</link>
<pubDate>Sun, 15 Nov 2009 12:00:06 +0000</pubDate>
<dc:creator>Martin</dc:creator>
<guid>http://serverhorror.wordpress.com/2009/11/15/howto-mirror-the-zfs-rpool/</guid>
<description><![CDATA[Let&#8217;s use the shiny ZFS to have a mirrored pool which we can use to boot in case one of the ha]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><iframe src='http://digg.com/api/diggthis.php?u=http%3A%2F%2Fdigg.com%2Flinux_unix%2FHowTo_Mirror_the_ZFS_rpool_ServerHorror' height='82' width='55' frameborder='0' scrolling='no' style='float: right; margin-left: 10px; margin-bottom: 5px; padding: 4px 0 2px 4px; background: #fff;'></iframe></p>
<p>Let&#8217;s use the shiny ZFS to have a mirrored pool which we can use to boot in case one of the hard disks fails. This involves several steps :<!--more--></p>
<ol>
<li>Install a second disk in your box <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>format the disk so that we can actually use it</li>
<li>make it the same layout as the disk we already run on</li>
<li>attach it to the pool in question</li>
</ol>
<p>Now point (3) and (4) need some explanation since I&#8217;m experimenting with the root pool (nothing better than a little thrill not being able to boot if things go wrong) and my computer uses the good old <a href="http://en.wikipedia.org/wiki/BIOS">BIOS</a> it cannot boot <a href="http://en.wikipedia.org/wiki/Extensible_Firmware_Interface">EFI</a> labeled disks. For this reason I have to use slices, I&#8217;ll probably rip out some old storage box in the next weeks and see how much of this process is left when using whole disks.</p>
<p>I assume you are indeed capable of physically installing a second, third or n<sup>th</sup> disk in your computer so let&#8217;s jump to point (2).</p>
<h1>Formatting the disk(s)</h1>
<p>Simply use &#8220;format&#8221; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre style="padding-left:30px;">$ pfexec format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
 0. c8t0d0 &#60;DEFAULT cyl 30398 alt 2 hd 255 sec 63&#62;
 /pci@0,0/pci103c,3035@1f,2/disk@0,0
 1. c8t2d0 &#60;ATA-ST3250310AS-C cyl 30398 alt 2 hd 255 sec 63&#62;
 /pci@0,0/pci103c,3035@1f,2/disk@2,0
Specify disk (enter its number): 1
selecting c8t2d0
[disk formatted]

FORMAT MENU:
 disk       - select a disk
 type       - select (define) a disk type
 partition  - select (define) a partition table
 current    - describe the current disk
 format     - format and analyze the disk
 fdisk      - run the fdisk program
 repair     - repair a defective sector
 label      - write label to the disk
 analyze    - surface analysis
 defect     - defect list management
 backup     - search for backup labels
 verify     - read and display labels
 save       - save new disk/partition definitions
 inquiry    - show vendor, product and revision
 volname    - set 8-character volume name
 !&#60;cmd&#62;     - execute &#60;cmd&#62;, then return
 quit
</pre>
<p>No go &#8220;fdisk&#8221; it and delete all the partitions on the disk. Then create a new partition, make it a Solaris partition and be done with that part.</p>
<pre style="padding-left:30px;">format&#62; fdisk
Total disk size is 30401 cylinders
 Cylinder size is 16065 (512 byte) blocks

 Cylinders
 Partition   Status    Type          Start   End   Length    %
 =========   ======    ============  =====   ===   ======   ===
 1       Active    Solaris2          1  30400    30400    100

SELECT ONE OF THE FOLLOWING:
 1. Create a partition
 2. Specify the active partition
 3. Delete a partition
 4. Change between Solaris and Solaris2 Partition IDs
 5. Exit (update disk configuration and exit)
 6. Cancel (exit without updating disk configuration)
Enter Selection: 3
Specify the partition number to delete (or enter 0 to exit): 1
Are you sure you want to delete partition 1? This will make all files and
programs in this partition inaccessible (type "y" or "n").
y
Partition 1 has been deleted. This was the active partition.
Enter Selection: 1
Select the partition type to create:
 1=SOLARIS2  2=UNIX        3=PCIXOS     4=Other
 5=DOS12     6=DOS16       7=DOSEXT     8=DOSBIG
 9=DOS16LBA  A=x86 Boot    B=Diagnostic C=FAT32
 D=FAT32LBA  E=DOSEXTLBA   F=EFI        0=Exit? 1
Specify the percentage of disk to use for this partition
(or type "c" to specify the size in cylinders). 100
Should this become the active partition? If yes, it  will be activated
each time the computer is reset or turned on.
Please type "y" or "n". y
Partition 1 is now the active partition.
Enter Selection: 5
</pre>
<h1>Duplicate the disk layout on both disks</h1>
<p>Now OpenSolaris provides us with 2 nice tools to make one disk have exactly the same layout as another disk. Use them like below:</p>
<pre style="padding-left:30px;">$ pfexec prtvtoc /dev/rdsk/c8t0d0s2 # first disk
$ pfexec prtvtoc /dev/rdsk/c8t2d0s2 # second disk
$ pfexec prtvtoc /dev/rdsk/c8t0d0s2 &#124; pfexec fmthard -s - /dev/rdsk/c8t2d0s2 # make the 1st disk the same as the 2nd</pre>
<h1>Attach it to the pool in question</h1>
<p>Let&#8217;s have a quick look at the existing pool:</p>
<pre style="padding-left:30px;">$ zpool status
 pool: rpool
 state: ONLINE
 scrub: scrub completed after 0h26m with 0 errors on Wed Nov 25 10:52:26 2009
config:

 NAME        STATE     READ WRITE CKSUM
 rpool       ONLINE       0     0     0
 c8t0d0s0    ONLINE       0     0     0

errors: No known data errors
</pre>
<p>Nice we now see what our original device name is and what our pool name is, we need both for the next command. Remember in my example the new disk slice (the BIOS vs. EFI thing) is  <em>c8t2d0s0</em>. We should be all fine to attach the slice to the pool and see it start recovering.<em></em></p>
<pre style="padding-left:30px;">$ pfexec zpool attach rpool c8t0d0s0 c8t2d0s0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c8t2d0s0 overlaps with /dev/dsk/c8t2d0s2
</pre>
<p>Ouch, didn&#8217;t quite work, so let&#8217;s do as instructed, and right thereafter let&#8217;s investigate the staus of the pool:</p>
<pre style="padding-left:30px;">$ pfexec zpool attach -f rpool c8t0d0s0 c8t2d0s0
Please be sure to invoke installgrub(1M) to make 'c8t2d0s0' bootable.
$ zpool status
 pool: rpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
 continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h0m, 0.18% done, 3h28m to go
config:

 NAME          STATE     READ WRITE CKSUM
 rpool         ONLINE       0     0     0
 mirror        ONLINE       0     0     0
 c8t0d0s0      ONLINE       0     0     0
 c8t2d0s0      ONLINE       0     0     0  113M resilvered

errors: No known data errors
</pre>
<p>Looks all nice, now let&#8217;s do the grub stuff so that we can boot from both disks:</p>
<pre style="padding-left:30px;">$ pfexec installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c8t2d0s0
stage1 written to partition 0 sector 0 (abs 16065)
stage2 written to partition 0, 271 sectors starting at 50 (abs 16115)
</pre>
<p>A last check on the status of our pool:</p>
<pre style="padding-left:30px;">$ zpool status
 pool: rpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
 continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h2m, 4.89% done, 0h53m to go
config:

 NAME          STATE     READ WRITE CKSUM
 rpool         ONLINE       0     0     0
 mirror        ONLINE       0     0     0
 c8t0d0s0      ONLINE       0     0     0
 c8t2d0s0      ONLINE       0     0     0  2.95G resilvered

errors: No known data errors
</pre>
<p>To my untrained OpenSolaris eye this looks all nice and shiny now.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sun Adds De-Duplication to ZFS]]></title>
<link>http://solori.wordpress.com/2009/11/03/sun-adds-de-duplication-to-zfs/</link>
<pubDate>Tue, 03 Nov 2009 22:24:43 +0000</pubDate>
<dc:creator>solori</dc:creator>
<guid>http://solori.wordpress.com/2009/11/03/sun-adds-de-duplication-to-zfs/</guid>
<description><![CDATA[Yesterday Jeff Bonwick (Sun) announced that deduplication is now officially part of ZFS &#8211; Sun]]></description>
<content:encoded><![CDATA[Yesterday Jeff Bonwick (Sun) announced that deduplication is now officially part of ZFS &#8211; Sun]]></content:encoded>
</item>
<item>
<title><![CDATA[Multiple Boot Environments]]></title>
<link>http://openwendy.wordpress.com/2009/11/02/multiple-boot-environments/</link>
<pubDate>Mon, 02 Nov 2009 20:47:06 +0000</pubDate>
<dc:creator>Wendy</dc:creator>
<guid>http://openwendy.wordpress.com/2009/11/02/multiple-boot-environments/</guid>
<description><![CDATA[One of features I really like on OpenSolaris is cloning your system. Especially when doing a system ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>One of features I really like on OpenSolaris is cloning your system. Especially when doing a system upgrade. There is nothing better than feeling you can safely upgrade your up-and-running fully configured system to newer version and when something went wrong then simply reboot to previous one. Wicked!</p>
<p>This feature is called Boot Environment (BE). You can have as many BE as you wish. To display all your environments, type <em>beadm list</em>:</p>
<p><code>wendy@honey:~$ beadm list<br />
BE Active Mountpoint Space Policy Created<br />
-- ------ ---------- ----- ------ -------<br />
opensolaris    - - 4.10G static 2009-02-18 08:35<br />
devel          - - 5.45G static 2009-04-24 15:01<br />
opensolaris-2  - - 6.84G static 2009-09-01 23:16<br />
opensolaris-3 NR / 9.02G static 2009-11-02 19:01</code></p>
<p>For my destructive tasks I use separated BE so it is almost sate to do anything&#8230; Almost&#8230; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Any way. If you want play with your system and don&#8217;t be afraid of changes you will be doing, create new BE, activate it and reboot.</p>
<p><code>pfexec beadm create testing<br />
pfexec beadm activate testing<br />
pfexec init 6</code></p>
<p>If something bad happens, boot some old BE, activate other BE and reboot. Simply shit happens. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>For more information see man pages or on-line manual at h<a href="//dlc.sun.com/osol/docs/content/IPS/ggfxy.html">ttp://dlc.sun.com/osol/docs/content/IPS/ggfxy.html</a></p>
<p>PS: Do you have same story how BE saved your ass? Please, share it in comments.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Testing out FreeBSD 8.0-RC2]]></title>
<link>http://koitsu.wordpress.com/2009/11/02/testing-out-freebsd-8-0-rc2/</link>
<pubDate>Mon, 02 Nov 2009 18:34:14 +0000</pubDate>
<dc:creator>koitsu</dc:creator>
<guid>http://koitsu.wordpress.com/2009/11/02/testing-out-freebsd-8-0-rc2/</guid>
<description><![CDATA[Those who haven&#8217;t read about my 8.0-RC1 experience should do so first: Testing out FreeBSD 8.0]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Those who haven&#8217;t read about my 8.0-RC1 experience should do so first:</p>
<ul>
<li><a href="http://koitsu.wordpress.com/2009/10/12/testing-out-freebsd-8-0-rc1/">Testing out FreeBSD 8.0-RC1</a></li>
</ul>
<p>Basically, my experience with 8.0-RC2 was identical to that of RC1, except some of the bugs/issues I experienced are now gone (hooray!).</p>
<p>Fixes/improvements:</p>
<ul>
<li>The issue I experienced with the Boot Manager selection phase of installation has been fixed.  Also, <b>Standard</b> is now the default option (first choice).</li>
<li>The <code>geometry does not match label</code> problem has been addressed by fixing the FreeBSD slice editor in sysinstall/sade; see below.</li>
<li><code>libdisk</code> has been modified to work properly with GEOM; the FreeBSD slice editor links to libdisk &#8212; thanks to Randi Harper for tracking this commit down!  Commonly when installing FreeBSD on a box, people go into the slice editor and press &#8220;<b>a</b>&#8221; to use the entire disk.  Previously, users would end up with a disk where the first 63 sectors were unused (probably for the PBR/MBR and overall alignment), then the FreeBSD slice, and a third &#8220;unused&#8221; portion of the disk (which, if I remember correctly, was done solely for alignment reasons).  Example:<br />
<blockquote><pre>
Offset       Size(ST)        End     Name  PType       Desc  Subtype    Flags

         0         63         62        -     12     unused        0
        63  390716802  390716864    ad8s1      8    freebsd      165    A
 390716865       5103  390721967        -     12     unused        0
</pre>
</blockquote>
<p>Starting with RC2, this is what you&#8217;ll see:</p>
<blockquote><pre>
Offset       Size(ST)        End     Name  PType       Desc  Subtype    Flags

         0         63         62        -     12     unused        0
        63  390721905  390721967    ad8s1      8    freebsd      165    A
</pre>
</blockquote>
<p>Note the lack of the last &#8220;unused&#8221; section.</p>
<p>Sadly, this also means people will need to reinstall FreeBSD (specifically, deleting the slice and re-creating it) to benefit from this.  As far as I know, you can&#8217;t fix this without a full reinstallation.
</li>
<li>The EOF issue for ttys (re: ^D being shown) has been fixed and committed to CURRENT (FreeBSD 9.0), but hasn&#8217;t been MFC&#8217;d to RELENG_8 yet.  Yes, it&#8217;s scheduled to be (in about 2 weeks).  Big thanks to Ed Schouten for fixing this!</li>
<li>There were some ZFS commits which happened between RC1 and RC2 which may indicate that the ARC exhausting all available kmem is no longer possible.  I have not been able to confirm/deny whether this fix works, but looking at the code, it may be sufficient.  I&#8217;d need to get in touch with Kip Macy to confirm/deny.</li>
</ul>
<p>Issues that are still pending:</p>
<ul>
<li><code>bsdlabel</code> still behaves incorrectly (&#8220;Class not found&#8221;).  Instead, users should use <code>gpart</code> to write the bootstraps as follows: <code>gpart bootcode [disk]</code>, where <code>[disk]</code> is <code>ad4</code> or similar.  Note that you pick the disk itself now, not the slice like in <code>bsdlabel</code> (unless you were using dangerously dedicated disks <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ).</li>
<li>The ZFS notice pertaining to <code>vfs.zfs.prefetch_disable</code> when the system has less than 4GB RAM available has been re-worded <b>again</b>, but still is vague/unclear.  A little bit of ego here &#8212; the person committing these changes should really consider changing the message to what I proposed.</li>
<li>I still haven&#8217;t received a reply to my <a href="http://koitsu.wordpress.com/2009/10/08/freebsd-and-zfs-is-it-truly-stable/">request for clarification on ZFS stabilisation</a>.  Is <code>/boot/loader.conf</code> tuning for kmem-related parameters still required?  We still need an official statement on this matter.</li>
</ul>
<p>I also want to take a moment to send a shout-out to John Baldwin, who has been working incredibly hard on the FreeBSD kernel (specifically VM and ACPI) over the past 4 weeks.  John, I&#8217;ve seen/followed your commits, and I appreciate the improvements!  Thank you!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[UNIX mail format annoyances]]></title>
<link>http://koitsu.wordpress.com/2009/10/29/unix-mail-format-annoyances/</link>
<pubDate>Thu, 29 Oct 2009 16:09:39 +0000</pubDate>
<dc:creator>koitsu</dc:creator>
<guid>http://koitsu.wordpress.com/2009/10/29/unix-mail-format-annoyances/</guid>
<description><![CDATA[For many years now I&#8217;ve been dealing with an ongoing issue which still to this day has no real]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>For many years now I&#8217;ve been dealing with an ongoing issue which still to this day has no real solution: classic UNIX mailboxes (called <a href="http://en.wikipedia.org/wiki/Mbox">mbox</a>) comparing the files&#8217; mtime to its atime to determine if there&#8217;s new mail inside of the mailbox (if the mtime is greater than the atime, there&#8217;s new mail.  If the mtime is smaller than the atime, new mail has been read/there is no new mail).  &#8220;Classic mail spools&#8221; (e.g. <code>/var/mail</code> or <code>/var/spool/mail</code>) are mbox.</p>
<p>Why is this a problem?  Because those of us who use mutt/alpine/etc. on our UNIX machines, who also do backups using things like <code>tar/cp/rsync</code> (more on rsync in a moment) end up with mailboxes with a lost/clobbered atime after the backup takes place.  The end result: our mail clients no longer tell us there&#8217;s new mail in that mailbox, which can be detrimental in many respects.</p>
<p>The most common rebuttal is &#8220;shut up and use <a href="http://en.wikipedia.org/wiki/Maildir">Maildir</a>&#8220;.  What Maildir advocates don&#8217;t care to acknowledge is that there are many problems with the Maildir concept, particularly when used on a filesystem like ZFS.  With classic mbox, your multi-megabyte mailboxes loads quickly &#8212; but with Maildir, since it uses a single file per mail, the end result is a mail client that takes forever to load due to the one-file-per-mail concept.  ZFS does not perform well when it comes to massive numbers of small/terse files.</p>
<p>UFS/UFS2, ext2fs/ext3fs, and other filesystems don&#8217;t have this problem, but let&#8217;s pull our heads out for a moment (since tunnel vision/ostrich syndrome is what got us here in the first place!) &#8212; we&#8217;re entering year 2010 and ZFS is already being used heavily by Solaris/OpenSolaris and FreeBSD users across the globe; ZFS is here to stay, end of discussion.  There are some proposed solutions such as making use of ZFS&#8217;s semi-new <a href="http://blogs.sun.com/brendan/entry/test">L2ARC</a> to add an additional layer of caching using dedicated low-latency devices (specifically SSDs), but there&#8217;s been no actual evidence this improves things with Maildir.  And besides, who in their right mind is going to go out and drop hundreds of dollars on an Intel X25-M <b>per machine</b> just to solve this problem?  Seriously.</p>
<p>And let&#8217;s not forget administrators who mount their filesystems with the <code>noatime</code> mount flag for added performance benefits, especially on a journalled filesystem.</p>
<p>One workaround proposed for mutt users involves recompiling mutt to use <a href="http://www.oracle.com/database/berkeley-db/index.html">Oracle/SleepyCat DB</a>, <a href="http://www.gnu.org/software/gdbm/">GDBM</a>, or <a href="http://1978th.net/tokyocabinet/">Tokyo Cabinet</a> to maintain a cache of mailbox headers (using the <code>header_cache</code> directive), thus speeding up the process.  Does this help?  Yes, there&#8217;s a decent improvement, but anyone who uses this method (such as me) can tell you that it&#8217;s still no where near as fast as classic mbox, especially when you&#8217;ve got a mailbox with a couple hundred new mails in it.</p>
<p>Does the saga end here?  Not even close.</p>
<p>There&#8217;s a new mailbox format, called <a href="http://en.wikipedia.org/wiki/MIX_%28Email%29">MIX</a>, which is being used within alpine.  This format is more or less a combination of mbox and Maildir, and performs much better than Maildir.  Sounds great, right?  Except those of us who use mutt are out of luck &#8212; unsupported, and there&#8217;s been absolutely no discussion of it <a href="http://does-not-exist.org/mail-archives/mutt-dev/msg08003.html">since February 2007</a>.  Even the author of mutt, Michael Elkins, had nothing useful to say <a href="http://does-not-exist.org/mail-archives/mutt-dev/msg08023.html">other than snide comments</a>.  Oh, and MIX isn&#8217;t supported in procmail or Sieve either &#8212; double whammy.  But MIX does sound like the way to go &#8212; too bad it isn&#8217;t getting the attention it should.</p>
<p>Some administrators using ZFS are using ZFS snapshots to do their backups instead of something like rsync, which is great except that they&#8217;re hit-or-miss (reliability-wise) on FreeBSD &#8212; or at least that&#8217;s what I last read 6-9 months ago &#8212; while rsync is filesystem-independent.  Most folks I know who run into snapshot problems revert back to rsync.</p>
<p>So what now?  With all the above in mind,I decided to poke at rsync, because there&#8217;s been many discussions in the past on the mailing lists about getting rsync to preserve file atime.  rsync out-of-the-box will preserve ctime and mtime when using the <code>--times</code> flag.  However, there&#8217;s a patch called <code>atimes.diff</code> which comes with the rsync-patches tarball that provides a <code>--atimes</code> flag that supposedly solves this.  Sounds great&#8230; except there&#8217;s one problem&#8230;</p>
<p>The flag does cause the atimes of the source file to be copied to the destination, but the <a href="http://markmail.org/message/npjrynl3fq4nycxh">atimes of the source file are lost</a>!  And <a href="http://markmail.org/message/dzvccrh3htj4esif">here&#8217;s a more recent confirmation</a>.</p>
<p>If that&#8217;s not enough, here&#8217;s final confirmation.  Note that I&#8217;m using non-zero-byte files intentionally; rsync behaves differently when the files are zero bytes.</p>
<p><code>rsync -a</code>:</p>
<blockquote><pre>
$ echo "hello" &#62; source
$ stat -x source
Access: Wed Oct 28 06:27:05 2009
Modify: Wed Oct 28 06:27:05 2009
Change: Wed Oct 28 06:27:05 2009
$ rsync -a source dest
$ stat -x source
Access: Wed Oct 28 06:27:29 2009
Modify: Wed Oct 28 06:27:05 2009
Change: Wed Oct 28 06:27:05 2009
$ stat -x dest
Access: Wed Oct 28 06:27:29 2009
Modify: Wed Oct 28 06:27:05 2009
Change: Wed Oct 28 06:27:29 2009
$ rm source dest
</pre>
</blockquote>
<p>Above, we see that after the rsync, the atime in the source file is lost, and the ctime in the destination file does not match that of the source &#8212; only the mtime is retained.</p>
<p><code>rsync -a --atimes</code>:</p>
<blockquote><pre>
$ echo "hello" &#62; source
$ stat -x source
Access: Wed Oct 28 06:32:50 2009
Modify: Wed Oct 28 06:32:50 2009
Change: Wed Oct 28 06:32:50 2009
$ rsync -a --atimes source dest
$ stat -x source
Access: Wed Oct 28 06:34:06 2009
Modify: Wed Oct 28 06:32:50 2009
Change: Wed Oct 28 06:32:50 2009
$ stat -x dest
Access: Wed Oct 28 06:32:50 2009
Modify: Wed Oct 28 06:32:50 2009
Change: Wed Oct 28 06:34:06 2009
</pre>
</blockquote>
<p>Above, we see the atime and the mtime in the source file is retained in the destination.  However, again, the atime in the source file is lost and the ctime doesn&#8217;t match that of the source.</p>
<p><code>cp -p</code>:</p>
<blockquote><pre>
$ echo "hello" &#62; source
$ stat -x source
Access: Wed Oct 28 06:37:56 2009
Modify: Wed Oct 28 06:37:56 2009
Change: Wed Oct 28 06:37:56 2009
$ cp -p source dest
$ stat -x source
Access: Wed Oct 28 06:38:27 2009
Modify: Wed Oct 28 06:37:56 2009
Change: Wed Oct 28 06:37:56 2009
$ stat -x dest
Access: Wed Oct 28 06:37:56 2009
Modify: Wed Oct 28 06:37:56 2009
Change: Wed Oct 28 06:38:27 2009
</pre>
</blockquote>
<p>With <code>cp -p</code>, we see identical behaviour to that of <code>rsync -a --atimes</code>.</p>
<p>Some may be wondering: &#8220;is it even possible to solve this problem?&#8221;  Of course it is.  The logic flow should be pretty obvious at this point:</p>
<ol>
<li>stat(2) or fstat(3) the source file and save (in memory) the atime, mtime, and ctime.  Neither call modifies the atime</li>
<li>Copy the source file to the destination file</li>
<li>Set the atime, mtime, and ctime of the destination file using utimes(3) with the previously-obtained values</li>
<li>Set the atime and mtime of the source file using utimes(3) with the previously-obtained values</li>
</ol>
<p>You can accomplish the same thing with <code>touch</code>.</p>
<p>And let&#8217;s not forget that FreeBSD lacks the <code><a href="http://lkml.indiana.edu/hypermail/linux/kernel/0406.1/0894.html">O_NOATIME</a></code> GNU extension for open(2), which was <a href="http://lkml.indiana.edu/hypermail/linux/kernel/9811.2/0118.html">proposed in 1998</a>.</p>
<p>So is there a solution to all of this?  As far as I&#8217;ve been able to tell, no, there isn&#8217;t.  Using filesystem-level snapshots appears to be the only way to &#8220;solve&#8221; this issue.  I&#8217;d be much happier if the <code>--atimes</code> patch for rsync did what it was supposed to&#8230; but it&#8217;s 23KB, and I&#8217;m not familiar with the rsync code (it&#8217;s not as black-and-white as one may think).</p>
<p>We UNIX folks should be ashamed of this whole debacle.  There isn&#8217;t a better way to say it: what a clusterfuck.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Mac port of ZFS discontinued | MacWorld's view on the issue]]></title>
<link>http://eclecticchoices.wordpress.com/2009/10/27/mac-port-of-zfs-discontinued/</link>
<pubDate>Tue, 27 Oct 2009 15:05:46 +0000</pubDate>
<dc:creator>Bruce Kraus</dc:creator>
<guid>http://eclecticchoices.wordpress.com/2009/10/27/mac-port-of-zfs-discontinued/</guid>
<description><![CDATA[&nbsp; ZFS - The Last Word in File Systems? MacWorld has decided to wade through the murky waters of]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>&#160;</p>
<div id="attachment_810" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-810" title="ZFS - The Last Word in File Systems?" src="http://eclecticchoices.wordpress.com/files/2009/10/zfs_last.jpg?w=300" alt="ZFS - The Last Word in File Systems?" width="300" height="224" /><p class="wp-caption-text">ZFS - The Last Word in File Systems?</p></div>
<p>MacWorld has decided to wade through the murky waters of Apple&#8217;s discontinuation of porting Sun Microsystems ZFS to Mac OS X Snow Leopard. Read more here:</p>
<p><a href="http://shar.es/afv3q">Mac port of ZFS discontinued</a></p>
<p>&#160;</p>
<p>Posted using <a href="http://sharethis.com">ShareThis</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Kecewa, Apple menutup project open source ZFS]]></title>
<link>http://dotexe.unnes.ac.id/2009/10/27/kecewa-apple-menutup-project-open-source-zfs/</link>
<pubDate>Tue, 27 Oct 2009 05:55:05 +0000</pubDate>
<dc:creator>luthfi.emka</dc:creator>
<guid>http://dotexe.unnes.ac.id/2009/10/27/kecewa-apple-menutup-project-open-source-zfs/</guid>
<description><![CDATA[dotexe.wordpress.com &#8211; Apa yang sebenarnya ada dibenak manajemen Apple Computer, mereka secara]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>dotexe.wordpress.com &#8211; </strong>Apa yang sebenarnya ada dibenak manajemen Apple Computer, mereka secara resmi melakukan konferensi pers dan mengumumkan bahwa project file sistem ZFS untuk Mac OS yang dilepas untuk komunitas open source secara resmi ditutup. Menurut <em><a href="http://lempar.co.cc/?i=8" target="_blank">announcement</a> <span style="font-style:normal;">dengan enteng tercantum &#8220;Project ZFS secara resmi dihentikan. Mailing list dan repository akan segera dihapus&#8221;. </span></em></p>
<p>Memang ada beberapa alasan yang mungkin membuat Apple untuk mengakhiri project ini. Satu alasan yang cukup besar adalah isu tentang hak paten. ZFS sendiri telah digugat oleh NetApp namun bukan kepada Apple tapi kepada Sun. Alasan lain yang mungkin adalah masalah akuisisi Sun oleh Oracle yang sedikit banyak akan mempengaruhi kerjasama Apple dengan Sun terkait ZFS dan btrfs yang dimiliki dan dibesarkan oleh Oracle.<!--more--></p>
<p>Kemungkinan lain adalah ketidakcocokan budaya ZFS dengan budaya pengguna Mac yang kebanyakan setia menggunakan satu harddisk dan bukan banyak device seperti keunggulan ZFS.</p>
<p>Semoga penutupan ini tidak dilanjutkan dengan penghentian banyak project open source yang telah besar dari Apple seperti Darwin dan ZFS, sehingga open source tak terlalu jauh dengan Mac.<em> </em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple abandona ZFS en OSX por licencias ]]></title>
<link>http://tuxbelito.wordpress.com/2009/10/27/apple-abandona-zfs-en-osx-por-licencias/</link>
<pubDate>Tue, 27 Oct 2009 04:05:42 +0000</pubDate>
<dc:creator>Sr. Luzbel</dc:creator>
<guid>http://tuxbelito.wordpress.com/2009/10/27/apple-abandona-zfs-en-osx-por-licencias/</guid>
<description><![CDATA[El sistema de archivos de Sun, según ellos &#8220;la última palabra en sistemas de archivos&#8221;, ]]></description>
<content:encoded><![CDATA[El sistema de archivos de Sun, según ellos &#8220;la última palabra en sistemas de archivos&#8221;, ]]></content:encoded>
</item>
<item>
<title><![CDATA[Goodbye ZFS, we barely knew ya..]]></title>
<link>http://tehloft.wordpress.com/2009/10/26/goodbye-zfs-we-barely-knew-ya/</link>
<pubDate>Mon, 26 Oct 2009 03:17:15 +0000</pubDate>
<dc:creator>YK</dc:creator>
<guid>http://tehloft.wordpress.com/2009/10/26/goodbye-zfs-we-barely-knew-ya/</guid>
<description><![CDATA[ZFS was one of the new &#8216;features&#8217; of Snow Leopard (Server), even though Snow Leopard is ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://en.wikipedia.org/wiki/ZFS" target="_blank">ZFS</a> was one of the new &#8216;features&#8217; of Snow Leopard (Server), even though Snow Leopard is supposed to have 0 new features. We all know that 0 new features was an epic marketing lie, but that is for another day.</p>
<p>ZFS is a new file system by <a href="http://en.wikipedia.org/wiki/Sun_Microsystems" target="_blank">Sun</a>, and I guess it was meant to replace the aging <a href="http://en.wikipedia.org/wiki/HFS_Plus" target="_blank">HFS+</a>. ZFS has a lot of useful features, like <a href="http://en.wikipedia.org/wiki/ZFS#Storage_pools" target="_blank">pooling</a>, where all your drives can be pooled into a single, logical volume. This means you can have 10 hard drives, with varying sizes and RAID configurations, and you see it as a single drive on your Mac. It will dynamically balance the usage of the drives within the pool, meaning if you have a <a href="http://en.wikipedia.org/wiki/Solid-state_drive" target="_blank">SSD</a> hard drive with a <a href="http://en.wikipedia.org/wiki/Non-standard_RAID_levels#RAID-Z" target="_blank">RAID-Z</a> volume in the pool, it will intelligently use the SSD for caching (your data will be written there first, because it is faster) and after which the data will be moved into the RAID-Z volume for redundancy.</p>
<p>RAID-Z is also a new form of <a href="http://en.wikipedia.org/wiki/RAID" target="_blank">RAID</a>, only for ZFS. It is Sun&#8217;s version of <a href="http://en.wikipedia.org/wiki/RAID_5" target="_blank">RAID-5</a>, which solves the problem of <a href="http://en.wikipedia.org/wiki/RAID_5#RAID_5_performance" target="_blank">data corruption</a> thanks to ZFS&#8217;s <a href="http://en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model" target="_blank">copy-on-write</a> feature.</p>
<p>Apple also promised better performance with ZFS on Snow Leopard, like data integrity and redundancy, and other nifty features I can&#8217;t find references to right now.</p>
<p><a href="http://www.engadget.com/2008/06/23/zfs-file-system-coming-to-snow-leopard-server-edition/"><img class="alignnone" title="ZFS on Snow Leopard" src="http://www.blogcdn.com/www.engadget.com/media/2008/06/zfs.jpg" alt="" width="409" height="143" /></a></p>
<p>These features are all but gone as on Friday, Apple posted this message on Mac OS Forge:</p>
<blockquote><p>The ZFS project has been discontinued. The mailing list and repository will also be removed shortly.</p></blockquote>
<p>This <em>obviously</em> means ZFS will <em>never</em> see the light of day on OS X for the foreseeable future.</p>
<p>The <a href="http://daringfireball.net/linked/2009/10/25/bonwick" target="_blank">real</a> <a href="http://mail.opensolaris.org/pipermail/zfs-discuss/2009-October/033125.html" target="_blank">reason</a> behind this was probably a licencing issue:</p>
<blockquote><p>Apple can currently just take the ZFS CDDL code and incorporate it (like they did with DTrace), but it may be that they wanted a &#8220;private license&#8221; from Sun (with appropriate technical support and indemnification), and the two entities couldn&#8217;t come to mutually agreeable terms. -Jeff Bonwick, ZFS Lead Developer, Sun</p></blockquote>
<p>This saddens me as ZFS had a huge potential to replace HFS+, an aging file system format used <a href="http://en.wikipedia.org/wiki/HFS_Plus#History" target="_blank">since Mac OS 8.1</a>. Apple had to hack features into HFS+ for Snow Leopard, like <a href="http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/3#footprint" target="_blank">file system compression</a>, when ZFS already had the feature cooked straight in with no performance penalties.</p>
<p>Apple better has something up their sleeves. I don&#8217;t expect to be still on HFS+ when OS XI drops in the future, though I won&#8217;t be surprised.</p>
<p><em>If you still want some ZFS goodness, do not fret, as there are <a href="http://en.wikipedia.org/wiki/ZFS#Platforms" target="_blank">other OSes</a> that use ZFS, like <a href="http://www.freenas.org/" target="_blank">FreeNAS</a>. Not so much so for desktop usage, but more for your server needs, like a media server.</em></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The loss of ZFS]]></title>
<link>http://chimac.net/2009/10/25/the-loss-of-zfs/</link>
<pubDate>Sun, 25 Oct 2009 17:31:55 +0000</pubDate>
<dc:creator>chimac</dc:creator>
<guid>http://chimac.net/2009/10/25/the-loss-of-zfs/</guid>
<description><![CDATA[This is from a programmers point of view.  Gets into nice details about why this might not have been]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is from a programmers point of view.  Gets into nice details about why this might not have been a good fit for Apples needs.  Click <a href="http://devwhy.blogspot.com/2009/10/loss-of-zfs.html" target="_self">here </a>to read more.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Loss of ZFS]]></title>
<link>http://eclecticchoices.wordpress.com/2009/10/25/the-loss-of-zfs/</link>
<pubDate>Sun, 25 Oct 2009 15:56:59 +0000</pubDate>
<dc:creator>Bruce Kraus</dc:creator>
<guid>http://eclecticchoices.wordpress.com/2009/10/25/the-loss-of-zfs/</guid>
<description><![CDATA[ZFS - The Last Word in File Systems? Louis Gerbarg has posted an excellent summation of the Apple ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><span style="color:#999999;"></p>
<div id="attachment_810" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-810" title="ZFS - The Last Word in File Systems?" src="http://eclecticchoices.wordpress.com/files/2009/10/zfs_last.jpg?w=300" alt="ZFS - The Last Word in File Systems?" width="300" height="224" /><p class="wp-caption-text">ZFS - The Last Word in File Systems?</p></div>
<p>Louis Gerbarg has posted an excellent summation of the Apple &#38; Sun ZFS Controversy. Read more here:</span></p>
<p><a href="http://devwhy.blogspot.com/2009/10/loss-of-zfs.html">The loss of ZFS</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Apple Halts ZFS Project?]]></title>
<link>http://eclecticchoices.wordpress.com/2009/10/23/apple-halts-zfs-project/</link>
<pubDate>Sat, 24 Oct 2009 03:41:29 +0000</pubDate>
<dc:creator>Bruce Kraus</dc:creator>
<guid>http://eclecticchoices.wordpress.com/2009/10/23/apple-halts-zfs-project/</guid>
<description><![CDATA[Based on a post on slashdot.org, &#8220;&#8230; Apple has replaced its ZFS project page with a notic]]></description>
<content:encoded><![CDATA[<div class='snap_preview'>
<p>Based on a post on slashdot.org,</p>
<p>&#8220;&#8230; Apple has replaced its ZFS project page with a notice that &#8216;The ZFS project has been discontinued. The mailing list and repository will also be removed shortly.&#8217; Apple originally touted ZFS as a feature that would be available in Snow Leopard Server. A few months before release, all mention of ZFS was removed from the Apple web site and literature, and ZFS was notably absent from <a href="http://www.apple.com/ca/server/macosx/" target="_blank">Snow Leopard Server</a> at launch&#8230;&#8221;</p>
<p>Is the highly touted 128-bit <a href="http://en.wikipedia.org/wiki/ZFS" target="_blank">ZFS</a> file system, originally developed by <a href="http://www.sun.com/software/solaris/zfs.jsp" target="_blank">Sun Microsystems</a>, now defunct in the Apple camp? Read more <a href="http://storagemojo.com/2009/08/31/why-did-apple-drop-zfs/" target="_blank">here</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[הצגת הארכטיקטורה - Sun VDI3.1]]></title>
<link>http://cloudvc.wordpress.com/2009/10/22/12/</link>
<pubDate>Thu, 22 Oct 2009 19:58:19 +0000</pubDate>
<dc:creator>cloudvc</dc:creator>
<guid>http://cloudvc.wordpress.com/2009/10/22/12/</guid>
<description><![CDATA[Sun VDI 3.1 View more presentations from mprove.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img style="visibility:hidden;width:0;height:0;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bHQ9MTI1NjI*MTQ*NTYwOSZwdD*xMjU2MjQxNDgzMjAzJnA9MTAxOTEmZD1zc19lbWJlZCZuPXdvcmRwcmVzcyZnPTImbz1hMzlmZGI5ZWJhN2E*Mzg1OGMzZTIzYzQ2Zjc1ZTZkMCZvZj*w.gif" border="0" alt="" width="0" height="0" /></p>
<div id="__ss_2242586" style="width:425px;text-align:left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;text-decoration:underline;margin:12px 0 3px;" title="Sun VDI 3.1" href="http://www.slideshare.net/mprove/sun-vdi-31">Sun VDI 3.1</a><iframe frameborder="0" width="433" height="363" src="http://wpcomwidgets.com/?width=425&amp;height=355&amp;src=http%3A%2F%2Fstatic.slidesharecdn.com%2Fswf%2Fssplayer2.swf%3Fdoc%3Dsunvdi31-091016093519-phpapp02%26stripped_title%3Dsun-vdi-31&amp;quality=high&amp;wmode=tranparent&amp;_tag=gigya&amp;_hash=f7d5af1872e6b4a833670085427ca137" id="f7d5af1872e6b4a833670085427ca137"></iframe></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/mprove">mprove</a>.</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sun VDI 3.1 - חידושים ועדכונים]]></title>
<link>http://cloudvc.wordpress.com/2009/10/22/sun-vdi-3-1-%d7%97%d7%99%d7%93%d7%95%d7%a9%d7%99%d7%9d-%d7%95%d7%a2%d7%93%d7%9b%d7%95%d7%a0%d7%99%d7%9d/</link>
<pubDate>Thu, 22 Oct 2009 17:07:05 +0000</pubDate>
<dc:creator>cloudvc</dc:creator>
<guid>http://cloudvc.wordpress.com/2009/10/22/sun-vdi-3-1-%d7%97%d7%99%d7%93%d7%95%d7%a9%d7%99%d7%9d-%d7%95%d7%a2%d7%93%d7%9b%d7%95%d7%a0%d7%99%d7%9d/</guid>
<description><![CDATA[אני שמח להודיעכם על שחרור גרסת הניסויי לVDI 3.1 מבית סאן מיקרוסיסטמס. גרסה זו כבר הותקנה בארץ וניתן ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">אני שמח להודיעכם על שחרור גרסת הניסויי ל</span>VDI 3.1<span style="font-family:&#34;" lang="HE"> מבית סאן מיקרוסיסטמס. גרסה זו כבר הותקנה בארץ וניתן לקבוע הדגמות. כיודע לכם עוד מגרסת ה-</span><span style="font-family:&#34;" dir="ltr">VDI</span><span style="font-family:&#34;" lang="HE"> הקודמת, מדובר בסל מוצרים אשר מאוגדים תחת ממשק ניהול אחיד, רק שהפעם בנוסף לשינויים המינורים ותיקוני הבאגים, המוצר קיבל את כל החידושים האפשריים, כדוגמת –<a href="http://wikis.sun.com/display/SRS/Home"> SUNRAY 5</a>, </span><span style="font-family:&#34;" dir="ltr">SSGD 4.5</span><span style="font-family:&#34;" lang="HE">, </span><span style="font-family:&#34;" dir="ltr">VBOX</span><span style="font-family:&#34;" lang="HE">, </span><span style="font-family:&#34;" dir="ltr">OVF</span><span style="font-family:&#34;" lang="HE">, </span><span style="font-family:&#34;" dir="ltr">3D GPU</span><span style="font-family:&#34;" lang="HE">, </span><span style="font-family:&#34;" dir="ltr">vCPU</span><span style="font-family:&#34;" lang="HE">, וכד&#8217;.</span><span style="font-family:&#34;" lang="HE"> </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">תחילה ברצוני לציין שמדובר בגרסת ביטא הכי מוצלחת מאי פעם שיצא לי לעבוד איתה. חלו מספר שינויים בתפיסה הכוללת של המוצר ובעיקר מרבית הדגשים הושמו בצד הניהולי של המוצר. שזה כולל גם שליטה ובקרה טובה יותר הן בצד תחנות וירטואליות והן בצד ה<a href="http://wikis.sun.com/display/VDI3dot1/About+Template+Management">טיפול ותחזוקת התבניות</a> (</span>templates<span style="font-family:&#34;" lang="HE">).</span><span style="font-family:&#34;" lang="HE"> </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">ההפתעה הגדולה ביותר של </span>VDI3.1<span style="font-family:&#34;" lang="HE"> הינה התממשקות ותמיכה דווקא במוצרי מייקרוסופט. למשל, בפנל הניהול ישנו <a href="http://wikis.sun.com/display/VDI3dot1/About+New+Pool+Settings">מודול שלם אשר מטפל בכל הפרמטרים של פרוטוקל ה-<span style="font-family:&#34;" dir="ltr" lang="EN-US">RDP</span></a>. ואפילו תמיכה מלאה ב – </span>SYSPREP<span style="font-family:&#34;" lang="HE"> של מייקרוספט.</span><span style="font-family:&#34;" lang="HE"> </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">במודול ה-</span>HOST PROVIDERS<span style="font-family:&#34;" lang="HE"> נוספו שני מודולים חדשים לתמיכה ב </span>HYPER-V<span style="font-family:&#34;" lang="HE"> ו </span>TS2008<span style="font-family:&#34;" lang="HE"> של מייקרוסופט ובכך יתמוך המוצר בסביבות הוירטואליזציה הבאות:</span></p>
<p class="MsoListParagraph" style="text-align:right;text-indent:-18pt;direction:rtl;unicode-bidi:embed;margin:0 36pt 10pt 0;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="http://wikis.sun.com/display/VDI3dot1/About+Microsoft+Hyper-V+Desktop+Providers">מייקרוספט – <span style="font-family:&#34;" dir="ltr" lang="EN-US">HYPER-V</span></a></span></p>
<p class="MsoListParagraph" style="text-align:right;text-indent:-18pt;direction:rtl;unicode-bidi:embed;margin:0 36pt 10pt 0;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="http://blogs.sun.com/whitemencantjump/entry/sun_vdi_3_what_is9"><span style="font-family:&#34;" dir="ltr" lang="EN-US">VMWARE- VC+ESX</span></a></span></p>
<p class="MsoListParagraph" style="text-align:right;text-indent:-18pt;direction:rtl;unicode-bidi:embed;margin:0 36pt 10pt 0;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="http://wikis.sun.com/display/VDI3dot1/About+Microsoft+Remote+Desktop+Providers"><span style="font-family:&#34;" dir="ltr" lang="EN-US">TS 2008 + CITRIX</span></a></span></p>
<p class="MsoListParagraph" style="text-align:right;text-indent:-18pt;direction:rtl;unicode-bidi:embed;margin:0 36pt 10pt 0;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="http://wikis.sun.com/display/VDI3dot1/About+VirtualBox+in+VDI+3.1"><span style="font-family:&#34;" dir="ltr" lang="EN-US">VBOX</span></a></span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">המשמעות: המוצר </span>SUN VDI3.1<span style="font-family:&#34;"> בגרסתו החדשה משמש כשכבת ניהול לכל סוגי שכבות הוירטואלזציה בעת ובעונה אחת ככלי ניהול אחיד ואפקטיבי אשר מחבר בין שכבת תחנות הקצה (</span>UTC, TC, PC, PDA<span style="font-family:&#34;" lang="HE">) לספק המשאבים הוירטואלים (</span>HOST PROVIDER <span style="font-family:&#34;" lang="HE">) ללא תלות בייצרן. </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">הפתעה נוספת, למי שבוחר לעבוד בוירטואליזציה החינמית של סאן (</span>VBOX<span style="font-family:&#34;" lang="HE">), גרסת ה</span>VBOX<span style="font-family:&#34;"> ב</span>VDI3.1<span style="font-family:&#34;"> תומכת </span>OVF<span style="font-family:&#34;" lang="HE"> ובכך תתאפשר אופציה של יבוא ויצוא המכונות הוירטואליות ללא תלות ביצרן הדיסק הוירטואלי. להזכירכם, מדובר בפורמט פתוח שהפך לסטנדרט ונמצא בשימוש בכל מוצרי הוירטואלזציה הקיימים היום בשוק. </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">גרסת ה-</span>VDI3.1<span style="font-family:&#34;"> מבוססת קונטרולר חדש לחלוטין &#8211; שימו לב </span>SUNRAY 5<span style="font-family:&#34;" lang="HE"> כבר כאן. <a href="http://wikis.sun.com/display/VDI3dot1/About+Sun+Ray+Software+in+VDI+3.1">כמה דגשים לגבי ה – <span style="font-family:&#34;" dir="ltr" lang="EN-US">SRSS 5</span></a>. </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="http://wikis.sun.com/display/SRWC2dot2/Managing+Multimedia+Redirection+%28All+Topics%29">מולטימדיה, פלאש, תמיכה ב-<span style="font-family:&#34;" dir="ltr" lang="EN-US">VPN`s/VLAN</span></a> – כל אלו כבר אינם נחשבים לאתגר לתחנות הרזות של סאן </span>SUNRAYS<span style="font-family:&#34;" lang="HE">. בגרסת ה-</span>SRSS5<span style="font-family:&#34;" lang="HE"> ניתן לצפות בסרטוני הפלאש באמצעות תחנות עבודה רזות </span>SUNRAY 2, 2FS, 270<span style="font-family:&#34;" lang="HE">, כנ&#8221;ל גם לגבי תחנות עבודה רזות אחרות ואפילו תחנות </span>PC<span style="font-family:&#34;" lang="HE"> אשר מתחברות דרך פרוטוקול ה- </span>RDP<span style="font-family:&#34;"> סטנדרטי לחלוטין. כן, תחנות </span>PC<span style="font-family:&#34;" lang="HE"> רגילות  עם סאן ראיי– ראיתם נכון. </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl">SRSS 5<span style="font-family:&#34;"> – לא מחייב לעבוד עם תחנות עבודה של </span><span style="font-family:&#34;" dir="ltr">SUNRAY</span><span style="font-family:&#34;" lang="HE">. הקונטרולר החדש משלב בתוכו את <a href="http://wikis.sun.com/display/SRSS4dot2/About+Sun+Desktop+Access+Clients">גרסת ה-<span style="font-family:&#34;" dir="ltr" lang="EN-US">SOFT</span></a> או במילים אחרות אמולציה ל</span><span style="font-family:&#34;" dir="ltr"> SUNRAY</span><span style="font-family:&#34;" lang="HE">. מה שמאפשר לארגונים מעבר הדרגתי ל</span>VDI 3.1<span style="font-family:&#34;" lang="HE">. כלומר, אין יותר צורך להשקיע בעמדות </span>UTC<span style="font-family:&#34;" lang="HE"> החל מיום הראשון בתחילת הפרוייקט, המעבר ל- </span>SUNRAYS <span style="font-family:&#34;" lang="HE">מתבצע בהדרגה. כל עמדת </span>PC<span style="font-family:&#34;" lang="HE"> אשר יוצאת ממחזור החיים, מוחלפת ב- </span>SUNRAY<span style="font-family:&#34;" lang="HE">.</span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">שרידות</span> <span style="font-family:&#34;" lang="HE">וזמינות (</span>HIGH availability  <span style="font-family:&#34;" lang="HE">). כפי שאתם כבר מבינים </span>VDI3.1<span style="font-family:&#34;" lang="HE"> איננו עוד מוצר צד שלישי שיש לו ערך מוסף להפעלת המסופים ו/או ניהול הסיישנים ו/או בורר עומסים, מצפין תעבורה ברשת  וכד&#8217;&#8230; למרות שהמוצר אכן מטפל בכל הפונקציות הנ&#8221;ל למעשה מדובר במוצר ליבה אשר מפעיל את כלל מערך התשתיות הוירטואליות של הארגון. החל מרמת שולחן העבודה אל תוך שליטה במשאבים פיסים בשרתים הארגוניים. היות ומדובר במוצר ליבה, בסאן השקיעו לא מעט שעות פיתוח לאבטחת השרידות וליצירת המשכיות בכל מערכי הוירטואלזציה אשר פועלים ומופעלים באמצעות </span>VDI3.1<span style="font-family:&#34;" lang="HE"> ובניהם:</span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="http://wikis.sun.com/pages/viewpage.action?pageId=143851893">שרידות וזמינות ל-<span style="font-family:&#34;" dir="ltr" lang="EN-US">HOST PROVIDERS</span></a>, על בסיס </span>n+1<span style="font-family:&#34;" lang="HE">. </span>Active/Active</p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="http://wikis.sun.com/display/VDI3dot1/Planning+the+Installation+%28All+Topics%29#PlanningtheInstallation%28AllTopics%29-SupportedConfigurationsforSunVirtualboxVirtualizationPlatforms">שרידות הליבה המרכזית</a>. (</span>VDI CORE Cluster<span style="font-family:&#34;" lang="HE">), על בסיס </span>n+1 <span style="font-family:&#34;" lang="HE"> </span>Active/Active</p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">שרידות מערכי הדיסקים הוירטואליים, מבלי תלות בספק ה-</span>storage<span style="font-family:&#34;" lang="HE">.</span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE">יכולת הפעלה ושימוש בטכנולוגיות מבית סאן כדוגמת </span>ZFS<span style="font-family:&#34;" lang="HE"> על </span>NETAPP<span style="font-family:&#34;" lang="HE">ו/או </span>EMC<span style="font-family:&#34;" lang="HE">.</span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE"> </span></p>
<p class="MsoNormal" style="text-align:right;direction:rtl;unicode-bidi:embed;" dir="rtl"><span style="font-family:&#34;" lang="HE"><a href="https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=SunVDI-3.1-EA-SP-G-F@CDS-CDS_SMI">להורדת הגרסה</a>, ליותר פרטים ו/או להדגמת המוצר הינכם מוזמנים לצור קשר עם מנהלי תיק לקוח שלכם בסאן, או ישירות איתנו. </span></p>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:0;width:1px;height:1px;">טכנולוג, יזם, מייסד ומנכ&#8221;ל חב&#8217; פורנט פלוס בע&#8221;מ. מתמחה במחשוב עננים, VDI, HPC, עולמות וירטואליים ופלטפורמות עטירות ביצועים.</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Dr. StrangeRAID, or, how I learned to stop worrying and love ZFS]]></title>
<link>http://archastro.wordpress.com/2009/10/14/dr-strangeraid/</link>
<pubDate>Wed, 14 Oct 2009 11:23:00 +0000</pubDate>
<dc:creator>Leigh</dc:creator>
<guid>http://archastro.wordpress.com/2009/10/14/dr-strangeraid/</guid>
<description><![CDATA[So now that we&#8217;ve chosen to go with Solaris and use NFS for our filesystem, let&#8217;s consid]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So now that we&#8217;ve chosen to go with Solaris and use NFS for our filesystem, let&#8217;s consider how we&#8217;re going to use ZFS to best suit our needs.</p>
<p>So let&#8217;s say that I have four 1Tb disks lying around which I want to thow into my new file server. At some point in the future, I&#8217;d like to upgrade my capacity by replacing one or all of the disks with larger ones (say, 2Tb).</p>
<p>How do we go about it?</p>
<p><!--more--></p>
<p>Before we start, there&#8217;s a few things that we need to be mindful of. Rules of ZFS, if you will. They are:</p>
<ul>
<li>A vdev cannot have any additional devices added to it, but its devices can be replaced.</li>
<li>A vdev cannot be removed from a pool. You have to destroy the pool and start over.</li>
<li> A raidz vdev must contain disks of equal size.</li>
<li> A raidz vdev can be expanded, but some trickery is required.</li>
</ul>
<p>Essentially when you create a group of disks in a zpool, you&#8217;re creating what&#8217;s known as a vdev. A vdev can be a single disk, an N-way mirrored array, a RaidZ1 array or a RaidZ2 array. It can also be a logging disk, a cache disk or a spare disk, but we&#8217;ll get on to them down the track.</p>
<p>For my experiment,  I&#8217;ll be using files instead of disks, but creating 1Tb files is plain silly, so I&#8217;ll use 1Gb files instead. So wherever you see a space reading in Gigabytes, assume that it&#8217;s Terabytes. To create the files, we&#8217;ll first create a folder for them to live in, then make a few 1Gb &#8220;disks&#8221; for each scenario we want to experiment with.</p>
<p><code>root@Zues:~# mkdir /zdev<br />
root@Zues:~# cd /zdev<br />
root@Zues:/zdev# mkfile 1g flat1a &#38;&#38; mkfile 2g flat2a &#38;&#38; mkfile 1g 1b.... and so on. 49Gb of disk images total!</code></p>
<p><strong>Scenario 1: Flat dynamically striped array (&#8220;Dynamic&#8221; RAID0)</strong></p>
<p>The reason ZFS striped arrays are called &#8220;Dynamic&#8221; is because&#8230; well, they are. Adding or replacing disks is simple and frighteningly quick &#8211; most times involving only a single command, and no reboots to make it take effect.</p>
<p>To create a dynamically striped array is as simple as:</p>
<p><code>root@Zues:/zdev# zpool create dynamic /zdev/flat_1a /zdev/flat_1b /zdev/flat_1c /zdev/flat_1d</code></p>
<p>Which gives us:</p>
<p><code>root@Zues:/zdev# zpool list dynamic<br />
NAME      SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT<br />
dynamic  3.97G  79.5K  3.97G     0%  ONLINE  -<br />
root@Zues:/zdev# df -h &#124;grep dynamic<br />
dynamic               4.0G   21K  4.0G   1% /dynamic</code></p>
<p>Four gigs of space. Not bad. Replacing our disks in the future happens like this:</p>
<p><code>root@Zues:/zdev# zpool replace dynamic /zdev/flat_1a /zdev/flat_2a<br />
root@Zues:/zdev# zpool replace dynamic /zdev/flat_1b /zdev/flat_2b<br />
root@Zues:/zdev# zpool replace dynamic /zdev/flat_1c /zdev/flat_2c<br />
root@Zues:/zdev# zpool replace dynamic /zdev/flat_1d /zdev/flat_2d</code></p>
<p><code>root@Zues:/zdev# zpool list dynamic<br />
NAME      SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT<br />
dynamic  3.97G   104K  3.97G     0%  ONLINE  -<br />
root@Zues:/zdev# df -h &#124;grep dynamic<br />
dynamic               4.0G   21K  4.0G   1% /dynamic</code></p>
<p>So It&#8217;s as easy as pie to replace disks to increase the size of your array, and although I did them all at the same time, it&#8217;s quite simple to do them one at a time.</p>
<p>Let&#8217;s see how it performs:</p>
<p><a href="http://irrationale.com/wp-content/uploads/2009/10/MWSnap028.jpg"><img class="alignnone size-thumbnail wp-image-714" title="MWSnap028" src="http://irrationale.com/wp-content/uploads/2009/10/MWSnap028-160x100.jpg" alt="MWSnap028" width="160" height="100" /></a></p>
<p><em>Pros:</em></p>
<ul>
<li> Maximum storage</li>
<li> Maximum simplicity</li>
<li>Great performance</li>
<li> Replace any disk at any time to expand the array</li>
</ul>
<p><em> Cons:</em></p>
<ul>
<li> Zero Redundancy</li>
</ul>
<p><em> Conclusion:</em><br />
Best if you want something really simple, with lots of storage space and very little redundancy.</p>
<p><strong>Scenario 2: Mirroring (RAID1)<br />
</strong></p>
<p>Building a mirrored array is a little tricker to get your head around. The first way to do it is to add disks in pairs and let the system figure it out. My preferred way, however, is to create a standard ZFS array of two disks, then attach the other two disks as hot mirrors of the two first ones. I&#8217;ll have to call this array &#8216;reflect&#8217; because the words mirror and mirroring are reserved by ZFS.</p>
<p><code>root@Zues:/zdev# zpool create reflect /zdev/mirror_1a /zdev/mirror_1b</code></p>
<p>and now we&#8217;ll attach the mirror disks:</p>
<p><code>root@Zues:/zdev# zpool attach reflect /zdev/mirror_1a /zdev/mirror_1c<br />
root@Zues:/zdev# zpool attach reflect /zdev/mirror_1b /zdev/mirror_1d<br />
root@Zues:/zdev# zpool status reflect<br />
pool: reflect<br />
state: ONLINE<br />
scrub: resilver completed after 0h0m with 0 errors on Wed Oct 14 21:27:04 2009<br />
config:<br />
NAME                 STATE     READ WRITE CKSUM<br />
reflect              ONLINE       0     0     0<br />
mirror             ONLINE       0     0     0<br />
/zdev/mirror_1a  ONLINE       0     0     0<br />
/zdev/mirror_1c  ONLINE       0     0     0<br />
mirror             ONLINE       0     0     0<br />
/zdev/mirror_1b  ONLINE       0     0     0<br />
/zdev/mirror_1d  ONLINE       0     0     0  55.5K resilvered<br />
errors: No known data errors</code></p>
<p>The available space of this array, as you would imagine, is 2Gb thanks to their being two 1Gb disks available.</p>
<p>To upgrade a mirrored array, you simply need to detach the mirror disk, replace the primary, then attach a new mirror disk. For example:</p>
<p><code>root@Zues:/zdev# zpool detach reflect /zdev/mirror_1c<br />
root@Zues:/zdev# zpool replace reflect /zdev/mirror_1a /zdev/mirror_2a<br />
root@Zues:/zdev# zpool attach reflect /zdev/mirror_2a /zdev/mirror_2c<br />
root@Zues:/zdev# zpool status reflect<br />
pool: reflect<br />
state: ONLINE<br />
scrub: resilver completed after 0h0m with 0 errors on Wed Oct 14 21:30:16 2009<br />
config:<br />
NAME                 STATE     READ WRITE CKSUM<br />
reflect              ONLINE       0     0     0<br />
mirror             ONLINE       0     0     0<br />
/zdev/mirror_2a  ONLINE       0     0     0<br />
/zdev/mirror_2c  ONLINE       0     0     0  34K resilvered<br />
mirror             ONLINE       0     0     0<br />
/zdev/mirror_1b  ONLINE       0     0     0<br />
/zdev/mirror_1d  ONLINE       0     0     0</code></p>
<p>errors: No known data errors</p>
<p>But hang on a second! Even though we&#8217;ve upgraded one of the mirrors, we&#8217;re still only showing 2Gb of disk space! We should have at least 3Gb avaiable!</p>
<p><code>root@Zues:/zdev# zpool list reflect<br />
NAME      SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT<br />
reflect  1.98G    96K  1.98G     0%  ONLINE  -</code></p>
<p>Don&#8217;t panic, this is standard operating procedure. In order to make the new disk space available to the pool, we need to export it and re-import it.</p>
<p><code>root@Zues:/zdev# zpool export reflect<br />
root@Zues:/zdev# zpool import -d /zdev/ reflect<br />
root@Zues:/zdev# zpool list reflect<br />
NAME      SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT<br />
reflect  2.98G  94.5K  2.98G     0%  ONLINE  -</code></p>
<p>Note the -d slash and the file path are only necessary when you&#8217;re working with files. Were these actual disks, I could just type &#8220;zpool import &#60;poolname&#62;&#8221; and get the same result.</p>
<p>As for performance, mirroring is definitely the way to go if you&#8217;re concerned about throughput. Over a 100 megabit network, this array gives perfect performance:</p>
<p><a href="http://irrationale.com/wp-content/uploads/2009/10/MWSnap029.jpg"><img class="alignnone size-thumbnail wp-image-715" title="MWSnap029" src="http://irrationale.com/wp-content/uploads/2009/10/MWSnap029-160x100.jpg" alt="MWSnap029" width="160" height="100" /></a></p>
<p><em>Pros:</em></p>
<ul>
<li> Excellent Redundancy</li>
<li> Excellent Performance</li>
<li> Still fairly simple</li>
<li> Can upgrade the array mirror at a time</li>
<li> Can roll back to dynamic array at any time by detaching mirrors and adding them to the pool</li>
</ul>
<p><em> Cons:</em></p>
<ul>
<li> Very expensive</li>
</ul>
<p><em> Conclusion:</em><br />
Great mix of redundancy and flexibility, but not for the faint of wallet.</p>
<p><strong>Scenario 3: RaidZ1 (RAID5)<br />
</strong></p>
<p>A Z1 array is essentially a RAID5 array, but much, much sexier. Why? Because it has a Z in front of it!</p>
<p>Seriously, though, the RAIDZ array sits pretty much half way between naked disks and mirrored disks, providing n-1 redundancy so that while you&#8217;re secure, you can still have a good amount of storage without breaking the bank. Let&#8217;s go ahead and set one up.</p>
<p><code>root@Zues:/zdev# zpool create z1 raidz /zdev/raidz1_1a /zdev/raidz1_1b /zdev/raidz1_1c /zdev/raidz1_1d<br />
root@Zues:/zdev# zpool status z1<br />
pool: z1<br />
state: ONLINE<br />
scrub: none requested<br />
config:</code></p>
<p><code>NAME                 STATE     READ WRITE CKSUM<br />
z1                   ONLINE       0     0     0<br />
raidz1             ONLINE       0     0     0<br />
/zdev/raidz1_1a  ONLINE       0     0     0<br />
/zdev/raidz1_1b  ONLINE       0     0     0<br />
/zdev/raidz1_1c  ONLINE       0     0     0<br />
/zdev/raidz1_1d  ONLINE       0     0     0</code></p>
<p>errors: No known data errors</p>
<p>So now that the RaidZ array has been created (note that the vdev specifies that it&#8217;s raidz1), let&#8217;s look at how much space we&#8217;ve actually got to play with.</p>
<p><code>root@Zues:/zdev# zfs list z1<br />
NAME   USED  AVAIL  REFER  MOUNTPOINT<br />
z1    96.5K  2.92G  31.4K  /z1</code></p>
<p>Remember, n-1 spacing means that even though we&#8217;ve got 4Gb of disks, we only get 3Gb of space, and then 1/64th of that space is reserved by ZFS.</p>
<p>Now let&#8217;s say it&#8217;s a year down the track, we&#8217;ve mostly filled our array with files, and we want to replace these disks with larger ones. First, you&#8217;ll have to make sure that the &#8220;Expand&#8221; option is enabled on the array, otherwise it won&#8217;t automatically grow when we add the new disks.</p>
<p><code>root@Zues:/zdev# zpool get expand z1<br />
NAME  PROPERTY    VALUE   SOURCE<br />
z1    autoexpand  off     default<br />
root@Zues:/zdev# zpool set expand=on z1<br />
root@Zues:/zdev# zpool get expand z1<br />
NAME  PROPERTY    VALUE   SOURCE<br />
z1    autoexpand  on      local</code></p>
<p>Excellent. Now we can go ahead and replace out our disks with the new 2Gb models we just bought.</p>
<p><code>root@Zues:/zdev# zpool replace z1 /zdev/raidz1_1a /zdev/raidz1_2a<br />
root@Zues:/zdev# zpool replace z1 /zdev/raidz1_1b /zdev/raidz1_2b<br />
root@Zues:/zdev# zpool replace z1 /zdev/raidz1_1c /zdev/raidz1_2c<br />
root@Zues:/zdev# zpool replace z1 /zdev/raidz1_1d /zdev/raidz1_2d<br />
root@Zues:/zdev# zpool status z1<br />
pool: z1<br />
state: ONLINE<br />
scrub: resilver completed after 0h0m with 0 errors on Wed Oct 14 21:54:17 2009<br />
config:</code></p>
<p><code>NAME                 STATE     READ WRITE CKSUM<br />
z1                   ONLINE       0     0     0<br />
raidz1             ONLINE       0     0     0<br />
/zdev/raidz1_2a  ONLINE       0     0     0<br />
/zdev/raidz1_2b  ONLINE       0     0     0<br />
/zdev/raidz1_2c  ONLINE       0     0     0<br />
/zdev/raidz1_2d  ONLINE       0     0     0  31K resilvered</code></p>
<p>errors: No known data errors</p>
<p>root@Zues:/zdev# zfs list z1<br />
NAME   USED  AVAIL  REFER  MOUNTPOINT<br />
z1     123K  5.87G  31.4K  /z1</p>
<p>Excellent. Just under 6Gb of space to play with, although I shudder to think how much four of those disks cost. Let&#8217;s see how it performs.</p>
<p><a href="http://irrationale.com/wp-content/uploads/2009/10/MWSnap030.jpg"><img class="alignnone size-thumbnail wp-image-716" title="MWSnap030" src="http://irrationale.com/wp-content/uploads/2009/10/MWSnap030-160x100.jpg" alt="MWSnap030" width="160" height="100" /></a></p>
<p>Ok, so performance is a little bit degraded because of the fact that the system needs to calculate parity blocks during the write process. It also increases CPU utilization for the same reason.</p>
<p><em>Pros:</em></p>
<ul>
<li> Single disk Redundancy</li>
<li> Can also add spares which can kick in if a drive fails</li>
<li> Halfway between naked drives and mirroring for price</li>
</ul>
<p><em> Cons:</em></p>
<ul>
<li> Not so stellar performance</li>
<li> To upgrade, all drives must be replaced</li>
</ul>
<p><em> Conclusion:</em><br />
Not for the faint of heart when it comes to upgrade paths, but definitely one of the most versitile options</p>
<p><strong>Scenario 4: RaidZ2 (RAID6)<br />
</strong></p>
<p>Essentially this is the ZFS equivalent of RAID6, and offers two disk redundancy &#8211; i.e. two disks can fail before you need to start worrying about data. The only downside is that you&#8217;ll lose two disks to parity information, so it tends to get rather pricey. First, let&#8217;s create a RaidZ2 array:</p>
<p><code>root@Zues:/zdev# zpool create z2 raidz2 /zdev/raidz2_1a /zdev/raidz2_1b /zdev/raidz2_1c /zdev/raidz2_1d<br />
root@Zues:/zdev# zpool status z2<br />
pool: z2<br />
state: ONLINE<br />
scrub: none requested<br />
config:</code></p>
<p><code>NAME                 STATE     READ WRITE CKSUM<br />
z2                   ONLINE       0     0     0<br />
raidz2             ONLINE       0     0     0<br />
/zdev/raidz2_1a  ONLINE       0     0     0<br />
/zdev/raidz2_1b  ONLINE       0     0     0<br />
/zdev/raidz2_1c  ONLINE       0     0     0<br />
/zdev/raidz2_1d  ONLINE       0     0     0</code></p>
<p>errors: No known data errors</p>
<p>and the available space?</p>
<p><code>root@Zues:/zdev# zfs list z2<br />
NAME   USED  AVAIL  REFER  MOUNTPOINT<br />
z2     101K  1.95G  31.4K  /z2</code></p>
<p>Ew. Not much space to play with, considering we just threw 4 1G disks at it, although we had the same sort of thing with Mirroring. Upgrading this array is the same as a RaidZ1 array, in that we need to enable exand, then upgrade all four disks at once.</p>
<p><code>root@Zues:/zdev# zpool get expand z2<br />
NAME  PROPERTY    VALUE   SOURCE<br />
z2    autoexpand  off     default<br />
root@Zues:/zdev# zpool set expand=on z2<br />
root@Zues:/zdev# zpool replace z2 /zdev/raidz2_1a /zdev/raidz2_2a<br />
root@Zues:/zdev# zpool replace z2 /zdev/raidz2_1b /zdev/raidz2_2b<br />
root@Zues:/zdev# zpool replace z2 /zdev/raidz2_1c /zdev/raidz2_2c<br />
root@Zues:/zdev# zpool replace z2 /zdev/raidz2_1d /zdev/raidz2_2d<br />
root@Zues:/zdev# zpool status z2<br />
pool: z2<br />
state: ONLINE<br />
scrub: resilver completed after 0h0m with 0 errors on Wed Oct 14 22:17:12 2009<br />
config:</code></p>
<p><code>NAME                 STATE     READ WRITE CKSUM<br />
z2                   ONLINE       0     0     0<br />
raidz2             ONLINE       0     0     0<br />
/zdev/raidz2_2a  ONLINE       0     0     0<br />
/zdev/raidz2_2b  ONLINE       0     0     0<br />
/zdev/raidz2_2c  ONLINE       0     0     0<br />
/zdev/raidz2_2d  ONLINE       0     0     0  56.5K resilvered</code></p>
<p>errors: No known data errors<br />
root@Zues:/zdev# zfs list z2<br />
NAME   USED  AVAIL  REFER  MOUNTPOINT<br />
z2     126K  3.91G  31.4K  /z2</p>
<p>So with four 2Gb disks, we now have just shy of 4Gb of space which is double redundant. Let&#8217;s see what its performance is like:</p>
<p><a href="http://irrationale.com/wp-content/uploads/2009/10/MWSnap031.jpg"><img class="alignnone size-thumbnail wp-image-717" title="MWSnap031" src="http://irrationale.com/wp-content/uploads/2009/10/MWSnap031-160x100.jpg" alt="MWSnap031" width="160" height="100" /></a></p>
<p>Another small drop thanks to the extra parity we have to write, but nothing out of the ordinary.</p>
<p><em>Pros:</em></p>
<ul>
<li> Double disk Redundancy</li>
<li> Can also add spares which can kick in if a drive fails</li>
</ul>
<p><em> Cons:</em></p>
<ul>
<li> Underwhelming performance</li>
<li> To upgrade, all drives must be replaced</li>
<li> Lots of disk space lost to Parity</li>
</ul>
<p><em> Conclusion:</em><br />
In a massive array, RaidZ2 would be very worthwhile, but in our example, two disk redundancy can be performed by Mirroring just as easily and have the added bonus of being much easier to expand.</p>
<p>So there you have it, folks. I&#8217;ll admit that this look into ZFS and its various options isn&#8217;t exactly in-depth, but hopefully it gives you an idea of what is available.</p>
<p><strong>Final Conclusion.</strong></p>
<p>I can&#8217;t tell you which style of zpool layout to go for. For most people, a flat dynamically striped array is probably all they need, as all they really care about is the size of the array. Others might baulk at the idea of putting so much data in the hands of the gods &#8211; after all, a flat array is horribly susceptible to disk failure.</p>
<p>Having weighed up all the options, I can say that the most likely one I&#8217;ll go for is a four-disk mirrored array. The fact that I can upgrade two of the disks and leave the other two alone is a massive bonus, as it means that while I enjoy the luxury of double redundant disks, I also don&#8217;t have to buy four new disks when it comes time to upgrade. Two (or even one) new 2Tb disks will bump my storage array to 3Tb &#8211; more than enough to keep me trucking.</p>
<p>If you&#8217;d like to simulate any of these options, all you need to do is grab a copy of the Opensolaris LiveCD, whack it in to your computer (or your virtual machine software of choice) and give it a go.</p>
<p>Enjoy!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Testing out FreeBSD 8.0-RC1]]></title>
<link>http://koitsu.wordpress.com/2009/10/12/testing-out-freebsd-8-0-rc1/</link>
<pubDate>Mon, 12 Oct 2009 17:45:33 +0000</pubDate>
<dc:creator>koitsu</dc:creator>
<guid>http://koitsu.wordpress.com/2009/10/12/testing-out-freebsd-8-0-rc1/</guid>
<description><![CDATA[EDIT: Those interested in the upcoming release of FreeBSD 8.0 should read both the below, as well as]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>EDIT: Those interested in the upcoming release of FreeBSD 8.0 should read both the below, as well as my <b><a href="http://koitsu.wordpress.com/2009/11/02/testing-out-freebsd-8-0-rc2/">Testing out FreeBSD 8.0-RC2</a></b> post (which notes that many, but not all, of these problems have been fixed).</p>
<p>Yesterday I took the plunge and upgraded my home FreeBSD amd64 box from RELENG_7 to FreeBSD 8.0-RC1, which going forward I will refer to as RELENG_8 (yes, it has been tagged!).  I did a complete reinstall, like I always do when migrating between major FreeBSD releases.  Said box consists of a Supermicro X7SBA motherboard, Intel Core2Duo E8400 CPU, 4GB of RAM, and 3 SATA disks connected via the on-board Intel ICH9 + AHCI &#8212; one for the OS, and two in a ZFS mirror pool.  Relevant <code>dmesg</code> information:</p>
<blockquote><pre>
CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (2992.52-MHz K8-class CPU)
real memory  = 4294967296 (4096 MB)
avail memory = 4112478208 (3921 MB)
atapci0: &#60;Intel ICH9 SATA300 controller&#62; port 0x1c50-0x1c57,0x1c44-0x1c47,0x1c48-0x1c4f,0x1c40-0x1c43,0x18e0-0x18ff mem 0xdc000800-0xdc000fff irq 17 at device 31.2 on pci0
atapci0: [ITHREAD]
atapci0: AHCI called from vendor specific driver
atapci0: AHCI v1.20 controller with 6 3Gbps ports, PM supported
ata4: &#60;ATA channel 2&#62; on atapci0
ata4: [ITHREAD]
ata5: &#60;ATA channel 3&#62; on atapci0
ata5: [ITHREAD]
ata7: &#60;ATA channel 5&#62; on atapci0
ata7: [ITHREAD]
ad8: 190782MB &#60;WDC WD2000JD-00HBB0 08.02D08&#62; at ata4-master SATA150
ad10: 953869MB &#60;WDC WD1001FALS-00J7B1 05.00K05&#62; at ata5-master SATA300
ad14: 953869MB &#60;WDC WD1001FALS-00J7B1 05.00K05&#62; at ata7-master SATA300
</pre>
</blockquote>
<p>And ZFS-related details:</p>
<blockquote><pre>
  pool: storage
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          mirror    ONLINE       0     0     0
            ad10    ONLINE       0     0     0
            ad14    ONLINE       0     0     0

errors: No known data errors
</pre>
</blockquote>
<p>The first thing worth noting is that I performed the installation entirely using the <a href="ftp://ftp4.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.0/8.0-RC1-amd64-memstick.img">FreeBSD 8.0-RC1 amd64 memstick</a> image on a <a href="http://www.amazon.com/dp/B000NWWT3G/">SanDisk Cruzer Micro 2GB USB drive</a>.  If you&#8217;re going to try this, make sure you have a 2GB or larger USB drive, since the memstick image is larger than 1GB.</p>
<p>Writing the .img file to the USB drive required the use of another FreeBSD box (someone is going to have to address that fact eventually), and was achieved per <a href="http://lists.freebsd.org/pipermail/freebsd-stable/2009-July/051018.html">Ken Smith&#8217;s original instructions</a>:</p>
<blockquote><pre>
dd if=8.0-RC1-amd64-memstick.img of=/dev/da0 bs=10240 conv=sync
</pre>
</blockquote>
<p>The entire <code>dd</code> took about 4 minutes.  I then booted it directly without any issues.  Installation went as expected, with the exception of choosing a different installation medium than usual; there&#8217;s a new <b>USB</b> menu item near the bottom of the installation medium selection list.  I should also note that I deleted the existing FreeBSD partition and re-created it during the sysinstall phase, and during the Boot Manager selection phase, I chose <b>Standard</b> like I always do.  You&#8217;ll understand why I&#8217;ve noted these two things in a moment.</p>
<p>After rebooting + booting off the main OS hard disk, the first thing I saw which was different/anomalous was that I was being shown the F1/F5/F6 FreeBSD boot manager menu &#8212; as if I had selected <b>BootMgr</b> and not <b>Standard</b>.  Options shown were F1 for FreeBSD, F5 for Floppy, and F6 for PXE (that&#8217;s a new one!).  So there&#8217;s definitely a bug/regression somewhere with regards to the boot manager you choose; or maybe it was because I was installing from a USB drive?  Not sure.</p>
<p>The FreeBSD box booted fine, but the following kernel message caught my eye:</p>
<blockquote><pre>
GEOM: ad8s1: geometry does not match label (255h,63s != 16h,63s).
</pre>
</blockquote>
<p>This indicated that what sysinstall wrote to the actual on-disk BSD label, as far as drive geometry went, didn&#8217;t match what GEOM expected &#8212; GEOM expecting 16 heads, the drive label containing 255 heads.  I&#8217;m not using GPT (at least not knowingly; if sysinstall does it without telling you, then someone needs to work out where the actual problem lies).  I first looked at <code>gpart show ad8</code> and <code>gpart show ad8s1</code> to see what it claimed:</p>
<blockquote><pre>
# gpart show ad8
=&#62;       63  390721905  ad8  MBR  (186G)
         63  390716802    1  freebsd  [active]  (186G)
  390716865       5103       - free -  (2.5M)

# gpart show ad8s1
=&#62;        0  390716802  ad8s1  BSD  (186G)
          0    4194304      1  freebsd-ufs  (2.0G)
    4194304   16777216      2  freebsd-swap  (8.0G)
   20971520   33554432      4  freebsd-ufs  (16G)
   54525952   16777216      5  freebsd-ufs  (8.0G)
   71303168  319413634      6  freebsd-ufs  (152G)
</pre>
</blockquote>
<p>Next, and more conclusive, I used <code>bsdlabel -e -A ad8s1</code> and this is what I got:</p>
<blockquote><pre>
# /dev/ad8s1:
type: ESDI
disk: ad8s1
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 24321
sectors/unit: 390721968
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # milliseconds
track-to-track seek: 0  # milliseconds
drivedata: 0

8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:  4194304        0    4.2BSD        0     0     0
  b: 16777216  4194304      swap
  c: 390716802        0    unused        0     0         # "raw" part, don't edit
  d: 33554432 20971520    4.2BSD        0     0     0
  e: 16777216 54525952    4.2BSD        0     0     0
  f: 319413634 71303168    4.2BSD        0     0     0
</pre>
</blockquote>
<p>So yes, sysinstall is definitely doing the Wrong Thing(tm) here.  One of the biggest problems with this is that users cannot easily fix this &#8212; it requires booting a fixit or LiveFS image and editing the disk label, as well as users having to re-calculate sectors/cylinder and cylinders by hand.  And no, <a href="http://lists.freebsd.org/pipermail/freebsd-current/2009-March/004838.html">I&#8217;m not talking out of my ass</a>.  Also note that the post to freebsd-current is dated March 2009 &#8212; 7 months ago.  So this issue has existed for quite some time without proper attention.</p>
<p>Upon exiting the editor session inside of <code>bsdlabel</code> (using <code>:q!</code>), I was given the following error:</p>
<blockquote><pre>
bsdlabel: partition c doesn't cover the whole unit!
bsdlabel: An incorrect partition c may cause problems for standard system utilities
bsdlabel: Class not found
re-edit the label? [y]: n
</pre>
</blockquote>
<p>Whoa whoa whoa, even more insanity going on here!  Also, what&#8217;s with the <code>Class not found</code> error?  Wow, this is pretty jacked, and apparently <a href="http://lists.freebsd.org/pipermail/freebsd-current/2009-July/009133.html">I&#8217;m not the only one who&#8217;s noticed</a>.  Note this post is dated July 2009 &#8212; 3 months ago.  The easy solution seems to be to use <code>gpart(8)</code> to create all of the slices&#8230; except it&#8217;s obvious no one has fixed sysinstall to do this.  There&#8217;s also <a href="http://lists.freebsd.org/pipermail/freebsd-current/2009-July/009295.html">a patch mentioned</a> which fixes the problem, but that obviously wasn&#8217;t committed before the RELENG_8 tagging, nor backported since.</p>
<p>But the root of the problem <a href="http://lists.freebsd.org/pipermail/freebsd-current/2009-July/009235.html">does appear to be sysinstall</a> not doing the Right Thing(tm) any longer.</p>
<p>Next up was my attempt to fix the Boot Manager oddities.  Historically, re-writing the boot blocks on a disk consisted of doing the appropriate equivalent of <code>bsdlabel -B ad8s1</code>.  However, I was greeted with the exact same &#8220;Class not found&#8221; error as above.  Hmmm&#8230; This doesn&#8217;t bode well.  Presumably I can use <code>gpart(8)</code> to re-write the boot blocks, but given that GEOM is complaining about disk geometry errors, I don&#8217;t dare mess with it.</p>
<p>All of this is a pretty major bug.  The kernel message is going to catch a lot of user attention if it&#8217;s not fixed by the time 8.0-RELEASE is announced.  I plan on sending Robert Watson and Ken Smith an Email about the issue after I get done writing this.</p>
<p>At this point I decided to make appropriate modifications to <code>/etc/rc.conf</code>, specifically the addition of <code>zfs_enable="yes"</code>, so that I could get access to my ZFS filesystems.  After doing so, and running <code>/etc/rc.d/hostid start</code> then <code>/etc/rc.d/zfs start</code>, I was greeted with the usual ZFS kernel messages &#8212; but with an unexpected surprise:</p>
<blockquote><pre>ZFS NOTICE: system has less than 4GB and prefetch enable is not set... disabling.</pre>
</blockquote>
<p>Given how familiar I am with FreeBSD and ZFS at this point, this message caught me off-guard.</p>
<p>First of all, grammatically this sentence is confusing as hell &#8212; there is no &#8220;prefetch enable&#8221; tunable; the tunable is actually called <code>vfs.zfs.prefetch_disable</code>, and it defaults to 0 (off, e.g. prefetching enabled), so why would I exclusively enable something which is enabled by default?  And why&#8217;s it getting disabled?  Secondly, my system <b>has</b> 4GB of RAM installed&#8230; so what&#8217;s going on here?!</p>
<p>I dug around in the <a href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c">relevant CVS commit logs</a> and found numerous changes to this file, specifically the message that was printed.  Apparently the existing message was <a href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c.diff?r1=1.22;r2=1.23;f=h">reviewed by 5 separate people (revision 1.23) to &#8220;Improve wording&#8221;</a>.</p>
<blockquote><pre>
   3554 #ifdef _KERNEL
   3555         if (TUNABLE_INT_FETCH("vfs.zfs.prefetch_disable", &#38;zfs_prefetch_disable))
   3556                 prefetch_tunable_set = 1;
   3557
   ...
   3565         if ((((uint64_t)physmem * PAGESIZE) &#60; (1ULL &#60;&#60; 32)) &#38;&#38;
   3566             prefetch_tunable_set == 0) {
   3567                 printf(&#34;ZFS NOTICE: system has less than 4GB and prefetch enable is not set&#34;
   3568                     &#34;... disabling.\n&#34;);
   3569                 zfs_prefetch_disable=1;
   3570         }
   3571 #endif
</pre>
</blockquote>
<p>Ahh, now we have a much better idea of what&#8217;s going on.  There are two reasons why this message got printed on my machine:</p>
<p>1) I had not done any tuning of <code>/boot/loader.conf</code> at this point, so <code>vfs.zfs.prefetch_disable</code> hadn&#8217;t been set.  The above code basically says &#8220;if someone has administratively set <code>vfs.zfs.prefetch_disable</code> to something in <code>loader.conf</code>, set <code>prefetch_tunable_set</code> to 1&#8243;.  You can set the tunable to whatever you want (enabled or disabled) and the message won&#8217;t get printed.  If you don&#8217;t set the tunable, the following applies:</p>
<p>2) <code>physmem</code> is actually the amount of memory <b>in pages</b> that&#8217;s available to the kernel when it loads.  The multiplication is actually <code>hw.availpages * hw.pagesize</code>.  The <code>1ULL &#60;&#60; 32</code> statement may look ugly but it&#8217;s a bitshift equivalent of 2^32, e.g. 4294967296.</p>
<p>Let&#8217;s work out the math:</p>
<blockquote><pre>
# sysctl hw.pagesize hw.availpages
hw.pagesize: 4096
hw.availpages: 1046201
# expr 1046201 "*" 4096
4285239296
</pre>
</blockquote>
<p>4285239296 is indeed less than 4294967296.  Wait a minute&#8230; where&#8217;s that extra memory going?</p>
<p>Well, it&#8217;s going to two places on the X7SBA: 1) on-board video (which has an 8MB framebuffer), and 2) the AHCI BIOS which takes up an unknown amount of RAM, but I&#8217;d guess about 1-2MB. So let&#8217;s do the math:</p>
<blockquote><pre>
# expr 4294967296 - 4285239296
9728000
</pre>
</blockquote>
<p>With all of this information kept in mind, the kernel message really should be re-worded to say the following:</p>
<blockquote><pre>
ZFS NOTICE: System has less than 4294967296 bytes (4GB) of usable memory,
ZFS NOTICE: and vfs.zfs.prefetch_disable has not explicitly been defined
ZFS NOTICE: in loader.conf.  Setting vfs.zfs.prefetch_disable="1"...
</pre>
</blockquote>
<p>I&#8217;m also questioning the logic behind why prefetching is disabled on systems with less than 4GB of available memory; I&#8217;d like to know what the reasoning is there.  Is it in regards to stability?  Performance?  I don&#8217;t know.  I can&#8217;t find an answer on the mailing lists either.</p>
<p>Finally, I found an unexpected oddity with the new tty/pty/pts code with regards to EOF.  All other operating systems, including RELENG_7 and earlier, behave as follows when EOF is pressed on a terminal.  This is regardless of shell, by the way:</p>
<blockquote><pre>
bash$ cat
{press Control-D here}bash$
</pre>
</blockquote>
<p>While on RELENG_8, the literal Control-D (^D) character is shown on-screen:</p>
<blockquote><pre>
bash$ cat
{press Control-D here}^Dbash$
</pre>
</blockquote>
<p>I&#8217;ve already mailed Ed Schouten about this, and he agrees it&#8217;s a bug which he&#8217;ll work on fixing, hopefully tonight.</p>
<p>Everything else past this point was peachy keen.  No odd problems building ports, no system lock-ups or odd experiences, and so on.  It&#8217;s all worked great so far.  I&#8217;m looking forward to upgrading our production servers to RELENG_8 when it comes out.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Solaris 10 10/09 (aka Solaris 10 Update 8) Released]]></title>
<link>http://wa4zko.wordpress.com/2009/10/10/solaris-10-1009-aka-update-8-released/</link>
<pubDate>Sat, 10 Oct 2009 15:56:05 +0000</pubDate>
<dc:creator>wa4zko</dc:creator>
<guid>http://wa4zko.wordpress.com/2009/10/10/solaris-10-1009-aka-update-8-released/</guid>
<description><![CDATA[Sun Microsystems has just released Solaris 10 10/09. This is the 8th major update to the Solaris 10 ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sun Microsystems has just released Solaris 10 10/09. This is the 8th major update to the Solaris 10 operating system.  Downloads can be found <a href="http://www.sun.com/software/solaris/get.jsp">here</a>.</p>
<p>Solaris 10 10/09 (aka Update <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> includes many updates, fixed, and additions such as, but not limited to:</p>
<p>1.  Numerous well tested updates and fixes are included. Think of it as Solaris 10 with &#8220;Service Pack 8&#8243; integrated. Saves you time when building up a new server as you  need to download/install fewer updates as compared to an installation done with older media. Microsoft could learn some lessons here, especially as they continue to provide fewer and fewer service packs for their products.  SP2 is it for Windows Server 2003, you gotta be kidding me?  Sun  supports their OS products for a much longer and reasonable time frames.  Thus every time you turn around you are are not being forced into OS upgrades to perfectly functional production systems.</p>
<p>2.  Support for newer hardware and a continued focus on improving/extending power management features. How fast are your data center electric and cooling bills growing? Getting ugly are they not?  Judging by the increasingly  idiotic energy policy ideas coming out of Washington, unnecessary and skyrocketing energy costs are  likely in the near future.</p>
<p>3.  ZFS support for Solid State Drives.  Improvements towards  more fine grained file system resource limits.</p>
<p>4.  More streamlined system installation and management. Improvements to system patching/updating. Parallel patching of Solaris Containers (very nice). New automated framework for patching in single user mode (nice). Considerably (up to 4x) faster patching and package installs in many scenarios.</p>
<p>And more, check it out.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[10 Reasons You Need to Look at ZFS]]></title>
<link>http://madhavkobal.wordpress.com/2009/10/08/10-reasons-you-need-to-look-at-zfs/</link>
<pubDate>Thu, 08 Oct 2009 17:51:29 +0000</pubDate>
<dc:creator>madhavkobal</dc:creator>
<guid>http://madhavkobal.wordpress.com/2009/10/08/10-reasons-you-need-to-look-at-zfs/</guid>
<description><![CDATA[Sun&#8217;s open-source ZFS file system has some amazing features. It was originally designed for So]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sun&#8217;s open-source ZFS file system has some amazing features. It was originally designed for Solaris and unveiled in 2005, but you&#8217;ll also find it in OpenSolaris and related distributions. In the future it may well become a popular file system to run with Linux and BSD as well.</p>
<p>Here are the top 10 features that ZFS fans find insanely great:</p>
<h3>1. Checksums in Metadata for Data Integrity</h3>
<p>Data integrity is of paramount importance in ZFS, and is the driver for many ZFS features.</p>
<p>The file system uses a 256-bit checksum, which is stored as metadata separate from the data it relates to, when it writes information to disk. Unlike a simple disk block checksum, this can detect phantom writes, misdirected reads and writes, DMA parity errors, driver bugs and accidental overwrites as well as traditional &#8220;bit rot.&#8221;</p>
<h3>2. Copy on Write</h3>
<p>ZFS ensures that data is always consistent on the disk using a number of techniques, including copy-on-write. What this means is that when data is changed it is not overwritten — it is always written to a new block and checksummed before pointers to the data are changed. The old data may be retained, creating snapshots of the file system through time as changes are made. File writes using ZFS are transactional — either everything or nothing is written to disk.</p>
<h3>3. Data Snapshots With Time Slider</h3>
<p>The latest version of OpenSolaris illustrates the power for ZFS&#8217;s snapshots capability with a small graphical application called TimeSlider. ZFS can be configured to take a snapshot of the file system (or a section of it, such as just a user&#8217;s home folder) on a regular basis — every 15 minutes, or every hour, and so on. These snapshots are very small and efficient, as only the deltas from the previous snapshot are stored.</p>
<p>TimeSlider offers a view of the file system (or a home folder), with a slider which can be moved back along a timeline to earlier snapshot times. As this is done, the view changes to show they state of the file system or the contents of a folder at the corresponding snapshot time. Recovering a file that has been overwritten by mistake or rolling back the system after an unsuccessful update is then just a matter of moving the slider back to the appropriate snapshot time.</p>
<p>Snapshots can also be made writable to create clones of existing file systems.</p>
<h3>4. Pooled Data Storage</h3>
<p>ZFS takes available storage drives and pools them together as a single resource, called a zpool. This can be optimized for capacity, or I/O performance, or redundancy, using striping, mirroring or some form of <a title="Webopedia Entry: RAID" href="http://networking.webopedia.com/TERM/R/RAID.html">RAID</a>. If more storage is needed then more drives can simply be added to the zpool — ZFS sees the new capacity and starts using it automatically, balancing I/O and maximizing throughput.</p>
<h3>5. RAIDZ and RAIDZ2</h3>
<p>RAID 5 has a well known flaw called the RAID 5 write hole. This causes a problem when a data block is written to a stripe but a power failure occurs before the corresponding parity block can be written. As a result the data and parity for the stripe will be inconsistent. If a disk then fails, the RAID reconstruction process will result in incorrect data. The only way out of this is if an entire stripe happens to be overwritten, thus generating a correct parity block.</p>
<p>RAIDZ gets around this problem by using a variable width stripe, so every write is effectively a full stripe write. This, together with ZFS&#8217;s copy on write characteristic (mentioned above,) eliminates the RAID 5 write hole completely. RAIDZ2 works in a similar way, but can tolerate the loss of two disks in the array using double parity.</p>
<p>Setting up a RAIDZ (or RAIDZ2) array is very easy and involves issuing one command</p>
<h3>6. SSD Hybrid Storage Pools</h3>
<p>High performance SSDs can be added to a storage pool to create a hybrid storage pool. When these are configured as high performance cache disks, ZFS uses them to hold frequently accessed data to improve performance. It also uses a technology called L2 ARC (adaptive replacement cache) to write data that has to be stored immediately. This can slowly be moved over to conventional hard drives for more permanent storage when time and resources allow.</p>
<h3>7. Capacity</h3>
<p>ZFS is a 128-bit file system, which means that in theory it could store 256 quadrillion ZB (a ZB is a billion TB.) In practice this is larger than would ever be necessary, for the foreseeable future at least.</p>
<h3>8. Data Scrubbing</h3>
<p>ZFS can be made to scrub all the data in a storage pool, checking each piece of data with its corresponding checksum to verify its integrity, detect any silent data corruption, and to correct any errors in encounters where possible.</p>
<p>When the data is stored in a redundant fashion — in a mirrored or RAID-type array — it can correct any corrupt data it detects invisibly and without any administrator intervention. Since data corruption is logged, ZFS can bring to light defects in memory modules (or other hardware) which cause data to be stored on hard drives incorrectly.</p>
<p>Scrubbing is given low I/O priority so that it has a minimal effect on system performance, and can operate while the storage pool that is being scrubbed is in use.</p>
<h3>9 . Simple, Efficient Administration</h3>
<p>Using ZFS commands you can administer a system with short, efficient commands. For example, a five disk RAIDZ array could be set up with the single command:</p>
<p><tt>zpool create poolname raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0</tt></p>
<h3>10. More on the Way</h3>
<p>ZFS is still evolving, and new features will appear regularly. The roadmap for 2009 includes encryption for increased security, and data deduping to increase storage efficiency.</p>
<p>If you are interested in trying ZFS out then the easiest way is to get started is to download OpenSolaris or related distro from <a href="http://opensolaris.org/os/downloads/">http://opensolaris.org/os/downloads/</a>. There is also a  <a href="http://www.wizy.org/wiki/ZFS_on_FUSE">ZFS for FUSE/Linux project</a>, and you can watch <a href="//www.internet.com/player/index.php?bcpid=1534611832&#38;bclid=1433966019&#38;bctid=17308041001','myWindow','width=790,height=620,resizable=no');NewWindow.focus();%20void(0)">ZFS: A hands on tutorial</a>.</p>
<p>Paul Rubens</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[FreeBSD and ZFS -- is it truly stable?]]></title>
<link>http://koitsu.wordpress.com/2009/10/08/freebsd-and-zfs-is-it-truly-stable/</link>
<pubDate>Thu, 08 Oct 2009 14:48:56 +0000</pubDate>
<dc:creator>koitsu</dc:creator>
<guid>http://koitsu.wordpress.com/2009/10/08/freebsd-and-zfs-is-it-truly-stable/</guid>
<description><![CDATA[There&#8217;s an &#8220;age old question&#8221; that has been floating around with regards to ZFS on]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>There&#8217;s an &#8220;age old question&#8221; that has been floating around with regards to ZFS on FreeBSD &#8212; is it stable?  &#8220;Stable&#8221; in this case means: do I risk losing my data, will it cause kernel panics or other oddities, and do I need to tune it?</p>
<p>The answer, still, may be yes.</p>
<p>I&#8217;ve <a href="http://lists.freebsd.org/pipermail/freebsd-stable/2009-October/052256.html">taken the initiative</a> &#8212; that is to say, get an official response to these type of questions, specifically with regards to kernel panics.  I&#8217;m incredibly surprised no one &#8212; not even the user community &#8212; has responded at this point.  It&#8217;s not a trick question either; FreeBSD users really do need an answer to this.</p>
<p>People are continually comparing FreeBSD&#8217;s ZFS to that of Solaris 10 and OpenSolaris&#8217; ZFS.  Given that my day job involves heavy use of Solaris 10 on massive numbers of servers across the United States, I can safely say without a doubt ZFS on Solaris behaves better and won&#8217;t crash your system due to kernel memory exhaustion.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Hadoop World: NYC 2009 | Cloudera]]></title>
<link>http://enggtech.wordpress.com/2009/10/08/hadoop-world-nyc-2009-cloudera/</link>
<pubDate>Thu, 08 Oct 2009 14:02:25 +0000</pubDate>
<dc:creator>Visitor Blogs</dc:creator>
<guid>http://enggtech.wordpress.com/2009/10/08/hadoop-world-nyc-2009-cloudera/</guid>
<description><![CDATA[Steve Jones from SQLServerCentral.com I tried to read through the quickstart on Apache&#8217;s site ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.cloudera.com/hadoop-world-nyc"></a></p>
<p><strong>Steve Jones </strong>from <a rel="nofollow" href="http://www.sqlservercentral.com/links/1066535/124267" target="_blank">SQLServerCentral.com</a></p>
<p>I tried to read through the <a rel="nofollow" href="http://www.sqlservercentral.com/links/1066535/124275" target="_blank">quickstart</a> on Apache&#8217;s site for the common core installation and walk through a few examples, but it&#8217;s a little hard to tell what exactly the buzz is about. <a rel="nofollow" href="http://www.sqlservercentral.com/links/1066535/124276" target="_blank">Wikipedia</a> was more help, pointing me to the MapReduce papers that Google published. I&#8217;ll see if I can work through them  at some point. Hadoop is available under a free license and the list of companies using it for large data set processing is impressive: Yahoo!, Amazon, Facebook, and more.</p>
<p>So what&#8217;s the purpose?</p>
<p>Hadoop appears to allow clusters of servers to perform data processing very efficiently. It&#8217;s built on it&#8217;s own distributed file system that scales to handle petabytes of data. That might seem like more data than you and I will ever need to work with, but I remember when it was a challenge to get enough disk drives together to assemble a terabyte in a server. Now I have 1.5TB in my desktop, with room for more.</p>
<p>It&#8217;s an interesting project, and with data volumes constantly growing, I wonder when we&#8217;ll see a similar technology in Microsoft&#8217;s data processing platform. They already <a rel="nofollow" href="http://www.sqlservercentral.com/links/1066535/124277" target="_blank">purchased a search technology company based on Hadoop</a>, and we might see this used in Bing.</p>
<p>I expect this type of processing, and others like the <a rel="nofollow" href="http://www.sqlservercentral.com/links/1066535/124278" target="_blank">StreamInsight</a> features in SQL Server 2008 R2, to complement, rather than supplant the traditional SQL database engine.</p>
<p class="byline">
</div>]]></content:encoded>
</item>

</channel>
</rss>
