SharePoint

SharePoint Server 2016 IT Preview Image in Windows Azure Platform Gallery

SharePoint Server 2016 IT Preview is now available in the Windows Azure Platform Gallery.  The image is based on the current Windows Server 2012 R2 Datacenter release and includes a complete installation of SharePoint Server 2016 IT Preview.

Getting Started

To get started with SharePoint Server 2016 IT Preview on Windows Azure navigate to the Windows Azure Portal (https://manage.windowsazure.com/) and sign-in with your credentials.

Select + New.

Select Compute, click Virtual Machine and then click From Gallery

On the Create Virtual Machine Dialog click Platform Images and then click SharePoint Server 2016 IT Preview.

MSAzure

Click -> Next.

Complete the remaining details to provision your virtual machine.

NOTE

Extra Large, A6, or A7 are the recommended virtual machine sizes recommended for use with SharePoint Server 2016 IT Preview.

The virtual machine contains a complete installation of SharePoint Server 2016 IT Preview and expires on February 23, 2016.  SharePoint Server 2016 IT Preview and prerequisites are preinstalled with links to SharePoint 2016 Central Administration, the SharePoint 2016 Management Shell, and SharePoint Products Configuration on the Start screen. SQL Server 2014 with Service Pack 1 or SQL Server 2016 CTP 2.2 is required to complete the configuration.

This image can be configured using the available roles in the SharePoint Products Configuration Wizard.

Resources

SharePoint Deployment on Windows Azure Virtual Machines
http://www.microsoft.com/en-us/download/details.aspx?id=34598

SharePoint 2013 on Windows Azure Infrastructure
http://msdn.microsoft.com/en-us/library/windowsazure/dn275958.aspx

Installing SharePoint 2013 on Windows Azure Infrastructure Services
http://msdn.microsoft.com/en-us/library/windowsazure/dn275959.aspx

Automate Windows Azure SharePoint Deployments
https://github.com/WindowsAzure/azure-sdk-tools-samples/wiki/Automated-Deployment-of-SharePoint-2013-with-Windows-Azure-PowerShell

SharePoint and Windows Azure Development Kit
http://www.microsoft.com/en-us/download/details.aspx?id=24398

Standard
Administration, SharePoint

SharePoint Server 2013 Trial Image in Windows Azure China Platform Gallery

The SharePoint Server 2013 Trial image is now available in the Windows Azure China Platform Gallery.  The image is based on the current Windows Server 2012 Datacenter release and includes a complete installation of SharePoint Server 2013 Enterprise Trial patched with the March Public Update.

NOTE

Additional configuration is required to use the SharePoint Server 2013 Trial image include 1) a database server running SQL Server 2008 R2 or SQL Server 2012 2) a server running AD DS.

The current SharePoint Server 2013 Trial image will expire on September 22, 2014 unless activated using the appropriate product key.  See also http://technet.microsoft.com/en-us/library/cc263204(v=office.14).aspx.

Resources

SharePoint Deployment on Windows Azure Virtual Machines
http://www.microsoft.com/en-us/download/details.aspx?id=34598

SharePoint 2013 on Windows Azure Infrastructure
http://msdn.microsoft.com/en-us/library/windowsazure/dn275958.aspx

Installing SharePoint 2013 on Windows Azure Infrastructure Services
http://msdn.microsoft.com/en-us/library/windowsazure/dn275959.aspx

Automate Windows Azure SharePoint Deployments
https://github.com/WindowsAzure/azure-sdk-tools-samples/wiki/Automated-Deployment-of-SharePoint-2013-with-Windows-Azure-PowerShell

SharePoint and Windows Azure Development Kit
http://www.microsoft.com/en-us/download/details.aspx?id=24398

Standard
Administration, Events

Quick Starting Demos with Windows PowerShell

Preparing virtual machines for demonstrations can be a tedious process, compounding this is when virtual machines need to be started or shut down in a specific order.  For example, starting database servers prior to starting web servers, or starting the preferred active node before the passive node.  Starting those machines; however, is only a portion of the process, in most cases you will want them to be “available” before starting a subsequent machine.  For example, having an iSCSI Target available before the consuming iSCSI initiators are available.  Windows PowerShell, is perfect to support this scenario – it’s something I use almost everyday and have shared an example (below) of how you can accomplish all of these tasks…

So what does it do?

