29 Apr 2013

Performing a V2V Conversion from VMware vSphere to Hyper-V R2 using System Center VMM 2008 R2

How to use System Center Virtual Machine Manager 2008 R2 to perform a virtual-to-virtual (V2V) conversion of a VMware virtual machine to a Hyper-V virtual machine.

Creating Virtual Machines using VMM 2008 R2

System Center Virtual Machine Manager 2008 R2 (VMM 2008 R2) provides the ability to create a Hyper-V virtual machine using several different methods. The most basic method is to create a new virtual machine with a blank virtual hard disk, configure the virtual hardware, and then load a guest operating system using a physical disc or an ISO image. You can also create a new virtual machine from an existing virtual machine (cloning) or from a template with pre-defined hardware and guest operating system settings. This is a solution that allows you to reduce manual configuration errors, as well as being best suited for an environment with a higher volume of virtual machines that need to be created from a standard profile. While the methods just described allow the creation of new virtual machines, VMM 2008 R2 also allows creation of virtual machines through Physical to Virtual (P2V) and Virtual to Virtual (V2V) conversions. 

A physical server's configuration and data is captured and converted into the virtual machine format. VMM 2008 R2 can perform both online and offline P2V conversions. Because an online P2V conversion requires deployment of a VMM agent to the source physical server, it can only support Windows guest operating systems. The advantage of a P2V conversion is that it is performed while the source physical server is powered on and responding to users, and does not require an interruption in service. An offline P2V conversion requires rebooting the source physical server into the Windows Preinstallation Environment (WINPE). Using a VMM agent running in WINPE, the source server configuration information, as well as the operating system and data is captured and transferred to the target virtualization host to create the virtual machine. Neither online or offline P2V conversions are destructive processes, so that the source server remains intact at the end of the conversion procedure.

In VMM 2008 R2, a V2V conversion allows you to take an existing VMware ESX virtual machine and convert it to a virtual machine that can run on Virtual Server 2005 R2 or Hyper-V. A V2V conversion can be performed for a virtual machine deployed on a VMware ESX host that is managed by VMM 2008 R2, or one that is stored in the VMM library, or on an accessible network share. If the source virtual machine is deployed to a VMware ESX host managed by VMM 2008 R2, it must be powered off before the V2V conversion can be performed. As is the case for a P2V conversion, a V2V conversion is itself a non-destructive process. However, if the source virtual machine is on a managed VMware ESX host, it will be deleted after the V2V process is complete. Therefore, if you want to retain the source virtual machine, you must copy the files or clone the virtual machine before beginning the V2V conversion.

Understanding the V2V Conversion Process in VMM 2008 R2

A virtual machine, whether created using Hyper-V or VMware ESX, is a collection of files that captures virtual hardware settings, as well as guest operating system and application files and data. And in fact, a V2V conversion performed using VMM 2008 R2 primarily converts a subset of virtual machine files from the VMware ESX format into the Hyper-V format. For supported guest operating systems, the V2V conversion also includes modifications to the operating system to ensure that the virtual machine is bootable in Hyper-V. As you can see in Table 1, VMM 2008 R2 currently provides this support for Windows operating systems with volumes formatted using NTFS or FAT32. Other guest operating system flavors may require manual configuration to make them bootable in Hyper-V after the V2V conversion.

Guest Operating System

VMM 2008 R2 Support

Windows XP Professional with Service Pack 3 (SP3)

Yes

Windows XP 64-Bit Edition SP3

Yes

Windows Server 2003 Standard Edition (32-bit x86)

Yes (SP2 or later)

Windows Server 2003 Enterprise Edition (32-bit x86)

Yes (SP2 or later)

Windows Server 2003 Datacenter Edition (32-bit x86)

Yes (SP2 or later)

Windows Server 2003 x64 Standard Edition

Yes (SP2 or later)

Windows Server 2003 Enterprise x64 Edition

Yes (SP2 or later)

Windows Server 2003 Datacenter x64 Edition

Yes (SP2 or later)

Windows Server 2003 Web Edition

Yes

Windows Small Business Server 2003

Yes

Windows Vista with Service Pack 1 (SP1)

Yes

64-bit edition of Windows Vista with Service Pack 1 (SP1)

Yes

Windows Server 2008 Standard 32-Bit

Yes

Windows Server 2008 Enterprise 32-Bit

Yes

Windows Server 2008 Datacenter 32-Bit

Yes

64-bit edition of Windows Server 2008 Standard

Yes

64-bit edition of Windows Server 2008 Enterprise

Yes

64-bit edition of Windows Server 2008 Datacenter

Yes

Windows Web Server 2008

Yes

Windows 7

Yes

64-bit edition of Windows 7

Yes

64-bit edition of Windows Server 2008 R2 Standard

Yes

64-bit edition of Windows Server 2008 R2 Enterprise

Yes

64-bit edition of Windows Server 2008 R2 Datacenter

Yes

Windows Web Server 2008 R2

Yes


VMware ESX Virtual Machine Files

Table 2 contains a list of the virtual machine files that are created in VMware ESX for a virtual machine named VM1.

