Monthly Archives: June 2010

Install VMWare ESXi on a USB stick

Next I wanted to try to set up VMWare ESXi. I also read about how you can run ESXi off of a flash drive and I thought I would give this a try so I could dedicate the entire physical hard drive to running WHS.

I read that I could run through the installation normally and just tell it the installation destination is the USB stick, however this did not work for me as it said it was unable to find a location to install to. And after loading the installation files I was forced to restart and try again.

I did find these great instructions that guided me through the process in a lot less time then it would have taken to run through the standard installation. I used Method #2 with WinImage and the whole thing took under 10 minutes.

I stuck the USB stick into the PC and it booted right into ESXi, obtained an IP address, and I was able to download/install the VI Client to manage the server very easily. The VI Client is very overwhelming at first but once you understand its layout it becomes manageable.

Use Google Voice as your primary Voicemail

Google Voice has some great features available including the ability to use a single phone number by ringing multiple phones, call screening, recording, and more, but if you don’t want to switch to a GV number or port over your existing phone number, you can still reap the benefits that GV offers in the area of voicemail.

These benefits include the ability to access your voicemail from the internet, have your voicemails transcribed into text and emailed and/or sms’ed to you, and keep a record of your messages.

This is actually a very simple process.

All you need to do is login to Google Voice and access the Settings in the upper right hand corner. If you have not already added a phone, you can do so here.

Once this is done you will see a link next to your phone saying “activate Google voicemail on this phone.” Click that link and it will tell you to call a specific number from the phone beginning with a “*”.

Just repeat this process for every phone that you would like to use the GV voicemail for. The process to deactivate this is just as simple. You will see a button in the same location with a number to dial to disable this service.

Hyper-V, Physical hard disk access & CPU virtualization support

A way to avoid using the virtual hard disk files would be by using Hyper-V which has the ability to attach physical hard disks directly to virtual machines. That means I can set the physical hard drive as offline to the host operating system and dedicate it to the virtual machine os, giving the vm os direct and dedicated read/write access to the drive. Using the physical disk access you can avoid using the virtual hard drive “coffins” to store your files, and instead, the files are stored normally, directly on the physical hard drive that can be plugged in and read by any computer. This allows you to reap the full benefits from Windows Home Server’s Drive Extender technology that I have discussed in a previous post.

Hyper-V sounds like a great solution with the exception that I would have to give up using my TV tuner on this computer since only the host os has direct access to the tuner cards. Hyper-V does not support USB passthrough devices like VMWare ESXi does which eliminates the possibility of using a USB tuner. So in order to get TV tuner functionality I would need to get something like the Silicondust HDHomerun network tuner, but it is still possible and something that I would be willing to settle on for the time being.

BUT when I tried to install Hyper-V it said that my CPU does not support virtualization, which for AMD is the AMD-V technology. I was under the impression that I would be able to run Hyper-V without AMD-V but I would not be able to run 64-bit guest operating systems, but that was obviously not the case. I was completely unable to install the Hyper-V role in Windows Server 2008 without cpu virtualization support.

On to ESXi…

Windows Home Server Drive Extender data storage technology

One of the greatest features of Windows Home Server is its dead simple data management and replication, or what they call Drive Extender. Aside from simplicity, Drive Extender has a few storage features that you cannot find with other solutions. In fact, many enthusiasts choose to run WHS instead of Linux or full blown Windows server upwards of 20Tb for this reason.

No drive letters

In WHS you can forget about worrying about filling up individual drives and having to move files to other drives because they are too big to fit. As far as Windows Home Server is concerned your disks are combined to form a single storage pool. This is like a JBOD “just a bunch of disks” array where you have a single namespace to access the data and the disks are spanned together and appear to the end user as one giant disk. This also greatly simplifies your file access as you will not have to navigate to different drive letters to find your files, they can all be accessed via a single shared folder.

Storage Pool

Unlike a RAID array which has a variety of restrictions, with WHS you can add any size/type of disk into this array without losing/wasting data if all of the drives are not of equal capacity. If you have a 250Gb IDE , 750Gb SATA, and a 1Tb firewire drive, you can attach all of these devices to your WHS and have 2Tb of seamless storage.

Simple to add/remove storage

If you are filling your your WHS and need to add in another disk, you can just order any new hard drive and pop it into the system. The computer will recognize it and you just have to add the drive to the storage pool. WHS will take care of distributing your files onto this drive in order to balance out the other disks.

Data duplication

