Archive for the ‘Virtual Machine’ Category

Now that you have the basics of how to create a volume on an iSCSI target and mount it for use, let’s explore some reasons for doing so.

Server Storage

The simplest case I will present is a single SBS server.  There are several important data stores for SBS:

  • Exchange Server
  • SharePoint
  • Shared folders
  • LOB or other data that is used by SBS members

When you first install SBS, these are all going to be located on the OS drive.  Using the SBS console, you can migrate them to another drive location.  In the case of LOB data, which is set up independently, you no doubt can chose the drive on which to locate it.

You could start with disks installed on the server in a traditional fashion.  Maybe the drives are 500GB, 1TB, or larger drives.  Your Exchange requirements might be modest, say 15GB.  You estimate that SharePoint files are likely to grow to 20GB in the next six months to a year.  Shared folders might start at 20GB but could go up or down depending on what migrates to SharePoint, for example, and what other growth you anticipate.

You can use one drive for Exchange, one for SharePoint, one for shared folders, and one for LOB data.  But perhaps your server can’t accommodate that many drives.  And it certainly might not accommodate them as RAID 5 or 6 volumes and be independent of each other.  What are the choices?  Well, you could  use one physical disk, no RAID, and create several volumes and use different ones for different data types.  Or perhaps use several drives to create a RAID set and and allocate volumes on it.

Now that you have several volumes on your drive or drive array, sized to accommodate the data you anticipate, what happens if you start to run out of space?  If you have a partition management software tool, you could expand the size of the allocation if there is more free space on the drive(s), or shrink another partition if that were possible and then increase the size of the desired one.  Or, if you have the space available, create another larger partition and move the data to the new one.

Using iSCSI targets is similar to this approach but without the drawbacks and pitfalls of locally attached drives.  First, your storage platform is robust and will have RAID enabled drive support.  Since mountable drives are created from an available pool of space, you can start with the most reasonable size for each disk you need.  Later, you can, on the fly, create a new iSCSI target that is larger or smaller, move or migrate the data to it, disconnect the original target and then delete it.  It is far easier than partition management.

Don’t forget backups.  You can create an iSCSI target and mount it on the SBS server and then configure backups to this drive.  Need another destination?  Very simple.  You get the idea.

Virtual Machines

You probably know from reading some of my other posts I am a fan of virtual machines.  I like the idea of running SBS as a Hyper-v machine; the same box can support test machines, client machines used for remote access, special LOB servers, you name it.  In a virtual machine environment, iSCSI shines.

Start with the drive on which you store the .vhd files.  These can be on a locally attached or a iSCSI drive.  I use iSCSI because I can allocate a right-sized disk in a matter of minutes and have it available on the host server.  Once the virtual machine is created, I can allocate and attach additional iSCSI targets to meet the needs of that vm.

Consider that you might want to test some new software or application, such as a web site, SharePoint feature, or LOB application.  Create a virtual machine and allocate the disk space it needs.  If it turns out to be incorrect, or once your testing has been completed, it is a simple matter to delete the iSCSI targets and return the disk space back to the available pool.

Note a potential disaster recovery scenario.  If you were to lose the host server, the .vhd for the virtual machines would still be on the iSCSI target.  Simply use them to create a virtual machine on another host, and you are back up and running.


Admittedly, I stole some of my own thunder when talking about virtual machines, but the testing environment is perfect for iSCSI.  Just allocate a target, use it and then delete it once the testing is done.

But it is not just for server and server-level software that iSCSI is useful in testing.  Suppose you want to test from your desktop.  Guess what.  Windows 7 has the same iSCSI initiator, and you can download one for XP.  That means you can create disks, use them and subsequently delete them at the client desktop as well as at the server.

Ad Hoc Uses

I have also used iSCSI targets for quick, one time efforts.  I wanted to update the OS on a laptop for a friend, and I wanted to end up with a clean install but make sure I didn’t lose anything important.  The trouble was that my friend couldn’t tell me what was important…. So I removed the laptop drive, connected it to my desktop with a USB drive connector, copied it completely to an iSCSI target I created, put the drive back in his laptop and installed the new OS.  There were a few things to go back and retrieve, but once he was satisfied I simply deleted the drive.

I will often be called upon to change something at an installation.  I usually create an iSCSI target, do an appropriate backup (sometimes it is just copying files, other times, a more holistic backup), then make the changes.  Getting back to the original state if something goes wrong is neat and tidy; so is the deletion of the disk once I am done.

Less Common But On My Wish List

Recall from Part I that the SCSI commands to read and write data are sent over the network to the target device.  Theoretically, it doesn’t matter whether the network is local or very WAN.  Practically, it is how long it takes for the commands and data to get back and forth.

