Friday, May 20, 2011

Fuchsia 2007


Yeah, this one.   Painted this a couple of years ago, and frankly, really don't like it.  Not even sure why I still have it, except that it was an early painting.  Acrylic on canvas.  Forgive the poor picture.

Monday, May 16, 2011

Snowball December 2009


This is a drawing I did of our Malti-poo, Snowball. I rather like this one too. I drew it while in Ohio visiting brother John Pfleiderer.   I was particularly interested in showing just how fuzzy she is, and how her hair gets in front of her eyes.  Graphite and Ink on 300# watercolor. Currently hanging in the art room. (c) 2009 Jeff Brown

Tomorrow, I'll post a couple paintings that I don't like all that much...

Sunday, May 15, 2011

Moon 2007


Painted this in 2007.  I rather like this one.  It's a somewhat idealized view of something I saw one night when up in the mountains, the moon between two trees.  Stuck with me, so I painted it to get it out of my head.  Currently in my home office above the door. Acrylic on canvas, (c) Jeff Brown, 2007

Tuesday, May 10, 2011

Photo Organization

I recently bought Adobe Photoshop Lightroom 3 as I need to organize the photos I've taken over the years.  I have over 70k photos that I've taken digitally since 2001, and they take up almost 500gb.

I imported my pictures from the file server pictures share, and it took about 3 hours, then I spent a couple of hours cleaning up my many (failed) efforts at tagging the pictures over the years.  At this point, I realized that I really should come up with a tagging scheme that I was going to stick with.

My photos are broken down into a couple of broad categories:

Art - Photos I've taken as art pieces
Reference - Photos I've taken as reference (or stock).
Family - Family pics.  The vast majority are these pics.
Friends - Pictures of friends
Church - Pictures taken at church events
Travel - Pictures taken on my various travels

I realize that some of those are less 'categories', and more a description of the subjects of the pictures.  And so my new task: Figure out how to tag them in such a way that I can do searches on the database efficiently.

Anyone have a good strategy for tagging pics?

ZFS and Scrubbing, update

Quick update:  The scrubbing cron job is working beautifully.  This is what I get when the second scrub is done:


2011-05-08 10:50:00: starting scrub on rpool
2011-05-08 10:57:08: scrub ended on rpool
2011-05-08 10:57:08:   pool: rpool
 state: ONLINE
 scrub: scrub completed after 0h6m with 0 errors on Sun May  8 10:56:33 2011
config:

       NAME        STATE     READ WRITE CKSUM
       rpool       ONLINE       0     0     0
         mirror-0  ONLINE       0     0     0
           c1d0s0  ONLINE       0     0     0
           c2d0s0  ONLINE       0     0     0

errors: No known data errors
2011-05-08 10:57:08:  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2011-05-08 10:57:08: starting scrub on shares
2011-05-09 02:02:38: scrub ended on shares
2011-05-09 02:02:38:   pool: shares
 state: ONLINE
 scrub: scrub completed after 15h4m with 0 errors on Mon May  9 02:02:05 2011
config:

       NAME                       STATE     READ WRITE CKSUM
       shares                     ONLINE       0     0     0
         raidz2-0                 ONLINE       0     0     0
           c5t5000CCA222D9CA4Dd0  ONLINE       0     0     0
           c5t5000CCA222DB965Fd0  ONLINE       0     0     0
           c5t5000CCA222DB9446d0  ONLINE       0     0     0
           c5t5000CCA369C3C68Bd0  ONLINE       0     0     0
           c5t5000CCA369C0423Ed0  ONLINE       0     0     0
           c5t5000CCA369C3075Bd0  ONLINE       0     0     0
           c5t5000CCA369C65150d0  ONLINE       0     0     0

errors: No known data errors
2011-05-09 02:02:38:  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



Woot!  Now I just need to backup the critical bits to an esata drive so I can store it offsite.

Sunday, May 1, 2011

ZFS and Scrubbing

So, I've been on call most of the last week, which basically means I can't stray from a PC for long, and so I've been messing with zfs scrub automation.

