How Does Exchange 2010 Impact Storage?

May 12th, 2009 Justin Braun No comments

Last week I had to opportunity to setup Exchange 2010, which is currently in beta.  Microsoft had a great story about the improvements with Exchange 2007, particularly around storage and IO.  Although I was not a big fan of role-based implementations, this type of setup has allowed for great scalability and also has made some components of Exchange viable candidates for virtualization.

Exchange 2010 uses some cool new technologies like PowerShell v2 and Windows Remote Management v2, both of which are still CTP.

Microsoft has improved the performance of Exchange again in Exchange 2010.  When Exchange 2007 was released, Microsoft boasted a 70% decrease in IO.  For example, an Exchange 2003 heavy mailbox profile used 1 IOPS/mailbox, while a Exchange 2007 heavy mailbox profile only uses .32 IOPS/mailbox.

In Exchange 2010, you can expect up to a 50% reduction in disk IO from Exchange 2007 levels.  This means that more disks meet the minimum performance required to run Exchange, driving down storage costs.  In addition, IO patterns have been optimized and are not “bursty” like they have been in previous versions.

With the ability to replicate up to 16 copies of each mailbox database, automatic page patching takes advantage of these replicated copies by using them as the source for repairs in the event page corruption or other minor database glitches occur.  Sounds pretty cool!

The schema has been revamped and message/header content is now stored in a single table.  In addition, Single Instance Storage is out, but automatic attachment compression is in. 

One of the bigger changes in Exchange 2007 was the page in the database page size from 4K to 8K.  In Exchange 2010, this changes again to 32K, allowing for larger block IO.  This charge is particularly helpful in keeping chunks of data together like attachments instead of having them scatter all about.

Exchange 2010 is expected to be released in late 2009, but the beta is available for download at http://www.microsoft.com/exchange/2010/en/us/try-it.aspx.

Categories: Exchange, Storage Tags:

Welcome Ellie!

May 5th, 2009 Justin Braun No comments

Elouise Katherine arrived Monday, May 4, 2009 at 6:04 PM.  Here are a few pics of the new addition!

DSCN0336 DSCN0350

Categories: General Tags:

Discovering Stale User Accounts with PowerShell

March 30th, 2009 Justin Braun No comments

Back in December I wrote a posting on “Discovering Stale Computer Accounts with PowerShell”.  Today I received an email from one of my readers (Thanks Matt for writing!) trying to adjust the script to query for stale user accounts.  The script that I created in the previous entry is a good starting point, but requires some modifications to work properly for user accounts.

The biggest change in the script is that the DirectorySearcher filter has to be modified to look for user accounts.  Simply changing  the filter to “user” from “computer” doesn’t quite work as for some reason ADSI will retrieve both the user accounts as well as the computer accounts.  We can further limit the search by adding the ObjectCategory in addition to the ObjectClass.

This particular example will query on the last password change date.

function Get-StaleUserAccounts
{   
    # Use Directory Services object to attach to the domain
    $searcher = new-object DirectoryServices.DirectorySearcher([ADSI]"")
    
    # Filter down to user accounts
    #when you query for objectClass=User, you will not only get user accounts but also computer accounts. 
    #To limit the search to true user accounts, you would have to also include the objectCategory
    $searcher.filter = "(&(objectCategory=person)(objectClass=User))"
    
    # Cache the results
    $searcher.CacheResults = $true
    $searcher.SearchScope = “Subtree”
    $searcher.PageSize = 1000
    
    # Find anything you can that matches the definition of being a user object
    $accounts = $searcher.FindAll()
    
    # Check to make sure we found some accounts
    if($accounts.Count -gt 0)
    {             
        foreach($account in $accounts)
        {
            $LastPassChange = [datetime]::FromFileTimeUTC($account.Properties["pwdlastset"][0]);    
        
            # Determine the timespan between the two dates
            $datediff = new-TimeSpan $LastPassChange $(Get-Date);
            
            # Create an output object for table formatting
            $obj = new-Object PSObject;
            
            # Add member properties with their name and value pair
            $obj | Add-Member NoteProperty AccountName($account.Properties["name"][0]);
            $obj | Add-Member NoteProperty LastPasswordChange($LastPassChange);
            $obj | Add-Member NoteProperty DaysSinceChange($datediff.Days);
            
            # Write the output to the screen
            Write-Output $obj;
        }
    }
}
 
# Get user accounts where a password change hasn't occurred in 60 days or more
# If nothing outputted, then there are no accounts that meet that criteria
Get-StaleUserAccounts |Where-Object {$_.DaysSinceChange -gt 60}