Windows Home Server allows you to select certain files that you want to duplicate (in case of a drive failure). Enabling this option automatically creates a copy of the selected files and ensures that at any point in time they are stored on 2 separate hard drives. That way if one of your drives was to fail, you would be sure to not lose this data. If you wanted this sort of protection you would have to use RAID and live with its restrictions/limitations or try and manage the storage and file locations manually which would be a big hastle.

Note: This is however not instead of backing up your data.

WHS on VMWare Server 2.0 with a Windows 7 host

After trying Virtual Server 2005R2 I decided to try VMWare Server 2.0, another free solution.  After a quick Windows 7 reformat (to completely wipe the Virtual Server modifications/workarounds), the installation of VMWare Server went without a hitch. I had a 100Gb partition for Windows 7 and then the rest of the 1Tb drive was broken into another partiotn where I stored the WHS virtual hard drive (not pre-allocated, equal to the remaining space). Later on a second 1Tb hard drive was put in the machine and I created a second virtual hard drive equal to the size of the drive.

With WHS it is important to make the virtual hard drives equal to the entire size of the disk so that you do not have 2 virtual hard drives running on the same spindle. That is because when you enable duplication in WHS, it makes sure that the files are not stored on the same spindle and takes away the task of manually managing storage. However, if you have 2 virtual hard drives on the same spindle and that drive fails, you can potentially lose data that you thought was successfully duplicated on another physical hard drive.

I have been running Windows Home Server (WHS) in VMWare Server for close to a month with fairly good results. I am able to record live TV with Windows Media Center and have it transfered and archived onto the WHS. WHS has been successfully performing nightly backups of my primary desktop, laptop, and host machine. However, the one major issue I am having is with the transfer speeds.

I initially was on a 100 megabit network but my transfer speeds between the WHS and other PCs was usually under a measly 1MB/s. After some troubleshooting and suggestions I looked into disabling TCP Offload which has seemed to work for others, but did not make much of a difference for me. I found a good deal on a gigabit switch and figured I might as well try increasing the availiable bandwidth (although 1MB/s is not being restricted by a 100 megabit network).

I do not know why, but after installing the gigabit switch I saw a speed increase to a range of 8-15MB/s. But this was still much slower than expected. Perhaps these transfer speeds are severely limited since I am running a full blown host os and WHS on the same hard drive (not a raid array).

One realization that came up while using VMWare server was that all my precious data is stored in these large (~1Tb) virtual hard drive files (vmdk). If anything happens to the host machine and I needed to retrieve the files I would first have to set up a new host, virtual machine, installation of WHS, etc. Meanwhile one of the features that WHS offers is that all of the files are stored in standard format and the hard drives can be plugged into another computer to retrieve the files. So to me, locking all of my files in these virtual disk “coffins” and manually trying to manage the placement of these virtual disk files seemed to go against some of the main advantages of WHS. Additionally, the scary thought that my data has 2x the chance of being lost since the VMDK file could  get corrupted OR a spindle could die.

Both the slow transfer speeds and the disadvantages of virtual hard disks in WHS pushed me towards looking for another solution.

Virtual Server 2005R2 running on Windows 7 HTPC

The first thing I tried was Virtual Server 2005R2 running on top of Windows 7. This appears to be a very good solution because it allows a single machine to act as a PVR server, a HTPC front end, and a backup server.

I installed Windows 7 x64 on my secondary pc with my TV tuner installed. Since the plan was to attach this computer to the TV for everyone to use, I wanted to keep the host os locked down. I created a passworded user account to act as the administrator and an open account to be used soley for HTPC duties.

Virtual Server 2005R2 was selected as opposed to something like VirtualPC or VMWare Workstation because it runs as a service and therefore has the ability to start the virtual machines when the computer boots without first logging in. Also it has nice remote management functionality that is done via a web interface.

While attempting this, I learned that Virtual Server 2005R2 and Windows 7 do not work well together. Ben Armstrong has posted a great workaround for this issue. Ultimately I decided that for a system that I wanted to be a stable backup server I did not want to have to hack around getting the program to work. I also had slight issues with the web interface.

Sync your Google Chrome profile with Dropbox

While Google Chrome now has a built in synchronization feature which includes bookmarks, preferences, and themes, this does not do a full profile sync.

If you are looking to sync your entire Chrome profile which includes the above settings in addition to; extensions, history, cookies, and cache, you can use Dropbox to keep multiple computers in sync with a single profile.