Provides parameters to Start/Shut Down one or more virtual machines.

Checks for process elevation, escapes if the script is not run elevated.

Starts the Hyper-V Virtual Machine Management Service if not running.

Iterates through an array of virtual machines stored in a .txt file.

Starts each virtual machine in the .txt file and waits for the heartbeat status to report ‘OK’ before starting the next virtual machine in the list.  Virtual machines are started in the order they appear in the source file, waiting ensures a clean start up – particularly where a defined start order with dependencies exists.

Shuts down virtual machines in the reverse order they were started by reading the source file bottom to top.  Waits for the virtual machine heartbeat status to report ‘’ before processing the next virtual machine.

Displays a progress bar to report on the status of the operation.

Script

[CmdletBinding(ConfirmImpact="Low")]

Param(
     [Parameter(Mandatory=$True,Position=0,ValueFromPipeline=$False,HelpMessage="Operation to perform on one or more virtual machines.")][ValidateSet("Start","Stop")]
     [String]$operation,
     [Parameter(Mandatory=$True,Position=1,ValueFromPipeline=$False,HelpMessage="Collection of virtual machines on which operation is to be performed.")][ValidateNotNullorEmpty()]
     [String]$source
)

$ErrorActionPreference = "Stop"

Process
{
     $identity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
     $principal = New-Object System.Security.Principal.WindowsPrincipal($identity)
     $role = [System.Security.Principal.WindowsBuiltInRole]::Administrator
     $elevated = $principal.IsInRole($role)

     If ($operation -eq "Start")
     {
         $service = Get-Service -Name vmms

         If ($service.Status -ne "Running")
         {
             Try
             {
                 If ($elevated)
                 {
                     Start-Service $service

                     Write-Host "Starting the Hyper-V Virtual Machine Management Service."

                     Start-Sleep -s 10

                     Clear-Host
                 }
                 Else
                 {
                     Write-Host "Requires elevation."
                     break
                 }
             }
             Catch
             {
                 [System.Exception]
                 Write-Host "Could not start Virtual Machine Management Service."
                 break
             }
         }

         $exists = Test-Path "$(Get-Location)$source.txt" 

         If ($exists -eq $True)
         {
             Try
             {
                 $list = Get-Content "$(Get-Location)$source.txt"
             }
             Catch
             {
                 [System.Exception]
                 break
             }
         }
         Else
         {
             Write-Host "The file could not be found: $source.  The document name or path is not valid."
             break
         }

         For ( $count = 0; $count -lt $list.Count; $count++
         { 
             $guest = $list[$count]

             $progress = 100 / $list.Count * ($count + 1)

             Write-Progress -Activity "Starting virtual machine…" -CurrentOperation "Starting…" -Status $guest -PercentComplete $progress

             Try
             {
                 If ($elevated)
                 {
                     Start-VM -Name $guest
                 }
                 Else
                 {
                     Write-Host "Requires elevation."
                     break
                 }
             }
             Catch
             {
                 Write-Host "Could not start virtual machine(s)."
                 break
             }

             Write-Progress -Activity "Starting virtual machine…" -CurrentOperation "Waiting…" -Status $guest -PercentComplete $progress

             do {Start-Sleep -milliseconds 100
             until ((Get-VMIntegrationService $guest | ?{$_.name -eq "Heartbeat"}).PrimaryStatusDescription -eq "OK")
         }
     }

     ElseIf ($operation -eq "Stop")
     {
         $exists = Test-Path "$(Get-Location)$source.txt" 

         If ($exists -eq $True)
         {
             Try
             {
                 $list = Get-Content "$(Get-Location)$source.txt"
             }
             Catch
             {
                 [System.Exception]
                 break
             }
         }
         Else
         {
             Write-Host "The file could not be found: $source.  The document name or path is not valid."
             break
         }

         For ($count = $list.Length1; $count -ge 0 ; $count)
         { 
             $guest = $list[$count]

             $progress = 100 / $list.Count * ($count + 1)

             Write-Progress -Activity "Stopping virtual machine…" -CurrentOperation "Stopping…" -Status $guest -PercentComplete $progress
    
             Try
             {
                 Stop-VM -Name $guest
             }
             Catch
             {
                 Write-Host "Could not stop virtual machine."
                 break
             }

             Write-Progress -Activity "Stopping virtual machine…" -CurrentOperation "Waiting…" -Status $guest -PercentComplete $progress

             do {Start-Sleep -milliseconds 100
             until ((Get-VMIntegrationService $guest | ?{$_.name -eq "Heartbeat"}).PrimaryStatusDescription -ne "OK")
         }

         Start-Sleep -s 10

         If ($elevated)
         {
             Try
             {
                 Stop-Service vmms
                 Write-Host "Stopping the Hyper-V Virtual Machine Management Service…"
             }
             Catch
             {
                 [System.Exception]
                 Write-Host "Could not stop the Hyper-V Virtual Machine Management Service."
                 break
             }
         }
         Else
         {
             Write-Host "Requires elevation."
             break
         }

         Clear-Host
     }
}

Usage

Using the scripts requires 1) saving the attached script as <name>.ps1 2) creating source .txt file with virtual machines listed in the preferred start up order.  For example,

Machine1

Machine2

Machine3

3) Saving the script and source .txt file in the same location.