File

Description

VM1.vmx

This is a text file that contains the virtual hardware configuration, guest operating system information, and other pertinent details of the virtual machine

VM1.vmdk

This file contains information that describes the virtual hard disk characteristics

VM1-flat.vmdk

This file contains the guest operating system, application, and data files

VM1.nvram

This file contains the virtual machine BIOS state

VM1.vswp

This file contains the virtual machine swap file

VM1.vmsd

This file contains metadata and information for the virtual machine snapshots (if any have been created)

vmware.log

This file contains virtual machine log information (if there is more than a single log file named with a sequential numbering scheme, such as vmware-1.log, vmware-2.log, and so on)


Additional files are created and associated with a virtual machine depending on its state (running, suspended, and so), or if one or more snapshots have been created. Because of the differences in the implementation of snapshots between Hyper-V and VMware ESX, VMM 2008 R2 does not provide a method to perform a V2V conversion of a VMware ESX virtual machine along with all of its snapshots.

VMware ESX also provides multiple VMDK format options to allow creation of single files or collection of VMDK files that contain the virtual machine guest operating system, application, and data. Table 3 contains a list of the VMDK files supported for a VMM 2008 R2 V2V conversion.

VMDK Format

Description

MonolithicFlat

This represents a single VMDK file that is preallocated in size.

MonolithicSparse

This represents a single VMDK file that is dynamically growing in size, and that also contains an embedded file descriptor instead of an external one

Vmfs

This represents a variation of a MonolithicFlat format

twoGbMaxExtentSparse

This represents a collection of VMDK files that are preallocated in 2GB chunks

twoGBMaxExtentFlat

This represents a collection of VMDK files that dynamically grow in size, each up to 2GB chunks


Hyper-V Virtual Machine Files


File

Description

<GUID>.xml

This file contains the virtual machine configuration details and is named with a GUID that is used to internally identify the virtual machine

VM1.vhd

This file contains the guest operating system, application, and data files

<GUID>.avhd

This file contains the guest operating system, application, and data files for a snapshot and it is implemented as a differencing disk

<GUID>.vsv

This file contains the saved state from the devices associated with the virtual machine

<GUID>.bin

This file contains the memory of a virtual machine or snapshot that is in a saved state


V2V File Conversion

VMM supports V2V conversion of virtual machine files created with VMware ESX 3.0 and later versions. In order to convert virtual machines created by VMware 2.5, VMware Workstation, or VMware Server, you must use VMware Converter to convert the virtual machine files to VMware ESX format and then move the virtual machine to a VMware ESX host managed by VMM 2008 R2.

Even though several files compose a virtual machine, a V2V conversion only converts the VMDK files into corresponding Hyper-V VHD files. Since a VMware ESX virtual machine must be powered off prior to conversion (and always if it is stored in a VMM library), there are no state files to convert. In addition, there is no VMX conversion. Because the virtual machine must be managed by VMM 2008 R2, it can rely on the virtual machine configuration information contained in its database to create the Hyper-V XML configuration file.
Performing a V2V Conversion from a VMM 2008 R2 Managed VMware ESX Host

If the source VMware ESX host is not currently managed by VMM 2008 R2, you have to first add the VMware VirtualCenter or vCenter server that is managing the host to VMM 2008 R2, and then configure the VMware ESX host security. You can find the procedure to do this in one of my previous articles posted on the VirtualizationAdmin.com site.

Prior to initiating a V2V conversion of a VMware ESX hosted virtual machine; you must remove the VMware Tools from the guest operating system. Then use the following procedure to initiate the V2V conversion from the VMM 2008 R2 Admin Console:

    * Launch the VMM 2008 R2 Administrator Console and then select Convert Virtual Machine in the Actions pane.
    * In the Convert Virtual Machine Wizard, on the Select Source page, select the VMware ESX virtual machine, and then click Next.
    * On the Virtual Machine Identity page, specify the virtual machine name, a Windows account, a description, and then click Next.
    * On the Virtual Machine Configuration page, select the number of processors and memory, and then click Next.
    * On the Select Host page, select the desired Hyper-V host, and then click Next.
    * On the Select Path page, enter the location for the virtual machines files (the default will be displayed), and then click Next.
    * On the Select Networks page, specify the virtual network that the virtual machine should be attached to on the Hyper-V host, and then click Next.
    * On the Additional Properties page, select the Automatic Start and Stop actions, and then click Next.
    * On the Summary page, verify the options and then click Convert.

25 Apr 2013

Understanding the SMTP Protocol

The Simple Mail Transfer Protocol, and you

One of the most attractive parts of the internet and computers to many people is the ability to send and receive email. How this sending and receiving of email works though is largely a mystery to many. What we will talk about in this article is the protocol responsible for the sending of email. That protocol would be SMTP, or as it also known as, Simple Mail Transfer Protocol. This protocol will be listening on port 25, or more precisely the SMTP server will be listening for client connections on port 25. The best known email server in use today is Microsoft Exchange.

