Archive: ‘Infrastructure’ Category

SharePoint on Windows Server 2008 – Building the framework

1 comment April 6th, 2009

This weekend I undertook the fun of building out a medium sized farm on my personal development hardware with my trusty MSDN license that I bought for my own personal use to begin testing a few pieces of code I’ve been working on as well as to have a play ground to work through occasional architectures, web part testing and diagnosing issues.  Oh, and the fact that I’ve not had the opportunity to work with Windows Server 2008 all that much, so I figured why not go ahead and build out an environment to get my hands dirty and learn the ins and outs?

So the first part to the madness that should be understood is that IIS 7 (standard for Windows Server 2008) is a lot more granular in nature than IIS 6 which is the standard web publishing application on Windows Server 2003.  From even when you’re starting your installation of the Web Server role to installing the individual components, it’s far more granular and modular, and probably confusing to some administrators that are used to just clicking “IIS” from Add/Remove Program in Server 2003.

So where to begin, well, once you’ve got your Windows Server 2008 box up, operational, patched, service packed, sysprepped (if you’re using Virtuals, you end up requiring that you have different SIDs and computer names right?), IP’d and joined to a domain, the fun begins in installing just the framework prior to SharePoint.

Step 1 – Open up the Server Manager, this typically appears when you power on the server, but if not, you should be able to find it fairly easily from the start menu.  Select and expand the roles label from the tree in the left pane, then select “Add Roles” from the right pane.

1 - Server Manager - Roles

Step 2 –   If this is your first time installing a role, this would probably be helpful to read “Before You Begin”.  Definitely read through it at least once, after that, feel free to click the check box to skip it in all future instances.  Click on Next.

2 - Before You Begin

Step 3 – Select the Web Server role from the list of server roles. Note that you will be prompted to select additional features for the Web Server role to operate properly.  Select “Add Required Features” else turn and back away, and perhaps reconsider what you’re looking to do.

3 - Add features required for Web Server

Step 4 – Once you’ve accepted the need for additional “required” features to be installed, you should see something like the below stating that you have selected the “Web Server (IIS)”.  Click on Next.

4 - Select Server Roles - Web Server

Step 5 – The role installation wizard presents an overview of the Web Server (IIS) role which again is fairly useful for an administrator to read through the first time.  Click Next.

5 - Introduction to Web Server IIS

Step 6 – Select the individual server roles that you require for your SharePoint installation.  I’ve found that the basic role services that are installed with IIS 7 are barebones, which from a security posture is fairly helpful so as to not have to remove several roles, but it will make you stop and think through what roles you do indeed to make the system operational.

6 - Select Role Services - Default IIS

Step 7 – The first thing to select of course to make your platform usable by SharePoint is the ASP.NET development platform.  Once you’ve selected this, you will be prompted to add additional roles that are required for ASP.NET.  Select the “Add Required Role Services” else, much like before, be prepared to have a difficult time installing SharePoint services on your server.

7 - Add role services required for ASP.NET

Step 8 – Select the additional roles that will assist in your SharePoint implementation, in my case this also includes “Logging Tools” to diagnose issues that may come up.

8 - Select the role services to install for Web Server - Logging Tools

9 – Select the appropriate authentication providers that you wish to be able to utilize.  For me, I’m going with a fairly vanilla SharePoint installation and configuration, so I’ll select “Windows Authentication”.

9 - Select the role services to install for Web Server - Windows Authentication

10 – Additionally, so as to not bother with going back and installing later, I’ve selected the “IIS Management Scripts and Tools”.

10 - Select the role services to install for Web Server - IIS Management Scripts and Tools

11 – Lastly, the “Management Service” to be able to better manage the IIS 7 instance on the server from the server or remotely.

11 - Select the role services to install for Web Server - Management Service

12 – After selecting the roles that are appropriate to support your SharePoint services installation, click on Next, which then will bring you to a page that lists all of the components that you are looking to install.  Do a quick read through to ensure that you’ve got the components, roles and features that you require and click on Install.

