Archive for September, 2006

Thump…

Thursday, September 28th, 2006
[europa:/] root# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
       0. c0t0d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@0,0
       1. c0t1d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@1,0
       2. c0t2d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@2,0
       3. c0t3d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@3,0
       4. c0t4d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@4,0
       5. c0t5d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@5,0
       6. c0t6d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@6,0
       7. c0t7d0 
          /pci@0,0/pci1022,7458@1/pci11ab,11ab@1/disk@7,0
       8. c1t0d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@0,0
       9. c1t1d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@1,0
      10. c1t2d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@2,0
      11. c1t3d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@3,0
      12. c1t4d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@4,0
      13. c1t5d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@5,0
      14. c1t6d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@6,0
      15. c1t7d0 
          /pci@0,0/pci1022,7458@2/pci11ab,11ab@1/disk@7,0
      16. c4t0d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@0,0
      17. c4t1d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@1,0
      18. c4t2d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@2,0
      19. c4t3d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@3,0
      20. c4t4d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@4,0
      21. c4t5d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@5,0
      22. c4t6d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@6,0
      23. c4t7d0 
          /pci@1,0/pci1022,7458@3/pci11ab,11ab@1/disk@7,0
      24. c5t0d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@0,0
      25. c5t1d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@1,0
      26. c5t2d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@2,0
      27. c5t3d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@3,0
      28. c5t4d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@4,0
      29. c5t5d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@5,0
      30. c5t6d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@6,0
      31. c5t7d0 
          /pci@1,0/pci1022,7458@4/pci11ab,11ab@1/disk@7,0
      32. c6t0d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@0,0
      33. c6t1d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@1,0
      34. c6t2d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@2,0
      35. c6t3d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@3,0
      36. c6t4d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@4,0
      37. c6t5d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@5,0
      38. c6t6d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@6,0
      39. c6t7d0 
          /pci@2,0/pci1022,7458@7/pci11ab,11ab@1/disk@7,0
      40. c7t0d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@0,0
      41. c7t1d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@1,0
      42. c7t2d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@2,0
      43. c7t3d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@3,0
      44. c7t4d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@4,0
      45. c7t5d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@5,0
      46. c7t6d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@6,0
      47. c7t7d0 
          /pci@2,0/pci1022,7458@8/pci11ab,11ab@1/disk@7,0
Specify disk (enter its number):
[europa:/dev/dsk] root# zpool create -f splash \
> raidz2 c5t4d0 c4t4d0 c7t4d0 c6t4d0 c1t4d0 c0t4d0 c4t0d0 c7t0d0 c6t0d0 c1t0d0 c0t0d0 \
> raidz2 c5t5d0 c4t5d0 c7t5d0 c6t5d0 c1t5d0 c0t5d0 c4t1d0 c7t1d0 c6t1d0 c1t1d0 c0t1d0 \
> raidz2 c5t6d0 c4t6d0 c7t6d0 c6t6d0 c1t6d0 c0t6d0 c4t2d0 c7t2d0 c6t2d0 c1t2d0 c0t2d0 \
> raidz2 c5t7d0 c4t7d0 c7t7d0 c6t7d0 c1t7d0 c0t7d0 c4t3d0 c7t3d0 c6t3d0 c1t3d0 c0t3d0 \
> spare  c5t1d0 c5t2d0 c5t3d0
[europa:/] root# zpool status
  pool: splash
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        splash      ONLINE       0     0     0
          raidz2    ONLINE       0     0     0
            c5t4d0  ONLINE       0     0     0
            c4t4d0  ONLINE       0     0     0
            c7t4d0  ONLINE       0     0     0
            c6t4d0  ONLINE       0     0     0
            c1t4d0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c4t0d0  ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c6t0d0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c0t0d0  ONLINE       0     0     0
          raidz2    ONLINE       0     0     0
            c5t5d0  ONLINE       0     0     0
            c4t5d0  ONLINE       0     0     0
            c7t5d0  ONLINE       0     0     0
            c6t5d0  ONLINE       0     0     0
            c1t5d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0
            c4t1d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
            c6t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
          raidz2    ONLINE       0     0     0
            c5t6d0  ONLINE       0     0     0
            c4t6d0  ONLINE       0     0     0
            c7t6d0  ONLINE       0     0     0
            c6t6d0  ONLINE       0     0     0
            c1t6d0  ONLINE       0     0     0
            c0t6d0  ONLINE       0     0     0
            c4t2d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
            c6t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
          raidz2    ONLINE       0     0     0
            c5t7d0  ONLINE       0     0     0
            c4t7d0  ONLINE       0     0     0
            c7t7d0  ONLINE       0     0     0
            c6t7d0  ONLINE       0     0     0
            c1t7d0  ONLINE       0     0     0
            c0t7d0  ONLINE       0     0     0
            c4t3d0  ONLINE       0     0     0
            c7t3d0  ONLINE       0     0     0
            c6t3d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
            c0t3d0  ONLINE       0     0     0
        spares
          c5t1d0    AVAIL
          c5t2d0    AVAIL
          c5t3d0    AVAIL   