Categories: Development, PowerShell, Scripting Tags:

My New Netbook

March 2nd, 2009 Justin Braun No comments
Acer 19.1" Netbook

Acer 10.1" Netbook

Picked this up last weekend.  Netbooks are all the rage right now.  A simple, compact laptop that provides enough power and performance to do email, offer Internet access, and use Office apps.  Battery life is between 4-8 hours depending upon what you do.  The Acer that I purchased is suppose to get about 7-8 hours of power.  The first batch apparently is shipping with the larger (longer lasting) battery, while later productions will ship with a smaller battery capable of 4-5 hours; which is still great.

I loaded mine with Windows 7, Office 2007, and a few other apps that I use regularly.  This is the perfect device for travelers who regularly have to present (VGA output), like to take notes in a meeting or lecture, or just need quick access to email.  It weighs under 3 lbs., so you can’t ask for much more.  It ships with 1GB RAM, but for $20 you can swap out the 1GB chip for 2GB.

So far, I’m very impressed with it.  I did my research on these, which was a very frustrating process.  It is really hard to find full specs on a lot of these units, specifically information about upgradability of RAM and hard drive.  Needless to say, I saw a few people out in Redmond running with the Acer (both 8″ and 10″ screens), and were very happy with them.  The Acer is available through Amazon, CostCo, and MicroCenter.

Categories: Gadgets Tags:

MacFUSE and NTFS-3G

March 2nd, 2009 Justin Braun No comments

I was looking for a creative way to be able to share my USB hard drive that I had formatted for the Mac with my PC.  HFS Explorer, worked fine, but required me to extract files instead of being able to expose the volume as a drive letter.  I decided I would search for something that would allow my Mac to not only read (which OS X does by default), but also write to an NTFS partition.  I was going to reformat my USB hard drive as NTFS since I now primarily use it with my PCs.

My search turned up an app called MacFUSE.  MacFUSE, as the website indicated, “implements a mechanism that makes it possible to implement a fully functional file system in a user-space program on Mac OS X (10.4 and above). It provides multiple APIs, one of which is a superset of the FUSE (File-system in USEr space) API that originated on Linux. Therefore, many existing FUSE file systems become readily usable on Mac OS X.”

Next, my search turned up NTFS-3G, a driver that sits on top of MacFUSE and enables full read and write capabilities of NTFS under the Mac OS.  I installed MacFUSE, and then NTFS-3G.  After a reboot, I was on my way to copying files from the Mac to a USB hard drive, now formatted as NTFS.  Well, kinda.

What I figured out is that the NTFS-3G driver seemed to cause a lot of problems with my Mac OS.  Any time file access was taking place, whether it be on an HFS or NTFS file system, things seemed to “konk” out after a while.  For example, I was copying a few ISOs over, and half way through the copy would error out, but it seem to hang the entire operating system.  I tried several different files, large and smaller, with the same result.

I quickly removed MacFUSE and NTFS-3G and my problems relating to file system operations seemed to go away.  Not sure what was happening there.  For now I have decided to copy files through my virtual machine to the external drive.  It adds a layer of abstraction, and seems to hinder the performance somewhat, but the copy operations do finish successfully.

Have you used MacFUSE or NTFS-3G and had a different experience?

Categories: Mac, Windows Tags:

Accessing SQL Databases with PHP

February 18th, 2009 Justin Braun No comments

Modifying pre-existing WordPress themes…  That’s my extent of PHP programming.  I got to thinking that it would be cool to turn my weather site into a regular WordPress blog and somehow incorporate the data that I currently have into some sort of theme.  All of my historical data is stored in a SQL Server database, while forecast and current conditions data is stored in XML.

I did some searching on PHP with SQL Server and came across the blog for the Microsoft SQL Server Driver for PHP Team.  Who knew such a team existed?  From there I found a link to an article on MSDN, “Accessing SQL Server Databases with PHP“.  Exactly what I was looking for.

So, in the coming days I plan to explore PHP territory.  I’ve used .NET for all of my web programming.  We’ll see what kind of learning curve I run into.

What is your favorite language for the web?

Categories: Development Tags:

‘Polish Eagle’ perfect fit for Barn

February 10th, 2009 Justin Braun No comments

Jim Souhan did a nice article on Dick Jonckowski in today’s Star Tribune. Dick has been a figure in Minnesota sports for some time including the Vikings, Gopher Baseball and Gopher Basketball. He’s only the 2nd announcer to ever take the mike at Williams Arena.