Well, as always I try to use the OSI Reference model to map protocols to, and this one is no exception. SMTP would itself be an application layer protocol. It uses TCP as a transport protocol, and in turn uses IP for routing. Much like HTTP, the SMTP protocol has a number of status codes to enhance it's functionality. These status codes are used to relay specific conditions between the client and server. Yes you are indeed right! This protocol does conform to the much talked about client/server model. Think of Microsoft Outlook as the client, and Microsoft Exchange as the server.

Further to the status codes that SMTP uses there are also a series of SMTP commands. Commands such as "AUTH" for authentication, and "EHLO" for extended hello. These commands are the way that the email client and server talk to each other. I always say that seeing is believing so let's see an example of the client and server talking to each other.

Give me packets!

We can see in the below noted packet that the SMTP command "HELO" is present. This command is issued once the TCP/IP three handshake is complete between the client and server. What does HELO actually mean though. Well it actually pretty much stands for what it sounds like. The email client is saying hello and following the HELO command is the domain that the client is coming from. We can see the domain in the below noted ASCII content and it is bolded for clarity.

The command HELO has been superceded by the EHLO command. EHLO stands for "extended hello". When the EHLO command is sent, this will cause the mail server to advertise all of it's features. Features such as being able to transport characters other then safe ASCII characters. In reality though, EHLO has not superceded HELO as that would imply that HELO is no longer used. It is very much in use today, and all mail servers are still required to accept a simple HELO.

06/09/2005 06:10:46.595221 192.168.1.100.40565 > 192.168.1.200.25: P [tcp sum ok] 159505509:159505543(34) ack 578397676 win 33304 <nop,nop,timestamp 310237481 108030715> (DF) (ttl 52, id 34293, len 86)
0x0000   4500 0056 85f5 4000 3406 5235 c0a8 0164        E..V..@.4.R5B...
0x0010   c0a8 01c8 9e75 0019 0981 dc65 2279 a5ec        .....u.....e"y..
0x0020   8018 8218 0449 0000 0101 080a 127d d929        .....I.......}.)
0x0030   0670 6afb 4845 4c4f 2077 6562 3334 3231        .pj.HELO.web3421
0x0040   332e 6d61 696c 2e6d 7564 2e79 6168 6f6f        3.mail.mud.yahoo
0x0050   2e63 6f6d 0d0a                                                     .com..

Well, what happens after the HELO has been issued to the mail server? What happens next is that the mail client will say that it has mail from someone. We can see this in the below noted packet. I have underlined the "MAIL FROM"  in the ASCII content. Regressing back a bit here to TCP/IP we can see from the TCP sequence numbers in the above and below packet that the TCP sequence numbers follow each other, as they should. We can also infer from this that the mail server has yet to acknowledge either packet as seen above and below.

06/09/2005 06:10:46.641311 192.168.1.100.40565 > 192.168.1.200.25: P [tcp sum ok] 159505543:159505580(37) ack 578397699 win 33304 <nop,nop,timestamp 310237486 108030720> (DF) (ttl 52, id 35311, len 89)
0x0000   4500 0059 89ef 4000 3406 4e38 c0a8 0164        E..Y..@.4.N8B...
0x0010   c0a8 01c8 9e75 0019 0981 dc87 2279 a603        .....u......"y..
0x0020   8018 8218 053c 0000 0101 080a 127d d92e        .....<.......}..
0x0030   0670 6b00 4d41 494c 2046 524f 4d3a xxxx        .pk.MAIL.FROM:<x
0x0040   xxxx xxxx xxxx xxxx xxxx xxxx 4079 6168        xxxxxxxxxxxx@yah
0x0050   6f6f 2e63 6f6d 3e0d 0a                                          oo.com>..

Now lets examine the packet above a little further. Some quick steps to orient ourselves are as follows. We know that we have an IP header at the start, which is using IPv4 as declared by the underlined 4. Also we can see that the transport protocol is TCP, as declared by the underlined 06 in the IP header. From the underlined 8 in the TCP header we see that we have 12 bytes of TCP options set. From bytes 4d41 onwards is where we have our actual SMTP application layer data starting. I have bolded those bytes.

Once again lets take an opportunity to backtrack a bit to TCP. In the packet above, we have two various TCP options. Notably we have NOP (no operation) and timestamp, as it is shown in the ASCII above. Now lets bust out these options at the hex level.

Starting at bytes 0101 shown above, and which is underlined, this represents the TCP option 01 and the length of said option is 01 byte in length ie: one byte. Following this we have byte 08, which represents the timestamp option as seen at the bottom of the TCP/IP and tcpdump flyer found at the bottom of this page. Following this byte is byte 0a which represents the length of the timestamp option as measured in bytes. 0a equates to ten in decimal. Lastly, following this are bytes 127d d92e, and this represents the first timestamp value of 310237486. Then there is bytes 0670 6b00, and that represents the final timestamp value of 108030720. The timestamp option is not one that you always see so I wanted to take this opportunity to show it to you, and how it looks.

Lets get back to it!