errors: No known data errors

[europa:/] root# zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
splash                   20T    192K   20.0T     0%  ONLINE     -

Damn that was a lot of work… its Guinness time!!!

Streamlining Zone Creation Thanks to ZFS Integration

Thursday, September 28th, 2006

Zone’s a wonderful and handy tools for developers and admins alike, but creating them can be a time consuming activity especially when you need to create more than one. Scripting can help but your not shortening the time, just automating the process. But around Nevada B43 ZFS and Zones were integrated, building on each others strengths. Now we can clone zones, which reduces the amount of wasted disk space when creating multiple zones that are initially identical. When you create a zone in a ZFS pool a new filesystem is automatically created instead of just a simple directory. And just in case your existing zones are on UFS and you want to migrate them to ZFS, you can use the handy move capabilities of zoneadm to move everything seemlessly for you.

Lets take a look at the process.

First lets create our initial zone, which I’m calling “puppet1″.

$ zonecfg -z puppet1 'create; set autoboot=true; set zonepath=/ultrastor/puppet1; add net;
set address=10.0.0.21; set physical=nge0; end; verify; commit; exit'
$ zonecfg -z puppet1 info
zonename: puppet1
zonepath: /ultrastor/puppet1
autoboot: true
bootargs:
pool:
limitpriv:
inherit-pkg-dir:
        dir: /lib
inherit-pkg-dir:
        dir: /platform
inherit-pkg-dir:
        dir: /sbin
inherit-pkg-dir:
        dir: /usr
net:
        address: 10.0.0.21
        physical: nge0

Note in the above that by default /usr, /sbin, /lib, and /platform are loopback mounted rather than copied, which is the default behavior. If you wanted a “blank” configuration with no defaults set you could have specified create -b to zonecfg.

zonecfg only creates the metadata required for my zone to function, the zone itself hasn’t actually been created. So now I’ll go ahead and “install” the zone.

$ time zoneadm -z puppet1 install
A ZFS file system has been created for this zone.
Preparing to install zone
.
Creating list of files to copy from the global zone.
Copying <35389> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1073> packages on the zone.
Initialized <1073> packages on zone.
Zone
 is initialized.
Installation of these packages generated warnings: 
The file  contains a log of the zone installation.

real    24m28.964s
user    1m0.522s
sys     1m50.353s

So that install took 25 minutes! Part of the hold up was due to my not inheriting /opt, and you see that in the output as the 35,000 files to copies. But because I want to write into /opt, it had to be done.

I personally can’t stand going through the sysid when you boot a zone for the first time (the curses interface that asks you all the questions), so I’ll insert a sysidcfg file before I boot the zone for the first time.

