dnp_logo_big.png

 

 

 

DotNetPanel VPS Solution Configuration Guide

 

 

 

 

DotNetPanel VPS Solution Guides

Wednesday, 20 May 2009

Version: 1.1


 

Table of Contents

1      Introduction. 3

2      Installing and Configuring Hyper-V. 3

2.1      Enabling Remote Management 3

2.2      Checking Windows Updates. 3

3      DotNetPanel VPS Configurations. 4

3.1      Single Server 4

3.2      Dedicated Control Server 4

3.3      Dedicated Control Server and Domain Controller 5

4      Installing DotNetPanel Components. 5

5      Creating Solution Folders. 6

6      Creating OS Templates Library. 6

7      Creating DVD Media Library. 6

8      Setup Networking. 7

9      VPS Networking Management 8

9.1      External Network Only. 9

9.2      External and Management Networks. 10

9.3      External, Management and Private Networks. 11

10    Configuring Hyper-V Module. 11

10.1    Adding Server 11

10.2    Installing Licenses. 12

10.3    Adding Service. 13

10.4    Creating Pool of External IP Addresses. 18

10.5    Creating Virtual Server 19

10.6    Setting VPS Policy. 19

10.7    Setting VPS Summary mail template. 19

10.8    Creating Hosting Plan. 22

10.9    Creating User Account 23

10.10   Creating Hosting Space. 23

10.11   Allocating Hosting Space IP Addresses. 23

11    Changes History. 24

12    Summary. 24

 

1            Introduction

This guide describes the steps required to correctly setup and configure Hyper-V module in DNP Control Panel. These steps should be completed before creating customer first VPS.

2            Installing and Configuring Hyper-V

2.1      Enabling Remote Management

If you plan to manage from DNP remote (where DNP Server is not installed or cannot be installed on virtualization server) Windows Server 2008 Server Core with Hyper-V role or Hyper-V Server 2008 then you may use “HVRemote” tool to correctly setup Hyper-V remote management: http://code.msdn.microsoft.com/HVRemote

For manual steps of how to configure Hyper-V remote management you could check series of articles of “HVRemote” tool author in his own blog:

http://blogs.technet.com/jhoward/archive/2008/03/28/part-1-hyper-v-remote-management-you-do-not-have-the-requested-permission-to-complete-this-task-contact-the-administrator-of-the-authorization-policy-for-the-computer-computername.aspx

2.2      Checking Windows Updates

Please make sure you have the following KB950050 update installed on the Virtualization server:

http://www.microsoft.com/downloads/details.aspx?FamilyId=F3AB3D4B-63C8-4424-A738-BADED34D24ED&displaylang=en

You could see the list of installed Windows updates here: Control Panel -> Programs and Features -> Installed updates.

More info about KB950050 update: http://support.microsoft.com/kb/950050

3            DotNetPanel VPS Configurations

3.1      Single Server

3.2      Dedicated Control Server

3.3      Dedicated Control Server and Domain Controller

4            Installing DotNetPanel Components

DotNetPanel application has truly-distributed architecture and consists of three separate applications (components):

·         DNP Portal – user interface part of DotNetPanel

·         DNP Enterprise Server - provisioning framework comprising all application business logic.

·         DNP Server – “agent” application to perform low-level operations on controlled server.

Please see this article for more information about how DotNetPanel works.

If you are planning to have a dedicated DNP control server then only DNP Portal and DNP Enterprise Server should be installed there. However, if this server also should be managed from DNP (for example control server is a web server in the same time) it must have DNP Server installed.

Before installing DNP Enterprise Server install SQL Server 2005 or 2008 Express edition for internal DNP Enterprise Server meta-base. Make sure you have “Mixed” security mode enabled when both Windows and SQL Server authentications are allowed.

Please see this article for more information about installing DotNetPanel components: http://help.dotnetpanel.com/Installation%20Guide/Home.aspx

5            Creating Solution Folders

It is recommended to store virtual machines on a separate hard disk volume. It would simplify their backup procedure (VM backup procedure is described in a separate DNP VPS solution guide). For example, system volume is C: and Hyper-V virtual machines are created on M: volume. VPS OS templates, media library ISO images and exported virtual machines could be stored on system drive or also on a dedicated volume.

We recommend developing some folders structure, for example customer virtual machines are stored in M:\VPS\Customers folder and master VMs (“technician” virtual machines used to create OS templates) are in M:\VPS\Master folder.