12 - Confirm Installation Selections 

13 – Observe the installation process as can be seen here:

13 - Install Progress - Part I

14 – After a few minutes, the installation progress bar will complete and an installation results page similar to this will be presented.  Click on Close after you’ve observed that your installation results were successful.

15 - Installation Results

15 – After you’ve completed your IIS 7 installation, you’ll see that there are 24 installed role services related to IIS running and operational on the server through the Service Manager roles summary.

16 - Roles Summary Post Installation

Next on Tap:

Windows Server 2008 R2 Beta available on MSDN

No comments January 8th, 2009

Windows Server 2008 R2 Beta is now available over on MSDN for download if you have an MSDN subscription.  Much like Windows 7 Beta, expect that if you don’t hop to it now that it will be a slow download with everyone else hammering the servers for it.

Currently only the x64 edition seems to be available for download though if you read through the resources guide on the Windows Server 2008 System Requirements page, it states that an x86 processor can be used.  Perhaps it’s not ready for release yet.

Now Playing: The Goo Goo Dolls – Let Love In – We’ll Be Here (When You’re Gone)

EC2 Tips for Windows users…

No comments December 21st, 2008

So I won’t claim to be an MCSE or someone that develops custom driver code when for some reason a newly installed components unsigned driver apparently doesn’t work and without it I won’t be able to experience true gigabit Ethernet throughput… but I do know a thing or two about scripting and API hacking.

Tip #1 – Download ElasticFox plugin for Mozilla Firefox

Tip #2 – Read through the ElasticFox Getting Started Guide

Tip #3 – Amazon Web Services EC2 Getting Started Guide

Tip #4 – Re-read Amazon Web Services EC2 Getting Started Guide

So as for me, I hit a road block until I realized that the API tools actually needed to be run from the host client that I was working from to make calls to the EC2 Cloud to perform any actions on the actual VM sitting in the cloud.

Essentially, what that means is that the API tools available here, are installed on your local machine. The path statements are set on your local machine and then the API tools can be used for simple things such as creating EBS or any other functionality of ElasticFox, but from the command line.

You are now free to roam the clouds… :)

Now Playing: Rory Stewart – The Places in Between (Unabridged)

More impressions on EC2

No comments December 21st, 2008

So what more could I ask for than to continue to experiment with the Windows virtual machines available from Amazon Web Services elastic computer cloud?

I could ask for more flexibility and ease of use… though I suppose it’s more just getting used to the way that Elasticfox works and how to connect machines together appropriately.

What is most amazing to me is the Elastic Block Storage capability – the ability to quickly spawn a hard drive for your virtual machine to consume as an additional physical device.  What’s better is the ability to take this hard drive, detach it and reattach it to the next machine – great for holding your ISOs that you’re using for your machines or if you need additional SQL database space, just spawn another disk.

Overall, I’m still working on getting things tweaked for my own personal development environment that I can turn on and off when away from my desk.  Initial impressions are fairly positive.

Now Playing: Rory Stewart – The Places in Between (Unabridged)

Sun xVM VirtualBox – Small Footprint, Speedy

No comments July 22nd, 2008

So I came across an article earlier today making mention of Sun’s xVM standards compliant Virtual Sandbox software and I figured, "It’s free and it looks halfway decent, plus it’s standards compliant."

