 |
vSERV/vSERV NAS Module Design and Performance Tuning |
|
|
 |
|
|
 |
 |  |
 |  |  |
 | The following is a design and performance-tuning overview for vSERV NAS Module— and vSERV— software from Colorado Software Architects, Inc.
vSERV NAS Module
vSERV NAS Module is an administrative tool for Network Attached Storage systems running Windows 2000 Server. The software-administration interface is accessed through the Microsoft Server Appliance Kit 2.0, allowing configuration on a headless NAS system.
vSERV
vSERV is an administrative tool for servers running Windows 2000 Server. It is a stand-alone Windows application presenting the same configuration options as vSERV NAS Module, but though the standard Windows GUI.
Both applications present users an aggregated view of directories and files on an assigned set of storage resources that is separated from the physical setup of devices comprising the system. This virtual view of a multi-device file system allows administrators to make physical changes to the system that are completely invisible to users. This added level of abstraction also reduces or eliminates common administrative tasks allowing more efficient use of storage resources and the administrator's time.
|  |
 |  |  |
 |  |  |
|
 |
 |  |
 |  |  |
 | 1.1 Key Concepts
vSERV and vSERV NAS Module present an aggregated, or unified, view of multiple servers or NAS devices. Unlike Microsoft's Distributed File System (DFS), that requires any given level of a directory to exist on a single, physical server, vSERV and vSERV NAS Module allow directories to span multiple devices enabling storage to scale seamlessly. The applications extend the capabilities of the native file system such that placement of data can be managed at the time of file creation to ensure that the user does not encounter out-of-space errors.
1.1.1 Storage Groups
System administrators may configure storage groups that are a collection of devices that present themselves as a single storage pool. This feature allows for easy segmentation of storage resources for security and performance purposes.
1.1.2 File-System Attributes
The vSERV and vSERV NAS Module product goal is to honor NTFS security and minimize any impact to the NTFS performance and stability. Access to aggregated storage inherits all of the underlying attributes of the NTFS file system and is transparent to the end user and system administrator.
1.1.3 High-Water Marks
High-water marks are the threshold at which the software begins placing data on alternate devices. For example, a high-water mark of 75% can be set which means that once 75% of the available space is consumed, all new files created will be written to another device in the storage pool. The user is unaware that the data is written to another device, seeing only the aggregated volume.
1.1.4 File Spanning
Even though vSERV and vSERV NAS Module actively manage data placement to avoid encountering out-of-space errors with high-water marks, file spanning is also required. Files that already exist on a given device may be extended on that device even if the high-water threshold has been exceeded. A file can also be created that exceeds the size of any given device. During a file write, if the end of physical media is encountered, the software continues writing the file to another device with available disk space. The spanned file appears to the user as if it exists on a single device.
1.2 Basic Architecture
The fundamental component of both vSERV and vSERV NAS Module is 1Vision's patented Persistent File System (PFS). PFS provides the seamless extensions to NTFS required producing a truly compatible, scalable, intelligent distributed file system. As stated earlier, the goal of the software is to not disrupt the capabilities of NTFS but to extend those capabilities. vSERV and vSERV NAS Module are Installable File Systems (IFS), but all data access is performed by NTFS resulting in the best of both worlds. Users see a single file system that seamlessly aggregates all of their servers and retains full compatibility with the underlying NTFS.
The PFS further provides a set of interfaces that simplifies the creation of storage-management applications and provides for strong integration with the overall storage system. In addition, vSERV NAS Module leverages Microsoft's Server Appliance Kit (SAK) HTML interface to directly integrate with industry-standard NAS devices based on the Microsoft SAK platform. Conversely, vSERV is a standard Windows application and does not require access through the SAK.
1.2.1 Software Components
The software components that are installed to a vSERV NAS Module-enabled device range from kernel-level code required to extend the file-system functions to application-level code associated with the SAK user interface.
1.2.1.1 Kernel Level Modules
Two kernel-level modules are loaded when vSERV NAS Module is installed:
- VNAS.SYS — This module provides the file-system driver used to support all vSERV NAS Module operations
- VNASDB.SYS — This module provides database access functions for use by vnas.sys
1.2.1.2 Application-Level Modules
Three application-level modules are loaded when vSERV NAS Module is installed:
- VNASSVC.EXE — A service module that provides all configuration-related functions for vSERV NAS Module
- VNASCONFIG.DLL — A support .dll that provides configuration functions for the vnassvc.exe
- VNASREG.DLL — A support .dll that provides registry-edit functions for vnassvc.exe
1.2.2 Security
vSERV and vSERV NAS Module preserve the underlying security methods used by the native file system. In the present case where NTFS is the native file system, all NTFS security constructs, such as ACL's, are preserved. User privileges are based on the domain to which the user is a member.
1.3 Installation Requirements
- The devices to be aggregated must have one of the applications (vSERV NAS Module or vSERV) installed
- Device OS is Windows 2000 Server Edition
- An electronic key issued from Colorado Software Architects to unlock the software for number of licenses purchased
- All devices to be aggregated must be in the same domain
- Each NAS device running vSERV NAS Module must have the Microsoft Server Appliance Kit installed (Does not apply to vSERV)
1.4 Installation on New or Existing Systems
Either application can be installed on new storage devices prior to their use allowing the software to monitor the file system as it grows. This strategy ensures orderly aggregation of resources as the complexity of a directory increases.
It can also be installed on existing systems with established directory structures. Aggregation of existing systems may produce file-collision errors if two or more devices contain complete or partial parallel directory structures.
1.5 Configuration
Installation of vSERV NAS Module adds a configuration tab to the SAK's HTML interface. The same configuration options are presented in vSERV through the standard Windows application GUI.
The configuration options are used to:
- Enable the device for aggregation — PFS allows the storage device to communicate and share file-system information with other enabled devices
- Create aggregation groups — PFS allows the storage device to communicate and share file-system information with other enabled devices
- Set High-water marks — A percentage of the device's overall capacity that when reached, data will be written in accordance with the allocation algorithms to other available resources within the group
- Create share points — Create a common share point the group uses to access the aggregated-directory view
- Administer group resources — Assign aggregated volumes for use by a group
1.6 Storage Allocation Algorithms
Placement of newly created files and directories adhere to the following rules:
The configuration options are used to:
- A new directory or file created at the root level is created on the device to which the user is attached.
- A new directory or file created on a given path that is unique to a single device is created on the device that contains the path.
- If the path for a given create operation exists on multiple machines, and if the user is attached to one of the devices that contains the path, then the create operation is done on the device to which the user is attached. Otherwise, the create operation is done on the device with the most available space.
- File extends are always done on the device that contains the file. If the end of available space is encountered, the file is spanned to the device that contains the same path. If the path does not exist on any other device the file is extended to the device with the most available space.
- When an device's high-water mark is reached, the software selects a new destination by the following rules:
- A search is performed for the same directory on other devices within the group's defined resources.
- If multiple devices have the same directory, the software selects the one with the most available storage space.
- If no device contains the same directory, the software selects the one with the most available space.
- If all available devices have reached their high-water marks, the software selects the one with the most available space.
1.7 Setup Example
When configuring your server or NAS system into a virtual file system, devices are assigned to a particular group. The configuration screens are used to create storage groups, assign share points for each, select operational parameters, and allocate available resources.
For example, if a company wishes to divide its resources between two storage groups (Marketing, and R&D), an enabled device's storage space can be assigned to one group. When the software aggregates a group's directory, users will see all files on all devices to which they have assigned rights as a single aggregated directory. All NTFS rights are respected within directory views. Although groups share resources, confidentiality and security are maintained.
In the following example, the administrator has created aggregated storage for each group. Devices shown can represent either servers and NAS devices for vSERV, or NAS devices for vSERV NAS Module.