Right then, let's get back to discussing SMTP itself and how it works. We last covered the second step that a client takes when sending email to a mail server. This is displayed in the above packet by the "MAIL FROM:" ASCII content. What is next though in the chain of events? Well, the next packet would contain the actual email message itself. Also contained would be the email body and header fields. By "email body" I mean the actual contents of the email itself. The last step taken by the client is the "QUIT" command, thereby severing the connection to the web server.

Simple Network Management Protocol (SNMP)

SNMP is a popular protocol for network management. It is used for collecting information from, and configuring, network devices, such as servers, printers, hubs, switches, and routers on an Internet Protocol (IP) network. SNMP can collect information such as a server's CPU level, Server chassis Temperature… the list is nearly endless of what you can do with SNMP if configured properly.

Microsoft Windows Server 2003 provides SNMP agent software that works with third-party SNMP management software to monitor the status of managed devices and applications. Many SNMP based network management software applications come with 'client' software that will install on your Windows Server 2003 system, some do not. Some network management suites do not include a client portion of the software and this is where you may need to install and configure a Server's SNMP Service. 

Introduction to the Simple Network Management Protocol (SNMP)

SNMP was made with one design in mind… to be simple. SNMP is a simple protocol that can be used on just about any networking device in use today. In some environments it's used heavily, in others it's scarce. Some view it as a security threat; others see it as a way to efficiently manage some of their key systems. However you decide to see it, SNMP is a easy to use, easy to set up and not very difficult to understand.

The SNMP protocol was designed to provide a "simple" method of centralizing the management of TCP/IP-based networks – plain and simple. If you want to manage devices from a central location, the SNMP protocol is what facilitates the transfer of data from the client portion of the equation (the device you are monitoring) to the server portion where the data is centralized in logs for centralized viewing and analysis. Many application vendors supply network management software: IBM's Tivoli, Microsoft's MOM and HP Openview are three of over 100+ applications available today to manage just about anything imaginable. The protocol is what makes this happen. The goals of the original SNMP protocols revolved around one main factor that is still in use today: Remote Management of Devices. SNMP is commonly used to manage devices on a network.

SNMP uses UDP

UDP stands for User Datagram Protocol and is the opposite of TCP, Transmission Control Protocol which is a very reliable and high overhead protocol.

User Datagram Protocol is very low overhead, fast and unreliable. It is defined by RFC 768. UDP is easier to implement and use than a more complex protocol such as TCP. It does however provide plenty of functionality to allow a central manager station to communicate with a remote agent that resides on any managed device that it can communicate with. The unreliability comes in the form of checks and balances whereas if TCP sends something, it waits for an acknowledgment and if it doesn't hear back, it will resend. Since logging of devices usually happens within a time period that is cyclic in nature, then it's common sense that you missed the event and you'll catch it next time… the tradeoff being that the low overhead protocol is simple to use and doesn't eat up all your bandwidth like TCP based applications going across your WAN.

SNMP Operation

SNMP design is pretty simple. There are two main players in SNMP. The manager and the agent. The manager is generally the 'main' station such as HP Openview. The agent would be the SNMP software running on a client system you are trying to monitor.

The manager is usually a software program running on a workstation or larger computer that communicates with agent processes that run on each device being monitored. Agents can be found on switches, firewalls, servers, wireless access points, routers, hubs, and even users' workstations – the list goes on and on. As seen in the illustration, the manager polls the agents making requests for information, and the agents respond when asked with the information requested.

Network Management Station (NMS)

The manager is also called a Network Management Station or NMS for short. The software used to create the NMS varies in functionality as well as expense. You can get cheaper applications with lesser functionality or pay through the nose and get the Lamborghini of NMS systems. Other functionalities of the NMS include reporting features, network topology mapping and documenting, tools to allow you to monitor the traffic on your network, and so on. Some management consoles can also produce trend analysis reports. These types of reports can help you do capacity planning and set long-range goals.

SNMP Primitives

SNMP has three control primitives that initiate data flow from the requester which is usually the Manager. These would be get, get-next and set. The manager uses the get primitive to get a single piece of information from an agent. You would use get-next if you had more than one item. When the data the manager needs to get from the agent consists of more than one item, this primitive is used to sequentially retrieve data; for example, a table of values. You can use set when you want to set a particular value. The manager can use this primitive to request that the agent running on the remote device set a particular variable to a certain value. There are two control primitives the responder (manager) uses to reply and that is get-response and trap. One is used in response to the requester's direct query (get-response) and the other is an asynchronous response to obtain the requester's attention (trap). As I mentioned earlier, I alluded to the fact that the manager doesn't always initiate – sometimes the agent can as well. Although SNMP exchanges are usually initiated by the manager software, this primitive can also be used when the agent needs to inform the manager of some important event. This is commonly known and heard of as a 'trap' sent by the agent to the NMS.

The Management Information Base (MIB)

We just learned what primitives were… the agent and the manager, exchanging data. The data they exchange also has a name. The types of data the agent and manager exchange are defined by a database called the management information base (MIB).The MIB is a virtual information store. Remember, it is a small database of information and it resides on the agent. Information collected by the agent is stored in the MIB. The MIB is precisely defined; the current Internet standard MIB contains more than a thousand objects. Each object in the MIB represents some specific entity on the managed device.