$ cat sysidcfg
system_locale=C
timezone=US/Pacific
terminal=xterms
security_policy=NONE
root_password=HsANA7Dt/0sXX
timeserver=localhost
name_service=NONE
network_interface=primary {hostname=puppet1
        netmask=255.255.255.0
        protocol_ipv6=no
        default_route=10.0.0.250}
name_service=NONE
nfs4_domain=dynamic
$ cp sysidcfg /ultrastor/puppet1/root/etc/
$ zoneadm -z puppet1 boot

Against, this first boot is going to take a while as it initializes everything. While its booting you should watch the console by using zlogin -C puppet1 in another window.

So I’ve now spent the better part of an hour getting this zone setup and configured. At this point I can do any last little tweeks I want within the zone.

Now comes the real magic. I liked that first zone, but I need 4 more. Rather than repeat the process, I can simply clone them off! This first requires that I create the zone configuration for them.

$ zonecfg -z puppet2 'create; set autoboot=true; set zonepath=/ultrastor/puppet2;
add net; set address=10.0.0.22; set physical=nge0; end; verify; commit; exit'
$ zonecfg -z puppet3 'create; set autoboot=true; set zonepath=/ultrastor/puppet3;
add net; set address=10.0.0.23; set physical=nge0; end; verify; commit; exit'
$ zonecfg -z puppet4 'create; set autoboot=true; set zonepath=/ultrastor/puppet4;
add net; set address=10.0.0.24; set physical=nge0; end; verify; commit; exit'

Now I can clone the first zone, puppet1, to bypass the normal “install” phase of the other zones.

$ zoneadm list -vc
  ID NAME             STATUS         PATH
   0 global           running        /
  19 puppet1          running        /ultrastor/puppet1
   - puppet2          configured     /ultrastor/puppet2
   - puppet3          configured     /ultrastor/puppet3
   - puppet4          configured     /ultrastor/puppet4
$ zlogin puppet1 halt
$ time zoneadm -z puppet2 clone puppet1
Cloning snapshot ultrastor/puppet1@SUNWzone1
Instead of copying, a ZFS clone has been created for this zone.

real    0m53.895s
user    0m0.289s
sys     0m0.218s
$ zoneadm -z puppet3 clone puppet1
Cloning snapshot ultrastor/puppet1@SUNWzone2
Instead of copying, a ZFS clone has been created for this zone.
$ zoneadm -z puppet4 clone puppet1
Cloning snapshot ultrastor/puppet1@SUNWzone3
Instead of copying, a ZFS clone has been created for this zone.

You’ll notice that it created a new ZFS snapshot each time I cloned, I could have actually specified “-s SUNWzone1″ after the first clone to continue using that single snapshot.

Now we look again at our zone list to see that we’ve changed state for those 3 new zones from “configured” to “installed”:

$ zoneadm list -vc
  ID NAME             STATUS         PATH
   0 global           running        /
   - puppet1          installed      /ultrastor/puppet1
   - puppet2          installed      /ultrastor/puppet2
   - puppet3          installed      /ultrastor/puppet3
   - puppet4          installed      /ultrastor/puppet4

Perfect. To avoid any additional configuration I’ll take that sysidcfg I created earlier, change the hostname, and then copy it in. Once thats done, start ‘em up.

$ cp sysidcfg /ultrastor/puppet2/root/etc/
$ cp sysidcfg /ultrastor/puppet3/root/etc/
$ cp sysidcfg /ultrastor/puppet4/root/etc/
$ vi /ultrastor/puppet2/root/etc/sysidcfg
$ vi /ultrastor/puppet3/root/etc/sysidcfg
$ vi /ultrastor/puppet4/root/etc/sysidcfg
$ zoneadm -z puppet1 boot
$ zoneadm -z puppet2 boot
$ zoneadm -z puppet3 boot
$ zoneadm -z puppet4 boot

And we’re done! Cloning lets us really leverage that initial time we spent getting our zone right and relieves us of having to repeat it over and over. While creating that first zone might take 30 minutes or more, more can be created in minutes with ease. By using sysidcfg files as well we even further reduce the intervention on our part.