4) Running the script as <name>.ps1 –Operation Start –Source <name>

Standard
Administration, SharePoint

Setting up a SharePoint 2013 Development Environment 101

Step 1 Prepare the Operating Environment

Preparation of your development environment is determined by the apps you will develop and the systems you have access to.  If you want to distribute apps for SharePoint through an app catalog, such as apps for SharePoint will full control permissions, a local installation of SharePoint 2013 is required; otherwise an Office 365 Development Site can be used. 

NOTE

Apps for SharePoint will full control permissions are not supported on an Office 365 site.

To learn more about Apps for SharePoint see Apps for SharePoint overview.

—————————————

This article provides the necessary steps to setup and configure a local installation of SharePoint 2013 and begin developing apps.

SharePoint 2013 products cannot be directly installed on a client operating system such as Windows 7 or Windows 8; however, building and configuring a development environment on a client operating system such as Windows 8 that supports Hyper-V is supported.  Where access to a development environment is not available that supports local development you can use an Office 365 Development Site.  An Office 365 Developer Site is preconfigured for app isolation and OAuth, and enables you to develop on any computer and operating system on which you can install Visual Studio 2012.

See How to: Set up an environment for developing apps for SharePoint on Office 365 for instructions on how to setup an Office 365 Developer Site.

The following options are available to deploying a development environment:

  • Install SharePoint on Windows Server 2008 R2 Service Pack 1 x64 (or Windows Server 2012).
  • Use Microsoft Hyper-V or a SVVP validated hypervisor and install SharePoint on a virtual machine running a Windows Server 2008 R2 Service Pack 1 x64 or Windows Server 2012 guest operating system.

Installation of SharePoint 2013 is supported only on Windows Server 2008 R2 Service Pack 1 or Windows Server 2012. If you want to develop apps for SharePoint for SharePoint 2013 on Windows 7, you can sign up for an Office 365 Developer Site and develop apps remotely. See How to: Set up an environment for developing apps for SharePoint on Office 365.

If you’d like to perform Windows Azure Workflow based development you’ll need to install SharePoint 2013 and any domain controllers on separate servers, Windows Azure Workflow service cannot be installed on a domain controller. 

Where developing for Office Web Apps 2013 an additional server will be required to run Office Web Apps.

Step 2 Install Hyper-V Features on Windows 8
Before virtual networks and machines can be created to host SharePoint 2013, Hyper-V features must be installed on Windows 8. To install Hyper-V Features on Windows 8:

  1. Navigate to Control Panel | Programs | Programs and Features and select Turn Windows features on or off
  2. On the Windows Features dialog select Hyper-V from the list of available options (this will install the Hyper-V Management Tools and Hyper-V Platform).

Step 2.1 Create a Virtual Network  
Hyper-V enables the configuration of complex virtual network environments; however, the basic concept of virtual networking is straightforward.  Virtual networks are similar to physical networks with the exception of the physical network switch which in virtual networks is implemented in software.  Ports are added or removed as they are needed when virtual machines are connected to or disconnected from a virtual network.

The Virtual Network Manager provides three distinct virtual network configurations to define various network topologies for virtual machines and the virtualization server.  These configurations include External, Internal, and Private virtual networks.

External Virtual Networks

