Skip to content

Blahg

Things

New Site

For anyone who is actually reading this blog, I have moved everything to my own VPS server. I’ll leave this up for as long as MS has this service, but all updates will be found at the following location:

http://www.patton-tech.com

Windows 7 RTM!

So this is not really related to work, but Windows 7 RTM’d the other day and both my Technet Subscription and Windows 7 Beta downloads became available today! I’ve been running Windows 7 since Beta 1 on my personal laptop a Toshiba Satellite L25, so I’m really looking forward to the RTM. While it does mean another wipe and reload at least all the debugging stuff will be gone so I should see a bit of a performance boost!

The downloads are very slow, the connect download is averaging 18.5KB/sec, so it will be done sometime next week! The Technet download is going a lot faster at 180KB/sec but still very slow! I will certainly post when they’re done and my install experiences!

Dell MD3000i

Two weeks ago the new storage array arrived. We have moved from Fibre Channel to iSCSI almost exclusively because of cost. At the rate at which our existing SAN appears to be growing we are unable to afford to add storage to it. An iSCSI  SAN provides a much more affordable solution for our storage needs.
 
The vendor we went with was Dell, this was not my first choice nor were they within the top three choices that me and my team researched. Our boss felt that since we got everything else from Dell, that we should go with them here as well, and I’m not entirely sold on that idea. It was rather frustrating though as the state is currently in a budget crunch and Dell was the single most expensive vendor to pick from.
 
The product we chose was an MD3000i filled with 1TB SATA drives. This one enclosure provides nearly double the amount of storage that our four Fibre Channel enclosures provide. The Dell product was not nealrly as flexible as some of the other products we looked at, but its shortcomings are manageable for now.
 
Basic setup was fairly straightforward, it comes preconfigred on a 192.168.130/24 and 192.168.131/24 network. Once we configured a computer in that range on that network the GUI configuration tool was able to find the enclosure and allow us to get it going. Creating the Raid Groups and LUNs was pretty straightforward as well, the one thing we had a gripe about was terminology.
Disk Group = Raid Group
Virtual Disk = LUN
The GUI itself is effective in presenting the health and configuration of the array good enough, and for basic tasks the GUI is well suited. I have to continue to remind myself that this is designed for small to medium sized businesses and so in that environment everything you need is given to you. But the cool stuff, that is accessed via the CLI.
 
The CLI can be run in quasi-interactive mode, or for use in batch files you can pass it in all the parameters. If you’ve ever used diskpart in a batch script or netsh it works very much the same way. One of our requirements early on was the ability to dynamically resize a LUN without disrupting any users who may be accessing it at the time. This is possible using the CLI and it’s really intuitive once you have an understanding of the commands available:
set virtualDisk ["Name of Virtual Disk"] addCapacity=1TB;
Provided there is enough capacity on the SAN, this command will instruct the MD3000i to add 1 Terabyte of storage to the given disk. If you don’t know what the name of the disk is:
show allVirtualDisks;
 

Summer 2009

Deploy new SharePoint server using SQL as the backend
Upgrade SAN storage capacity
Re-IP CX3-20

Splitting a single SharePoint Site

Disclaimer


This is the method we chose, this is by no means the best method nor is it the only method but quite simply the method we chose.

Our Scenario


We deployed SharePoint to initially fix a glitch. We had several departments within the School and across campus that continually needed access to a file share on the server. This worked for some time but then they wanted to be able to do more with it, access it over the web, collaborate on documents. This seemed a task for which SharePoint was ideally suited.

We performed a basic single server deployment and from there proceeded to delve into a level of SharePoint hackery that no-one should ever undertake. If you would like details you can find them in this article. over the span of a year we saw significant growth in the user of SharePoint, albeit mostly in a file-serving capacity but that was expected.

We are in a position now where we need clean everything up. Initially we shot ourselves in the foot by providing extraordinarily tweaky sets of permissions and it has become increasingly difficult to prevent users from accessing data they shouldn’t. Our solution is to try and get back to the three roles in SharePoint, Owner, Member and Visitor. Additionally we wanted to have more flexibility in terms of storage for the databases.

Pre-requirements


Make sure that both the new SharePoint server and it’s SQL server backend are configured properly, see article for details on how to do this.

Alert staff that the intranet may be down for several hours to several days depending on the size of your content and your personal level of tweakiness.

Prevent users from inadvertently accessing the SharePoint site, several ideas come to mind the easiest may be to just unplug the server from the network during the backup. Once the backup is complete disable the IIS service and copy the backup file wherever it needs to go.

Backup Existing Site


Farm Administrator Account

I have had a lot of success using stsadm to perform this type of migration. There may be other ways that are better, but this route seems to work best for me. Logon to the existing SharePoint server and open the console. You will need to use the stsadm utility, if it’s not in your path it can be found by searching under C:\Program Files\Common Files.