SNMPv2 and SNMPv3

With all TCP/IP related protocols, it's a well known fact that anything dating before the creation of IPv6 (or IPng) has security weaknesses such as passwords sent in cleartext. SNMP in its original form is very susceptible to attack if not secured properly, messages sent in cleartext exposing community string passwords, or default passwords of public and private being 'guessed' by anyone who knew how to exploit SNMP… beyond its inherent weaknesses SNMP in its original implementation is still very simple to use and has been widely used throughout the industry. SNMP in its first version lacked encryption or authentication mechanisms. So, now that SNMP in its first version was good enough, work began to make it better with SNMPv2 in 1994. Besides for some minor enhancements, the main updates to this protocol come from the two new types of functionality, where traps can be sent from one NMS to another NMS as well as a 'get-bulk' operation that allows larger amounts of information to be retrieved from one request. SNMPv3 still being worked on and is incorporating the best of both versions and enhanced security as well. SNMPv3 provides secure access to devices by a combination of authenticating and encrypting packets over the network. The security features provided in SNMPv3 are message integrity which ensures that a packet has not been tampered with while in transit, authentication which is determining the message is from a valid source and encryption, which is the securing of the packet by scrambling its contents.

Windows 8 Tweaks and Tricks

Microsoft has made many major changes in Windows 8. The Start Screen replacing the Start Menu is just one of the major changes you'll notice. These new and improved features can be quite useful and frustrating at the same time. So here I'll share some tweaks and tricks you might be interested in as a Windows 8 admin and user.
Bringing Back the Start Menu

Though you'll find similar shortcuts in the metro-style interfaces and gestures that were offered previously via the Start Menu, adding a Start Menu in Windows 8 can be useful. It can reduce the number of times you have to access the Start Screen, like when opening programs, powering down, and accessing system settings. Though Microsoft doesn't offer a setting to bring the Start Menu back, you can download and use third-party utilities like ViStart, Start8, or Windows 8 Tweaker.

Boot Directly to the Desktop

If you aren't a fan of the new Start Screen consider booting directly to the Desktop. One method is to use Task Scheduler to run Explorer at boot; here's how:

    Go to the Start screen.
    Type "schedule" and it will start searching and then select the Settings option on the right, under the search field.
    Open the Schedule Task shortcut in the results.
    Select Task Scheduler Library on the left, open the Action menu from the toolbar, and select Create Task.
    For the Name, type something like "Show Desktop at Logon"
    Choose the Tiggers tab, select New, on the top select At log on, and hit OK.
    Choose the Actions tab, select New, for the Program/Script value enter "explorer", and hit OK.
    If you're on a laptop, choose the Conditions tab and under the Power options, uncheck Start the task only if the computer is on AC power.
    Hit OK to save the new task.

Next time you logon you should be taken to the familiar desktop where you'll also find a Windows Explorer window opened to your Libraries.

Open Media Files in Desktop Applications

By default, media files you open in Windows 8 will be shown or played in the metro-style apps, which is annoying if you work mostly in the Desktop interface. However, you can choose which desktop application or Windows 8 app to open files with by right-clicking on a file. Or you can change the default programs for files:
  • Open the Start screen, type "default", and open the Default Programs shortcut in the search results.
  • Select Set your default programs.
  • Select the program with the desired associated file types, like Windows Media Player for audio and videos or Windows Photo Viewer for images and then select Set this program as default.
Launch Windows 8 Apps from the Desktop

The new Start Screen offers shortcuts to both Windows 8 apps and traditional Desktop programs. But from the Desktop, you can't by default launch Windows 8 apps. So if you primarily use the Desktop interface, consider creating a folder menu of all your applications:

    * Right-click (or touch and hold) on the desktop, select New, and choose Shortcut.
    * Copy and paste the following into the location field: %windir%\explorer.exe shell:::{4234d49b-0245-4df3-b780-3893943456e1} and click Next.
    * Type in a name, like "All Apps", and select Finish.

Now when you open the folder you'll see a listing of your applications, including the Windows 8 apps.
Customize the Windows 8 Win+X Menu

The Win+X menu offers shortcuts to system settings and programs, accessible by pressing Win + X on the keyboard or by right-clicking the bottom-left corner of the desktop. This is a useful menu for admins and power users, but can be even more convenient by adding your own custom shortcuts. To do this simply download the freeware Win+X Menu Editor. It lets you modify the existing groups and shortcuts and add new ones.
Prevent Uninstallation of Windows 8 Apps

By default, Standard users can remove the new Windows 8 apps by right-clicking tiles on the Start Screen and selecting Uninstall. This makes uninstalling them quick and easy, but can be an issue if you don't want users to remove them. However, you can prevent this by using Group Policy: navigate to User Configuration/ Administrative Templates/ Start Menu and Taskbarand enable Prevent users from uninstalling applications.
Disable the Windows Store

