You typically perform the following tasks when configuring Provisioning Servers in your farm.
After making any changes to a Provisioning Server’s properties, restart the Stream Service to implement those changes. Use caution when restarting services. If target devices are connected to the Provisioning Server, changes could prevent the device from reconnecting. The IP address field on the Network tab must reflect the real static IP address of the Provisioning Server.
Provisioning Server properties
On the Console, the Provisioning Server Properties dialog allows you to modify Provisioning Server configuration settings. To view an existing Provisioning Server properties, choose one of the following methods:
- Highlight a Provisioning Server, then select Properties from the Action menu.
- Right-click a Provisioning Server, then select Properties.
- If the details pane is open, highlight a Provisioning Server, then select the Properties menu item from the list of actions.
The Server Properties dialog includes the following tabs:
Provisioning Services displays a message if a change made on a Provisioning Server Properties dialog requires that the server be rebooted.
|Name and description||Displays the name of the Provisioning Server and a brief description. The maximum length for the server name is 15 characters. Do not enter FQDN for the server name.|
|Power rating||A power rating is assigned to each server, which is then used when determining which server is least busy. The scale to use is defined by the administrator. For example, an administrator may decide to rate all servers on a scale of 1 to 10, or on a scale of 100 to 1000. Using the scale of 1 to 10, a server with a rating of 2 is considered twice as powerful as a server with a rating of 1; therefore it would be assigned twice as many target devices. Likewise, when using a scale of 100 to 1000, a server with a power rating of 200 is considered twice as powerful as a server with the rating of 100; therefore it would also be assigned twice as many target devices. Using the default setting of 1.0 for all servers results in even device loading across servers. In this case, the load balancing algorithm does not account for individual server power. Ratings can range between 0.1-1000.0; 1.0 is the default.|
|Log events to the server’s event log||Select this option if you want this Provisioning Server’s events to be logged in the Windows Event log.|
The following options are assessible in the Advanced Server Properties window.
|Threads per port||Number of threads in the thread pool that service UDP packets received on a given UDP port. Between four and eight are reasonable settings. Larger numbers of threads allow more target device requests to be processed simultaneously, but is consumes more system resources.|
|Buffers per thread||Number of packet buffers allocated for every thread in a thread pool. The number of buffers per thread should be large enough to enable a single thread to read one IO transaction from a target device. So buffers per threads should ideally be set to (IOBurstSize / MaximumTransmissionUnit) + 1). Setting the value too large consumes extra memory, but does not hurt efficiency. Setting the value too small consumes less RAM, but detrimentally affects efficiency.|
|Server cache timeout||Every server writes status information periodically to the Provisioning Services database. This status information is time-stamped on every write. A server is considered ‘Up’ by other servers in the farm, if the status information in the database is newer than the Server cache timeout seconds. Every server in the farm will attempt to write its status information every (Server cache timeout/2) seconds, i.e. at twice the timeout rate. A shorter server cache timeout value allows servers to detect offline servers more quickly, at the cost of extra database processing. A longer Server cache timeout period reduces database load at the cost of a longer period to detect lost servers.|
|Local and concurrent I/O limits||Controls the number of concurrent outstanding I/O transactions that can be sent to a given storage device. A storage device is defined as either a local drive letter (C: or D: for example) or as the base of a UNC path, for example \ServerName. Since the PVS service is a highly multi-threaded service, it is possible for it to send hundreds of simultaneous I/O requests to a given storage device. These are usually queued up by the device and processed when time permits. Some storage devices, Windows Network Shares most notably, do not deal with this large number of concurrent requests well. They can drop connections, or take unrealistically long to process transactions in certain circumstances. By throttling the concurrent I/O transactions in the PVS Service, better performance can be achieved with these types of devices. Local device is defined as any device starting with a drive letter. Remote is defined as any device starting with a UNC server name. This a simple way to achieve separate limits for network shares and for local drives. If you have a slow machine providing a network share, or slow drives on the machine, then a count of 1 to 3 for the remote limit may be necessary to achieve the best performance with the share. If you are going to fast local drives, you might be able to set the local count fairly high. Only empirical testing would provide you with the optimum setting for a given hardware environment. Setting either count to 0 disables the feature and allows the PVS Service to run without limits. This might be desirable on very fast local drives. If a network share is overloaded, you’ll see a lot more device retries and reconnections during boot storms. This is caused by read/write and open file times > 60 seconds. Throttling the concurrent I/O transactions on the share reduces these types of problems considerably.|
|Maximum transmission unit||Number of bytes that fit in a single UDP packet. For standard Ethernet, the default value is correct. If you are attempting to operate over a WAN, then a smaller value may be needed to prevent IP fragmentation. Provisioning Services currently does not support IP fragmentation and reassembly. Also, if you are using a device or software layer that adds bytes to every packet (for security reasons for example), a smaller value may be needed. If your entire infrastructure supports jumbo packets (Provisioning Services NIC, target device NIC and any intervening switches and/or routers) then you can set the MTU to 50 bytes less than your jumbo packet max size to achieve much higher network throughput.|
|I/O burst size||The number of bytes that will be transmitted in a single read/write transaction before an ACK is sent from the server or device. The larger the IO burst, the faster the throughput to an individual device, but the more stress placed on the server and network infrastructure. Also, larger IO Bursts increase the likelihood of lost packets and costly retries. Smaller IO bursts reduce single client network throughput, but also reduce server load. Smaller IO bursts also reduce the likelihood of retries. IO Burst Size / MTU size must be <= 32, i.e. only 32 packets can be in a single IO burst before a ACK is needed.|
|Socket communications||Enable non-blocking I/O for network communications.|
|Boot pause records||The amount of time that the device will be told to pause if the Maximum devices booting limit has been reached. The device will display a message to the user and then wait Boot pause seconds before attempting to continue to boot. The device will continue to check with the server every Boot pause seconds until the server allows the device to boot.|
|Maximum boot time||The amount of time a device will be considered in the booting state. Once a device starts to boot, the device will be considered booting until the Maximum boot time has elapsed for that device. After this period, it will no longer be considered booting (as far as boot pacing is concerned) even if the device has not actually finished booting. Maximum boot time can be thought of as a time limit per device for the booting state for boot pacing.|
|Maximum devices booting||The maximum number of devices a server allows to boot at one time before pausing new booting devices. The number of booting devices must drop below this limit before the server will allow more devices to boot.|
|vDisk creation pacing||Amount of pacing delay to introduce when creating a vDisk on this Provisioning Server. Larger values increase the vDisk creation time, but reduce Provisioning Server overhead to allow target devices that are running, to continue to run efficiently.|
|License timeout||Amount of time since last hearing from a target device to hold a license before releasing it for use by another target device. If a target device shuts down abnormally (loses power for example) its license is held for this long.|
|IP address||The IP addresses that the Stream Service should use for a target device to communicate with this Provisioning Server. When adding a new Provisioning Server, enter the valid IP address for the new server. The following fields are including when viewing IP address information: Add — Add an IP address for the selected Provisioning Server; Edit — Opens the IP address dialog so that IP address for the selected Provisioning Server can be changed; Remove — Removes the selected IP address from the list of available IP addresses for the selected Provisioning Server.|
|Ports||Enter the First and Last UDP port numbers to indicate a range of ports to be used by the Stream Service for target device communications. Note: The minimum is five ports in a range. The default first port number is 6910 and the last port number is 6930.|
|Stores||Lists all stores (logical names representing physical paths to vDisks that are available to this Provisioning Server. This field includes the following options: Add — Opens the Store Properties dialog so that a new store and that store’s properties can be included in the list of stores, which overrides the default path; Edit — Opens the Store Properties dialog so that the store’s properties can be changed. Select an existing store, then click Edit to change that store’s properties; Remove — Removes the selected store from the list of available stores for this Provisioning Server.|
|Store properties||Includes the following fields: Store — The name of the store. This displays populated when editing an existing store. If this is a new store, select the store from the drop-down list; Path used to access the store — The store path is only required if you need to override the ‘default path’ configured in the store properties. If the default path in the store properties is valid for this server, leave the path for the store blank in the server store properties. Note: If setting an override store path on the Server’s Properties dialog, the path must be set prior to creating a new version of the vDisk. Because this path information is stored and referenced in the .vhdx header information, changing the path after versioning may cause unexpected results; Write cache paths — Click the Add or Edit buttons to open the Write cache path dialog, then enter the appropriate write cache path for this store. Select an existing path from the list, then click Remove to remove the paths association with the store. Use the Move Up and Move Down buttons to change the order of cache path priority. If configured for high availability, the order that the cache paths are listed must be the same order for each server.|
|Active directory||Automate computer account password updates — If target devices are domain members, and require renegotiation of machine passwords between Windows Active Directory and the target devices, select the Automate computer account password updates, and use the slider to set the number of days between renegotiation.|
|Enable automatic vDisk updates||Check to enable vDisks to update automatically, then set the time of day to check for updates.|
|Logging level||Select from the following logging level options: TRACE — TRACE logs all valid operations; DEBUG — The DEBUG level logs details related to a specific operation and is the highest level of logging. If logging is set to DEBUG, all other levels of logging information are displayed in the log file; INFO — Default logging level. The INFO level logs information about workflow, which generally explains how operations occur; WARN — The WARNING level logs information about an operation that completes successfully, but there are issues with the operation; ERROR — The ERROR level logs information about an operation that produces an error condition; FATAL — The FATAL level logs information about an operation that the system could not recover from.|
|File size maximum||Enter the maximum size that a log file can reach before a new file is created.|
|Backup files maximum||Enter the maximum number of backup log files to retain. When this number is reached, the oldest log file is automatically deleted.|
Copying and pasting properties
To copy the properties of one Provisioning Server to another Provisioning Server:
- Right-click on the Provisioning Server to copy properties from, then select Copy server properties. The Copy Server Properties dialog appears.
- Enable the checkbox next to each property to copy, or click the Select all button to enable all properties to be copied.
- Click Copy. Right-click on the Provisioning Server that you want to copy properties to, then select Paste.
Configuring Provisioning Servers manually
If you are setting up a remote Provisioning Server, or have special requirements, you will need to configure and start your Stream Services manually. The Configuration Wizard needs to be run on remote Provisioning Servers to insure that all settings are configured properly. Failure to run the Configuration Wizard may make it impossible for you to map a vDisk. Refer to the Installation and Configuration Guide if you are running the Configuration Wizard for the first time.
Re-running the Configuration Wizard
The Configuration Wizard can be used when updating the Stream Service if the IP address of your Provisioning Server changes. If you change your Provisioning Server’s IP address for any reason, simply re-run the Configuration Wizard and choose the new IP address when prompted to do so. Completing the Configuration Wizard resets the appropriate IP addresses in the configuration and restarts the Stream Service.
Starting and configuring the stream service manually
After configuring the Stream Service, you must start the service for the change to take effect. It is highly recommended to set the service to start automatically each time a Provisioning Server boots.
The Configuration Wizard starts and configures the necessary services to start automatically. Use the instructions in this section If you need to start and configure the services manually.
The Stream Service needs to be started in order for the Provisioning Server to operate. Start the following boot services if they have not yet been started:
- BOOTP Service or PXE Service
- TFTP Service
To manually start services:
- From the Windows Start menu, select Settings, and then click Control Panel.
- From the Control Panel, double-click the Administrative Tools icon.
- From the Administrative Tools window double-click on the Services icon. The Services window appears.
- From the Services window, right click on the service you want to start, then select Start.
To manually configure services to start automatically upon booting the Provisioning Server:
From the Windows Start menu, select Settings, then click Control Panel.
From the Control Panel, double-click the Administrative Tools icon.
From the Administrative Tools window double-click on the Services icon. The Services window appears.
Right-click the service you want to configure, then select Properties.
Change the Startup Type to Automatic to configure the service to start automatically each time the system boots.
Deleting a Provisioning Server
Occasionally, it may be necessary to delete a Provisioning Server from the list of available Provisioning Servers in a farm.
Before you can delete a Provisioning Server, you must first mark the server as down or take the server off line, otherwise the Delete menu option will not appear. The Stream Service can not be deleted.
When you delete a Provisioning Server, you do not affect vDisk image files or the contents of the server drives. However, you do lose all paths to the vDisk image files on that server.
After deleting a Provisioning Server, target devices are no longer assigned to any vDisk image files on that server. The target device records remain stored in the Virtual LAN Drive database, but the device cannot access any vDisk that was associated with the deleted Provisioning Server.
Note: If there are vDisks associated with the Provisioning Server being deleted, it is recommended that backup copies are created and stored in the vDisk directory prior to deleting.
To delete a Provisioning Server:
- In the Console, highlight the Provisioning Server that you want to delete, then select Show connected devices from the Action menu, right-click menu, or Action pane. The Connected Target Devices dialog appears.
- In the Target Device table, highlight all devices in the list, then click Shutdown. The Target Device Control dialog appears.
- Type a message to notify target devices that the Provisioning Server is being shut down.
- Scroll to select the number of seconds to delay after the message is received.
- If the Stream Service is running on the Provisioning Server, stop the Stream Service (Starting, Restarting or Stopping the Stream Service.
- Unassign all target devices from the Provisioning Server.
- Highlight the Provisioning Server you want to delete, then choose Delete from the Action menu, right-click menu, or Action pane. A delete confirmation message appears.
- Click Yes to confirm the deletion. The Provisioning Server is deleted and no longer displays in the Console.
Starting, stopping or restarting a server
Starting, stopping, or restarting Provisioning Services may result in unexpected behavior. For more information, see Servers.
To start, stop, or restart Provisioning Services on a Provisioning Server:
- Highlight the Provisioning Server in the Console, than select the Stream Services menu option from the Actions menu, right-click menu, or Actions pane. The Provisioning Server Control dialog appears.
- Select from the following menu options:
- Highlight the Provisioning Servers that you want to take action on, then click that action’s button.
- Click Close to exit the dialog.
|Start||Starts the Stream Service|
|Stop||Places the Provisioning Server in off-line mode|
|Restart||After modifying Provisioning Server settings, such as adding or removing IPs, restart the Stream Service|
To start or stop SOAP or Stream Services on a Provisioning Server, the user the services are running under must have Windows permissions to control those services. This limitation is due to a Window’s security issue.
To resolve this issue, install the subinacl tool from Microsoft https://www.microsoft.com/downloads/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en, then use the following command line to set the permissions on the StreamService:
subinacl /service streamservice /grant=NetworkService=TOP
PVS console fails to restart or stop
In some cases, the PVS console may fail to restart or stop services when running a stream service with a network service account. When this occurs, the service may appear in the started state, however, the console prevents you from restarting or stopping the stream service.
By default, a network service account does not have permissions to start/stop services.
For example, if services are configured with a network services account, running the configuration wizard results in an error condition. The status appears as running and streaming the vDisk, however, the service cannot be restarted or stopped:
You may be able to resolve this issue by associating the stream service with a specific account which has the required permissions to access the database. For example, if the services are configured with a specifc account (e.g.,
anuj.com\administrator), the status appears as started, and you can restart or stop the services from the PVS console:
In this article
- Provisioning Server properties
- General tab
- Server tab
- Network tab
- Pacing tab
- Device tab
- Network tab
- Stores tab
- Options tab
- Logging tab
- Copying and pasting properties
- Configuring Provisioning Servers manually
- Re-running the Configuration Wizard
- Starting and configuring the stream service manually
- Deleting a Provisioning Server
- Starting, stopping or restarting a server
- Important considerations