External virtual networks provide virtual machines with access to the physical network to communicate with external servers and clients, such as domain controllers, etc.  External virtual networks also enable virtual machines on the same virtualization server to communicate with each other.  An external virtual network may also be made available for use by the management operating system.

NOTE

If you’re using Windows Server 2008 R2 as your management operating system on your virtualization server, wireless networks are not supported.  An external virtual network provides access to a physical network through a wired physical network adapter. Wireless networks with Hyper-V are supported in Windows 8 and Windows Server 2012 operating systems.

Internal Virtual Networks  
Internal virtual networks enable communication between virtual machines on the same virtualization server and between the virtual machines and the management operating system.  Internal virtual networks are most commonly used to build test environments where virtual machines need be to connected to from the management operating system.  Internal virtual networks are not bound to a physical network adapter, as a result are isolated from all external network traffic.  When developing apps for SharePoint you should at minimum have one external virtual network available for Internet access.

Private Virtual Networks  
Private virtual networks enable communication only between virtual machines on the same virtualization server, and like Internal virtual networks are not bound to a physical network adapter.  Private virtual networks are isolated from all external network traffic on the virtualization server, as well any network traffic between the management operating system and the external network.  Private virtual networks are recommended only when you need to create an isolated networking environment, such as an isolated test domain.

Prior to creating your virtual machines, you will need to setup virtual networks to enable access to the Internet and communication between each other.

The following steps will guide you through creating an Internal and External virtual network.

  1. In Hyper-V Manager, in the Actions pane, click Virtual Network Manager. Virtual Network Manager opens.
  2. First, create a virtual network that virtual machines can use to connect to the Internet:
  3. In the list of virtual networks, click External, and then click Add.
  4. In the Name box for the new virtual network, change the name to External Network.
  5. If you have more than one network adapter installed in the virtualization server, in the list of external network adapters, click the network adapter that you want your virtual machines to use.
  6. To create the new virtual network, click Apply. If the Apply Network Changes dialog box appears, review the warning information, and then click Yes.
  7. Next, create a virtual network that the virtual machines and the virtualization server can use to share files:
  8. In the left navigation pane, click New virtual network.
  9. In the list of virtual networks, click Internal, and then click Add.
  10. In the Name box for the new virtual network, change the name to Internal Network.
  11. To create the new virtual network, click Apply.
  12. To close Virtual Network Manager, click OK.