The Windows Store is where you can download free and paid Windows 8 apps. Although it's convenient that you can make quick purchases from Windows Store using billing information on-file, it can be an issue if you share your computer with others that aren't fully trusted—they can make purchases without your consent. However, you can use Group Policy to disable Windows Store: navigate to User Configuration\Administrative Templates\Windows Components\Store and enable the Turn Off the Store application policy.
Enable Windows Store in Windows 8 To Go

When using Windows 8 from a Windows To Go flash drive, the Windows Store isn't available. But if you'd like users to be able to update or install Windows 8 apps, you can enable the Windows Store using Group Policy: navigate to Computer Configuration > Administrative Templates > Windows Components > Store and enable Allow Store to Install apps on Windows To Go workspaces.
Create Custom Refresh Points

In a previous article, I discussed the new Refresh feature of Windows 8, which backs up all the personal files and metro-style apps and then reinstalls Windows. Though it doesn't keep your traditional Desktop applications, you can create custom backup images that you can later restore to, which would include all applications; here's how:

    * Go to the Start Screen, right-click in an empty area, and then select All apps.
    * Right-click Command Prompt, and select Run as administrator.
    * Type "recimg /createimage <target location>" while entering the path to where you want to save the backup image.

Then you can later restore your PC to the latest image by using the Refresh feature within the PC Settings in Windows or via the boot menu.

Windows 8 Apps for IT Professionals

There has been much controversy over Windows 8 with the replacement of the Start Menu--especially in regards for use by business or productivity users. But you might as well get the most out of the new metro-style Start Screen if you've upgraded.

Here we'll discover some apps you might find useful as an IT or networking professional that you can run on your Windows 8 PC, laptop, or even your tablet running Windows 8 RT.

What's IP
This app display your local and Internet (WAN) IP address on the live title. Plus you can open the app to view further network information: host name, profile name, connection type, authentication, encryption, subnet mask, IPv6 address, and connectivity status (local and/or Internet access).

IP Subnet Calculator
Lets you calculate network addresses and subnets. Input the IP address, adjust the Subnet Mask via a slider control and it displays Subnet Bits, Host Bits, Max Subnets, and Max Hosts. It also shows the Subnet (Network) and Broadcast addresses and the host range.

Rackspace Cloud
If you use the Rackspace Cloud, this app lets you control and manage your Cloud Servers and Cloud Files. You can perform the basic functions for your Cloud Servers: reboot, rename, resize, rebuild, create, or delete Cloud Servers, and manage backup schedules. You can also ping IP addresses to your Cloud Servers from multiple locations around the world. For Cloud Files, you can control CDN settings and create, delete, modify containers. You can also create, download, or open the files to your device. You can also manage your Load Balancers: view, create, update, and delete Cloud Load Balancers and add or remove nodes to Cloud Load Balancers.

The app also supports a passcode lock to protect the app and your cloud services and even wipes the app's data after ten failed login attempts.

PC Monitor
Lets you remotely monitor and manage computers and servers that you've installed their agent software onto. You can monitor computer resources like network performance, IIS, Exchange, Active Directory, and Hyper-V. You can also run tasks, execute commands in a terminal, manage running processes and services, check and apply updates, restart, shut down and wake your computers. It supports notifications and customized alerts.

Their free service supports up to 5 computers with no subscription payment required and no time limitation.

Simple Network Tools
This app doesn't provide any live title display, but when you open it you'll find some useful tools: What's My IP to view your Internet (WAN) IP address, Lookup to get basic ownership details of an IP or domain, DNS Records to retrieve the DNS server addresses and records of an IP or domain, Ping to check an IP or domain's status, and Trace to check the server path and latency of an IP or domain.

Remote Desktop
This Microsoft app provides a simple RDP client while still supporting RemoteApp connections and Remote Desktop Gateways. Although they still include the original client desktop program, this provides remote desktop connections in the metro-style interface.

TeamViewer Touch
If you use TeamViewer for remote desktoping, this app lets you access remote machines with their Partner ID or you can log into your account to view your list of computers. Though this app doesn't support incoming or VPN connections (you still must install the desktop application for those), it does support encrypted remote desktop connections to Windows, Mac, or Linux machines, with reboot and multi-monitor support.

Ping
Let's you test the connection quality between your computer/device and servers on the local network or the Internet. Instead of sending ICMP packets that are typically blocked by firewalls, it establishes a TCP/IP connection and works on both IPv4 and IPv6 networks. It can help you measure packet loss percentages and round-trip times. It supports simultaneous pinging of multiple hosts and displays data in nice visual manner

Router CoCPit
This app lets you control and monitor a UPnP capable router, displaying details like up- and download speed, connection statistics and status, IP-addresses, and device details. It also offers quick access to the router's configuration interface. Plus the app can help with configuring your router or troubleshooting your internet connection.

PcWakeUp
This app allows you to wake-up remote PCs that are compatible with Wake-On-Lan or Wake-On-Wan. You can save remote PC details (MAC address and IP or hostname) and quickly send the "magic" packet in the future.

mFTP
Provides a full FTP client with the usual functionality: download, upload, create, rename, and moving files. Plus you can also modify their access permissions.