If you don’t already have a Dropbox account, you can sign up here and get 2Gb of storage for free (capable of getting up to 8Gb for free).

Once Dropbox is installed and configured with your account you can go about the process below to set up syncing your Chrome profile.

Part I: Move Chrome profile into Dropbox

  1. This section is only completed for the initial setup and is to be done on the computer with the “master” profile that you want to retain.
  2. Create a folder in your Dropbox folder named “Roaming Profiles” with a subfolder “Google Chrome”. The future path for your Chrome profile should look similar to this (if you installed Dropbox to the default location):
    ” C:\Users\Ben\Documents\My Dropbox\Roaming Profiles\Google Chrome”
  3. Close any instances of Google Chrome.
  4. Open Windows Explorer and make sure “show hidden files” is enabled.
  5. In Windows 7 – navigate to “C:\Users\Ben\AppData\Local\Google\Chrome\User Data”
  6. Copy the “Default” folder into the new Dropbox folder we created in step 1.
  7. Rename the original “Default” folder to “Default_old” (this will be deleted at then end when we confirm everything works)

Part II: Create a link between the Dropbox and Chrome profiles

  1. If there is a folder named “Default” in “C:\Users\Ben\AppData\Local\Google\Chrome\User Data”, delete it.
  2. Now we need to create a symlink between the Dropbox folder and the location that Chrome will look for its profile.
    Open the command prompt as administrator by right clicking on the cmd application and pressing “run as administrator”
  3. You will enter: mklink /D “(Dropbox location)” “Chrome default location)”
    On my computer it looked like:

    C:\Windows\system32>mklink /D “C:\Users\Ben\AppData\Local\Google\Chrome\User Data\Default” “C:\Users\Ben\Documents\My Dropbox\Roaming Profiles\Google Chrome\Default”

    If it worked you should see a message that looks like this:

    symbolic link created for C:\Users\Ben\AppData\Local\Google\Chrome\User Data\Default <<===>> C:\Users\Ben\Documents\My Dropbox\Roaming Profiles\Google Chrome\Default

    C:\Windows\system32>mklink /D “C:\Users\Ben\AppData\Local\Google\Chrome\User Data\Default” “C:\Users\Ben\Documents\My Dropbox\Roaming Profiles\Google Chrome\Default”symbolic link created for C:\Users\Ben\AppData\Local\Google\Chrome\User Data\Default <<===>> C:\Users\Ben\Documents\My Dropbox\Roaming Profiles\Google Chrome\Default

  4. Launch Chrome and confirm it opens with your previous settings. If you open up the Dropbox path and then open an instance of Chrome, you will see that some files are in use and have not been synced. Once you close the browser they will sync in a matter of seconds (green checkbox means it has been synced).
  5. Delete the folder we renamed to “Default_old” in Part 1, step 7 (if it exists).
  6. Install Dropbox on any other computers that you want to set up Chrome profile syncing and repeat the steps in Part II.

Edit: It looks like the development builds of Chrome now have code to support extensions syncing, thereby eliminating one of the good reasons to use method to keep your instances of Chrome in sync. I imagine you can expect to see this feature fully implemented shortly. Read more.

Virtualization, Windows Home Server, and HTPCs

Right now I’m focusing on virtualization, windows home server, and HTPCs. I will be exploring different configurations to find the optimal setup able to achieve my goals.

Goals:

  1. Computer backup
  2. Virtualization – testing/experimenting
  3. Media streaming server
  4. PVR
  5. HTPC front end – for playback of DVD rips and recorded TV
  6. BitTorrent machine
  7. Automate the process of media downloading, organizing, metadata/fanart

My primary desktop is used for gaming so I want to accomplish as much as possible on my secondary pc (complete specs). For virtualization I plan to experiment with VMWare ESXi, Hyper-V Server 2008, Windows Server 2008 with Hyper-V, VMWare Server 2.0, and Virtual Server 2005.

I hope this blog can serve as a reference for others who are interested in a similar setup, because I know how difficult it was to find information on these topics.

Remote Desktop Connection – Blank desktop

When trying to remote desktop to a networked computer I was encountering an issue where I was presented with the login screen, but after entering my credentials all I saw in my Remote Desktop Connection window was a blank desktop – no task bar or anything.

Attempting to open other connections and seeing the same result I figured I would try to remotely log out of the computer. By pressing Ctrl+Alt+End I was able to pull up the Task Manager, go the the Users tab, and disconnect any sessions.

After disconnecting the users, I was able to remote into the computer.