9. Reparse-Point
The ReparsePoint
mode helps you manage Windows reparse points. A reparse point is a
collection of user data, usually from a remote source. An application
creates the reparse point by saving the data to a file along with some
special configuration information. You can learn more about reparse
points on the Microsoft Web site at http://msdn2.microsoft.com/en-us/library/Aa365503.aspx. Normally, you'll rely on an application to create the reparse point. However, the Knowledge Base article at http://support.microsoft.com/?kbid=205524
tells you how to create and manipulate them manually. In this case, the
reparse point creates a link between another drive and a directory on
the hard drive. To gain a better understanding of how you can use
reparse points on an active system, read the Knowledge Base article at http://support.microsoft.com/default .aspx?scid=kb;en-us;Q262797.
Because of the way the system creates reparse points, you can only use
FSUtil to query and delete them. This mode uses the following syntax:
FSUtil ReparsePoint [query Filename] [delete Filename]
The following list describes each of the command line arguments.
Filename
Defines the
path used as a junction or the filename of the user data storage.
Whether the input defines a path or a filename (with an optional path)
depends on the kind of reparse point in use.
query
Requests
information about the specified reparse point. The information includes
the reparse tag created when the system defined the reparse point. The
tag information varies, but can include the reparse tag value, one or
more tag values, a Globally Unique Identifier (GUID), the data length,
and the actual reparse data.
Directories used
as reparse points normally have a special icon attached to them, rather
than using the standard folder icon. In the case of a drive, the icon is
a special drive symbol. In other words, even though the entity is a
directory, the system is treating it as a drive attached to that
directory. If you delete the reparse point, the directory remains, but
the icon changes back to a standard folder icon and the remote data is
no longer available.
|
|
delete
Removes the specified reparse point.
10. Resource
This mode helps you
interact with Transactional Resource Managers. A Transactional Resource
Manager is a managed construct that provides a method of tracking and
optionally reversing change to file system objects. You must use this
mode to create, discover, and modify the folder used to hold the
transaction information, including the transaction logs. Use the
Transaction mode to work with the transactions contained in the log.
This mode uses the following syntax:
FSUtil Resource [create Path] [info Path]
[setautoreset {True | False} RootPath] [setlog Options]
[start Path [RMLogPath TMLogPath]] [stop Path]
The setlog option requires additional explanation. The following list describes each of the other command line arguments.
create
PathCreates a new
folder that holds the logs for a Transactional Resource Manager. The
path must not already exist. Creating the folder is the first step in
defining a secondary Transactional Resource Manager. Once you create the
folder, you must start the Transactional Resource Manager using the start option.
info
PathObtains
information about any started Transactional Resource Manager. If the
target system doesn't have any secondary Transactional Resource Managers
running and you type this command without a path, then FSUtil reports
the status of the default Transactional Resource Manager for the current
drive. You can also access the default Transactional Resource Manager
by providing the root directory for the target drive (such as C:\).
setautoreset {True | False}
RootPathChanges the
automatic reset feature for the default Transactional Resource Manager,
which is always the root directory of the selected volume (such as C:\).
This feature sets the default Transactional Resource Manager to reset
all of its metadata each time you reboot the machine. The default
setting retains the metadata across reboots to better track system
state. You can use this feature to overcome problems with the
transactional state of the file system.
start
Path [RMLogPath TMLogPath]Starts the
Transactional Resource Manager specified by path. You'll normally use
this option to start a secondary manager, rather than the default. In
addition to the Transactional Resource Manager folder, you can also
specify the path to the log files that the manager uses to track file
system transactions.
stop
PathStops the
Transactional Resource Manager specified by path. You'll normally use
this option to stop a secondary manager, rather than the default. While
it's possible to stop the default manager, you can't restart it, so this
action isn't advisable.
The setlog option
of the resource mode lets you modify the log used to record
transactions on the system. The log configuration affects just how much
Server Core can do when it comes to monitoring transactions on your
system. This option uses the following syntax:
FSUtil Resource setlog
[growth {NumContainers containers Path | Percentage percent Path}]
[maxextents NumContainers Path] [minextents NumContainers Path]
[mode {full Path | undo Path}] [rename Path] [shrink Percentage Path]
[size NumContainers Path]
The following list describes the setlog option–specific command line arguments.
growth {NumContainers containers Path| Percentage percent Path}
Changes the
container growth increment. Each container holds a specific amount of
data (the default is 10 MB). Every time the Transactional Resource
Manager requires additional hard drive space to store transactions, it
increases the number of containers. You can set the specific number of
containers or grow the number of containers as a percentage of the
current total log capacity. Consequently, if you set the value to 10
percent, the default container size is 10 MB, and the total log capacity
is 200 MB, then the Transactional Resource Manager adds two containers.
The default growth size is two containers.
maxextents
NumContainers PathDefines the
maximum number of containers that a Transactional Resource Manager can
create. This setting helps you control hard drive usage by the
Transactional Resource Manager. The default setting is 20 containers.
minextents
NumContainers PathDefines the
minimum number of containers that a Transactional Resource Manager can
create (usually created at the beginning of a session). This setting can
help improve performance by forcing the Transactional Resource Manager
to create the full number of containers it requires at the outset,
rather than taking time out to create them one or two at a time.
mode {full Path | undo Path}
Determines the
mode used to log transactions. The full logging method logs every
activity as a transaction. However, this mode uses considerable hard
drive space. The undo mode only records transactions required to undo permanent activities, such as erasing a file. The undo mode also appears as Simple when viewing the Transactional Resource Manager statistics.
rename
PathAssigns a new GUID
to the Transactional Resource Manager. The new GUID appears as part of
the RM Identifier statistic. There isn't a good reason to use this
option and many reasons you shouldn't when working with an application
that may rely on the current GUID. In general, the application may cease
working or work improperly.
shrink
Percentage PathDetermines the
amount of hard drive space that the Transactional Resource Manager
returns to the system when it no longer requires the space for
transactions. The default setting doesn't return any hard drive space to
the system, so the number of containers only increases until the
Transactional Resource Manager reaches the maximum number of containers.
size
NumContainers PathSets
the number of containers available to the Transactional Resource
Manager. You can use this option to manually return hard drive space to
the system after performing a number of file system object changes.
Hard Drives as Databases
Hard drives have
always been a kind of database, but operating systems typically don't
treat them that way. Consequently, disk drives often suffer failures
that databases would never encounter. However, Microsoft steadily adds
database features to Windows. Server Core is no exception. Although
Microsoft's original plan for Server Core included a considerable number
of other database features that it later dropped, the use of
transactions to support disk activities is a significant step forward.
In the real world,
the hardware that comprises a hard disk isn't the valuable
commodity—it's the data. By using transactions, Server Core can reduce
the possibility of damage to valuable data. However, transactions are
more than a nice feature for Server Core. The code for the Transactional
Resource Manager actually appears as part of the .NET Framework and
developers can rely on this technology to create robust applications.
You can read about the developer view of transactions at http://msdn2.microsoft.com/en-us/library/ms973865.aspx.
|
11. Sparse
Some applications
create large files that contain mostly zeros. For example, an
application may create a large cache to hold temporary data. Sparse file
management compresses these files smaller than standard compression
can. For a discussion of sparse files, see the "Understanding Sparse
Files" side-bar. This mode helps you manage sparse files and uses the
following syntax:
FSUtil Sparse [setflag Filename] [queryflag Filename]
[queryrange Filename] [setrange Filename Offset Length]
The following list describes each of the command line arguments.
Filename
Specifies the file to manage.
Offset
Defines the beginning of a sparse range.
Length
Determines the number of bytes in the sparse range.
setflag
Adds a sparse attribute to the file to mark it as a sparse file.
queryflag
Displays status information as to the state of the sparse flag (attribute).
queryrange
Displays any
sparse ranges within the specified file. Each entry contains two
numbers. The first number specifies the sparse range offset, while the
second number defines the sparse range length.
setrange
Sets a sparse
range for the specified file. You must provide the offset (in bytes)
for the beginning of the sparse range, as well as the number of bytes to
include within the sparse range.