You could have the following folders structure that is suitable for a single server deployment:

·         C: (system)

o    \VPS

§  \Templates - operating system templates (VHD files with index.xml file)

§  \Library - DVD media library (ISO files with index.xml file)

§  \Exported - exported VPS

·         M: (data)

o    \VPS

§  \Customers – customer VPS

§  \Master – master virtual machines

Of course, this is only a sample structure and you can have your own. For example, to be available on multiple Hyper-V servers you can store OS templates and Library files on network share or SAN.

6            Creating OS Templates Library

OS templates library folder contains Virtual Hard Disk (VHD) files with pre-installed operating system prepared for mass-deployment and the index.xml file containing the list of OS templates available to customers. OS templates are used for creating new VPS.

How to create VPS OS templates as well as format of index.xml file is described in details in separate guides available on DotNetPanel “VPS Solution” portal:

·         Preparing DotNetPanel VPS Templates with Windows Server 2008

7            Creating DVD Media Library

DVD Media Library folder stores ISO images of CD and DVD disks that customers could choose from and insert into DVD drives of their VPS.

The folder with .ISO files must contain index.xml file which contains the list of all available library disks and has the following structure:

<?xml version="1.0"?>

<items>

  <item path="iso-filename-WITH-EXTENSION">

    <name>disk title</name>

    <description>disk description</description>

  </item>

  <item path="item2">

      ...

  </item>

  <item path="item3">

      ...

  </item>

  ...

</items>

For example:

<?xml version="1.0"?>

<items>

  <item path="en_windows_web_server_2008_x86_dvd_X14-26678.iso">

    <name>Windows Server 2008 Web Edition x86</name>

    <description>Windows Server 2008 helps IT professionals to increase the flexibility and reliability of their server infrastructure while offering developers a more robust web and applications platform for building connected applications and services.</description>

  </item>


  <item path="VS2008ExpressENUX1397868.iso">

    <name>Visual Studio 2008 Express Collection</name>

    <description>This DVD contains all the Express products as well as optional components in a single image (ISO) file.</description>

  </item>


</items>

If there are any national characters in this XML do not forget to save the file in UTF-8 encoding. You can select encoding on “Save As...” dialog in Notepad.

8            Setup Networking

If customer VPS should be connected to External network there is should be at least one "External" virtual network configured in Hyper-V. Default virtual network with the name "network adapter - Virtual Network" is created during Hyper-V role installation. If such network does not exist or you want to create another network bound to different network adapter (for example “Management network”) you can do it in "Virtual Network Manager" of Hyper-V Manager snap-in:

http://help.dotnetpanel.com/DotNetPanel%20VPS%20Solution/Hyper-V%20Module%20Pre-Deployment%20Tasks.aspx?Image=hyperv-virtual-network-manager.png&Revision=0

Later you will be selecting this network from the list to setup Hyper-V module in DNP.

9            VPS Networking Management

DotNetPanel solution can connect each VPS to up to 3 virtual networks with different automation “strategies”:

·         External Network

·         Management Network

·         Private Network

DNP provides intelligent IP addresses management all three networks. The following table best describes characteristics of each network:

Feature

External

Network

Management

Network

Private

Network

Purpose

VPS servers access the Internet through External network.

Used for VPS management as well as contains infrastructure services like Domain Controller, KMS, and Backup server.

Used for connecting VPS in customer hosting space into single “private” network for building complex secured environments.

Optional

Yes

Yes

Yes

Hyper-V virtual network type

External

External

Private

Can be enabled on hosting plan level

Yes

No

Yes

Can be enabled on service level

No

Yes

No

IP Addresses Pool

“VPS External Network”

“VPS Management Network”

Manual or auto-generated

Maximum number

Per Space – specified in the hosting plan.

1 per VPS

Per VPS – specified in the hosting plan.

DCHP settings supported

No

Yes

No

 

The following diagrams illustrate several VPS networking scenarios:

9.1      External Network Only

9.2      External and Management Networks

9.3      External, Management and Private Networks

10     Configuring Hyper-V Module

10.1   Adding Server

Login into DotNetPanel under "serveradmin" account (default password is "serveradmin") and open "Configuration -> Servers" page.

Register DNP Server installed on Hyper-V virtualization server by clicking "Add Server" button:

http://help.dotnetpanel.com/DotNetPanel%20VPS%20Solution/Hyper-V%20Module%20Installation.aspx?Image=hyperv-add-dnp-server.png&Revision=0 

Specify "Server URL" and "Server password" to the correct values selected during DNP Server installation.

Enter "DNP Remote Server" license ID into "License" field (you will install Hyper-V module license later) and uncheck "Search installer software" checkbox.

After DNP Server is successfully added you will be redirected to Server properties page:

http://help.dotnetpanel.com/DotNetPanel%20VPS%20Solution/Hyper-V%20Module%20Installation.aspx?Image=hyperv-add-dnp-server-properties.png&Revision=0 

10.2   Installing Licenses

On Server properties screen expand "Licenses" section and add Hyper-V module license. Finally you should have the following picture:

http://help.dotnetpanel.com/DotNetPanel%20VPS%20Solution/Hyper-V%20Module%20Installation.aspx?Image=hyperv-add-dnp-server-licenses.png&Revision=0 

Now make sure you have Enterprise-like licenses installed for DNP Enterprise Server. Open "Configuration -> Licenses" page from the top menu and see if there is "DotNetPanel Enterprise Edition" license in the list:

http://help.dotnetpanel.com/DotNetPanel%20VPS%20Solution/Hyper-V%20Module%20Installation.aspx?Image=hyperv-add-dnp-licenses.png&Revision=0 

The following legacy license types can be also used instead of DNP Enterprise Edition license:

·         DNP Gold license

·         DNP Monthly 2.0 license

Holders of the following licenses must upgrade to DNP Enterprise Edition in order to utilize Hyper-V Enterprise module:

·         DNP Enterprise Server x Web Sites

·         DNP Standard Edition Life-time

·         DNP Standard Edition Monthly

Please note, provided you have Enterprise, Gold or Monthly license it covers DNP Enterprise Server only and you should purchase separate licenses for Hyper-V module on each virtualization server.

10.3   Adding Service

Open HyperV-01 server properties and click "Add" link in "Virtual Private Servers" group.

Select "Microsoft Hyper-V" from the dropdown and specify service name, for example "Hypervisor" or "Hyper-V".

Service settings are pre-filled with default values which work in the most cases.

Please note, you can have as many Hyper-V services on the same server as required to cover different business use cases. For example, you can have several Hyper-V services with different settings to use in several hosting plans (different networking settings, VPS location, etc.).

10.3.1.  Hyper-V Server

Local mode:

Remote mode:

10.3.2.  General Settings

Setting

Description

VPS root folder

This is the root folder for virtual machines created by hypervisor. Make sure the folder patter uses enough number of substitution variables to avoid collisions between different user accounts. For example to place every VPS in its own folder and additionally group all VPS of particular user under his folder you can use the following pattern %SYSTEMDRIVE%\Hyper-V\VirtualMachines\[USERNAME]\[VPS_HOSTNAME]. In the most cases the default pattern %SYSTEMDRIVE%\Hyper-V\VirtualMachines\[VPS_HOSTNAME] will work well.

OS Templates path

Folder that contains .vhd files with pre-installed OS along with index XML file. Please see this article for more information about OS Templates folder setup.

Exported VPS path

Folder where VPS are exported. This value is used as a default value in Delete VPS, Re-install VPS, Repair VPS wizards.

 

10.3.3.  Processor Resource Settings

Setting

Description

Virtual machine reserve

Reserve of the total resources available to a virtual machine, specifies the percentage that is reserved for the virtual machine. This setting guarantees that the percentage you specify will be available to the virtual machine. This setting can also affect how many virtual machines you can run at one time. Default value is 0

Virtual machine limit

Limit of the total resources available to a virtual machine, specifies the maximum percentage that can be used by the virtual machine. This setting applies regardless of whether other virtual machines are running. Default value is 100.

Relative weight

Specifies how Hyper-V allocates resources to this virtual machine when more than one virtual machine is running and the virtual machines compete for resources. Default value is 100.

Please see this Microsoft forums post for more explanation of processor resource settings.

10.3.4.  DVD Media Library

Setting

Description

DVD Library path

Folder that contains .iso files with DVD and CD images along with index XML file. Please see this article for more information about DVD Library folder setup.

 

10.3.5.  Virtual Hard Drive

Setting

Description

Disk Type