Within the configuration screen, the administrator has assigned devices 1 and 2 to Marketing, and devices 3, 4, and 5 to R&D. Device 6 is reserved for future expansion.
Changing allocations or adding a new server to the system is as easy as returning to the configuration screen and making a few mouse clicks. vSERV and vSERV NAS Module simplify the entire administration and expansion of any NAS- or server-based storage system.
|  |
 |  |  |
 |  |  |
|
 |
 |  |
 |  |  |
 | Through their respective interfaces, vSERV and vSERV NAS Module have easy mechanisms for configuration of enabled devices. Design is such that once a device is enabled, all devices and storage groups can be administered from any one device. Changes made through one device are communicated to all enabled devices.
2.1 Enabling Device Participation
The participation screen is provided to the system administrator to enable a particular device to be part of the aggregation group. By enabling participation, other enabled nodes will see the device and allow it for inclusion in storage groups. The system administrator is also given the opportunity to define a volume or the portion of the volume for which aggregation will be performed.
vSERV NAS Module
(Click on the image to enlarge.)

In vSERV NAS Module, the additional two options for e-mail notification of server events are provided. Event notification is a function of the SAK and is not available in vSERV.
When the options are selected, the administrator will be notified by e-mail when these events occur:
- Display an alert when this server reaches its High Water Mark — High-water marks determine a specific percentage of the device's overall capacity that, when reached, vSERV NAS Module will stop writing to the device and shift to an available device within the aggregated group (the high-water value is selected in the Configure vSERV NAS Module screen).
- Display an alert when a vSERV NAS Module server is not responding — Notification is sent when an aggregated device fails or does not respond for any reason.
vSERV
2.2 Configuring Devices
The configure screen allows the definition of all aggregation or storage groups. New groups can be defined by entering the group name, selecting a high-water mark, entering a new share-point name, then selecting Create Group.
High-water marks are defined from a drop-down list of values ranging from 75% to 100%. The high-water mark is applied across all participating devices in the aggregation group.
A share point must be defined for an aggregation group. The software then creates this share point on all participants in the aggregation group. This share point is the point to which clients may attach to see the aggregated view of all participating devices.
Devices may be added or removed from an aggregation group at any time. The one restriction is that a device may belong to only one aggregation group at a time.
vSERV NAS Module
(Click on the image to enlarge.)

