На одном из серверов (под управлением Windows Server 2012 R2) столкнулся с исчерпанием места на системном диске. Перебрал основные ресурсноемкие места (WinSxS, очистка каталогов TEMP, профилей пользователей и удаление устаревших обновлений и пр.), но заметного эффекта это не дало. Места все также не хватало. В результате нашел, что большую часть системного диска занимала папка System Volume Information. Разберемся, зачем нужен каталог System Volume Information в Windows системах, что в нем хранится, и как его очистить.
Каталог System Volume Information находится в корне каждого диска. В нем хранится системные данные, относящиеся к службе восстановления системой и ведения истории файлов. По умолчанию он скрыт и доступ к нему есть только у системы. Даже администратор не может открыть его и прочитать содержимое папки. Чтобы просмотреть содержимое каталог, придется назначить себя владельцем каталога и предоставить своей учетной записи NTFS права на него.
Что же хранится в каталоге System Volume Information? Мне удалось найти информацию о следующих службах, хранящих файлы в этой папке (список не является исчерпывающим):
- Данные точек восстановления системы на клиентских системах или резервные копии System State, сделанные через Windows Server Backup (wbadmin), на серверных ОС
- Содержимое базы службы индексации (Indexing Service), используемого для быстрого поиска файлов.
- База данных службы Distributed Link Tracking Service
- Данные снапшотов дисков (теневых копий), создаваемых службой Volume Shadow Copy , которые можно использовать для восстановления старых версий файлов
- Настройки дисковых квот
- База сервиса дедупликации файлов
При использовании теневых копий, каждый новый VSS снапшот сохраняется в каталог System Volume Information , увеличивая его размер. Чем чаще создаются теневые копии и чем чаще изменяются данные на диске, тем быстрее растет размер этого каталога.
Радикально очистить каталог System Volume Information можно, отключив ведение точек восстановления системы и истории файлов. Но это не всегда допустимо.
Посмотрим для начала, чем же занят каталог. Выведем статистику использования теневых копий:
vssadmin list shadowstorage
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.
Shadow Copy Storage association
For volume: (E:)\\?\Volume{5a419164-9eaa-11e5-80c8-005056bbefbb}\
Shadow Copy Storage volume: (E:)\\?\Volume{5a419164-9eaa-11e5-80c8-005056bbefbb}\
Used Shadow Copy Storage space: 3.06 MB (0%)
Allocated Shadow Copy Storage space: 897 MB (1%)
Maximum Shadow Copy Storage space: 18.0 GB (29%)
Shadow Copy Storage association
For volume: (C:)\\?\Volume{811c2630-9866-11e5-80b3-806e6f6e6963}\
Shadow Copy Storage volume: (C:)\\?\Volume{811c2630-9866-11e5-80b3-806e6f6e6963}\
Used Shadow Copy Storage space: 919 MB (2%)
Allocated Shadow Copy Storage space: 1.20 GB (3%)
Maximum Shadow Copy Storage space: 3.96 GB (10%)
Как мы видим, для файлов снаншотов на диске C:\ выделено 10% места на диске, из которых занято 2%. В том случае, если Maximum Shadow Copy Storage space равен UNBOUNDED, это означает что лимит для теневых копий не задан и они потенциально мгут занять все свободное место на диске. Система по умолчанию отводит под хранение этих данных 10 % от общего размера диска.
Уменьшим лимит использования дискового пространства службой VSS до 2 гб с помощью команды в формате:
vssadmin resize shadowstorage /on=[drive letter]: /For=[drive letter]: /MaxSize=[maximum size]
В нашем примере она будет выглядеть так:
vssadmin resize shadowstorage /on=c: /for=c: /maxsize=2GB
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.
Successfully resized the shadow copy storage association
В том случае, если вы создаете резервные копии состояния системы с помощью Windows Server Backup, удалить старые версии копий system state можно с помощью команды:
wbadmin delete systemstatebackup -keepversions:0
В клиентских системах Windows управление точками восстановления и лимитами возможно из GUI: В свойствах системы (System) перейдите на вкладку System Protection.
Нажав на кнопку Configure, мы попадаем в диалог настройки квот для хранения точек восстановления системы. Здесь же можно удалить имеющие точки восстановления.