$ zoneadm list -vc | grep puppet
  23 puppet1          running        /ultrastor/puppet1
  27 puppet2          running        /ultrastor/puppet2
  28 puppet3          running        /ultrastor/puppet3
  29 puppet4          running        /ultrastor/puppet4

Just wrap some of this up in a script and things get even simpler. If you thought you were burning through your class C address space before, just watch your network admin cridge now!

Silicon Valley OpenSolaris Users Group: Trusted Extensions

Tuesday, September 26th, 2006

Have you asked or heard someone ask about Trused Solaris and the Trusted Extensions in Solaris 10? Then you’ll want to be at SVOSUG on Thursday: Glenn Faden presents OpenSolaris & Trusted Extentions. Read more about it in Alan DuBoff’s blog. If you can’t be present, not to worry, Alan’s got a call-in line for you.

Wierd Al: White and Nerdy

Wednesday, September 20th, 2006

The king, Al, returns…. yet again. The second video off his upcoming video is out. “White and Nerdy”. I’m guilty of about 50-60% of the stuff mentioned in the song, for better or worse. Tamarah and I both feel so much more understood thank to Al.

Storage Prices Fall Like A Rock

Sunday, September 17th, 2006

I have no idea why, but disk prices are falling like a rock. Two weeks ago I needed a new disk to transfer all my Homestead data to when I left the company, and I found the Seagate 7200.10 400G SATA (Perpendicular) on NewEgg for $209. A little cross check against a local place (Central Computer) and I found the same disk for $189. Done! Then I go to Fry’s last night to get some things for my new home office setup and I find the non-Perpendicular version of the same disk, the Seagate 7200.9 400G SATA retail package dropped in price from $189 to a mind bending $119! I bought 2 on the spot, which I intend to combine with my 7200.10 for a 800GB RAIDZ pool at home.

So here’s the question… whats going on? Why are these drives dropping in price so fast? I’ve got to say, the 7200.10 performance is just blistering. I was pushing a sustained 40MB/s to the drive and it was angry that it couldn’t get more. I’m really excited about this new RAIDZ setup that I’ll have to replace my growing collection of disk, all used via ZFS, to something much more stable and consistant, not to mention high performance. I’m thinking about buying another 1 or 2 to put in a hot-swap bay so that I can have an offline backup disk to swap in and out every week.

Need disk? Nows a good time to buy. Buy the Seagate 400GB 7100.9 SATA-II drive here, Check out the Seagate Spec’s page here.

Considering Compellent: A Fresh Approach to Storage

Thursday, September 14th, 2006

Some time ago I went looking for a storage solution to replace and consolidate some of my aging DAS, I looked high and low, and one name rose unexpectedly up the list: Compellent. Squarely aimed at midrange cusomters looking for high-end functionality, anyone considering EMC CLARiiON, HP EVA, and HDS should give Compellent some attention.

Compellent’s tag line for some time has been “A storage solution every company can affrod and any administrator can use”. Clearly after spending some time with the product those were goals for the product during developement because the phrase kept rolling through my head while I was using it.

I had the great honor to play with one for two weeks. Sadly it turned out to be the two weeks during which I was leaving Homestead, so I didn’t get the 2 or 3 hours I ended to really put this puppy through its paces. Reguardless, I was really excited about what I saw.

Compellent has gone in a similar direction as other storage vendors, using commodity hardware to allow them to focus on the software side of the solution. The controller itself is a SuperMicro Xeon system. Sadly there isn’t a CLI, or rather the one that exists is accessable only via console and not recommended for customers, only for remote support purposes. The web interface is really good and intuative though. Its the web interface that really delievers on the “any administrator can use” promise. There are lots of diffrent ways to look at your storage solution and modify it without the tedium found on other solutions.