vSERV
2.3 Using the New Aggregated Group
The new group is available to all network users immediately upon setup. Users can see and access any file to which they have rights in the share point's virtualized directory, including those on other devices.
2.4 Adding New Storage Devices
Add additional storage by:
- Physically installing a new device running SAK and vSERV NAS Module
- Enabling the new device
- Adding the device to the group
- Assigning user rights
Group members will see only the files within the aggregated directory to which they have rights.
2.4.1 Number of Devices and Capacity
There are no limitations on the number of devices or total capacity that can be included in an aggregation group.
2.5 Non-Windows Clients
vSERV and vSERV NAS Module support all client types supported by Windows 2000. The appropriate Windows services must be installed on the device that non-Windows clients connect to. These clients may use NFS, AppleTalk or similar protocols as supported by Windows.
|  |
 |  |  |
 |  |  |
|
 |
 |  |
 |  |  |
 | vSERV and vSERV NAS Module provide a platform with excellent scalability characteristics. There are four fundamental configuration items that ensure optimal performance.
- Distribute client machines or drive mappings across all servers and vSERV NAS Module devices. This leverages the processing resources of all devices instead of relying on a single server for all connections.
- Map all clients to the device most likely to contain the client's data to minimize inter-server communications.
- Coalesce heavily used directories aggregated across multiple devices to avoid hops between servers.
- Off-load specific network traffic to a dedicated network. Configuring each device with a second network interface card (interconnecting the NICs on a private network) eliminates the vSERV NAS Module- and vSERV-specific communications from the primary network.
Colorado Software Architects is currently developing plug-in management modules that will automate all of these performance-tuning suggestions. The goal of vSERV and vSERV NAS Module is to remove as many storage-management tasks from the administrator and end users as possible.
|  |
 |  |  |
 |  |  |
|
 |
 |  |  |
 | Copyright © 2002 Colorado Software Architects, Inc. All rights reserved. |  |
 |  |  |
 |  |  |
|
 |
|
2004 - 2009 © Colorado Software Architects, Inc. All rights reserved. |
|