So a quick visit over to Virtual Boxes web site (http://www.virtualbox.org) and a little download magic and I was off and running setting up my first Virtual Machine using Sun’s software.

win2k8-sunVirtualBox Needless to say, my first impression is that while it may not have all the fancy features that VMWare Workstation has or Microsoft Virtual PC, its small footprint makes up for it as it blazes ahead.

Additionally, it’s cross platform nature allows you to quickly and easily take a virtual machine from one platform (Mac OS-X) over to another quickly (Windows XP) without the need for exporting a machine or going through a laborious process to bring it across.

I’m sure that I’ll find some bugs in it over the next few days, but I thought it would be interesting nonetheless to try it out for the sake of being vendor neutral in the realm of virtualization.

TechEd 2008 – Day 1

No comments June 11th, 2008

Day 1 of TechEd 2008 was a long first day to open up the conference.  Starting off with breakfast at 7:30, heading to the keynote at 8:30 and then onward to breakout sessions, hands on labs and interactive sessions through 6:30 in the evening was quite a lot to digest – but the day didn’t end there as we headed over to the MCP/MCT/MVP Gathering in the evening and then over to the City Walk for the TechEd Groove.  Nevertheless, the core personal highlights included:

  • a better understanding of Dynamics CRM 4.0 and how it integrates with other products (Microsoft and other)
  • tips and tricks using PowerShell for web content management and the SharePoint object model
  • an understanding of the certification path for Windows Server 2008
  • hands on lab for advanced SharePoint administration – how I’ve missed working with the CLI
  • how records management is improving in MOSS 2007

All in all, a great first day at TechEd 2008.

TechEd 2008 – IT Pro Week

No comments June 9th, 2008

So I’m down here in Orlando, FL at the Orange County Convention center for TechEd 2008 – IT Pro Week.  The Windows 2008 pre-conference session so far is definitely eye opening and has definitely made me realize that there’s more to what is available with the W2K8 software than first perceived – have to rethink utilizing VMWare ESX for everything (not say that it won’t be used for the majority of things :-) ).  Most interesting to me is probably the Server Core mode that is available – somewhat reminiscent of a shell command line interface (my favorite) that you’d find in Linux / Unix.

Funniest quote by Corey so far would probably be with regard to the “Microsoft Moment” where the status bar moves and then starts over again, again and again.

WSS v3 to MOSS 2007 Upgrade “Fun”

No comments February 16th, 2008

A few days ago I was allowed to participate in the fun of upgrading from the Windows SharePoint Services version 3 platform to Microsoft Office SharePoint Server 2007 Standard Edition during an overnight weekend time period so as to limit the exposure of any problems that could crop up during operational hours.  This should be a cut and dry right?  I mean Microsoft has a fully loaded set of documentation to assist in “Planning and Preparing.”  How hard can this really be?  I’ve got all the information written out with service accounts, passwords and backup copies of site collections, site definitions and content databases sitting on an external drive – really is this going to be a problem?  This is going to be FUN!

Okay, so admittedly, there are a few challenges to this environment.  It was originally a WSS v2 environment with a custom site definition utilized by several site collections.  But wait, there’s more! This environment was upgraded to WSS v3 with a custom site definition leveraging an upgrade definition file.  The additional challenge of the evening in question, which I shall continue to term as fun, included changes in the Microsoft Windows Network Infrastructure going through a spiral of changes.  You would think that this wouldn’t be much of an issue, servers cache credentials right, don’t they?  Unfortunately, when attempting to upgrade, just as when the initial SharePoint instance is installed, the server will communicate back and forth with Active Directory to confirm the user accounts being utilized.

Rather than take the blue pill and investigate how far the rabbit hole goes, I digress and state that after the networking challenges of the Microsoft Windows Server 2003 Infrastructure were fixed so that the real fun could begin – total time wasted waiting for the domain controllers to be fully accessible and operational, 2.5 hours.

First feat, identify where the custom site definition files reside for this WSS v3.  Total time ~ 5 minutes.

Once these were copied over to a network file share I figured that we were in the clear… figured.

Second feat, validate the site backups are operational and the site definitions can be applied prior to restoration to be sure that the environment will be a success.  The Gray Ghost accepts nothing less than success mind you – it’s a flaw in some sense.  So first step in mitigating risk was to utilize a VMWare VM (easier than building out an entire server blade eh?).  And for those of you would ask, yes, I’m using VMWare – I’m still not a fan of Microsoft’s VirtualPC 2007 and I have to say that some of the features and capabilities in the newest Workstation release are pretty sweet.  After installing the key components (frameworks for .net 2.0 and 3.0, in addition to good ole trust IIS 6.0) on the VM, I was off and running to installing a base installation of SQL Server 2005 Express with the applicable service pack and WSS v3.  All of this to a) test that the custom site definitions, just in case the actual server should kick the bucket, at least there would be a safety net and b) to be sure that the data would restore from the backups.  Total time ~ 1.5 hours, apparently there were still some DNS issues cropping up.

