Mountvol для всех

Если свободное пространство на диске быстро тает, значит, необходимо найти простой способ расширения памяти. Для этого можно воспользоваться точками подсоединений (junction point) Windows 2000.tt.

Точки подсоединений появились, когда для обозначения дисков потребовалось использовать более 26 символов.

В Windows NT нельзя подключить больше 26 дисков, так как доступный набор символов заканчивается буквой Z. Благодаря точкам подсоединений можно установить 27 и более накопителей. После установки 27-го диска в Logical Disk Manager (LDM) помещается новый диск, отформатированный и готовый к эксплуатации, но, в сущности, недоступный, так как у Windows 2000 для него нет имени. С помощью точек подсоединений можно обеспечить доступ к новому диску, представив его в качестве каталога на существующем томе. После того как на старом диске создан каталог (например, C:extradrive), следует подсоединить безымянный диск с C:extradrive (как это сделать, будет рассказано ниже). После этого данные, записываемые в C:extradrive, будут размещаться на другом физическом диске, нежели файлы, записываемые в C:winnt.

Трудность заключается в том, чтобы «приклеить» бессимвольный диск к каталогу, т. е. назвать диск. Каждый диск имеет глобальный уникальный идентификатор — GUID. Диск присоединяется к каталогу с помощью GUID диска и стандартной команды Mountvol операционной системы Windows 2000. Типичная команда Mountvol выглядит следующим образом:

mountvol C:extradrive ?Volume
{47c8cd01-1a1f-11d5-aa7f-806d6172696f}

Но, как упоминалось выше, точки подсоединений можно использовать и для расширения диска. Например, администраторам, которым приходилось устанавливать сервер для группы партнеров или пользователей, распечатывающих длинные документы, известно, что пользователи записывают поразительно большие объемы данных в файлы спулинга. Windows 2000 временно выстраивает файлы спулинга в очередь в каталоге winntsystem32spoolprinters. Операционная система также размещается в этом каталоге, поэтому, естественно, допустить переполнение диска, на котором он находится, нельзя.

Предположим, что каталог расположен на диске C, а на диске E имеется много свободного пространства.

Во-первых, следует остановить службу Spooler и очистить каталог C:winntsystem32spoolprinters.

Во-вторых, необходимо переназначить E на C:winntsystem32spoolprinters и перезапустить службу Spooler. После этого системный диск переполняться не будет.

Единственный недостаток этого подхода — поиск GUID для диска E. GUID можно выяснить с помощью Mountvol, но проще ввести команду примерно следующего вида:

linkd C:winntsystem32spoolprinters E:

Этим приемом можно воспользоваться благодаря инструменту linkd.exe из комплекта ресурсов Microsoft Windows 2000 Resource Kit. Linkd можно рассматривать как упрощенную команду Mountvol. Администраторы, привыкшие работать с GUID, могут использовать Linkd с глобальными идентификаторами (хотя трудно представить, зачем это нужно):

linkd C:extradrive?Volume
{47c8cd01-1a1f-11d5-aa7f-806d6172696f}

В отличие от Linkd, Mountvol позволяет получить список идентификаторов GUID. Команда Mountvol, выполненная без параметров, выдает список текущих GUID и соответствующих им символов дисков.

С помощью Linkd также можно получить сведения об объектах, присоединенных к каталогу (если они имеются). Например, команда

linkd C:extradrive

предоставляет данные в одном из двух форматов, в зависимости от того, как были заданы соответствия: «e» или ?Volume{47c8cd01-1a1f-11d5-aa7f-806d6172696f}.

Чтобы разорвать связь с точкой подподсоединения, следует ввести команду:

linkd C:extradrive /d

И, наконец, несколько предупреждений. Во-первых, точки подсоединений могут нарушить работу программ резервного копирования, если эти программы не предназначены специально для работы с Windows 2000. Например, можно создать резервную копию системы Windows 2000 с помощью программы NTBackup для NT 4.0, но NTBackup не сохранит (или сохранит не полностью) файлы и каталоги, созданные с использованием функций NTFS, новых для Windows 2000, таких, как точки подсоединения или разреженные файлы. Во-вторых, отчеты о свободном дисковом пространстве приобретают несколько необычный вид. Если выполнить команду Dir на диске C, то будет указано свободное пространство C. Но если выполнить команду Dir в каталоге C:extradrive, будет указано свободное пространство на диске E.

Марк Минаси — редактоp Windows NT Magazine MCSE и автор книги «Mastering Windows NT Server 4.0» (издательство Sybex). С ним можно связаться по адресу: mark@minasi.com.