The strengths of NTFS are often taken for granted. But Windows 2000 exposes new features hidden in the humble file system.

Exposing the File System

The strengths of NTFS are often taken for granted. But Windows 2000 exposes new features hidden in the humble file system.

One of the main underpinnings of any operating system, and one that’s often taken for granted, is the lowly file system. Part of this attitude stems from the fact that in the case of Windows 2000, NTFS does its job well and is seldom a source of problems. It runs silently and reliably, consistently storing and delivering the essence of our information system—the data.

One of the most interesting aspects of NTFS is not what it provides today, but capabilities in its architecture that have yet to be harnessed. From the beginning, with NT 3.x, NTFS has been characterized by two salient features. One is that NTFS follows the NT object model. Every file is simply an object that can have an extensible set of attributes associated with it, instantiated in the Master File Table (MFT). For example, an NTFS directory is just a file with different attributes, one of them being a null for the data attribute.

The other interesting fact is that NTFS has relational database semantics built into the file system. Every change to the directory structure, such as a file or directory deletion, is first written to a transaction log until the operation is complete. If a problem occurs before the operation finishes, the file system rolls back to the last known good state. This means that possibilities still lie within NTFS through its architecture: this same transaction quality could be used beyond the directory structure and applied to the data itself.

But before we get too far, let’s look at where we’ve come from NTFS 4 to what is newly exposed in Windows 2000 with NTFS 5 today. First, understand that most of the benefits of NTFS 5 are under the covers. They’re attributes that have been added to the MFT, which developers can now take advantage of in developing new services.

First, be aware that these newly added attributes have created compatibility issues between various NTFS versions. Windows NT 4.0 with SP4 will recognize NTFS 5; however, you still won’t have full interoperability. This compatibility is designed to allow NT 4.0 to support a dual-boot system between NT 4.0 and Win2K. NT 3.x, however, won’t even recognize an NTFS 5 partition. NTFS features such as disk quotas and file encryption aren’t available from NT 4.0; rather, they’ll sometimes result in unpredictable error messages or reports that access is denied. Your best course of action is to avoid trying to get all of these versions of NTFS to coexist and simply upgrade wholly to Win2K. With that in mind, let’s explore some of the new features that are now available in NTFS 5 (or should we call it NTFS 2000?).

Setting Disk Space Quotas

As with most features in NTFS, Microsoft has added a basic tool or interface to advertise functionality and take advantage of the feature; this is done at least partly to entice third-party developers to build full-featured products. Often the component that’s lacking in the included basic tool is the ability to schedule and automate functions. But we can tour at least some of the new functions in NTFS with the included tools. For example, one of the newly supported attributes of NTFS is (finally) quota management. To see the basic disk quota tool in Windows 2000, right-click on an NTFS volume to bring up the screen shown in Figure 1.

 

Figure 1.  Display the basic disk quota tool in Windows 2000 by right-clicking on an NTFS volume.

Disk space quotas are often at the top of administrators’ wish lists, which I think is somewhat misguided. They often tend to generate support calls when users reach size limits. However, disk space quotas are finally here with Win2K; you’ll have to decide for yourself if it was worth the wait. As you can see in Figure 1, you need to select the Enable quota management check box to turn on the attribute, which reveals the various other configuration options that will take effect when new users access the volume. From here, you can deny additional disk space to users who have exceeded your set limits. On the property page, you can set the actual disk space limit, along with a warning level, each of which can be configured to write an entry to the event log. This allows you to tally up the offenses and prepare reports to the Disk Police.

The full-featured quota managers allow you to manage all this from a central location; however, with the tool included with Win2K, each drive needs to be configured independently on a per-user and per-volume basis. The first screen also applies only to new users as they access files on the volume. You’ll handle existing users by clicking through to the Quota Entries screen, as shown in Figure 2.

Figure 2. Disk space quotas for existing users are set at the Quota Entries screen.

Figure 2 shows a list of those users under the watchful eyes of the quota service. If you want to add an existing user, pull down the Quota menu and choose New Quota Entry. From there, you can select the users you want to add to the service. Note that you don’t have access to groups. You can either select all of the users at once, or individually as shown in Figure 3.

Figure 3. To add an existing user, click on the Quota| New Quota Entry menu option. You can individually select users to add.

When you click Add, you display a box similar to the one we saw on the first property page. That screen allows you to select the desired quotas for the users you’ve indicated, as shown in Figure 4.

Figure 4. Here’s where you set the actual disk quotas for the user or set of users you’ve selected. Settings from the main property page will apply to these users as well.

The Log Event and Deny disk space to users exceeding quota limit settings from the main property page will apply to these users as well. Note Microsoft’s optimism regarding disk drive manufacturers. The quotas I’ve selected in Figure 4 set a warning at 1 terabyte and a limit of 2 exabyte; that’s 1,000 gigabytes and 2,000,000 terabytes, respectively. Buying stock in disk drive manufacturers might not be a bad idea.

Quota Caveats