In the shot above (from the Compellent web site) you can see a view I really liked, a three column display with servers (hosts) on the left, volumes in the middle, and disk on the right. This solves a common problem in enviroments where your mapping LUN’s to a large number of hosts or if you simply have a large number of LUN’s, you can see it all in a glance rather than looking a hundreds of lines of WWN’s. To make things even easier, you can group LUN’s/Volumes into “Folders” for improved organization.

The Compellent StorageCenter controller views devices as front-end or back-end. Back-end would be arrays and storage, Front-end would be servers. Because of the flexability here, you can re-purpose HBA’s between roles rather than having the roles hard-set, which means that you can use a single 4 port FC card to serve both roles.

Actually dishing out storage is as easy as creating a volume, creating a server, and attaching the two. Bam, your done!

Easy to use storage is all good and well. Sure, for a small shop with a reluctant storage administrator it’ll be a god-send, but for us hardcore storage guys, who cares right? So then, what does Compellent do that differentiates itself in the market…. the answer is the first no-BS ILM (Information Lifecycle Management) in the box that I’ve seen.

StorageCenter has an option called Data Progression, automated tiered storage. They key word here is “automated”. When you buy a StorageCenter you devide the disks you have into multiple classes: 15K Fibre Channel, 10K Fibre Channel, SATA (FATA, actually). This becomes Tier 1, Tier 2, and Tier 3. When you write data it’s stored onto Tier 1 initially. Over time (after 12 days) if a block hasn’t been accessed its migrated down, transparently and automatically, to the next lower tier of storage untill it reaches big, fat, cheap, but slower SATA disks. When that blog is again needed, its then pushed back to the top.

Lots of storage vendors are on the ILM bandwagon, and frankly this concept of tiered storage has been around a hell of a lot longer that this buzz word, but its normally a seperate activity. That is, you create diffrent volumes on diffrent types of disk and then migrate the data from place to place on your own. For most storage admins this causes a problem, what do you move and when? Some answers are simple, like archived mail, backups, old reports, etc. But what about your user data?

As a hosting provider I treat all my customers data equally. Why? Because I don’t have much choice currently. The customer who bought an account and hasn’t logged in for 8 months is being served up the same as a customer site that just got slashdot’ed. Because of that equality, I have to pay through the nose for disk thats smaller and larger than I really need because deciding who should be where is complicated, especially when things change on a dime, as they do on the net. One day my user with no hits in 5 months gets listed on Fark or something can goes through the roof. Thanks to Data Progression I can stop worrying and just let the data do what it needs to do without my needing to make the decisions. Frankly, I dig this concept because my storage controller knows alot more about my data access patterns that I do, why can’t it do something about it?

Compellent StorageCenter also does everything you expect it to do as an enterprise class solution. Snapshots (which are called “Replays”, part of the Data Instant Replay feature) are easy to create and manage, you can then replicate those snapshots to another site with Remote Replication. Thin Provisioning is also available. Thanks to disk abstraction, you can create large “Virtual Volumes” and cut host LUN’s from that, similar to NetApp Aggregates, ZFS Pools, etc… the whole “pooled storage” idea. The result of the pools being that you can stripe all your volumes across all your disks allowing volumes to be as big or small as you actually need and not have to worry about how diffrent volumes are effected by the underlying architecture.

StorageCenter, today, supports Fibre Channel and iSCSI. This is a straigh up traditional SAN solution, so there is no NAS functionality. If you want that, Compellent partners with OnStor like most other SAN solutions providers do.

Compellent is a full service provider. When you buy the solution a Compellent Engineer will come onsite to help you set it up, answer any questions you have, demo it for you, and get you on your start. The upshot is that at the end of the day your up and running and serving data, not wasting a week learning the thing. And, unlike other vendors, they engineers they have are super-kool! If your a West Coast customer you’ll get to meet Dave Washburn. Dave was great. A laid back, easy to work with engineer based in Las Vegas that made me feel right at home with the product and the company. And frankly, when you deal with a lesser known vendor like Compellent, you need that personal relationship to rely on. Dave’s awesome. When I’ve had engineers from EMC out before I could only think about what it would take to get them the hell out of my data center, so as someone who’s allergic to install service, Dave made me really glad he came out.