In order for the backup to successfully complete you will need to know that URL for your site, if you are unsure you should check in the SharePoint Central Administration site. For this example the name of the site is https://sharepoint.company.com. So you would type the following at the command line:

    stsadm -o backup -url https://sharepoint.company.com -filename SharePointSite.bak
    * Depending on the size of the content it may take quite a while for the backup to be complete.

Create Upload Site


Farm Administrator Account

On the new SharePoint server you will want to create a new site that is blank that has unique permissions for only your user account. Additionally you may want to prevent from showing up in any of the normal navigational links on the site. This will be your work area, call it whatever you want it will be completely deleted when we’re done.

Restore Site


Farm Administrator Account

The restore can be done over an smb share if you like, or by copying the previously created backup file onto the new server. Depending on your network it may be a good idea to copy the file to the new server and run from there. There will be a performance impact on the SQL server if you have a significant amount of data, so if other services use the same SQL server you may want to find a time when this will be less of an impact.

Logon on to the new SharePoint server and open a command shell, we will use stsadm to perform a restore of the existing content into a blank site. Assuming you are using https://intranet.company.com for the new site and created a blank site called temp you would enter the following at the command line:

    stsadm -o restore -url https://intranet.company.com/temp -filename SharePointSite.bak -overwrite
    * Depending on the size of the content it may take quite a while for the restore to be complete.

Once the restore is complete you will have your existing site living under your new work area on the server. This site’s content should no be living on the SQL server.

Splitting the Sites


Site Owner Account
Farm Administrator Account

This process will be repeated for each site you wish to create. Basically you delete all the sites but the one you want to keep. Then you backup the newly created site to a file, delete the entire site in SharePoint and start all over from the Restore site heading.

Restore Sites


Farm Administrator Account
Site Owner Account

The end result of the previous steps leaves you with individual backups of the sites you want to separate into their own databases. Using your Farm Administrator Account you will create a new site. In the SharePoint Central Administration site, you will need to set the minimum and maximum number of sites under the Content Databases page. In our arrangement there will be one "Portal" site. This will basically have a list of all the sub sites hosted on the server.

For each site behind the Portal site you will need to create a Content Database using the SharePoint Central Administration site. These databases will be stored on the SQL server which provides us the the flexibility we need if a site’s content grows larger than the server’s disk space. This also allows us to create a separate backup for each site and the ability restore one site without affecting any of the other sites on the server.

Once the databases are created you will need to perform a restore of that sites backup file to its new home on the SharePoint server.

    stsadm -o restore -url https://intranet.company.com/sites/HRDept -filename HRDeptSharePoint.bak -overwrite

You will perform the Content Database creation and restore operation for each site you will be hosting on the server. Each of these sites will be given the default permission of the Site Owner Account being set as the only user.

Defining Site Permissions


In our environment we have created departmental security groups which we can use in each site’s Member’s role. Usually this is an adequate setting, but using this structure we can define in the Visitor’s role other department’s or individual’s who need read access to that particular site.

This arrangement now allows us to define groups and sites when special requests are needed to allow cross-departmental collaboration or read-only sites.

Hacking SharePoint

Look & Feel Configuration


The Look and Feel of SharePoint can be changed by modifying the assorted .master files that can be found in the "C:/Program Files/Common Files/Microsoft Shared/web server extensions" directories. The two main master files are application.master and default.master.

The application.master file controls the look of application pages, these pages are common to all sites and libraries, the main example is the one found by clicking "View All Site Content" in the left menu.

The default.master file controls the look of all of the other content pages that a site uses. The main file on disk is copied into each site when it is created, this allows each site to have it’s own look and feel. However, this also means that if the default.master file is changed it needs to be updated on every site. The simplest way to sync all of the default.master files is to use the Microsoft Office SharePoint Designer (formerly FrontPage), in this product when you find the default.master file in a site you can revert to the main default.master rather than the site’s current version.

The styling for the SharePoint site can be found in the Dropbox. This zip file contains the modified application.master, default.master, and KU images and style folder. The folder can be copied into the Images directory at:

Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/IMAGES

The application.master can be copied into the Layouts directory at:

Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/LAYOUTS

The default.master file can be copied into the Global directory at:

Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/GLOBAL

Once these files and folders are in place all new sites created will utilize the KU styling included.

Broken Microsoft-ism


When applying a SSL key to a given SharePoint site you must fix all of the .css files used by the site themes to not refer to:

background-image:url("http://localhost/topnavhover_simple.gif")

Otherwise, IE will complain about unsecured content each time a page is loaded.

Simply remove the http://localhost as these files are never actually served to the clients. Yes you read that right, the site wide CSS style sheets tell the Enterprise SharePoint Product to refer to files on the clients computer.

Also, you will need to apply the "updated" theme to each site in the entire SharePoint install to make all of the errors go away.

This content was proudly stolen from Nick, I removed the rants from the Unix guy against Microsoft. Keep in mind we wouldn’t have this information if it wasn’t for his wonderful tweaky adherences to standards!

Follow

Get every new post delivered to your Inbox.