For those of you that don’t know Dick, he’s got a great radio voice and unique personality. He’s the current PA announcer for Gopher Basketball and Baseball. He’s also got a lot of passion for the games he calls and has shown up over the last several years for his reading of “The Night Before Christmas” as part of my niece’s Christmas dance recital.

I had the opportunity to coach against him in American Legion baseball several years ago when he assisted his son, Jeff, in running the Shakopee ballclub and I was coaching Prior Lake. Always joking around and had plenty of stories. He’s a class act.

You can also see some of Dick’s favorite memories here.

Categories: Sports Tags:

How AppleCare Can Save the Day (or ruin it)

February 9th, 2009 Justin Braun No comments
My MacBook Pro

My MacBook Pro

I use my MacBook Pro for both business and personal. At home, I try to use the Mac side as much as possible while still running a Windows Vista virtual machine at the same time for development stuff. When I’m at work, all I run is Vista from my virtual machine on the MacBook and then iTunes in the background from the Mac side.I was getting ready for a conference call last Thursday. I closed my MacBook and with that in tow, I headed for one of the conference rooms. When I got to the room, I opened my lid and to my surprise my screen didn’t come right back on like it usually does. I power cycled it … still no screen. After my call I went back to my desk and plugged into my external LCD display … nothing.

Granted my Time Machine backup was current, so that wasn’t a concern, but what is wrong and how am I going to fix it?

My buddy Jim at work, who is a Mac guru tried all the secret keyboard handshakes as I watched in disbelief, still trying to figure out how this was going to get fixed. Whatever Jim did, the screen came back and worked for the rest of the day.

But then came Friday morning.

I hit the power button as I arrived at work. Again, no display. I reached into my desk drawer and pulled out my Dell laptop, what I consider to be my reserve… The “break glass in case of emergency” laptop. This and webmail would have to get me through the day.

I did some quick searching and discovered a tech article from Apple on display distortion and video card problems relating to a malfunctioning NVIDIA video card.

The real problem here was my MacBook was 14 months old. Essentially past the one year warranty period. Others who had video problems mentioned a $310 minimum charge.

I went to the Apple Store at Southdale. They put it through a few tests and figured out it was related to the graphics card and that had to be replaced. The good news … It was covered under their “Quality Service” program. Even though I was out of the warranty period, I was still going to get my repair at no charge. They told me it would take 1-2 days. No big deal. It was the weekend. I’d have it before today.

At 5 PM Friday, the Apple Store called me and said it was fixed and ready to be picked up. What service. I can honestly say that my experiences with Apple have been nothing but positive.

The moral of the story? AppleCare, Apple’s warranty program covers a product for a total of 3 years (1 year included with the product, AppleCare extends that an additional 2 years). It costs you about $300 for that warranty on the MacBook Pro and has to be purchased before the end of the first year. I didn’t do that.

The guy at the Apple Store told me that same repair when not under warranty is $310. If you have it done in-store, it is closer to $600. Ouch.

$300 seems like a lot up front, but this case alone has convinced me that next time I will purchase the AppleCare. You may never need it, but it takes one repair like this to make it all worthwhile.

Categories: Mac Tags:

Virtualized Performance Part 2: Parallels

February 8th, 2009 Justin Braun No comments

A couple of weeks ago I posted a story about virtualized performance where I did a comparison between VMware Fusion and Sun’s VirtualBox.

I wanted to update that story to include some details on Windows performance when Parallels is added to the mix.

Interestingly enough, Parallels really isn’t that much further behind Fusion in terms of average boot time. To be precise, the difference is about .8 seconds between the two. Probably not that noticeable to the average user.

It comes down to features in that case. I also think there is a lot to be said about the stability of Fusion given VMware’s years of experience and product maturity.

This will be a very important year in the Parallels development cycle. We’ll see what they have up their sleeves.

Categories: Mac, Performance, Virtualization Tags:

Updating your social network is a snap!

February 6th, 2009 Justin Braun No comments

In my previous post, I talked about the difficulty keeping all your social networking sites up to date. When I was trying out Blogo tonight, I came across Ping.fm.

The premise of Ping.fm is that “Ping.fm is a simple service that makes updating your social networks a snap.”

Exactly what I need. Once you create your free account at Ping.fm, the dashboard allows you to add a number of social networks like Facebook, Twitter, LinkedIn, Plaxo, Flickr, and lots more. That means that you update from one spot, and the update gets pushed to the rest of those services automatically. Pretty neat stuff.

Categories: Blogging, Social Networking Tags: