I was an instructor at SNW this year at the JW Marriott hotel in Orlando, Florida. Along with fellow Oracle co-worker Ray Clarke, we represented the ZFS Storage Appliance in a hands-on environment that allowed storage administrators and industry experts to demo our product in a simulated environment.
If you missed the opportunity to demo our product, or would like to download and play with the simulator in your own environment, feel free to check out the following links to get started.
14:51 PST - October 12, 2011
I use alpine as my primary e-mail client. In order to get it compiled for Solaris 11 (snv_166 and later), you will need to make a few changes to the source.
[paulie@adrenaline ~]$ uname -orv 5.11 snv_166 Solaris [paulie@adrenaline ~]$ ./configure --with-ssl-include-dir= /usr/include/openssl [paulie@adrenaline ~]$ gmakeWe run into a problem ...
In file included from osdep.c:66: scandir.c: In function `Scandir': scandir.c:45: error: structure has no member named `dd_fd'Let's investigate:
[paulie@adrenaline ~]$ vi /usr/include/dirent.h #if defined(__USE_LEGACY_PROTOTYPES__) /* traditional SVR4 definition */ typedef struct { int dd_fd; /* file descriptor */ int dd_loc; /* offset in block */ int dd_size; /* amount of valid data */ char *dd_buf; /* directory block */ } DIR; /* stream data from opendir() #else /* default definition (POSIX conformant) */ typedef struct { int d_fd; /* file descriptor */ int d_loc; /* offset in block */ int d_size; /* amount of valid data */ char *d_buf; /* directory block */ } DIR; /* stream data from opendir() #endif /* __USE_LEGACY_PROTOTYPES__ */Interesting, so alpine *should* be using POSIX instead of the older UNIX SVR4 definitions. Let's make a change to the scandir.c file, which is located in alpine-2.00/imap/c-client/scandir.c. On line 45 I see the following use of dd_fd:
if ((!dirp) || (fstat (dirp->dd_fd,&stb) < 0)) return -1;Let's change that dd_fd to d_fd.
if ((!dirp) || (fstat (dirp->d_fd,&stb) < 0)) return -1;After recompile, everything works as expected. I'm sure there is a better way of fixing this problem, but considering how trivial this issue is, a small edit is sufficient.
8:40 PST - May 31, 2011
For some reason the driver on my Creative X-Fi sound card disables the 'Microphone +20dB Boost' option after every reboot. I wrote a script to automatically enable it every time the system boots up.
var WshShell = WScript.CreateObject("WScript.Shell"); WshShell.Run("Control.exe mmsys.cpl,@0,1") WScript.Sleep(100); WScript.Sleep(100); WshShell.SendKeys("{RIGHT}"); WshShell.SendKeys("%{P}"); WScript.Sleep(100); WshShell.SendKeys("+{TAB}"); WshShell.SendKeys("{RIGHT}"); WshShell.SendKeys("{TAB}"); WshShell.SendKeys(" "); WshShell.SendKeys("~"); WshShell.SendKeys("~");Save this script as micboost.js, or download it here. Drag the file into your Start->All Programs->Startup directory. This should work on Vista and 7, but probably not on previous versions of Windows.
18:30 PST - May 14, 2011
USB memory sticks are easily lost, so to keep your data safe, it's best to use the new encryption feature of ZFS available since snv_149 (ZFS version 30). Here's how to take advantage of it.
[paulie@adrenaline ~]$ uname -a SunOS adrenaline 5.11 snv_155 i86pc i386 i86pc SolarisGet the device id for the USB stick using rmformat.
[paulie@adrenaline ~]$ rmformat Looking for devices... 1. Logical Node: /dev/rdsk/c11t0d0p0 Physical Node: /pci@0,0/pci108e,534a@2/hub@4/ storage@1/disk@0,0 Connected Device: SanDisk U3 Cruzer Micro 8.02 Device Type: Removable Bus: USB Size: 1.9 GB Label: Unknown Access permissions: Medium is not write protected.The device id is c11t0d0p0. Using this id, we can make a pool on the device called 'secret'. You can call yours whatever you want.
[paulie@adrenaline ~]# zpool create -O encryption=on secret c11t0d0p0 Enter passphrase for 'secret': Enter again:Let's create a random 128MB file in the new pool called file.enc.
[paulie@adrenaline ~]$ cd /secret; mkfile 128m file.encNow, let's make sure it works by exporting and importing the secret pool and hope it asks for a password.
[paulie@adrenaline ~]# zpool export secret [paulie@adrenaline ~]# zpool import secret Enter passphrase for 'secret':It works as expected. Let's check for the created file.
[paulie@adrenaline ~]$ ls /secret file.encWe can also check the encryption of any zfs filesystem by using the following command:
[paulie@adrenaline ~]$ zfs get encryption secret NAME PROPERTY VALUE SOURCE secret encryption on localFor more information visit:
http://docs.sun.com/app/docs/doc/821-1448/gkkih
9:03 PST - January 3, 2011