Here is where I think cloud backups might go for some types of transaction-sensitive data.  Suppose you have a database that gets updates continuously from user transactions, web traffic, etc.  If that data were stored on an iSCSI target, remember that the data and commands to read and write it travel across the network.  Now imagine that the iSCSI target machine, when it gets a write command, also sends that command with the data to another iSCSI target, a mirror, that is remote, i.e., the cloud (public or private).  The difference is that the local target can respond back to the server that the write is complete, but there are no such time constraints on the write to the cloud. The iSCSI target would have to create a queue of writes and execute them in order as they complete asynchronously to the writes it completes locally.  This is not unlike playing a log file against a database.

Because only writes need be executed across the WAN, this is a very efficient operation and with broadband speeds continuing to increase, such a scheme because a very practical continuous backup procedure.

No solution like this is commercially available that I know of, and it would not be appropriate for every application.  Nevertheless, you heard it here first if it does come to pass.

I hope this gives you a flavor of the convenience and wide range of uses that iSCSI provides. In Part III I will discuss the costs and purchasing of a unit.



This morning, a client called to tell me that their incoming e-mail had stopped over the weekend.  They could still send e-email, though. Probably like you, e-mail is their bread and butter life line to their customers and their vendors.  Maybe like you as well, they prefer to wait until their hair is on fire to do anything; active monitoring is not something they are interested in.

The server showed no reals signs of distress.  All services were up and running.  I could telnet on port 25 to Exchange.  The recent entries in the event log looked pretty normal.  My first symptom that something was amiss was that I could not connect to remote web workplace. IE did not error out in any way, it just sat for about 15 minutes waiting to connect.

As I was starting to dig deeper, one of the users forwarded me a NDR he received when he tried to send himself a message from his private account to the domain account.  The error code in the NDR was 452.4.3.1 insufficient system resources.

That proved to be the essential clue.  I looked at the drive where the Exchange data was stored, and it had only a bit over 5GB remaining.  The thin space was not so much caused by a growth in the Exchange stores but by some accumulation of junk in other folders.  Fortunately, there was a ton of empty space on a 1TB drive on the system.   I moved both Exchange and SharePoint data to that drive; user data was already there.

Since backups were only three hours stale, and they had not received incoming messages for more than 24 hours, I just skipped the new backup.  The moves went pretty quickly with no problems.  I am not sure I wouldn’t advise you to take another backup, just in case, but when the client is nervous…..

I hope you don’t suppose that solved the problem and starting incoming email.  It didn’t.

In order for everything to get cranked back up, some Exchange services had to be restarted.  I ended up restarting all of the services that were running, which was probably overkill, but instead of sorting out which were essential it seemed faster to do them all rather than continue to wait for incoming mail to show.  That feel of the client breathing down your neck…