Third feat, upgrade MOSS on a WSS v3 platform.  This would seem trivial right?  Unfortunately, not so much.  After running the SharePoint Products and Technologies Configuration Wizard, it made it through 8 of 9 upgrade / installation steps before failing.  Sadly there was very little in the actual error log except that an error had occurred.  After parsing through the log files I came across an interesting tid bit of information:

Requested registry access is not allowed.

Needless to say, what a let down, and without going and pulling down a copy of regmon and finding out what key it was that SharePoint was trying to modify, and then go about restoring the proper administrative privileges in the registry, I decided that it was time for a surgical strike at the heart of this SharePoint server.  Total time ~ 1.5 hours.

Game time… sort of.  Checking to see what’s been installed, the server seems to think that MOSS is, even though it’s not entirely installed.  So at this point I’m frustrated and decide that I’ve got site collection backups that I’ve made using stsadm and I’ve got the content databases (removed them through the web interface prior to the fun of this evening), it’s time to uninstall MOSS and WSS and just do a fresh install of MOSS.  Easier said than done right?  Attempt to uninstall MOSS via Add/Remove Programs, no deals Mr. Bond.  Hey look, SharePoint Products and Technologies Configuration Wizard again, this time it doesn’t give me the option to remove, but rather just spews an event error stating that I need to complete the upgrade before I can do anything further.  Alright, sure, I can do that, I’ll just go in and manually move the files to where they’re supposed to be, modify the appropriate registry keys, fluff the pillows, take the milk money from the neighbourhood kids and start the appropriate services.  Wait, I don’t know where the files are supposed to go, and better yet I’m getting sleepy, there’s no way that I’m going to be able to type the appropriate GUIDs for the keys that SharePoint installs into the registry.  I’m feeling a little helpless at this point and pondering how quickly I can find Windows Server 2003 media to get back up and operational with a fresh installation pondering to myself if my worst fear had come to fruition, had this server kicked the bucket?  I got up and checked the server room, there was no bucket in sight.  Press on I say.

Then out of nowhere, it hit me….  psconfig to the rescue… :)

If you’re not familiar with psconfig, you really need to get to know this fine young gent that resides in the 12-hive’s bin directory.  After running the following:

psconfig -cmd upgrade -force

Low and behold, SharePoint was now done completing and “upgraded”.  Ack, Event Viewer has gone mad in the Application log, errors everywhere, lots of red.  Quickly got up and checked the server once more, still no bucket.  Time to check Add / Remove Programs.  Again, SharePoint Products and Technologies Configuration Wizard (the bane of my current existence) rears its head once more.  Fortunately, this time it bows before its master and allows me to Remove SharePoint from the server.  Once that was completed, I proceeded with uninstalling WSS v3.  After a quick reboot of the server and a scan of the Event Viewer for any nefarious errors, in addition to making sure that IIS was cleaned up, it was time to kick off a fresh installation of MOSS 2007.  Total time ~ 2 hours.

Once MOSS was operational, I deployed the backed up site definition from the file server, set the files to inherit privileges and like that I was back in action, restoring the site collections successfully.  Next up, installing the WSS v3 SP1 and the MOSS SP 1, both of which deployed successfully with no hiccups.  SharePoint Products and Technologies Configuration Wizard decided to play friendly this time – I was amazed.  Total time ~ 2 hours – the joys of waiting for site collection backups to finish restoring.

Overall experience – I was ecstatic to have added MOSS capabilities.  I was more ecstatic to sleep.  Just another overnight upgrade with the Ghost with the Most.

Developing Migration Methodologies

4 comments February 10th, 2008