Specifies the type of Virtual Hard Drive (VHD): either Dynamic or Fixed. VHD of fixed size immediately occupies allocated size on the physical hard disk, but virtual machines with fixed VHD demonstrate better performance.

 

Please be aware that creating VHD with a fixed size could take significant time to complete depending on the internal size of volume(s) inside VHD. For example if the maximum allowed internal size of template VHD is 100 GB then resulting VHD will be 100 GB in size on physical hard drive or network storage.

10.3.6.  External Network

Setting

Description

Connect to Network

Select external virtual network. VPS “External network” card (NIC) will be connected to this network. IP addresses are assigned from “VPS External Network” pool.

Preferred Name Server

IP address that will be set in “Preferred name server” field of TCP/IP protocol properties.

Alternate Name Server

IP address that will be set in “Alternate name server” field of TCP/IP protocol properties.

 

10.3.7.  Management Network

Setting

Description

Connect to Network

Select external virtual network. VPS “Management network” card (NIC) will be connected to this network.

Network Card Configuration

·         IP Addresses Pool – assign IP addresses from “VPS Management Network” pool.

·         DHCP – do not assign IP addresses from the pool and set “Assign IP addresses and DNS servers automatically (DHCP)” on “Management network” card.

Preferred Name Server

IP address that will be set in “Preferred name server” field of TCP/IP protocol properties.

Alternate Name Server

IP address that will be set in “Alternate name server” field of TCP/IP protocol properties.

 

10.3.8.  Private Network

Setting

Description

IP Addresses Format

·         Custom – allows specify initial IP address and network mask.

·         192.168.0.1/16 - generates IP addresses starting from 192.168.0.1 and with net mask 255.255.0.0;

·         172.16.0.1/12 - generates IP addresses starting from 172.16.0.1 and with net mask 255.240.0.0;

·         10.0.0.1/8 - generates IP addresses starting from 10.0.0.1 and with net mask 255.0.0.0

IP Address / CIDR

Allows specifying custom initial IP address and subnet mask.

Default Gateway

IP address that will be set in “Default gateway” field of TCP/IP protocol properties.

Preferred Name Server

IP address that will be set in “Preferred name server” field of TCP/IP protocol properties.

Alternate Name Server

IP address that will be set in “Alternate name server” field of TCP/IP protocol properties.

10.3.9.  VPS host name

Setting

Description

Host name pattern

This pattern used in VPS integration API web methods to generate VPS name if it is not specified in method call.

 

10.3.10.       Automatic Start Action

The option specifies what to do with VPS machines when Hyper-V virtualization server starts.

10.3.11.       Automatic Stop Action

The option specifies what to do with VPS machines when Hyper-V virtualization server shut downs.

10.4   Creating Pool of External IP Addresses

If customer VPS need to be connected to External network you should create the pool of available external IP addresses. Those IP addresses are real IP addresses assigned to Hyper-V virtualization server (or network) by data center or ISP.

Being logged under "serveradmin" open "Configuration -> IP Addresses" page:

10.5   Creating Virtual Server

Virtual Server in DNP gives you an ability to combine services located on different physical servers into one logical entity. Do not mix terms "Virtual Server" and "Vitual Parivate Server". Virtual server here is more like "Logical Server" (most probably it will be renamed in the future releases).

To add a new virtual server open "Configuration -> Virtual Servers' page and click "Add Virtual Server" button:

http://help.dotnetpanel.com/DotNetPanel%20VPS%20Solution/Hyper-V%20Module%20Installation.aspx?Image=hyper-v-virtual-servers.png&Revision=0

Add "Hypervisor" service from "HyperV-01" server:

http://help.dotnetpanel.com/DotNetPanel%20VPS%20Solution/Hyper-V%20Module%20Installation.aspx?Image=hyper-v-virtual-servers-add-servers.png&Revision=0

10.6   Setting VPS Policy

By modifying VPS policy on account level you have an ability to set requirements on VPS administrator password complexity.

Please see this article on how to change account policies.

10.7   Setting VPS Summary mail template

VPS Summary letter allows specifying template for the text displayed at "Help" page of VPS properties as well as e-mail message sent to the customer after VPS created.

To modify VPS Summary template open user account home page and click "Mail Templates" link at the right bottom toolbox.

The following substitution variables can be used in the message body and message subject:

#email# - true if being rendered to send by e-mail; otherwise false.

#creation# - true if being rendered in the time of VPS creation.