Here are today’s lessons:

  1. With storage so cheap today, don’t be stingy. Give your Exchange and SharePoint data plenty of room to play.  If possible, devote a drive to Exchange.
  2. Monitor your drives occasionally. If you see a sudden decrease in available space, check to see if someone has started dumping stuff onto the drives (in this case, someone decided to use a server drive to do a full backup of a laptop.  When the person has admin privileges, what’s one to do?
  3. If you have smallish drives, go buy some new bigger ones. A 2TB drive on the commercial side is around $200 or less, and more standard ones under $100.
  4. Better still, invest in iSCSI targets. While you cannot use USB drives for Exchange data, you can with an iSCSI target.  You can provision a new drive in a few moments, attach it to your server (or anything else), and you are off and running.  Literally.

It’s true that an iSCSI target device is more expensive than USB or internal drives, but the increased versatility and flexibility is really worth it.  But let me calibrate more expensive for you.

I have had great success with a particular vendor, and their product line goes from a one drive unit up to an eight drive unit, and you can daisy-chain two of them together.  The software is essentially the same across all of the physical platforms, so you get all the benefits no matter what capacity you choose.  At the upper end, their eight drive units cost between $1400 and $1800 street price, depending on whether you choose rack mount or standalone and whether you get a first or second generation processor.  You then have to throw in the drives (a lot of companies resell them populated, but I prefer to buy my own drives and shop for the best deals; installing them is a trivial affair).

I am planning a post on iSCSI, so if you are not familiar with it, stay tuned for the details.  When I first encountered it, I thought this stuff is way too complex and esoteric and expensive.  It is not.  Especially if you have any thoughts about using virtual machines.  If I want to create a virtual machine, I can just create a new iSCSI target, attach it to the host, and then provision the machine on it.   But I will explain more later.

There is no need to beat around the bush.  It works, and it works well.  At least for hyper-v hosting systems like Microsoft Windows 2008 R2, where I have done most of my testing.  I have little reason to doubt that it works fine on other hosting platforms as well.

If you haven’t tried using virtual machines yet, read the following few paragraphs to get a quick how to guide for Windows 20008 R2.  It’s pretty much the same thing for Windows 2008.

The very first thing you should do is determine if you have an adequate hardware platform for hosting.  Simply put, the beefier your processor(s) and the more memory you have, the better your virtual machines will run.  Yet with a modest server (a Dell T310 with 16GM of memory) I have a Windows 2008 R2 Standard host operating system, a virtual 2008 R2, a virtual 2003 R2 server, a virtual Windows 7 Ultimate, and a virtual Windows XP machine all running nicely.  The latter two machines are allocated only 1GB each and still run nicely and the servers have 4GB and 2GB each and also do nicely. Of course, these are not machines that are heavily used, but still, it’s hard not to be impress with their performance knowing they are so limited in resources.

If you running 2008 or 2008 R2, the first thing you need to do is to enable the Hyper-v role.  From Server Manager, use Add Roles to accomplish this.  It will require a re-boot to complete the addition of the new role, and it takes a few minutes for that role to configure during the restart.  You might also need to check your BIOS settings; you need to enable virtualization there.  Some machines come with it enabled but many do not.

Once the role is added, start Hyper-v Manager located on Administrative Tools. 

Although this view shows a virtual machine running, creating a new one is done the same way.  However, there is one task you should do first and another optional one.  The first task is to set the virtual network up for use by the machines.  The second and optional one is to change the Hyper-v default settings for where virtual machines will be stored.  As you can change it when a machine is created, it is completely optional.

To set up the network for virtual machines, click on Virtual Network Manager on the right hand action pane.  I won’t go through all the options but rather focus on the following scenario:

  • Your host machine has a single NIC card
  • Your NIC has a local LAN address and Internet Access
  • You want the virtual machines to have the same thing.

It’s pretty simple then.  When the Virtual Network Manager opens, in the right hand pane you are offered to create a new virtual network adapter.  Chose External and click Add.  On the next screen, give it a name. Something like Virtual Network Adapter is just fine.  Below that is a radio button set; choose External and from the drop down list, pick the host machine’s NIC.  Click OK.  That’s pretty much it, and you are ready to create your first virtual machine.

Back in Hyper-v Manager, click on New on the action pane and choose virtual machine.  Click past the wizard start screen and specify the name of the virtual machine.  Meaningful is good.  You can accept the default storage location or choose a new one.  Click Next.  Allocate memory to the machine and click next. Then choose the network adapter you set up earlier and click next.

Now you will create the virtual hard disk aka .vhd.  About the only thing you need to change is the size if you want it bigger than 127GB.  The other settings are just fine.  Click next.

If you leave the default “Install an operating system later” then all that happens is that the .vhd is created and the machine will be ready to run at some future point.  For almost all of my purposes, I use an .iso image of whatever OS I want to install. If you have that, click on Install an operating system from a boot CD/DVD-ROM, click on Image FIle and browse to the location.  If you have a physical CD/DVD-ROM, insert the disk and choose the drive letter.

Finish the setup, and if you selected to install an OS, sit back and watch the machine come to life and install the os.  From then on, it is as real as any other machine in your world.

My SBS 2011 was a migration install, running as a virtual machine as a destination server with a physical machine hosting the source SBS 2008 server.  The only difference in how all this works from two physical servers is using the migration answer file.

You cannot directly use a USB device on a virtual machine, so no answer file on a flash drive stick.  Instead, create an .iso from the saved answer file and mount it in the virtual machine’s CD/DVD drive.  To do that, click on the media menu at the top of the virtual machine’s window and choose DVD then mount to mount the .iso file.  Or put in on real media and insert into the host drive.  SBS 2011 installation will find it.

I would love to say that everything was splendid with the migration and virtualization, but it wasn’t.  It took almost two weeks of intense work and investigation and the help of some very talented and good friends to find and fix the issue. None of which had anything to do with the machine being virtual, but finding that out took a lot of hard work.

I will post those findings and trials and tribulations with proper credits and thanks in the upcoming week.

SBS 2011 RTM

Posted: December 24, 2010 in Hyper-v, iSCSI, SBS 2011, Virtual Machine
Tags: , ,

SBS 2011 RTM – release to manufacturing – is a done deal as of about December 11th.  On December 17th, it became available as a TechNet subscriber download, but as of this posting on Christmas Eve, it was not yet available for partner download.  Nor, it seems, can you purchase it in the retail channel.

Still no official word out of Microsoft that I have heard from about technology protection for customers who purchase SBS 2008 in this time just before 2011 appears.  Stay tuned for more information.

Next year, some articles about installing SBS 2011 as a virtual machine.  You can’t install SBS 2011 and run virtual machines under it, but you can install Hyper-v Manager or Windows 2008 R2 Core as a shell-based Hyper-v host and run SBS 2011 as a virtual machine.  Or better still, if you have a 2008 R2 license – a second one comes with the premium version of SBS – install the standard version as the host OS.

Also, I will be writing about the virtues and benefits of iSCSI for storage in SBS environments.  The price has come way down on quality, feature-rich iSCSI platforms, and the flexibility and other benefits are just too much to ignore.

See you next year!

Happy Thanksgiving.  It is snowing, and temps have been in the teens for the last four or five days.  Predicted to turn into rain and get into the 40°s today, and everyone is overjoyed about – rain?  In Seattle?  No way.

Microsoft has announced that SBS 7 will end up as SBS 2011 and is due for release in December.  I have heard from a friend of a friend who knows someone who has a friend who heard it from a barista at Starbucks who is dating a guy who used to know someone who worked at a company that is located near Redmond that December 12 is the earliest.  Don’t take this to the bank.  Microsoft’s announcement also said that OEMs wouldn’t start shipping until around February.

Here are a few other items to note.

  1. Three flavors of SBS 2007
    • Basic – Code name Aurora in the beta test.  It is an on-premise server but integrated to Exchange and SharePoint 2010 in the cloud.
    • Standard – SBS 7 in beta test and what you got in SBS 2003/2008.  On premise server and Exchange and SharePoint running on that server.
    • Premium – A second Windows 2008 R2 license.
  2. Changes from SBS 2008
    • Windows 2008 R2 as the base level OS (instead of Windows 2008)
    • Exchange 2010 instead of Exchange 2007
    • SharePoint Foundation 2010 instead of SharePoint Services 3.0
    • Basic version with cloud integration
  3. Upgrading
    • No in-place upgrade.  Migration (both old and new systems running for a while) is the only option, if you currently have SBS 2003/2008.
    • You will need a 2nd server for the migration, but it doesn’t have to be a permanent home for the new OS.

I have several opinions about what to do if you upgrade that will not only make the migration a bit easier, but in fact will give you a more powerful and flexible infrastructure afterward.

  • Establish your new, target server as a virtual machine OS.  I am definitely a fan of Microsoft’s Hyper-v technology as it is free, works well, and is pretty straightforward to use.
  • If you have a license for Windows 2008 R2 or Windows 2008 (standard or above in either case), you can install that as your base OS for the hyper-v machine.  (If you have the Premium version of SBS, then you have a license for it, provided you migrate from a server where it is already installed, if that is the case).
  • If you don’t have a license, then you can use the free version of Hyper-v Server from Microsoft.  Note that there is no GUI for this version and you will have to access most tools from a Windows 7 or 2002/R2 client by installing remote management tools.  It is somewhat straight forward, but there are a few details involving firewalls on each side, etc.
  • You can convert your existing SBS 2003/2008 server to a virtual machine once you have created a Hyper-v enabled server, but I would do that ONLY if you want to free up the server hardware it is running to use in your new SBS 2011 installation.  Otherwise, leave it where it is.
  • Install SBS 2011 as a virtual machine.  Perform the migration.

I am a fan of this because having a virtual stack of machines around is handy, very handy. If you need to test something, just create a virtual machine in a matter of minutes.  I have a handful of different virtual machines already created with different OS and configurations, and I can create a new machine from one of these right away.  I simply copy the .vhd file for whatever configuration I need to a new area or with a new name, start that machine and it’s ready to go.  When the testing is done, I simply delete the .vhd file and delete the machine from Hyper-v manager.

I am going to devote a few postings in the upcoming weeks on setting up a hyper-v stack and how to use and manage it.  Come back and check it out.

Let me end with a strong suggestion:  SBS 2011 is a rock solid product, and the new features of SharePoint Foundation alone make it worth the upgrade cost and effort. If you are still running SBS 2003, what could you possibly be waiting for?  I see lots of environments where the hardware is iffy at best, there are always issues with Exchange, and SharePoint Services 2.0 is essentially ignored.  Look, your business depends on this stuff.

Would you keep a piece of machinery around without doing anything to it for 7 or 8 years?  And unlike machinery, getting new stuff is not only much faster, better and easier to use, but costs only a fraction of what it did when you8o first bought it.  That is an investment you should easily make.

Happy Thanksgiving