Something that always seems to strike me as somewhat interesting is when I find colleagues, co-workers and fellow engineers not really thinking through the entire process of migrating from one SharePoint services based platform to another. I tend to cringe when I hear Microsoft salesman talk about the extensibility and the modularity of SharePoint 2007 and how easy it is as an administrator to do things, so much that you don’t even need a systems administrator for regular maintenance, nor an architect or engineer to design things prior to deployment.

Low and behold that’s where the Ghost swoops in and starts pointing out the deficiencies of a system prior to migration and why it will topple and post migration on a system not well suited for it. That’s also where the Ghost starts to build up fixes and implementation guides to be sure that the system does not fail so that there’s no egg upon the face of those that will be assisting in deploying it to customers and clients.

Currently though I am working through a few migration struggles that all focus on SharePoint’s security identifier (better known as a SID) and how it’s referenced by content that resides within your friendly neighborhood content database. The stsadm migrateuser operation is fairly handy in being able to move a user from Domain A to Domain B and reassign their identity within SharePoint’s access control lists, however on a grand scale where you’re dealing with 10’s of 1000’s of site collections and web applications and users in an enterprise implementation, to say the least it can be quite daunting.

What I’ve found to be the best option is to mellow out and go Gray for a while and think things through, working out a migration strategy and methodology, while clearly communicating to customers, clients and stakeholders the risks and impacts that need to be defined so as to demonstrate the impact to the business operations. Typically a large whiteboard comes in handy as well as some unsweetened ice tea along with Jack Johnson playing in the background.

The largest problem that I have come to find is that when migrating a user from one domain to another using out of the box Active Directory tools such as LDIFDE if I’m feeling lazy or the Active Directory Migration Tool that obviously I want to keep SID history – but wait, that’s only for the Windows 2003 user object and not the SharePoint SID. SharePoint stores both the SID information and the login name (sAMAccountName) as a property identifying the user within SharePoint.

So what happens when the sAMAccountName changes or the userlogin? As Brian Regan would say, “Hell on earth.” Okay, so it’s not that bad, rather the user just no longer has ownership of a particular file. So if a user resides in Domain A and has several hundred files spread across several web applications, what’s the best methodology to migrate their content and the user to Domain B? I ask myself that constantly.

What I have come to find is that to be successful, all SharePoint data must be migrated to the new SharePoint instance within the new domain (domain B, which has a two way trust with domain A), and then the migration of users can begin. Otherwise, as a user’s content moves to the new domain and then the user moves in, a single operational modification needs to be performed to reassign privileges to the user. Else, there is a constant struggle of moving content, reassigning permissions on both instances until all of the user’s content has been moved.

Is there an easier way to do this in a short period of time in a highly distributed system? Not that I know of…  It seems that you can either go the route of six in one hand or half dozen in the other.

Troubleshooting Tip of the Day… Network Configuration – Wrong Gateway

No comments February 4th, 2008

For those of you that have ever setup a server with two NICs, you probably know that it’s usually best to either a) team the NICs to have greater performance, or b) have them on completely separate LANs and only have one that is registered in DNS with the domain name that you are hosting out your site through.A few weeks ago, while working on a dev lab MOSS Server in a medium farm configuration I ran into a problem where the server in question was configured with the same gateway on both NICs, but the NICs were in completely separate subnets, thereby causing some traffic to drop as the NIC attempting to pass traffic to a gateway which was not situated on the subnet for which the NIC was configured for. Needless to say after scratching my head for a while and wondering why 500 error messages were coming up sporadically and after checking the supporting AD infrastructure it was back to the basics of checking network connections. Fortunately after about five minutes of reviewing adapter configurations the issue was remedied by removing the DNS registration of the secondary NIC (used for backups and remote desktop administration) in addition to removing the gateway so that all traffic requests would be responding through the primary NIC.

Level of difficulty in resolving the issue – pretty low, however definitely recommend some basic networking courses to all the aspiring SharePoint Infrastructure Engineers out there so that they’re able to troubleshoot their surrounding network for issues which may affect their system.