I’m really thankful to Rob Davis at Haberman for giving me the chance to play with the box. I wish the timing on my eval had been better so I could have posted some benchmarks and better screenshots, but I just couldn’t fit it in.

Compellent’s up-and-coming quickly. Frankly, while Pillar Data has the marketing budget, Compellent has actually got the solution. This is a company you’ll be seeing more and more in the future, so go take a look at what they’ve got to offer. You can call them at 1-877-715-3300 to talk with someone and do all that sales stuff, they are all really easy to work with so just call and chat ‘em up about what you need.

An Unexpectedly Long Pause…

Tuesday, September 12th, 2006

Sorry I haven’t posted anything in almost a week and a half. I’ve got plenty to post but haven’t had the time. Getting up to speed at Joyent is taking significantly longer than expected. The upshot is that, as a result, I’m making some significant organizational improvements in the process… thats my hope anyway.

In the desire to quickly catch up… I’ll just blast through some things.

DTrace is named Innovation of the Year by WSJ: I opened my copy of the WSJ the other morning, turned to the awards section and I almost spit out my coffee. Bryan Cantrill’s name, up in lights, and DTrace named both Software Innovation of the Year, and Gold Medal overall winner. Holy crap man! Any engineer knows how improtant DTrace is, but to see the wider world realize its importance is a real shock to me. Despite my suprise, Bryan deserves all the kudos he’s getting. His wife must be so proud.

Joyent (my employeer) rolls out Bingo! Read about it here, and you can learn more and signup at BingoDisk.com. Bingo! is a 100GB disk accessable via WebDav. Windows Explorer, Mac OS X Finder, KDE Konqueror, and GNOME/JDS Nautilus all have the ability to connect to WebDav shares, thereby allowing you to drag-and-drop files into and out of your share. You can use your Bingo disk just like any other disk, except that “Its Everywhere You Need It To Be”(tm) The whole thing runs off a Thumper that we finalized this weekend. The product is really a tribute to the power of OpenSolaris, Thumper, and ZFS.

CPU Resource Capping Is Coming: Using rcapd you currently can do memory capping but you can’t yet do CPU capping. Work is underway to change that. This is useful for those of us who want to hard limit resources to users, and in a sense really makes resource control do what people expect it to. That is to say, when most people first hear of “resource control” they think of limiting what someone can use, but in fact resource control is the opposite, its making sure people get what they need. Hosting providers like Joyent are really watching this project closely, so if you’ve got access to a container that you don’t manage right now, enjoy all that free CPU your getting while you can.

OpenSolaris Developers Reference: The OpenSolaris Documentation Community has taken over the OpenSolaris Developers Reference. I’ve taken that on but due to my move to Joyent its being pushed back. Expect improvements in that document to come in the near-ish future.

Sun Web Event Tomorow! Tomorow morning (9/13) there will be a Innovation Overdrive Web Event. They aren’t calling it NCQ3, but thats what I assume it is. I’m sufficiently out of it atm to have no idea what is coming tomorow, although I do know one of the people that’ll be on Sun tomorow who isn’t a Sun employee…. watch and see! :)

Star War’s Wide Screen Theatrical Release, Released!: FInally! I’ve been waiting since like, well, forever. Given that I was born the year that “A New Hope” released I have yet to see it in its true form and I’ve always been mad that I haven’t seen the movie in its true glory. I couldn’t stand the “remastered” crap, I’m really happy to finally have all 3. This would be the first time I’ve ever bought a Star Wars film actually.

… anyway, I’ve got plenty to blog about, I just need time to do it. Hopefully I’ll update more soonish. I feel horrible that I left that whiney “Stop calling me EMC” post up top for so long, I really intended to bury it in the archives quickly. Oh well.