To plan for storage, you need to determine the storage components you want to deploy, including the type of storage, the location for storing database and log files, and decisions about components to be used for scalability and high availability.
Storage Components
Data Types and Storage
Planning a storage solution for Office Communications Server 2007 R2 requires knowing what types of data are generated and where each type is stored. The following table lists this information.
Table 1. Data Types and Storage
Type of data | Name of data store | Location |
---|---|---|
Persistent user data (for example, ACLs, contacts, home server or pool, scheduled conferences) |
RTC |
Enterprise Edition, back-end database; Standard Edition, Microsoft SQL Server 2005 Express with SP2. |
Persistent Office Communications Server 2007 R2 settings |
RTCConfig |
Enterprise Edition, back-end database; Standard Edition, SQL Server 2005 Express with SP2. |
Transient user data (for example, endpoints and subscriptions, and transient conferencing state) |
RTCDyn |
Enterprise Edition, back-end database; Standard Edition, SQL Server 2005 Express with SP2. |
Database containing global address information used by Address Book Web query service to support Address Book search queries from Communicator Mobile for Windows clients |
RTCab |
Enterprise Edition, back-end database; Standard Edition, SQL Server 2005 Express with SP2. |
Address Book download files created by Address Book Server and downloaded by Office Communicator, Office Communicator Phone Edition, and Office Communicator Attendant clients |
User-specified UNC path |
For Enterprise Edition, download files are stored in a user-created shared NTFS folder located on a dedicated file server on a separate computer (recommended) from the Enterprise Edition Front End Server. For Standard Edition, files are stored in <Microsoft Office Communications Server 2007 R2 installation folder>\Web Components\Address Book Files on the local Standard Edition server. |
Meeting content (for example, Microsoft Office PowerPoint presentations, question and answer logs, polling, chat, and uploaded content) |
User-specified UNC path |
For Enterprise Edition, download files are stored in a user-created shared NTFS folder located on a dedicated file server on a separate computer (recommended) from the Enterprise Edition Front End Server. For Standard Edition, files are stored in <Microsoft Office Communications Server 2007 R2 installation folder>\Web Components\Data MCU Web\Web on the local Standard Edition server. |
Meeting content metadata (XML data that describes the meeting content, such as date and time a PowerPoint presentation is uploaded) |
User-specified UNC path |
For Enterprise Edition, download files are stored in a user-created shared NTFS folder located on a dedicated file server on a separate computer (recommended) from the Enterprise Edition Front End Server. For Standard Edition, files are stored in <Microsoft Office Communications Server 2007 R2 installation folder>\Web Components\Data MCU Web\Non-Web on the local Standard Edition server. |
Meeting content compliance log (XML data that records content upload activities, along with the uploaded meeting content) |
User-specified UNC path |
For Enterprise Edition, download files are stored in a user-created shared NTFS folder located on a dedicated file server on a separate computer (recommended) from the Enterprise Edition Front End Server. For Standard Edition, files are stored in a default folder on the local Standard Edition server. |
Application data files that are used internally by the application server component for the pool |
User-specified UNC path |
For Enterprise Edition, download files are stored in a user-created shared NTFS folder located on a dedicated file server on a separate computer (recommended) from the Enterprise Edition Front End Server. For Standard Edition, files are stored in <\Microsoft Office Communications Server 2007 R2 installation folder>\Application Host\Application Data on the local Standard Edition server. |
Update files used by the client version control mechanism to update Office Communicator clients and by the Device Update Service to update unified communications (UC) devices |
User-specified UNC path on Enterprise Edition Installer-created folder on Standard Edition |
For Enterprise Edition, update files are stored in a user-created file share located on a separate computer (recommended) from the Enterprise Edition Front End Server. For Standard Edition:
|
Monitoring Server Quality of Experience (QoE) data |
QoEMetrics |
Monitoring Server QoE database normally deployed on a separate computer (recommended) from the back-end database. This database is always deployed on the same server, in the same instance, as the CDR database. |
Monitoring Server CDR data |
LcsCDR |
Monitoring Server CDR database normally deployed on a separate computer (recommended) from the back-end database. This database is always deployed on the same server, in the same instance, as the QoE database. |
Archiving data |
LcsLog |
Archiving service database normally deployed on a separate computer (recommended) from the back-end database. |
Group Chat data |
User-specified database name |
SQL Server 2005 or SQL Server 2008 database deployed on separate computer from the Group Chat Server. |
Group Chat Web and compliance folders (to store files uploaded to the Group Chat Web service) |
User-specified UNC path |
A file share that can be accessed by all of the Group Chat Servers and services in the pool. |
Group Chat compliance data |
User-specified database name |
SQL Server 2005 with SP2 or SQL Server 2008 database deployed on separate computer from the Compliance service. This can be the same database instance that is used for Group Chat data. |
Transient Response Group Service data |
ACDDyn |
Enterprise Edition, back-end database; Standard Edition, SQL Server 2005 Express with SP2. |
Storage Considerations
Planning an effective storage strategy, particularly if you are deploying an Enterprise pool with a back-end database, is essential to the success of your Office Communications Server 2007 R2 deployment. Failure to accurately assess your storage requirements and implement strategies optimizing data access and security can be inconvenient at best and catastrophic at worst.
As you plan your storage strategy for Office Communications Server 2007 R2, you need to balance three criteria: capacity, availability, and performance. The choices you make as you plan and implement your storage solution affect the cost associated with administration and maintenance of your Office Communications Server 2007 R2 environment:
-
Capacity.In Office Communications Server 2007 R2, your total
capacity for the Enterprise Edition back-end database is
approximately 10 gigabytes (GB) for a large deployment. By
traditional standards, a database of this size is not considered to
be large.
-
Availability.The availability of your database can be
increased by redundancy. Redundancy can mean that you should
cluster applications to provide CPU redundancy or implement a
redundant array of independent disks (RAID) solution to provide
data redundancy.
-
Performance.Performance requirements are also unique to each
organization. This refers to performance as it relates to
throughput. With regard to storage technology, throughput is
measured by how many reads and writes per second a storage device
can perform.
Before you design your storage solution for Office Communications Server 2007 R2, determine how your company prioritizes these three criteria, especially when considering a balance between availability and performance. The following sections discuss the factors you should consider regarding storage.
General Storage Principles
Regardless of the application that you are running, consider the following storage principles to help maximize capacity, availability, and performance:
- Decrease the processing required from the CPU by implementing a
specialized hardware solution, such as a RAID or a storage area
network (SAN) that incorporates RAID technology. In this scenario,
it is assumed that you use a hardware solution rather than a
software (host-based) RAID solution.
- Decrease the overall time it takes to complete a transaction by
separating files that are accessed sequentially from files that are
accessed randomly. Storing sequentially accessed files separately
keeps the disk heads in position for sequential I/O, which reduces
the amount of time required to locate data.
- Use multiple disks, because they perform better than a single
large disk. In general, more disks result in faster performance.
Use the information in the following sections to compare and contrast these storage technologies.
RAID Solutions
By using a RAID solution, you can increase the fault tolerance of your Office Communications Server 2007 R2 deployment. In a RAID configuration, part of the physical storage capacity contains redundant information about data stored on the hard disks. The redundant information is either parity information (in the case of a RAID-5 volume) or a complete, separate copy of the data (in the case of a mirrored RAID1 or striped and mirrored RAID 0+1 volume). The redundant information enables data regeneration.
Considerations for Office Communications Server 2007 R2
When planning your storage solution, consider the following features of Office Communications Server 2007 R2:
- Office Communications Server can support up to 100,000
concurrent users on a pool in the consolidated configuration. The
back-end database of each Enterprise pool and the SQL Server 2005
with SP2 database on a Standard Edition server each has a set of
transaction log files and database files.
- Not all data stored on Office Communications Server is managed
in the same way. A single storage solution for all data types is
not the most efficient. For example, both transient and static data
reside on the back-end database. The RTCDyn database stores
conference state information and other information that is
transient in nature. Because of its temporary nature, this
information does not need to backed up or saved regularly for
restoration purposes. However, it is important to plan for
redundancy and ongoing availability of the following data:
- Persistent data stored in the RTC (user settings) and RTCConfig
(configuration settings) databases on a Standard Edition server and
in an Enterprise pool.
- The Archiving Server database, which contains compliance
information that is important for archival purposes.
- Persistent data stored in the RTC (user settings) and RTCConfig
(configuration settings) databases on a Standard Edition server and
in an Enterprise pool.
- In Office Communications Server 2007 R2, transaction log files
are accessed sequentially, and databases are accessed randomly. In
accordance with general storage principles, you should separate the
transaction log files (sequential I/O) from databases (random I/O)
to maximize I/O performance and increase fault tolerance.
Specifically, you should move the transaction log files to separate
disks from database file storage.
To further enhance system performance, store the transaction log files for the RTCDyn database on a separate dedicated device. This helps ensure transaction throughput. - SQL Server 2005 Enterprise Edition with SP2 or SQL Server 2008
Enterprise can be configured as failover clusters to provide high
availability support. For example, to provide support in case of an
operating system failure or a planned upgrade, you can configure
one node in the failover cluster to fail over to any other node in
the failover cluster configuration. This ability helps to minimize
system downtime, thereby providing high server availability.
Additionally, if you decide to implement archiving in critical
mode, which means that the Office Communications Server shuts down
if archiving is not available, you may want to use a failover
cluster because a SQL Server failure can potentially bring down the
entire Office Communications Server infrastructure.
Regardless of whether you use Direct Attached Storage (DAS) or a Storage Area Network (SAN) solution for storage, your storage solution requires proper planning and design to ensure that appropriate capacity and throughput can be delivered for Office Communications Server 2007 R2.
Storing Transaction Log Files and Database Files
As previously mentioned, to provide fault tolerance in the event of a hard disk failure, keep your Office Communications Server 2007 R2 transaction log files and database files on separate physical hard disks. Furthermore, if you keep these log files and database files on separate disks, you significantly improve performance of hard disk I/O. For the data and transaction file access, select separate I/O channels on the RAID controller and, if possible, place each I/O channel on a separate RAID controller.
If the hard disk containing the transaction log files fails, but not the disk containing your databases, you do not have to restore any Office Communications Server 2007 R2 data from backup. SQL Server transaction logs for Office Communications Server 2007 R2 are collapsed on a periodic basis and are kept within a limited size. You should also enable write caching if the controller supports this capability. Enabling write caching increases throughput significantly.
Important: |
---|
If you keep your Office Communications Server 2007 R2 databases and transaction log files on the same physical hard disk, performance is impacted and, if that disk fails, you can recover only the data that existed up to your last backup. |
Ensure that you have adequate hard disk capacity for your Office Communications Server 2007 R2 servers. You should have enough space on your hard disk to restore both the database and the log files. If you do not, you could have backup files that are too large to restore to their original location.
Using Server Clustering
Failover clustering (formerly known as server clusters or as MSCS) is a Windows Server feature that you can use to achieve scalability and high availability for the Office Communications Server 2007 R2 back-end database. A cluster consists of individual computers (also called nodes) that function cohesively in a cluster service. These computers act as network service providers or as reserve computers that take over server operations for another node if it experiences problems. Clustering provides fault tolerance and reliability. Furthermore, depending on how you configure your cluster, clustering can simplify the process of recovering a single server from disasters.
In a clustering environment, SQL Server runs as a virtual server (not as a stand-alone server), because any node in a cluster can assume control of a virtual server. If the node running the SQL Server virtual server experiences problems, the SQL Server virtual server goes offline for a brief period until another node takes control of the damaged node.
Office Communications Server 2007 R2 supports multiple-node active/passive clusters for the back-end database. Active/active clusters are not supported. In a multiple-node cluster, the Office Communications Server SQL instance must be able to failover to a passive node that, for performance reasons, should not be shared by any other SQL instance.
You must be familiar with failover clustering concepts before you plan and deploy Office Communications Server 2007 R2 clusters.
For details about clustering, see
Technical Overview of Windows Server 2003 Clustering
Servicesat the Microsoft Web site:
For details about failover, see
Windows Server 2008 High Availabilityat the Microsoft Web
site:
For details about designing database storage for SQL
Server, see
Physical Database Storage Designat the Microsoft Web site:
SQL Server, Windows, and Office Communications Server Version Requirements
Specific versions of SQL Server and Windows are required to create an Office Communications Server 2007 R2 cluster. The following table outlines these requirements.
Table 2. SQL Server, Windows, and Office Communications Server Version Requirements
SQL Server version | Windows versions | Office Communications Server version | Cluster nodes available |
---|---|---|---|
SQL Server 2008 Enterprise (32-bit or 64-bit) (recommended) |
The 64-bit edition of Windows Server 2008 (Standard or Enterprise) (recommended) |
Office Communications Server 2007 R2 Enterprise Edition |
Maximum of 16 |
SQL Server 2008 Enterprise (32-bit or 64-bit) (recommended) |
Windows Server 2003 R2 Standard x64 Edition with SP2 or Windows Server 2003 R2 Enterprise x64 Edition with SP2 Windows Server 2003 Standard x64 Edition with SP2 or Windows Server 2003 Enterprise x64 Edition with SP2 |
Office Communications Server 2007 R2 Enterprise Edition |
Maximum of 8 |
SQL Server 2008 Standard (32-bit or 64-bit) |
The 64-bit edition of Windows Server 2008 (Standard or Enterprise) (recommended) Windows Server 2003 R2 Standard x64 Edition with SP2 or Windows Server 2003 R2 Enterprise x64 Edition with SP2 Windows Server 2003 Standard x64 Edition with SP2 or Windows Server 2003 Enterprise x64 Edition with SP2 |
Office Communications Server 2007 R2 Enterprise Edition |
Maximum of 2 |
SQL Server 2005 Enterprise Edition with SP2 (32-bit or 64-bit) |
The 64-bit edition of Windows Server 2008 Enterprise (recommended) Windows Server 2003 R2 Enterprise x64 Edition with SP2 Windows Server 2003 Enterprise x64 Edition with SP2 |
Office Communications Server 2007 R2 Enterprise Edition |
Maximum of 8 |
SQL Server 2005 Standard Edition with SP2 (32-bit or 64-bit) |
The 64-bit edition of Windows Server 2008 Enterprise (recommended) Windows Server 2003 R2 Enterprise Edition x64 Edition with SP2 Windows Server 2003 Enterprise x64 Edition with SP2 |
Office Communications Server 2007 R2 Enterprise Edition |
Maximum of 2 |
SQL Server 2005 Enterprise Edition with SP2 (32-bit or 64-bit) SQL Server 2005 Standard Edition with SP2 (32-bit or 64-bit) |
The 64-bit edition of Windows Server 2008 Standard Windows Server 2003 R2 Standard x64 Edition with SP2 Windows Server 2003 Standard x64 Edition with SP2 |
Office Communications Server 2007 R2 Enterprise Edition Office Communications Server 2007 R2 Standard Edition (for monitoring database or archiving database)* |
None |
Note: |
---|
*SQL Server 2005 Express with SP2 is provided with Office Communications Server 2007 R2 Standard Edition. |
Server Partitioning Best Practices
To increase fault tolerance and provide for easier troubleshooting, do the following:
- Partition your disks so you can start with a command prompt in
an emergency. Partitioning your disks in this way increases your
recovery options. For example, you can start with a command prompt
and modify or replace any damaged startup files that prevent you
from starting Windows.
- Set up your disks so Office Communications Server 2007
R2 application files, database files, and transaction log
files are all on separate physical disks to increase performance.
If you partition your hard disks by using these recommendations, each set of files is assigned a separate physical disk with a separate drive letter. Having each set of files represented by its own drive letter helps you keep track of which partitions you must back up in accordance with the data recovery method you choose.
Folders
Before you deploy Enterprise Edition servers, determine your storage needs and create five shared folders on a dedicated file server, using either the suggested folder names or your own folder names, where you can store the following:
-
Presentations:Meeting presentations to be downloaded or
streamed by conference attendees, but not content from desktop
sharing sessions.
-
Metadata:Meeting information (metadata) that is used
internally by the Web Conferencing Server component for the pool.
Note: Grant access to the Metadatafile share to the service account that is used to run the Web Conferencing Server as well as to any necessary administrator accounts. Remove access to the Metadatafile share from all other user accounts. -
ABS:Address Book files written by the Address Book Server,
which is installed with the Front End Server, to provide global
address list user and contact information to Office Communicator
2007 R2, Office Communicator 2007, Office Communicator 2005, Office
Communicator 2007 R2 Phone Edition, Office Communicator Phone
Edition 2007, and the 2007 version of Office Communicator Mobile
clients on a daily basis. (The 2007 R2 version of Office
Communicator Mobile for Windows client uses a separate Address Book
Web Query service to obtain address book information.)
-
Applications:Application files that are used internally by
the application server component for the pool.
-
Updates:Files used by the client version control mechanism
to update Office Communicator clients and by the Device Update
Service to update devices.
Grant Full Control on each of these shared folders to the administrator, the RTCUniversalServerAdmins group, and any other user or group responsible for creating pools. Remove Read permission from the Everyone group. If these shared folders inherit permissions from parent folders or drives, ensure that you manually change the permissions on the shared folders.
For details about and requirements for the Updatesfolder, see Device Update Service.
Note: |
---|
If you use a shared cluster for the file shares in your
deployment, use the Cluster Administrator to create the file
shares. For details about using the Cluster Administrator, see
Microsoft Knowledge Base article 284838, “How to Create a Server
Cluster File Share with Cluster.exe” at
|
If your organization must comply with regulatory requirements for the archiving of meeting content, you can enable meeting compliance. To administer meeting compliance, you must first create a shared folder on a dedicated file server in order to store the meeting logs. You can use the suggested name or your own folder name where you can store the following:
-
MeetingCompliance(optional): Meeting activities and content
uploaded during meetings
Grant the RTCComponentUniversalServices group Full Control on this shared folder and any other user or group responsible for creating pools. Remove Read permission from the Everyone group.
If you plan to install the Archiving Server, consider storage needs for archiving files. For details, see Archiving Support.