#space# - hosting space details representing the object with the following fields:

·         PackageId (int)

·         PlanId (int)

·         PackageName (string)

·         PurchaseDate

·         StatusId (int)

#user# - user account, space owner representing the object with the following fields:

·         UserId

·         Username (string)

·         Password (string)

·         Email (string)

·         FirstName (string)

·         LastName (string)

·         CompanyName (string)

·         IsDemo (bool)

·         RoleId (int)

#vm# - VPS object with the following fields:

·         Id

·         Name - full qualified VPS name, e.g. "vps01.domain.local"

·         Hostname - host part of VPS name (before the first dot), e.g. "vps01"

·         Domain - domain part of VPS name (DNS suffix), e.g. "domain.local"

·         OperatingSystemTemplate

·         AdministratorPassword

·         CpuCores

·         RamSize

·         HddSize

·         SnapshotsNumber

·         DvdDriveInstalled

·         BootFromCD

·         NumLockEnabled

·         StartTurnOffAllowed

·         PauseResumeAllowed

·         RebootAllowed

·         ResetAllowed

·         ReinstallAllowed

·         ExternalNetworkEnabled

·         PrivateNetworkEnabled

·         ManagementNetworkEnabled 

#external_nic# - object containing external network configuration with the following fields:

·         MacAddress – dash delimited MAC address of network adapter, for example “AA-BB-CC-11-22”.

·         SubnetMask – sub net mask of the first IP address (primary) in the list.

·         DefaultGateway – default gateway IP of the first IP address (primary) in the list.

·         PreferredNameServer

·         AlternateNameServer

·         IPAddresses - array of NIC IP addresses. Each element of this array represents the object with fields:

o    IPAddress

o    NATAddress

o    SubnetMask

o    SubnetMaskCidr – sub net mask in CIDR notation

o    DefaultGateway 

o    IsPrimary

#private_nic# - object containing private network configuration with the following fields:

·         MacAddress

·         SubnetMask

·         DefaultGateway

·         PreferredNameServer

·         AlternateNameServer

·         IPAddresses - array of NIC IP addresses. Each element of this array represents the object with fields:

o    IPAddress

o    SubnetMask

o    DefaultGateway

o    IsPrimary

#management_nic# - object containing management network configuration with the following fields:

·         IsDHCP

·         MacAddress

·         SubnetMask

·         DefaultGateway

·         PreferredNameServer

·         AlternateNameServer

·         IPAddresses - array of NIC IP addresses. Each element of this array represents the object with fields:

o    IPAddress

o    NATAddress

o    SubnetMask

o    DefaultGateway 

o    IsPrimary

Please see this page for more information about DotNetPanel templates.

You may use a special service page to test VPS templates (used in summary letter and Sysprep files) built into DNP that is available in your DNP installation by the following URL:

http://<portal-URL>/DesktopModules/DotNetPanel/VPS/TestVirtualMachineTemplate.aspx

You may download sample VPS summary template from VPS Solution resources page: http://www.dotnetpanel.com/Downloads/?CategoryID=10

Please see this page for more information about template engine library and its syntax: http://www.adersoftware.com/index.cfm?page=templateEngine2

10.8   Creating Hosting Plan

Before creating user accounts and hosting spaces you should create a hosting plan.

Being logged under "serveradmin" click "Hosting Plans" left menu item.

“Single Server” mode:

“Virtual Data Center” mode:

 

Please see this page for more information about creating hosting plan.

10.9   Creating User Account

To create a new user account open "Customers" page from the left menu at user home page and click "Create User" button.

Fill user account details information and click "Create" button.

Please see this page for more information about creating user accounts.

10.10                Creating Hosting Space

Please see this page for more information about creating hosting spaces.

10.11                Allocating Hosting Space IP Addresses

IP addresses are allocating automatically in the time of hosting space creation. However, if you like to change them or allocate other ones you could do that on Hyper-V module “External Network” screen of customer hosting space.

Click “Allocate...” button if you need to allocate additional IP addresses.

11     Changes History

Version

Date

Author

Changes

1.0

12/01/2008

Feodor Fitsner

Initial document version.

1.1

05/20/2009

Feodor Fitsner

Added “NATAddress” property to #external_nic# and #management_nic# template objects.

12     Summary

This whitepaper described installation and configuration steps for DotNetPanel Hyper-V module.