A few caveats are in order. First, keep in mind that file ownership determines a quota’s application to an individual user. In many cases, files are created by other people; access is then given to various users. As the files grow in size, the quota will be tracked based on the original owner. That’s usually the person who created the file, not necessarily the person who is adding information to the file. (At least we now have a good reason to care about file ownership beyond security concerns.)

The quota attribute of NTFS 5 is straightforward and has been around for a while, actually, but has finally been exposed with Win2K. I believe the real issues with quota management won’t be technical, but rather will involve dealing with support calls from users who hold you accountable because they can’t get that last-minute project done that the CEO is impatiently waiting for. In addition, the error messages can be confusing to many users. For those reasons, you may want to think about implementing another disk space utilization service available with Win2K NTFS—Remote Storage Service (RSS).

Remote Storage Service

RSS is Microsoft’s term for Hierarchical Storage Management (HSM), the ability to support multiple classes of storage systems, each with a lower cost and usually slower access time. This concept has been available in the mainframe world for a long time; including it in Win2K is part of Microsoft’s push toward the enterprise information system space.

Defining a storage management policy and choosing the hardware to implement it is a daunting task and beyond this column. But essentially, RSS gives you the ability to create several classes of storage. For example, you might choose among on-line, near on-line, and off-line storage. These choices could be expressed, respectively, with a regular hard drive, automatically mounted tapes, or operator-mounted tapes. These storage types could be associated with data that has, for example, not been accessed for six months, one year, and over one year. As the last access data of a particular file recedes into the past, the file is automatically moved according to your policy to the appropriate storage device. This is an area in which you should seriously evaluate the storage and software alternatives available to you in order to take full advantage of RSS.

Encrypted File System

If you handle sensitive information, you might consider deploying another, more straightforward NTFS attribute—the Encrypted File System (EFS). Although NTFS supports ACLs and granular security expressions, this doesn’t necessarily protect disk drives that aren’t physically secure. If your notebook computer is stolen at an airport or a top-secret government facility, a regular NTFS volume can simply be removed from one machine and placed into another, where the ACLs will no longer protect the data. Or the thief could simply load a utility like NTFSDOS from a 3.5-inch disk and read the drive-or copy the contents to another drive for convenient perusal.

With the EFS attribute enabled, the authorized user transparently performs encryption and decryption during normal file access. If someone without the proper credentials tries to copy the encrypted file—even after the disk has been installed into another machine—he or she won’t gain access to the information. The encryption attribute is enabled by selecting the Encrypt contents to secure data under the Advanced Attributes button in the General Properties dialog box, as shown in Figure 5.

Figure 5. Selecting the Encrypt contents button instructs the system to transparently perform encryption and decryption during normal file access—a good choice for hard drives that aren’t physically secure.

This encryption is facilitated through the Public Key Infrastructure (PKI) service available with Win2K. Each user is associated with an X.509 certificate, the key to which encrypts the files as they’re written to the disk and unencrypts them as they’re read. Since this process can be managed through the directory, it can be based upon the user rather than just the drive. However, there are other issues to consider. For example, as a user moves files throughout the system, if he or she copies a file from an encrypted volume to a volume that doesn’t support encryption (such as FAT or NTFS 4), the file’s encryption isn’t preserved. In short, encryption is cool stuff, but make sure you think through deployment throughout the entire system; by doing so, you can avoid situations in which you think files are encrypted but they aren’t.

Compression

Compression has been previously available in NTFS, but with NTFS 5, there’s one significant difference in how it’s implemented. In previous NTFS versions, when a compressed file was copied from one location to another compressed directory, the file was decompressed at the source, sent across the wire, then re-compressed in the new location. Obviously, this was an inefficient way to copy a file. With Win2K, a file isn’t decompressed until it’s expanded by the client. This spreads the CPU burden across many CPUs; since the sent files are compressed, that saves bandwidth as well. In the entire scheme of things, this is probably a minor improvement, but it’s nice to see components in the system becoming more elegant and efficient as Windows matures.

Volume Mount Point

Another interesting attribute available with NTFS 5 is Volume Mount Point. As with some of the other attributes I’ve mentioned, this isn’t necessarily directly useful to you as the system administrator. However, it does offer some interesting opportunities for the developer in creating innovative products. In short, Volume Mount Point can set an empty directory with a pointer to the root of a disk volume that can physically exist on either the same server or a remote one. When a user navigates to the empty pointer, he or she is automatically redirected to the other disk volume and the information stored there. This opens up new possibilities for adding disk space or creating logical views of the network, while keeping the network’s ugly physical structure hidden from the user.

Note that this is not the Distributed File System (Dfs), although it’s similar. The service that builds upon this support in NTFS is the Dfs. I mention Volume Mount Point to give you an idea of what you can accomplish with Dfs; I’ll explore Dfs and its ability to create logical views of the network next month.

In summary, NTFS exposes a number of new file system attributes to the creative minds of software developers, allowing them to design new services and publish them to the network. NTFS continues to be one of the most useful yet under-appreciated aspects of the NT...err...Windows 2000 operating system.

Featured