Exchange Server 2013 – чистим мусор


_______________

Update:

Exchange Server 2013 – чистим мусор. Дополнение.

___________________

В Exchange Server 2013 есть одна особенность, которой не было в предыдущих версиях: журналы Exchange Server включены всегда. Почему так сделано? Чтобы быстрее находить и устранять неисправности. Если журнал выключен и произошёл сбой, то у вас нет или очень мало информации о причинах сбоя – нужно включить журналы и воспроизвести проблему, а это потеря времени, да и как воспроизвести проблему, если о ней ничего толком неизвестно? – замкнутый круг. Поэтому журналы всегда включены, и это порождает новое требование: необходимо дополнительно около 30Gb на диске для размещения журналов Exchange Server 2013. Это описано в документации. Более подробно ситуация описана в статье Exchange 2013 Logging and Space Requirements.

Но как всегда находятся подводные камни.

Exchange Server 2013 активно использует IIS, а его журналы также пишутся на диск, но в свои директории. И эти журналы могут достаточно быстро заполнять диск, т.к. никто их по умолчанию не контролирует и не удаляет. Их можно отключить, но если следовать выше описанной логике, то лучше этого не делать.

Штатных средств контроля за размером директории с журналами в IIS как не было, так и нет, поэтому нужно предпринять дополнительные усилия для настройки такого контроля и очистки директории с журналами IIS от старых файлов.

Скорее всего вам уже приходилось сталкиваться с такой проблемой в других ситуациях: там где используется IIS – там всегда есть возможность неконтролируемого роста его журналов. Например это может быть WSUS или Sharepoint.

Мне не хотелось слишком усложнять задачу, но хотелось бы иметь инструмент, который будет достаточно универсальным и сможет удалять файлы старых журналов IIS на любом сервере (я ограничился Windows Server 2012/2012 R2). Ниже приведен скрипт, который решает поставленную задачу. Его легко изменить, чтобы он работал не только с Exchange серверами.

Особенность скрипта в том, что он сам находит директории с журналами для всех сайтов IIS на указанном сервере. Если вы переместили журналы на другой диск или в другую директорию, то скрипт будет работать без изменений.

В переменной $daysholdlogs содержится число последних дней, за которые файлы журналов не удаляются. В переменной $MailServer укажите любой свой CAS сервер.

Скрипт работает по WSManagement (WinRS), который должен быть настроен. Это используется для подключения к Exchange серверу для получения списка Exchange серверов: нужны соответствующие права, или вы можете явно задать список имен IIS серверов, удалив код подключения к Exchange.

Скрипт в следубщей статье Exchange Server 2013 – чистим мусор. Дополнение. 

Реклама

комментариев 5

  1. Можно просто включить компрессию NTFS для папок с журналами IIS, и поразиться результату.

    • Можно. Это увеличит допустимое время хранения.
      Но все равно настанет время почистить мусор :-)

  2. Илья, я бы добавил в скрипт другие директории, тоже весьма тяжелые:

    gci ‘C:\Program Files\Microsoft\Exchange Server\V15\Logging’,’C:\inetpub\logs’ -Directory | gci -Include ‘*.log’,’*.blg’ -Recurse | ? LastWriteTime -lt (Get-Date).AddDays(-1) | Remove-Item

  3. […] Exchange Server 2013 – чистим мусор, Exchange Server 2013 – чистим […]

Добавить комментарий

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

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: