<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>My Wushu Blog &#187; ZFS</title>
	<atom:link href="http://www.mywushublog.com/tag/zfs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mywushublog.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 05:05:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>FreeBSD and Multipath</title>
		<link>http://www.mywushublog.com/2010/06/freebsd-and-multipath/</link>
		<comments>http://www.mywushublog.com/2010/06/freebsd-and-multipath/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 06:06:58 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[Benchmarking]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.mywushublog.com/?p=985</guid>
		<description><![CDATA[I didn&#8217;t find any blog posts of discussions on FreeBSD and multipath (for storage) that wasn&#8217;t a man page. That means it is up to me to write about it Hardware CPU Machine class: amd64 CPU Model: Intel(R) Xeon(R) CPU E5530 @ 2.40GHz No. of Cores: 16 Memory Total real memory available: 65511 MB Logically [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t find any blog posts of discussions on FreeBSD and multipath (for storage) that wasn&#8217;t <a href="http://www.freebsd.org/cgi/man.cgi?query=gmultipath&amp;section=8">a man page</a>.</p>
<p>That means it is up to me to write about it <img src='http://www.mywushublog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Hardware</h2>
<h3>CPU</h3>
<h3>
<pre>Machine class:	amd64
CPU Model:	Intel(R) Xeon(R) CPU           E5530  @ 2.40GHz
No. of Cores:	16</pre>
</h3>
<h3>Memory</p>
<pre>Total real memory available:	65511 MB
Logically used memory:		3945 MB
Logically available memory:	61565 MB</pre>
</h3>
<h3>Storage</h3>
<p>The storage is a large ~90TB Enterprise class Fibre Channel array, a Data Direct Networks S2A9900. Connected to that are two, dual port QLogic 2532 8Gb HBA&#8217;s. We also have two SSD drives (configured as a RAID1 device) for the ZFS Intent Log.</p>
<p>The storage array was configured from 120 1TB, 7200RPM Hitachi drives. It has 12 volumes in total, composed of 10 of the SATA drives (1 parity, 1 Spare), or ~7TB.</p>
<p>The S2N9900 has two controllers, one controller is responsible for LUN&#8217;s 1-6, the other controller is responsible for LUN&#8217;s 7-12. every LUN is presented to all four Fibre Channel ports. This got a little messy, trying to sort out 48 raw disk devices takes some patience and a decent attention span&#8230;</p>
<p>yeah, I did make a few typo&#8217;s here and there, thankfully creating and clearing disk labels is easy.</p>
<pre># camcontrol devlist|grep lun\ 0
                at scbus0 target 0 lun 0 (pass0,da0)
                at scbus1 target 0 lun 0 (pass6,da6)
                at scbus4 target 0 lun 0 (pass24,da24)
                at scbus5 target 0 lun 0 (pass30,da30)</pre>
<pre># camcontrol inquiry da0 -S
108EA1B10001
# camcontrol inquiry da6 -S
108EA1B10001
# camcontrol inquiry da24 -S
108EA1B10001
# camcontrol inquiry da30 -S
108EA1B10001
# gmultipath label -v DDN-v00 /dev/da0 /dev/da6 /dev/da24 /dev/da30
Done.</pre>
<pre># gmultipath status
             Name  Status  Components
multipath/DDN-v00     N/A  da0
                           da6
                           da24
                           da30</pre>
<p>Now, to do that 12 more times&#8230;</p>
<p>Whew, hard work!</p>
<p>Now, to create a simple ZFS volume across all 12 luns:</p>
<pre># zpool create zfs multipath/DDN-v00 multipath/DDN-v01 multipath/DDN-v02 multipath/DDN-v03 multipath/DDN-v04 multipath/DDN-v05 multipath/DDN-v06 multipath/DDN-v07 multipath/DDN-v08 multipath/DDN-v09 multipath/DDN-v10 multipath/DDN-v11 log mfid1

# zpool status
  pool: zfs
 state: ONLINE
 scrub: none requested
config:

	NAME                 STATE     READ WRITE CKSUM
	zfs                   ONLINE       0     0     0
	  multipath/DDN-v00  ONLINE       0     0     0
	  multipath/DDN-v01  ONLINE       0     0     0
	  multipath/DDN-v02  ONLINE       0     0     0
	  multipath/DDN-v03  ONLINE       0     0     0
	  multipath/DDN-v04  ONLINE       0     0     0
	  multipath/DDN-v05  ONLINE       0     0     0
	  multipath/DDN-v06  ONLINE       0     0     0
	  multipath/DDN-v07  ONLINE       0     0     0
	  multipath/DDN-v08  ONLINE       0     0     0
	  multipath/DDN-v09  ONLINE       0     0     0
	  multipath/DDN-v10  ONLINE       0     0     0
	  multipath/DDN-v11  ONLINE       0     0     0
	logs                 ONLINE       0     0     0
	  mfid1              ONLINE       0     0     0

errors: No known data errors</pre>
<h2>Results</h2>
<p>These results wre obtained from two <strong>similar</strong> servers. The other server is using a Winchester Systems Storage array, and has 24GB of system memory. The Winchester Storage is ~40TB of 2TB SATA disks:<br />
<div id="attachment_999" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/winsys-fd-sx2318r.jpg"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/winsys-fd-sx2318r-300x253.jpg" alt="" title="winsys-fd-sx2318r" width="300" height="253" class="size-medium wp-image-999" /></a><p class="wp-caption-text">Another RAID array, just for a comparison</p></div></p>
<p>I used IOZone for the test (iozone -a). The default iozone test is using 64k files to 512MB files, and since I&#8217;m trying to see how the server might actually react to the real worl, I&#8217;m okay with this (ie, I fully understand that a LOT of caching is taking place, and I want that for right now).<br />
<div id="attachment_997" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-frewrite.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-frewrite-300x192.png" alt="" title="2d-frewrite" width="300" height="192" class="size-medium wp-image-997" /></a><p class="wp-caption-text">Forward Re-Write</p></div></p>
<div id="attachment_996" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-freread.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-freread-300x192.png" alt="" title="2d-freread" width="300" height="192" class="size-medium wp-image-996" /></a><p class="wp-caption-text">Forward Re-Read</p></div>
<div id="attachment_995" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-fread.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-fread-300x192.png" alt="Forward Read" title="2d-fread" width="300" height="192" class="size-medium wp-image-995" /></a><p class="wp-caption-text">Forward Read</p></div><br />
<div id="attachment_994" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-bkwdread.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-bkwdread-300x192.png" alt="" title="2d-bkwdread" width="300" height="192" class="size-medium wp-image-994" /></a><p class="wp-caption-text">Backwards Read</p></div><br />
<div id="attachment_993" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-randread.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-randread-300x192.png" alt="" title="2d-randread" width="300" height="192" class="size-medium wp-image-993" /></a><p class="wp-caption-text">Random Read</p></div><br />
<div id="attachment_992" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-reread.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-reread-300x192.png" alt="" title="2d-reread" width="300" height="192" class="size-medium wp-image-992" /></a><p class="wp-caption-text">Re-Read</p></div><br />
<div id="attachment_991" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-recrewrite.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-recrewrite-300x192.png" alt="" title="2d-recrewrite" width="300" height="192" class="size-medium wp-image-991" /></a><p class="wp-caption-text">Rec? Re-Write</p></div>
<div id="attachment_990" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-write.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-write-300x192.png" alt="" title="2d-write" width="300" height="192" class="size-medium wp-image-990" /></a><p class="wp-caption-text">Write</p></div><br />
<div id="attachment_998" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-strideread.png"><img src="http://www.mywushublog.com/wp-content/uploads/2010/06/2d-strideread-300x192.png" alt="" title="2d-strideread" width="300" height="192" class="size-medium wp-image-998" /></a><p class="wp-caption-text">Strided Read</p></div>
<p>The S2N9900 is a pretty nice device. Although you have to use TELNET (yeesh, couldn&#8217;t they spend a few more bucks on a small ARM processor and use ssh?), the controllers have a decent command line environment with HELP pages. What is also nice is the company provides the documentation for their products for free, and no registration is required. Good Job!</p>
<p>As far as raw read and write speeds, that is hard to nail down. I&#8217;ve been using IOZone, and when I run that, and take a look at &#8216;zpool iostat 1&#8242;, the ZFS Pool stays at a constant 200MB/sec for writes. I&#8217;ve seen in pop up higher, like 250MB to 500MB, but 200 seems to be the ceiling. I&#8217;ve done with and without a dedicated log device, with and without gmultipath, and finally, using the SSD RAID1 as a L2ARC cache device. All results are nearly identical. Reads are pretty crazy though, with 64GB of system memory, reading a file is nearly 1GB/sec.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywushublog.com/2010/06/freebsd-and-multipath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 8.0 = A Great NAS Server</title>
		<link>http://www.mywushublog.com/2009/12/freebsd-8-0-a-great-nas-server/</link>
		<comments>http://www.mywushublog.com/2009/12/freebsd-8-0-a-great-nas-server/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 04:30:23 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[kickassery]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.mywushublog.com/?p=646</guid>
		<description><![CDATA[I need to share this. When I google for &#8220;Samba performance&#8221;, I never see real numbers, real configuration files, or real hardware environments. All I read are anecdotal recollections, and that is not good enough. I like numbers, and I&#8217;ll let the numbers speak for themselves: &#62; netstat -I em0 -w 1 input (em0) output [...]]]></description>
			<content:encoded><![CDATA[<p>I need to share this. When I google for &#8220;Samba performance&#8221;, I never see real numbers, real configuration files, or real hardware environments. All I read are anecdotal recollections, and that is not good enough. I like numbers, and I&#8217;ll let the numbers speak for themselves:</p>
<pre>    &gt; netstat -I em0 -w 1
                input          (em0)           output
       packets  errs      bytes    packets  errs      bytes colls
         90166     0   98762637      95363     0    5332847     0
         18131     0   24713156      20042     0    1123684     0
             4     0        310          1     0        178     0
             8     0        518          1     0        178     0
         10153     0   10952920      10696     0     598129     0
         92990     0  102837002      98476     0    5514994     0
         92025     0  102680574      97277     0    5439496     0
         92080     0  101799874      97403     0    5448637     0
         75348     0   90861608      80972     0    4537737     0
         90895     0  100323946      95781     0    5360948     0
         89313     0   97371154      94364     0    5278618     0
         81363     0   89229738      85861     0    4803589     0
             2     0        126          3     0        286     0</pre>
<p>I was so shocked that I had to use gstat and zpool iostat to verify the information:</p>
<pre>    dT: 1.002s  w: 1.000s  filter: da0
     L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
       35   1476      0      0    0.0   1476 188421   23.7  100.0| da0

    &gt; zpool iostat  1
                   capacity     operations    bandwidth
    pool         used  avail   read  write   read  write
    ----------  -----  -----  -----  -----  -----  -----
    tank        5.68T  4.32T      1     81   250K  10.1M
    tank        5.68T  4.32T      0  1.37K      0   175M
    tank        5.68T  4.32T      0  1.44K      0   184M
    tank        5.68T  4.32T      0  1.44K      0   184M
    tank        5.68T  4.32T      0  1.44K      0   184M
    tank        5.68T  4.32T      0  1.44K      0   184M
    tank        5.68T  4.32T      0  1.44K      0   184M
    tank        5.68T  4.32T      0  1.44K      0   184M</pre>
<p>This is all through Samba (3.3.9), There was no local work being done. I unfortunately didn&#8217;t configure MRTG correctly, so it had built a malformed graph while all this happened. Having a picture from all of this would have been nice.</p>
<p>The underlying storage is a SATABoy2 RAID6 array, with a simple &#8220;flat&#8221; ZFS filesystem (version 13). As cheap as the SATABoy&#8217;s are (and come on, they have a terrible IIS web interface), they can at least keep up with the current load.</p>
<p>I have felt that if you are going to use ZFS, you should let it manage the RAID, and not bother with a hardware RAID controller. While the hardware RAID may be faster, ZFS&#8217;s ability to self-correct bad blocks is a great feature despite the performance set back. However, RAID6 is pretty good in itself, and having dual parity would ideally reduce the risk of a bad block being detrimental.</p>
<p>One thing I noticed with Samba is it doesn&#8217;t seem to be a threaded daemon. When I do a top(1) -H, there are only 2-3 smbd processes, and one of them is running around 30%. Though I don&#8217;t really know how well Samba can scale out, this environment only has about 10 users. I would like to see how samba reacts if there are a couple hundred active users. Furthermore, how does a native Windows server handle a couple hundred users? It may handle it a little better, however, I don&#8217;t think I would enjoy watching NTFS handling a multi-terabyte volume&#8230; it would be like watching a stroke victim eat a bowl of soup. I do admit I am biased and I have no working experience with Windows as a large file server, most of them that I have worked on are horribly limited and underpowered, and no one seems to care if they perform well or not.</p>
<h3>Hardware</h3>
<h4>CPU information</h4>
<pre>    Machine class:    amd64
    CPU Model:    Dual Core AMD Opteron(tm) Processor 285
    No. of Cores:    4
    Cores per CPU:</pre>
<h4>RAM information</h4>
<pre>    Memory information from dmidecode(8)
    Maximum Capacity: 8 GB
    Number Of Devices: 4
    Maximum Capacity: 8 GB
    Number Of Devices: 4

    INFO: Run `dmidecode -t memory` to see further information.

    System memory summary
    Total real memory available:    8048 MB
    Logically used memory:        2876 MB
    Logically available memory:    5172 MB

    Swap information
    Device          1K-blocks     Used    Avail Capacity
    /dev/da1s1b       8373844      28K     8.0G     0%</pre>
<h4>Storage information</h4>
<pre>    Available hard drives:
    cd0:  Removable CD-ROM SCSI-0 device
    cd0: 1.000MB/s transfers
    da2:  Fixed Direct Access SCSI-5 device
    da2: 300.000MB/s transfers
    da2: Command Queueing enabled
    da2: 140009MB (286739329 512 byte sectors: 255H 63S/T 17848C)
    da1:  Fixed Direct Access SCSI-2 device
    da1: 300.000MB/s transfers
    da1: Command Queueing enabled
    da1: 69618MB (142577664 512 byte sectors: 255H 63S/T 8875C)
    da0:  Fixed Direct Access SCSI-5 device
    da0: 200.000MB/s transfers
    da0: Command Queueing enabled
    da0: 10491861MB (21487333120 512 byte sectors: 255H 63S/T 1337524C)

    Raid controllers:
    umass-sim0:
    mpt0:
    vendor='LSI Logic (Was: Symbios Logic, NCR)'
    device='SAS 3000 series, 4-port with 1064 -StorPort'
    isp0:
    vendor='QLogic Corporation'
    device='QLA6322 Fibre Channel Adapter'

    Currently mounted filesystems:
    /dev/da1s1a on /
    devfs on /dev
    tank on /tank
    /dev/ufs/EXPORT on /export

    I/O statistics:
           tty             da0              da1              da2             cpu
     tin  tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
       0    40 63.61 167 10.36  16.53   2  0.03  61.65   0  0.00   1  0  4  0 94
    INFO: Run iostat(8) or gstat(8) to see live statistics.

    Disk usage:
    Filesystem         Size    Used   Avail Capacity  Mounted on
    /dev/da1s1a         58G    3.4G     50G     6%    /
    devfs              1.0K    1.0K      0B   100%    /dev
    tank               9.8T    5.7T    4.1T    58%    /tank
    /dev/ufs/EXPORT    126G    148K    116G     0%    /export</pre>
<h3>Software</h3>
<ul>
<li>FreeBSD 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1 amd64</li>
<li>samba-3.3.9         A free SMB and CIFS client and server for UNIX</li>
</ul>
<h4>Samba 3.3.9 Compile-Time Config</h4>
<pre>&gt; make showconfig
===&gt; The following configuration options are available for samba-3.3.9:
     LDAP=on "With LDAP support"
     ADS=on "With Active Directory support"
     CUPS=off "With CUPS printing support"
     WINBIND=on "With WinBIND support"
     SWAT=off "With SWAT WebGUI"
     ACL_SUPPORT=on "With ACL support"
     AIO_SUPPORT=on "With Asyncronous IO support"
     FAM_SUPPORT=on "With File Alteration Monitor"
     SYSLOG=on "With Syslog support"
     QUOTAS=on "With Disk quota support"
     UTMP=off "With UTMP accounting support"
     PAM_SMBPASS=on "With PAM authentication vs passdb backends"
     DNSUPDATE=off "With dynamic DNS update(require ADS)"
     DNSSD=off "With DNS service discovery support"
     EXP_MODULES=on "With experimental modules"
     POPT=on "With system-wide POPT library"
     MAX_DEBUG=off "With maximum debugging"
     SMBTORTURE=off "With smbtorture"
===&gt; Use 'make config' to modify these settings</pre>
<h3>System Tuning</h3>
<h4>The Kernel</h4>
<p>I enabled device polling, and took out debugging in the kernel (Sanders, get it! Mmm, I&#8217;m hungry&#8230;)</p>
<pre>diff /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/SANDERS
    33d32
    &lt; makeoptions    DEBUG=-g        # Build kernel with gdb(1) debug symbols
    78c77
    &lt;
    ---
    &gt; options        DEVICE_POLLING</pre>
<h4>/boot/loader.conf</h4>
<pre>    ispfw_load="YES"
    kern.hz="2000"
    aio_load="YES"</pre>
<h4>/etc/sysctl.conf</h4>
<pre>    kern.coredump=0
    security.bsd.see_other_uids=0
    security.bsd.see_other_gids=0
    kern.ipc.maxsockbuf=16777216
    kern.ipc.nmbclusters=32768
    kern.ipc.somaxconn=32768
    kern.maxfiles=65536
    kern.maxfilesperproc=32768
    kern.maxvnodes=800000
    net.inet.tcp.delayed_ack=0
    net.inet.tcp.inflight.enable=0
    net.inet.tcp.path_mtu_discovery=0
    net.inet.tcp.recvbuf_auto=1
    net.inet.tcp.recvbuf_inc=524288
    net.inet.tcp.recvbuf_max=16777216
    net.inet.tcp.recvspace=65536
    net.inet.tcp.sendbuf_auto=1
    net.inet.tcp.sendbuf_inc=524288
    net.inet.tcp.sendspace=65536
    net.inet.udp.maxdgram=57344
    net.inet.udp.recvspace=65536
    net.local.stream.recvspace=65536
    net.inet.tcp.sendbuf_max=16777216
    net.inet.tcp.mssdflt=9142</pre>
<h4>rc.conf (em0 flags)</h4>
<p>I want to thank Zilla (see post comments) for the sysctl.conf help.</p>
<pre>    ifconfig_em0="inet xxx.xxx.xxx.xxx  netmask 255.255.255.0 polling tso mtu 9194"</pre>
<h4>smb.conf</h4>
<pre>        min receivefile size = 131072
        aio read size = 1
        aio write size = 1
        use sendfile = yes
        lock directory = /var/run/samba/
        keepalive = 300</pre>
<p>I&#8217;m also using LDAP users and group. I wasn&#8217;t sure if there would be a noticible performance hit for local users or LDAP users. There doesn&#8217;t seem to be one.</p>
<p>We use Active Directory, and since Quest/Vintela still won&#8217;t make a FreeBSD client for the Quest Authentication Servers ( a sales rep once told me &#8220;There are just too many versions of BSD&#8230;&#8221;) , I have to use all the open source utilities like OpenSSL, OpenLDAP Client and Kerberos. I don&#8217;t mind having to do it, but it is always nice if you can maintain one standard process across ALL systems, and we have a lot more Linux and Solaris systems than FreeBSD. I&#8217;m the odd one.</p>
<p>That aside, I use the latest OpenSSL in FreeBSD 8.0, OpenLDAP 2.4.20, and the built-in version of Heimdal Kerberos.</p>
<p>I get similar performance form NFS, however, most desktop users have are either on a Windows or OS X, and CIFS seems to be the unifying network storage protocol.</p>
<p>One thing I have yet to really figure out is configuring Samba to use proper NT ACL&#8217;s. However, if you can live with UNIX style permissions, a setup like this is pretty good at serving out lots and lots of data. Maybe that will be next.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywushublog.com/2009/12/freebsd-8-0-a-great-nas-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ZFS updated in FreeBSD 7.2!</title>
		<link>http://www.mywushublog.com/2009/07/zfs-updated-in-freebsd-7-2/</link>
		<comments>http://www.mywushublog.com/2009/07/zfs-updated-in-freebsd-7-2/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 21:11:47 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.mywushublog.com/?p=454</guid>
		<description><![CDATA[FreeBSD 7.x has been using version 6 of ZFS, and originally only 8.0 was going to have the newly updated ZFS version: 13. Last week the core team MFC&#8217;d (Merge From Current) the ZFS updates to 7.2, so I cvsup&#8217;d and re-build my server&#8217;s kernel and world ( with a simple &#8220;make buildworld &#038;&#038; make [...]]]></description>
			<content:encoded><![CDATA[<p>FreeBSD 7.x has been using version 6 of ZFS, and originally only 8.0 was going to have the newly updated ZFS version: 13.</p>
<p>Last week the core team MFC&#8217;d (Merge From Current) the ZFS updates to 7.2, so I cvsup&#8217;d and re-build my server&#8217;s kernel and world ( with a simple &#8220;make buildworld &#038;&#038; make buildkernel &#038;&#038; make installworld &#038;&#038; make installkernel ), rebooted, and now I have the latest ZFS version running:</p>
<pre>
[root@server ~]> zpool upgrade -v
This system is currently running ZFS pool version 13.

The following versions are supported:

VER  DESCRIPTION
---  --------------------------------------------------------
 1   Initial ZFS version
 2   Ditto blocks (replicated metadata)
 3   Hot spares and double parity RAID-Z
 4   zpool history
 5   Compression using the gzip algorithm
 6   bootfs pool property
 7   Separate intent log devices
 8   Delegated administration
 9   refquota and refreservation properties
 10  Cache devices
 11  Improved scrub performance
 12  Snapshot properties
 13  snapused property
For more information on a particular version, including supported releases, see:

http://www.opensolaris.org/os/community/zfs/version/N

Where 'N' is the version number.
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mywushublog.com/2009/07/zfs-updated-in-freebsd-7-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>FreeBSD 7.0, ZFS and iSCSI</title>
		<link>http://www.mywushublog.com/2008/06/freebsd-70-zfs-and-iscsi/</link>
		<comments>http://www.mywushublog.com/2008/06/freebsd-70-zfs-and-iscsi/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 01:19:50 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Geekyness]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[kickassery]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.mywushublog.com/?p=44</guid>
		<description><![CDATA[A friend of mine got my the coolest birthday present I think I&#8217;ve ever recieved, and that was a bunch of new and super kick ass hardware. This will soon replace my current server, which is in such bad shape it cannot compile java code, or perl from source. Before I replace it, I wanted [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine got my the coolest birthday present I think I&#8217;ve ever recieved, and that was a bunch of new and super kick ass hardware. This will soon replace my current server, which is in such bad shape it cannot compile java code, or perl from source. Before I replace it, I wanted to play around with <a href="http://opensolaris.org/os/community/zfs/">ZFS</a> that comes with <a href="http://www.freebsd.org">FreeBSD</a> 7.0.</p>
<p><img class="aligncenter size-full wp-image-45" title="thanks-chris" src="http://www.mywushublog.com/wp-content/uploads/2008/06/thanks-chris.jpg" alt="" width="500" height="333" /></p>
<p>Here is a quick rundown of it all:</p>
<ul>
<li>Intel Core 2 Duo E6750 (2.66Mhz 4MB cache)</li>
<li>Intel S975XBX2 workstation motherboard</li>
<li>AMCC 3Ware 9650SE 4 port SATA RAID controller (4x PCI-e)
<ul>
<li>Batter backup for the 3Ware so I can enable cached writes</li>
</ul>
</li>
<li>2GB ECC Crucial Memory Kit</li>
<li>750 Watt PC Power &amp; Cooling power supply</li>
<li>ASUS EN6200 LE 16x PCI-e nVidia GFX card</li>
<li>Plextor DVD+RW PX-810SA SATA</li>
<li>4 Western Digital 1TB Drives</li>
</ul>
<p>All of this was of the highest quality, and Chris said since he got my into FreeBSD, he felt I should have a stable and rock solid system since my current &#8220;server&#8221; has died 6 times. So after getting it all put together and powering it up&#8230; it wouldn&#8217;t post. I swapped the cpu with an older Pentium 4D that I&#8217;ve had lying around until my htpc comes back up and that worked. It turns out, the motherboard doesn&#8217;t support the 1333Mhz bus speed of the E6750 Core 2 Duo. So I&#8217;ve done some testing with the p4 as the cpu, and most of the tests were I/O bound and not CPU.</p>
<p>First off was to test out ZFS. Since it is new to FreeBSD (new in general really) I followed a ZFS <a href="http://wiki.freebsd.org/ZFSTuningGuide">tuning guide for 7.0</a> and followed some pretty stock directions:</p>
<pre>$ zpool create tank raidz da0 da1 da2 da3</pre>
<p>Which automatically mounted a 2.7TB filesystem. This was a lot nicer than fooling around with partitioning and filesystem tools. I also like the feature set of ZFS compared to standard RAID&#8217;s like self healing and data checksums. Performance was a little slower. Doing a simple &#8216;dd&#8217; with 1mb block size showed about 101MB/sec</p>
<pre> dd if=/dev/zero of=/tank/1gb.dat bs=1m count=1000<br/>
1000+0 records in<br/>
1000+0 records out<br/>
1048576000 bytes transferred in 10.420047 secs (100630640 bytes/sec)<br/></pre>
<p>Not bad, and since my GigE network cannot saturate that type of I/O I&#8217;m pretty satisfied with those results. I use this system as a network file server, among the other network related services like NAT, www, and mail, so my biggest concern was getting more than 80MB/sec (around gigabit ethernet&#8217;s limit).</p>
<p>BUUUT I am underutilizing my fancy 3Ware raid controller, so I can&#8217;t just leave that alone. I blew away the ZFS volume and created a full RAID5 with the controller. Everything was fine with the exception of fdisk, which isn&#8217;t usable for large volumes. I emailed 3Ware&#8217;s support wondering why my 2.78TB volume was only being partitioned at 722GB. They quickly responded with &#8216;use gpt&#8217;, which I did:</p>
<pre>$ gpt create /dev/da0<br/>
$ gpt add -t ufs /dev/da0<br/>
/dev/da0p1 added<br/>
$ gpt show /dev/da0<br/>
	       start        size  index  contents<br/>
	           0           1         PMBR<br/>
	           1           1         Pri GPT header<br/>
	           2          32         Pri GPT table<br/>
	          34  5859311549      1  GPT part - FreeBSD UFS/UFS2<br/>
	  5859311583          32         Sec GPT table<br/>
	  5859311615           1         Sec GPT header<br/></pre>
<p>I did a newfs -U -O2 and mounted the new /SafeKeg. Another dd test showed higher numbers, about 150MB/sec, and with the tw_cli tool installed I can manage the 3Ware card from FreeBSD itself. Very cool. I did play with iSCSI, exporting a 50GB file to my Windows desktop, but the performance was incredibly slow, like 1-2MB/sec. Terrible! I&#8217;m not sure if Free/NetBSD&#8217;s iscsi-target is at fault, or Window&#8217;s iscs initiator, or if iscsi is just not all that up to snuff. I thought it would be nice to utilize, but I&#8217;d like to expierement with it more to see exactly how much performance I can squeeze out of it.</p>
<p><strong>UPDATE (10/09/2008):</strong></p>
<p>After getting a few comments on my poor iscsi performance, I have patched to the latest version and I have been MUCH happier with the results. On my little home network I&#8217;ve gotten around 40MB/sec for reads and writes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mywushublog.com/2008/06/freebsd-70-zfs-and-iscsi/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