Drawing1

    NOTE

    If you want to review detailed information about virtual networks in Hyper-V, see Configuring Virtual Networks in the Hyper-V Planning and Deployment Guide.

    Step 2.3 Create Virtual Machines

    The number of virtual machines needed to support your development environment depends on the type development you’ll be performing:

    If developing customizations for Office Web Apps 2013 you’ll need a separate server to host Office Web Apps.  Office Web Apps 2013 cannot be installed on the same server where SharePoint 2013 is installed. 

    If Windows Azure Workflow is a dependency you’ll need a separate server to host Windows Azure Workflow service.  Windows Azure Workflow service cannot be installed on a domain controller.

    The New Virtual Machine Wizard provides you with a simple and flexible way to create a virtual machine. The New Virtual Machine Wizard is available from Hyper-V Manager.

    When you use the wizard, you have two basic options for creating a virtual machine:

    You can use default settings to create a virtual machine without proceeding through all the configuration pages of the wizard. This type of virtual machine is configured as follows:

    Name New Virtual Machine
    Location Default location configured on the virtualization server
    Memory 512 MB
    Network Connection Not Connected
    Virtual Hard Disk Dynamically Expanding (127GB)
    Installation Options No media specified
    SCSI Controller No disks connected

    You can use settings that you specify on the configuration pages to create a virtual machine that is customized for your needs.

    To create a customized virtual machine:

    1. Open Hyper-V Manager. Click Start, point to Administrative Tools, and then click Hyper-V Manager.
    2. From the Action pane, click New, and then click Virtual Machine.
    3. Proceed through the pages of the wizard to specify the custom settings that you want to make. You can click Next to move through each page of the wizard, or you can click the name of a page in the left pane to move directly to that page.
    4. After you have finished configuring the virtual machine, click Finish.

    Additional Considerations
    By default, membership in the local Administrators group, or equivalent, is the minimum required to complete this procedure.

    You can customize the settings on as many or as few pages of the New Virtual Machine Wizard as you want, and then click Finish to complete the process. Default values are used for any pages that you did not customize before completing the wizard.

    For virtual machine sizing information see also Hardware and software requirements for SharePoint 2013.

    Regardless of which method that you use to create a virtual machine, you can change the configuration later by modifying the virtual machine settings.

    Step 2.4 Install and Operating System and Integration Services
    SharePoint 2013 supports Windows 2008 R2 Service Pack 1 x64 and Windows Server 2012 operating systems.

    A guest operating system is the operating system that you install and run in a virtual machine. Before you can install the guest operating system, if you did not specify the location of the installation media when you created the virtual machine, you will need to perform one of the following steps:

    Obtain the installation media for the operating system and configure the virtual machine to use the CD/DVD drive to access the installation media. If you want to perform a network-based installation, configure the virtual machine to use a legacy network adapter that is connected to an external virtual network. This type of network provides connectivity to a physical network by routing traffic through an external virtual network to a physical network adapter.

    After you have configured the virtual machine appropriately, you can install the guest operating system.

    To install the guest operating system:

    1. Open Hyper-V Manager. Click Start, point to Administrative Tools, and then click Hyper-V Manager.
    2. Connect to the virtual machine. From the Virtual Machines section of the results pane, using one of the following methods:    Right-click the name of the virtual machine and click Connect or Select name of the virtual machine. In the Action pane, click Connect.
    3. The Virtual Machine Connection tool opens.
    4. From the Action menu in the Virtual Machine Connection window, click Start.
    5. The virtual machine starts, searches the startup devices, and loads the installation package.
    6. Proceed through the installation.

    To install integration services:

    1. Connect to the virtual machine. From the Virtual Machines section of the results pane, using one of the following methods:   Right-click the name of the virtual machine and click Connect or Select the name of the virtual machine. In the Action pane, click Connect.
    2. The Virtual Machine Connection tool opens.
    3. From the Action menu of Virtual Machine Connection, click Insert Integration Services Setup Disk. This action loads the setup disk in the virtual DVD drive.
    4. Depending on the operating system being installed, you may need to start the installation manually. Click anywhere in the guest operating system window and navigate to the CD drive. Use the method that is appropriate for the guest operating system to start the installation package from the CD drive.
    5. After the installation finishes, all integration services are available for use.

    NOTE

    The use of Virtual Machine Connection within a Remote Desktop Services session is not supported unless integration services are installed.

    Step 3 Install SharePoint 2013 Products
    Before you begin installation, make sure that you have met all hardware and software requirements. For more information, see Hardware and software requirements for SharePoint 2013.  For installation guidance see Install SharePoint 2013.

    NOTE
    A domain is required to deploy SharePoint Server 2013.  If you do not have an isolated virtual domain available to deploy SharePoint Server 2013, you must create a virtual domain on a Hyper-V that is configured to use the following:

    • A domain controller with Active Directory Domain Services (AD DS)
    • A domain controller with a DNS server
    • You can deploy SharePoint Server on a domain controller; however, this scenario is not supported in production environments.

    Step 4 Install Development Tools

    Step 4.1 Install Visual Studio 2012  
    Install Visual Studio 2012 from your installation media or optionally start installing Visual Studio by visiting the Visual Studio Downloads on the MSDN website and then choosing the edition you want to download.  For additional information on installing Visual Studio 2012 refer to the Visual Studio Administrators Guide (http://msdn.microsoft.com/en-us/library/ee225238.aspx).  

    NOTE

    If you run Windows Server 2008 R2 with Hyper-V enabled and an accelerated graphics adapter, you may experience system slowdowns. This may affect customers who want to use the graphics-rich Visual Studio 2012 environment while they use Hyper-V for testing.  To avoid these slowdowns, you can ensure that the system supports a feature known as "Nested Page Tables" (AMD), "Rapid Virtualization Indexing" (AMD), or "Extended Page Tables" (Intel). This feature is present on AMD Phenom and Opteron processors, and on Intel Nehalem processors (Core i7 series, Xeon 5500 series). The processor feature is the preferred option because it enables full graphics performance and functionality without system slowdowns.

    For more information, see also Video performance may decrease when a Windows Server 2008 or Windows Server 2008 R2 based computer has the Hyper-V role enabled and an accelerated display adapter installed.

    Step 4.2 Install Office and SharePoint Development Tools

    1. Download and install Office and SharePoint Development Tools or if you have installed Visual Studio 2012:
    2. In Control Panel, on the Programs and Features page, choose the product edition to which you want to add one or more components, and then choose Change.
    3. In the Setup wizard, choose Modify, and then choose the Office and SharePoint Development Tools to install.
    4. Choose Next, and then follow the remaining instructions.

    Step 4.3 SharePoint Server 2013 Client Components SDK
    Download and install the SharePoint Server 2013 Client Components SDK from http://www.microsoft.com/en-us/download/details.aspx?id=30355. The SharePoint Server 2013 Client Components SDK can be used to enable remote and local development with SharePoint Server 2013.

    Step 4.4 Install Apps For SharePoint
    Download and install Apps for SharePoint from http://technet.microsoft.com/en-us/evalcenter/hh973397.

    Step 4.5 Configure an Isolated App Domain
    If you want to create and deploy SharePoint-hosted apps on your SharePoint 2013 installation, you must create an isolated domain on the developer workstation where your apps for SharePoint will run. Your SharePoint 2013 installation needs a general wildcard host header domain where it can provision SharePoint-hosted apps.

    This domain should be a URL namespace that you reserve as a namespace for organizing apps.

    Perform the steps in the following procedure to create an isolated app domain.

    Start the SPTimer and Admin Services

    Open the SharePoint 2013 Management Shell and run the following commands:

    NET START SPAdminV4
    NET START SPTimerV4

    Create an Isolated App Domain 

    Open the SharePoint 2013 Management Shell and run the following commands:   Set-SPAppDomain "App Domain"

    Ensure the SPSubscriptionSettingsService and AppManagementServiceInstance are available.

    Open the SharePoint 2013 Management Shell and run the following command:  Get-SPServiceInstance | where{$_.GetType().Name -eq "AppManagementServiceInstance" -or $_.GetType().Name -eq "SPSubscriptionSettingsServiceInstance"} | Start-SPServiceInstance

    You must specify an account under which the SPSubscriptionService and AppManagementServiceInstance service instances will run. This account must be a SPManagedAccount. You can create an SPManagedAccount by typing the following command in the SharePoint Management Shell.

    Open the SharePoint 2013 Management Shell and following the steps below:
    $account = New-SPManagedAccount

    Specify an account, application pool, and database settings for the SPSubscriptionService and AppManagementServiceInstance services by typing the following code in the SharePoint Management Shell. If you created a SPManagedAccount in the preceding step, use that account name here.

    $account = Get-SPManagedAccount "domainuser"
    $appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account
    $appPoolAppSvc = New-SPServiceApplicationPool -Name AppServiceAppPool -Account $account
    $appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB
    $proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc
    $appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPoolAppSvc -Name AppServiceApp -DatabaseName AppServiceDB
    $proxyAppSvc = New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc
        

    Specify your tenant name by typing the following code in the SharePoint Management Shell.
    Set-SPAppSiteSubscriptionName -Name "app" -Confirm:$false

    After you create your isolated app domain, perform the steps in the following procedure to add that domain to your bypass list in Internet Explorer. This ensures that you can navigate to this domain after you deploy a SharePoint-hosted app.

    1. In Internet Explorer, click Tools, and then click Internet Options.
    2. On the Connections tab, select LAN Settings, and clear the Automatically detect settings check box.
    3. Select the Use a proxy server for your LAN check box.
    4. Choose the Advanced button, and then add *.App Domain.com to the Exceptions list.
    5. Click OK.
    6. Click OK to close the Local Area Network (LAN) Settings dialog box.  
    7. Click OK to close the Internet Options dialog box.

    Step 5 Create Hyper-V Images

    Hyper-V images enable reuse of your virtual environment.  The Hyper-V role in Windows Server 2008 Service Pack 2 provides infrastructure and management tools that enable you to create multiple server environments on a single host.

    To programmatically create a virtual hard drive using an existing Windows image see the Install-WindowsImage Windows PowerShell script in the MSDN Code Gallery.

    Recommendations and Notes

    Troubleshooting App Deployment Issues 

    Error deploying Provider Hosted SharePoint App "Error occurred in deployment step ‘Install App for SharePoint’:  Failed to install App for SharePoint."

    Event Log:
    A certificate validation operation took 18605.0341 milliseconds and has exceeded the execution time threshold.  If this continues to occur, it may represent a configuration issue.  Please see http://go.microsoft.com/fwlink/?LinkId=246987  for more details.

    Common Issues:
    Certificate validation time out
    Workstation does not have Internet connectivity, adding crl.microsoft.com to HOSTS will generally resolve the issue.

    "Error occurred in deployment step ‘Install App for SharePoint’: The specified identifier * is invalid or does not exist."

    If you’re using <RemoteWebApplication ClientId="*" /> the * client ID only works if you are using ACS as the trust broker; otherwise if deploying to Office Store you’ll need to use high trust apps, you’ll also need need the clientId for high trust apps using S2S (see http://msdn.microsoft.com/en-us/library/fp179901(v=office.15).aspx).

    Standard
    Administration, SharePoint

    System Center Virtual Machine Manager Self-Service Portal 2.0 Service Pack 1 Beta

    System Center Virtual Machine Manager Self-Service Portal 2.0 is a pre-built, role-based, self-service portal for both datacenter managers and business unit IT consumers to simplify the provisioning of infrastructures for their applications and services.  The System Center Virtual Machine Manager Self-Service Portal 2.0 provides automated workflows designed to help on-board business unit IT departments and enables partners to expose their unique hardware capabilities through familiar Microsoft scripting technologies.

    System Center Virtual Machine Manager Self-Service Portal 2.0 Service Pack 1 Beta

    Built on Windows Server 2008 R2, Hyper-V technology, and System Center Virtual Machine Manager, the System Center Virtual Machine Manager Self-Service Portal 2.0 Service Pack 1 Beta enables you to offer infrastructure as a service, and respond more effectively to the rapidly changing needs of your organization.

    What’s new in System Center Virtual Machine Manager Self-Service Portal 2.0 Service Pack 1 Beta

    System Center Virtual Machine Manager Self-Service Portal 2.0 Service Pack 1 Beta provides users the ability to import virtual machines created outside the self-service portal but managed by System Center Virtual Machine Manager and additionally to re-import virtual machines previously removed.  Fully supported by Microsoft, the System Center Virtual Machine Manager Self-Service Portal 2.0 SP1 Beta is a partner-extensible solution that enables customers to dynamically pool, allocate, and manage their computer, network, and storage resources to deliver a private cloud platform inside their datacenter.

    Get started with the System Center Virtual Machine Manager Self-Service Portal 2.0 Service Pack 1 Beta

    Standard
    Administration, SharePoint

    Resources for Virtualizing SharePoint 2010

    As more organizations seek to reduce operating and capital expenditures, solve the challenges of datacenter density, and provide elasticity to their SharePoint deployments – virtualization becomes the focal point of discussion.  SharePoint 2010 provides more flexibility in support of virtualization and similar to other server technologies requires proper planning to ensure those goals are met.

    SharePoint 2010 Virtualization

    Support and Licensing

    [All elements of Microsoft SharePoint Server 2010 are fully supported when deployed in a Windows Server 2008 Hyper-V technology environment. In addition, any related or required supporting technologies are also supported.]

    [Support for SharePoint Server 2010 virtualization includes third-party virtualization technologies that are hosted or hardware-based, and certified by Microsoft. For more information about certification and participating vendors, see the Server Virtualization Validation Program (SVVP) (http://go.microsoft.com/fwlink/?LinkId=125649).]

    [Every element of a SharePoint farm that is installed on a virtual machine must comply with the licensing requirements for SharePoint Server 2010 as well as related and supporting technologies.]

    Source: TechNet Library

    Architecture

    Prior to planning the physical architecture, a thoroughly planned and designed logical architecture should exist through which the physical architecture will ultimately be determined, and subsequently the underlying virtualization architecture.

    Architecture Resources

    Virtualization Resource Center (SharePoint Server 2010)

    This SharePoint 2010 Resource Center provides information about Hyper-V to help you learn about virtualization, in addition to articles and models to help you plan for, deploy, and use Microsoft SharePoint Server 2010 in a virtual environment.

    Virtualization Planning (SharePoint Server 2010)

    This TechNet article contains information designed to help you plan and implement a server virtualization solution for Microsoft SharePoint Server 2010 server farms.

    Plan virtual architectures (SharePoint Server 2010)

    This TechNet article discusses key considerations for planning virtual architectures by using Microsoft SharePoint Server 2010 server roles. This article does not include performance or capacity planning data or recommendations. It describes general guidance for planning virtual environments and includes example architectures for small, medium, and large size farms.

    Plan for virtualization (SharePoint Server 2010)

    This TechNet article describes the planning process to follow in order to successfully deploy Microsoft SharePoint Server 2010 in a virtual environment.

    Capacity Management and High Availability in a Virtual Environment (SharePoint Server 2010)

    This TechNet article provides information about capacity management and high availability for a virtual environment hosting Microsoft SharePoint Server 2010.

    Physical Architecture (SharePoint Server 2010)

    This TechNet article describes the SharePoint 2010 physical architecture, which consists of one or more servers and the network infrastructure, enables you to implement the logical architecture for a SharePoint Server solution.

    Business Continuity Management

    Business continuity management plans will become slightly more complex to support the additional server roles that become part of the deployment, the host servers.  Business continuity management plans should include both the virtualization architecture and SharePoint 2010 taking both into consideration as server machines are distributed across the virtualization architecture.

    Business Continuity Management Resources

    Business Continuity Management Resource Center (SharePoint Server 2010)

    This SharePoint 2010 Resource Center contains resources to help you set your business continuity management strategy, including backup and recovery, availability and disaster recovery, and versioning and item-level recovery.

    Hyper-V: Using Hyper-V and Failover Clustering

    This TechNet guide walks you through the steps required to set up Hyper-V™ and the Failover Clustering feature to use these two technologies together.

    Capacity Management and High Availability in a Virtual Environment (SharePoint Server 2010)

    This TechNet article provides information about capacity management and high availability for a virtual environment hosting Microsoft SharePoint Server 2010.

    Planning for Backup (Hyper-V)

    When you plan a backup and recovery strategy for a virtualized server environment, there are several factors to consider. You must consider the different types of backups you can make, the state of the virtual machine, and the type of storage being used by the virtual machines. This TechNet article discusses the advantages, disadvantages, and considerations for these factors.

    SQL Server Virtualization

    Support and Licensing

    SQL Server 2008 Support and Licensing FAQ’s can be viewed at SQL Server 2008 Virtualization FAQ.

    SQL Server Virtualization Resources

    SQL Server 2008 Virtualization

    High Performance SQL Server Workloads on Hyper-V

    This whitepaper describes the advantages of deploying Microsoft SQL Server database application workloads to a virtualization environment using Microsoft Windows Server 2008 R2 Hyper-V.  It demonstrates that Hyper-V provides the performance and scalability needed to run complex SQL Server workloads in certain scenarios.

    Running SQL Server 2008 in a Hyper-V Environment – Best Practices and Performance Recommendations

    This document addresses right-sizing hardware to consolidate workloads and capacity planning challenges of running Microsoft SQL Server in a Hyper-V environment to include:

    • System resource overhead imposed by running SQL Server in a Hyper-V environment
    • How well Hyper-V scales running SQL Server 2008

    This whitepaper describes the series of test configurations run, which represented a variety of possible scenarios involving SQL Server running in Hyper-V.  The paper discusses the results and observations, and it also presents recommendations.

    Microsoft Exchange Server, SQL Server, SharePoint Server Mixed Workload on Microsoft Hyper-V and NetApp Fabric MetroCluster

    This document showcases the simplicity of architecting a robust infrastructure with Microsoft Windows Server 2008 R2 Hyper-V in a virtual environment with NetApp storage, to provide the ability to maintain HA for both the computing and storage resources between the primary and secondary sites and complete disaster recovery in the event of the loss of a whole site.

    The Benefits of Virtualizing Microsoft SQL Server in Hitachi Storage Environments

    This paper discusses the specific benefits that organizations can achieve by virtualizing Microsoft SQL Server in Hitachi Adaptable Modular Storage or Hitachi Universal Storage Platform environments.

    Microsoft SQL Server 2008 Server Consolidation

    Additional Resources

    TechNet Webcast: Microsoft Virtualization Best Practices for SharePoint (Level 200)
    https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032433237&CountryCode=US

    TechNet Webcast: Deep Dive – Microsoft Virtualization Best Practices for SharePoint 2010 (Level 300)
    http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032443103&EventCategory=5&culture=en-US&CountryCode=US

    Blog Post: SharePoint Virtualization Notes

    Standard