Hyper-V Manager
This apps lets you manage your Hyper-V server's virtual machines, provided you have their service component installed on your Hyper-V server machine (Windows 8 or Windows Server). You can view server status and amount of memory free. You can view screenshots of virtual machines and start, pause, and save them. The app supports multiple servers and Active Directory domains.

MyData Viewer
Lets you view MySQL 5.x databases, displaying a list of tables with a Modern UI style. It uses Secure Password Authentication over TCP/IP protocol to connect to MySQL databases via the Intranet or Internet. A future release will add new features for MySQL query data.

New Data Recovery Options in Windows 8

Microsoft introduces three new data backup and recovery features in Windows 8: File History, Refresh, and Reset. File History allows users to restore deleted files or previous versions of files. Refresh lets you restore the Windows system files—much like System Restore—and Reset is essentially a factory restore option. Here you'll discover exactly what each of these recovery features does and how to use them.

File History Replaces the Previous Files Feature

The File History feature is basically an enhanced version of the Previous Versions feature introduced back in Windows 7. Both create incremental backup copies of files that you can restore in case you accidentally delete or modify them, or if they become corrupt. You can go in and restore a file or folder to a previously saved state.

In Windows 7, file backups for Previous Versions were made when Windows created a new system restore point (usually daily) or when a Windows Backup was initiated. Once you enable File History in Windows 8, however, it's set by default to take snapshots of new or changed files every hour. Additionally, File History must backup to an external drive or network location, whereas Previous Versions in Windows 7 backed up to your main Windows drive. If using an external drive you can still use the drive for other storage purposes, but keep in mind you want it plugged into the computer as much as you can.

To access the File History settings in Windows 8, open the Control Panel: put your cursor in the bottom left corner of Windows, right-click, and select Control Panel, and then open File History.


File History settings in the Control Panel.

If you have an external drive plugged in you can simply click Turn On, otherwise you can choose a network location for the backups.

From the File History Control Panel applet you can click "Restore personal files" to open a File History browser to navigate through the saved versions of files and initiate a backup.


Browsing through the saved versions of files created from File History.

Alternatively, when you're browsing through files in Windows Explorer, you can always hit the History button to view its saved copies of File History.


This is the button you can hit when browsing files to access it's previously saved copies.

In the Advanced Settings of File History, you can customize how often to save copies of files, maximum percentage of disk space to use, and how long to keep the saved copies. For workgroup environments you might also want to recommend the File History drive to others in the Homegroup.


Here you can change the advanced settings of File History.

Refresh offers a New Repair Install Option

Refresh is like an improved version of the Repair Install option offered back in Windows XP. When you do a Refresh it backs up all the personal files and metro-style apps before reinstalling Windows. It doesn't, however, retain the traditional desktop applications but it puts a list of them in an HTML file on the desktop. However, if a backup image of the PC was created ahead of time, Refresh will restore your PC to that image, which would include the desktop applications that were installed.

The best part of Refresh: Microsoft claims that the process can take less than 10 minutes regardless of how much personal data is backed up.

You can initiate a Refresh via the metro-style Settings app:

  1. Bring up the right charms bar and select Settings.
  2. Choose Change PC settings.
  3. Select the General settings tab.
  4. On the right under the "Refresh your PC without affecting your files" section, select the Get started button.


Here's where you'd initiate a Refresh.

Performing a Reset

Reset is like the Microsoft approach to a complete factory restore, typically offered by PC vendors. It's useful when you want to recycle or sell your computer. After you transfer your personal files over to a new computer you can do a Reset on the old one to completely wipe it, so no traces of personal data are left.

Performing a Reset would remove all data and then reinstall Windows, putting it in the same condition as when it was started the first time. This process take anywhere from less than 10 minutes to up to 25 minutes, according to Microsoft.

The Regular Reset option formats the drive before reinstalling Windows, while the Thorough option writes random patterns to every sector of the drive, to reduce the chances of data being recoverable.

You can initiate a Reset via the metro-style Settings app:

  1. Bring up the right charms bar and select Settings.
  2. Choose Change PC settings.
  3. Select the General settings tab.
  4. On the right under the "Remove everything and reinstall Windows" section, select the Get started button.


Here's where you'd initiate a Reset.

23 Apr 2013

Windows Server 2012 Storage Virtualization Explained

Windows Server 2012 Storage Space subsystem now virtualizes storage by abstracting multiple physical disks into a logical construct with specified capacity. The process is to group selected physical disks into a container, the so-called storage pool, such that the total capacity collectively presented by those associated physical disks can appear and become manageable as a single and seemingly continuous space. Subsequently a storage administrator creates a virtual disk based on a storage pool, configure a storage layout which is essentially a RAID level, and expose the storage of the virtual disk as a drive letter or a mapped folder in Windows Explorer.