One of the nice things about zfs is that you can run a scrub, which will check for consistency, checksum and mirroring errors.  Since I'm using consumer grade drives, I want to run it once a week or so.  Using bits and pieces of scripts from across the interwebs, I've managed to cobble together a bash script that I run out of crontab.  Original was from here.  It runs once a week on sundays early in the morning and scrubs each of the files systems:


#!/usr/bin/env bash
#VERSION: 0.2
#AUTHOR: gimpe
#EMAIL: gimpe [at] hype-o-thetic.com
#WEBSITE: http://hype-o-thetic.com
#DESCRIPTION: Created on FreeNAS 0.7RC1 (Sardaukar)
# This script will start a scrub on each ZFS pool (one at a time) and
# will send an e-mail or display the result when everyting is completed.
#CHANGELOG
# 0.2: 2009-08-27 Code clean up
# 0.1: 2009-08-25 Make it work
#SOURCES:
# http://aspiringsysadmin.com/blog/2007/06/07/
# scrub-your-zfs-file-systems-regularly/
# http://www.sun.com/bigadmin/scripts/sunScripts/zfs_completion.bash.txt
# http://www.packetwatch.net/documents/guides/2009073001.php
# e-mail variables
FROM=root@smaug.censored.com
TO=jeff@censored.com
SUBJECT="Scrub of Pools on smaug"
BODY=""


# arguments
VERBOSE=1
SENDEMAIL=1
# work variables
ERROR=0
SEP=" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "
RUNNING=1

# commands & configuration
ZPOOL=/usr/sbin/zpool
PRINTF=/usr/bin/printf
MSMTP=/usr/bin/mailx

# print a message
function _log {
   DATE="`date +"%Y-%m-%d %H:%M:%S"`"
   # add message to e-mail body
   BODY="${BODY}$DATE: $1\n"
   # output to console if verbose mode
   if [ $VERBOSE = 1 ]; then
      echo "$DATE: $1"
   fi

}

# find all pools
pools=$($ZPOOL list -H -o name)
# for each pool
for pool in $pools; do
   # start scrub for $pool
   _log "starting scrub on $pool"
   zpool scrub $pool
   RUNNING=1
   # wait until scrub for $pool has finished running
   while [ $RUNNING = 1 ]; do
   # still running?
   if $ZPOOL status -v $pool | /usr/xpg4/bin/grep -q "scrub in progress"; then
     sleep 60
   # not running
   else
      # finished with this pool, exit
      _log "scrub ended on $pool"
      _log "`$ZPOOL status -v $pool`"
      _log "$SEP"
      RUNNING=0
      # check for errors
      if ! $ZPOOL status -v $pool | /usr/xpg4/bin/grep -q "No known data errors"; then
         _log "data errors detected on $pool"
         ERROR=1
      fi
   fi
   done
done

# change e-mail subject if there was error
if [ $ERROR = 1 ]; then
   SUBJECT="${SUBJECT}: Error(s) Detected"
fi
# send e-mail
if [ $SENDEMAIL = 1 ]; then
   $PRINTF "$BODY" | $MSMTP -r $FROM -s "$SUBJECT" $TO
fi

So, of course, I wanted it to send me an email with the results of the scrub.  Since I didn't want to end up in sendmail hell, I ended up installing postfix, which is MUCH easier to use, and setup only took a couple of hours.  More on setting up postfix in another post.

Adventures with ZFS and Solaris

Ok, this post is somewhat off the beaten path for this blog, but I've been dorking around with Solaris and ZFS for the last month or two as a replacement for my Windows Home Server for serving media.  I'm still keeping the WHS server for backing up the PCs, but as a media server, the hitches casued by some of it's internal 'balancing' services was causing all manner of problems with high bit rate movies.

Using mostly spare parts, I built a X86 solaris box:

Quad core Core2
4GB Ram
7 2TB 7200rpm drives
2 500GB 5400 drives
Antec Twelve Hundred case

The two 500GB drives are mirrored and hold most of the filesystems (and the OS, swap, etc.)  I mirrored them using ZFS.

The seven 2TB drives are in a raidz2 configuration, which is much like raid6.  Which is to say that I can lose up to two drives of the array and be OK.  Gives me a net of 10TB.

I'm sharing the 'shares' pool via SMB across gigabit to the theater and my media machine, running XBMC, and so far, it's been awesome. Narry a hitch in sight.  So far, so good.