The Windows Server 2003 Active Directory is Microsoft's consolidation of the major enterprise-wide directory services into a single, replicable data store and administrative interface.
A directory is a listing that helps organize and locate things. The index of this book is one example. The reader becomes the directory service provider that scans the entries, locates the page number(s) for a topic, and turns to the page.
In computing terms, the two components of a directory are the data store and the services that act on that data. In Windows 2000 and Windows Server 2003, a directory is simply a store of objects, within which those objects can be located anywhere in the enterprise and can include applications, databases, printers, users, and other workstations or servers. A directory service performs many functions that act on that store: replication, security rule enforcement, data distribution, and much more.
NOTE
An object is a representation of real things such as a user, a data file, a printer, and a software application. Every object has named attributes that describe the item. Thus an attribute of a printer might be its location, its manufacturer, or its type. A container is a special class that has both a namespace and attributes. It does not represent anything real or concrete but instead holds one or more objects. A tree is simply a hierarchy of objects and containers. As discussed later, the domain tree is a special form of tree that defines a domain directory hierarchy. The endpoint of any tree branch is an object; the branch is typically viewed as a container for multiple objects. Think of a tree as the relationship of objects and their paths from the root. For example, the user container holds the objects associated with all users on a computer system. Branches hold the objects associated with individual users.
Stated very simply, the Active Directory is a network-based object store and service that locates and manages resources, and makes these resources available to authorized users and groups. An underlying principle of the Active Directory is that everything is considered an object—people, servers, workstations, printers, documents, and devices. Each object has certain attributes and its own security access control list (ACL). Objects can be organized within the Active Directory in a special kind of object known as a container, which can be used on a very granular level. Specifically, the Active Directory plays several very important roles in a Windows Server 2003 enterprise, which include but are not limited to the following:
A store for information about every network object and its attributes
A security conduit for ACL authentication and domain trusts
A focal point for system administration
A mechanism for operating system interoperability
A means of consolidating divergent directory services
A system for replication of object data
The Active Directory, as illustrated in Figure 5.1, is a distributed, hierarchical, replicated, and secure directory service designed for Windows Server 2003 that is theoretically capable of interoperability within heterogeneous directory service environments.
The Active Directory catalogs file objects with their attributes in a hierarchical arrangement, fully embracing naming resolution services like DNS. It also organizes users and groups according to their attributes. The Active Directory plays an important role in identification of security policies across the network, integration of e-mail, Internet addressing, and groupware applications. In essence, the Windows Server 2003 Active Directory merges all of these directory services within an extensible system environment.
A user inquiry about an object is passed through the Global Catalog (GC), which, as we will discuss later, is an abstraction of object information contained in the Active Directory data store. The GC resolves the common object inquiries. It is created and refreshed with updated information for the Active Directory. The schema residing in the Active Directory presents object definitions. The Active Directory manages the store of data through an extensible storage engine (ESE). The upper functions of the directory services themselves are separated from the ESE by APIs through the Directory System Agent (DSA) layer. No direct calls are made to the ESE.
Figure 5.2 illustrates the structural relationship of the data store and extensible storage engine to Active Directory's system agent. Queries made by a user are passed through the Global Catalog. If the object cannot be resolved by the GC, it is passed to the data store via the ESE database API.
The Active Directory stores database and log files. It is important to understand the nature of these files in order to facilitate a backup and restoration policy in the event of system corruption.
The Active Directory database file is Ntds.dit and is stored in the %system%/NTDS folder. Every domain controller has a copy of it. Ntds.dit stores all domain objects and their attribute data organized into several tables. The schema table contains the definitions of the objects that can be created. The object table organizes a single object per role, with a column provided for every attribute that contains data. Finally, the link table contains the relationship data between the object and the object table.
The Active Directory creates and stores four types of log files on the maintenance and management of transactions. These files are stored in %systemroot%/NTDS and include:
Transaction log files. The current transaction file is Edb.log, which by default contains information about recent transactions and is limited to 10 MB. When this limit is reached, transaction files are automatically created with the name edbxxxxx.log (x is a sequential number). They are retained until the transactions are committed to the Active Directory. Every 12 hours, previous transaction files are purged during a process known as garbage collection. If you do not want continued collection of these transaction files, it is possible to set circular logging, where the current file is overridden when it is filled. This action is not recommended because it could limit your ability to recover recent transactions.
Checkpoint files. The checkpoint file is Edb.chk, and it used to list transactions that have been committed to the Active Directory and those that remain uncommitted. Each time a transaction is committed, it advances to the next entry. If all transactions are not committed at the time of shutdown, the checkpoint file is read when the system is rebooted and all remaining transactions are then committed to the Active Directory.
Reserved log files. The reserved log file can be a number sequence of logs, with a maximum size of 10 MB, named res1.log, res2.log, and so on. These logs are used in place of the transaction log when the creation of a new log file is attempted but insufficient disk space is available. When this occurs, the system will automatically shut down.
Patch files. Patch files (with a .pat suffix) are used during the backup and restore process of the Active Directory. Database entries are sometimes divided during backup into what is known as split transactions. The patch files are used to record these splits and "patch" the transaction back together during restoration.
To facilitate information storage and replications, the Active Directory uses three types of data store for directory partitions, each of which is replicated as a separate unit according to its own schedule. The three Active Directory partitions are:
Schema data. Schema information comprises definitions of the objects that are available or can be created in the Active Directory. It also includes the required and optional object attributes.
Configuration data. The logical structure of the domain is reflected in configuration data. Common to all domain trees and forests is a strategy for replicating all three Active Directory partitions between domain controllers. This replication topology is stored in the configuration data partition.
Domain data. All objects in the tree are stored as domain data. This information relates strictly to the objects in the domain and is not replicated to other domains. Instead of total replication of all domain object information, a subset is derived for the Global Catalog. In addition to this subset, the GC server contains the schema and configuration data. It becomes the index for locating data within a domain or across a tree or forest.
From a system administrator's perspective, the Active Directory provides many keys for success.
Since the Active Directory network is organized hierarchically, it is possible to finitely organize the infrastructure for better management.
The ability to assign and delegate the administration of Windows Server 2003 to manageable elements is one of its major strengths. The Active Directory is responsible for managing the hierarchical structure of the domain, the child domain, and the OUs with logical administrative boundaries.
The Active Directory provides a consolidated, single point for administration and system replication services.
The Active Directory includes support for a number of open standards (DNS and LDAP), rich APIs (using C/C++, Java, Visual Basic GUIs, and scripts), extensible schema, and streamlined object lookup and network logon via the new Global Catalog.
The Active Directory provides easy migration and backward compatibility with earlier Windows NT versions and theoretical interoperability with NetWare and UNIX.
Based on the use of objects and attributes, as shown in Figure 5.3, Active Directory forms associations.
The scope of the Active Directory is scalable and includes every object and container in the domain tree. In essence, the Active Directory can scale from a single server to an extremely large enterprise network. The primary qualities are fast connectivity and security, discussed later.
Top |