With multiple disks presented collectively as one logical entity, i.e. a storage pool, Windows Server 2012 can act as a RAID controller for configuring a virtual disk based on the storage pool as software RAID. However the scalability, resiliency, and optimization that the Storage Space subsystem delivers are much more than just what a software RAID offers. Therefore Windows Server 2012 presents Storage Space subsystem as a set of natively supported storage virtualization and optimization capabilities and not just software RIAD, per se. I am using the term, software RAID, here to convey a well-known concept, however not as an equivalent set of capabilities to those of Storage Space subsystem.

Storage Space

This is an abstraction to present specified storage capacity of a group of physical disks as if the capacity is from one logical entity called a storage pool. For instance, by grouping four physical disks each with 500 GB raw space into a storage group, Storage Space subsystem enables a system administrator to configure the 2 TB capacity (collectively from four individual physical disks) as one logical, seemingly continuous, storage without the need to directly manage individual drives. Storage Space shields the physical characteristics and presents selected storage capacity as pools in which a virtual disk can be created with a specify storage layout (i.e RIAD level) and provisioning scheme, and exposed to Windows Explorer as a drive or a mapped folder. for consumption. The follow schematic illustrates the concept.



Storage Pool

A storage pool can consist of heterogeneous physical disks. Notice that a physical drive in the context of Windows Server 2012 Storage Space is simply raw storage from a variety of types of drives including USB, SATA, and SAS drives as well as an attached VHD/VHDX file as shown below. With a storage pool, Windows Server 2012 presents the included physical drives as one logical entity. The allocating the capacity of a storage pool is to first create a virtual disk based on the storage pool followed by creating and mapping a volume Later a drive letter or an empty folder. And with the mapping, the volume based on a virtual disk of a storage pool will appear and work just like a conventional hard drive or folder in Windows Explorer.



The process to create a storage pool is straightforward with the UI from Server Manager/File and Storage Services/Volumes/Storage Pools. Over all, first group all intended physical disks into a storage group. Create a virtual disk based on the storage group. Then create volume based on the virtual disk and map the volume to a drive letter or an empty folder. At this time, the mapped drive letter or folder becomes available in Windows Explorer. By organizing physical disks into a storage pool, simply add disks to as needed expand the physical capacity of the storage pool. A typical routine to configure a storage pool as software RAID in Server Manager includes:
  • Connect physical disks and attach VHD/VHDX files to a target Windows Server 2012.
  • Go to File and Storage Services/Volumes/Storage, notice Primordial storage pool includes all unallocated physical disks.
  • Right-click Primordial, or click the TASKS drop-down list of STORAGE POOLS pane to create a storage pool with selected physical disks.
  • Upon creating a storage pool, start the New Virtual Disk wizard in VIRTUAL DISKS pane and select the storage pool created in step 3. The wizard will later present the available storage layouts where Simple, Mirror, and Parity are in essence software RAID settings of RAID 0, RIAD 1, and RAID 5, respectively, providing the number of physical disks are sufficient for an intended RAID configuration. Pick a Provisioning scheme (Thin or Fixed) and specify the size to create a virtual disk.
  • Upon creating a virtual disk, right-click the virtual disk created in step 4 and bring it online as needed followed by creating a new volume which can be assigned to a disk drive letter or mounted on a pre-existing empty folder.
  • Upon creating a volume, the assigned disk drive letter or mounted folder becomes available in Windows Explorer.
In step 4, two storage provisioning schemes are available. Shown as below, Thin provisioning of a virtual disk optimizes the utilization of available storage in a storage pool via over-subscribing capacity with just-in-time allocation. In other words, the pool capacity used by a virtual disk with Thin provisioning is according to only the size of the files on the virtual disk, and not the defined size of the virtual disk. While Thin provisioning offers flexibility and optimization, the other virtual disk provisioning scheme, Fixed, is to acquire specified capacity at disk creation time for best performance.



Storage Layout

While creating a virtual disk based on a storage pool form Server Manager/File and Storage Services/Volumes/Storage Pools, there are three levels of software RAID available as illustrated below. These RAID settings are presented as options of Windows Server 2012 Storage Layout including:
  • Simple - This is a stripe set without parity or mirroring by striping data across multiple disks, similar to RAID 0. Compared with a single disk, this configuration increases throughput and maximizes capacity. There is however no redundancy and it does not protect data from a disk failure.
  • Mirror - This is a mirror set without striping or parity by duplicating data on two or three disks, similar to RAID 1. It increases reliability with reduced capacity. This configuration requires at least two disks to protect data from a single disk failure, or at least five disks to protest from two simultaneous disk failure.
  • Parity - This is a striped set with distributed parity by striping data and parity information across multiple disks, similar to RAID 5. It increases reliability with reduced capacity. This configuration requires at least three disks to protect data from a single disk failure, and cannot be used in a failover cluster.

User Experience

A storage administrator can configure storage virtualization, namely storage pools, virtual disks, etc., of local and remote servers with either Server Manager/Volumes/Storage Pools interface, PowerShell, or even Disk Manager. The following is a screen capture of a configured storage pool with a 6 TB virtual disk with RAID 5 level mounted on the S drive. And in case some wonder, no, I did not have 6 TB storage capacity and it was done by Thin provisioning to over-subscribe what the physical disks were actually offering.