데이터베이스에 빈공간을 제거하거나 이상이 생겼을때 사서함을
새로운 데이터베이스로 이동하고 기존 데이터 베이스를 제거하는 방법을 사용 할 수 있습니다.
물론 사서함을 이동 하는 경우 해당 사용자는 이동 완료 상태일때 사서함을 사용하지 못하며 네트워크 트레픽이 생기게 됩니다.
그렇기 때문에 되도록 메일 사용량이 적은 새벽시간에 작업을 하기를 원합니다.
하지만 새벽시간에 작업 하기에는 피곤합니다... 그래서 사서함 이동을 예약 하기 위하여 열심히 EMC를 뒤져 보지만...
무심한 Exchange 2010에서는 사서함 이동 예약이 없습니다.
그래서 작업 스케줄러에 등록하여 자동으로 새벽마다 일정 수량의 사서함을 이동 시키는 스크립트를 만들어 보았습니다.
제가 만든 예제 시나리오는 이렇습니다.
새벽 시간에 MBX1 데이터베이스에 있는 1GB 미만의 사서함들중 작은 사이즈의 사서함 10개를 MBX2로 이동 합니다.
우선 메모장을 아래와 같이 배치파일과 파워쉘 스크립트를 생성 합니다.
MoveMailbox.bat
Pushd
%~dp0 POWERSHELL.EXE -PSconsoleFile "%ExchangeInstallPath%\Bin\eXSHELL.PSc1" -COMMAND ". '.\MoveMailbox.PS1'" |
MoveMailbox.PS1
#원본 데이터 베이스 지정 $SourceDB="MBX1" #목적지 데이터 베이스 지정 $TargetDB="MBX2" #사서함 사이즈 지정 $MaxSize="1GB" #사서함 수 지정 $User=10
get-mailbox -Database $SourceDB | Get-MailboxStatistics | ?{$_.TotalItemSize -le $MaxSize } |sort TotalItemSize| select -First $User | Get-Mailbox | New-MoveRequest -TargetDatabase $TargetDB -ErrorAction SilentlyContinue |
그리고 작업 스케줄러에서 등록합니다.
로그온 여부에 관계 없이 실행 해야 겠죠?
시작할 시간을 정합니다.
그리고 MoveMailbox.bat 파일을 등록합니다.
이로서 사서함 이동 작업을 예약 해놨습니다.
이제 자고 일어나서 출근 하게 되면 사서함이 이동 된 것을 확인 할 수 있습니다.
기본적으로 사서함 이동은 기본값이 2개씩 동시에 이동 되도록 되어 있습니다.
저희 고객사 환경에서 1GB 이동하는데 약 10분 정도 걸리더군요.
그래서 모든 사서함을 1GB로 가정하고 계산하면 사서함을 이동하는데 5시간동안 최고 60개를 이동 할 수 있어 보입니다.
5시간X60분/10분X2개씩 = 사서함 60개 (설명은 생략합니다)
이런식으로 직원들이 출근 하기 전의 시간을 계산하여 이동할 숫자를 지정 하면 되겠네요...
이것으로 이번 포스트를 마치겠습니다.
'공부 > Microsoft' 카테고리의 다른 글
AD Certification Authority 알리고리즘 SHA256으로 변경하는 방법 (0) | 2016.04.26 |
---|---|
[Exchange]CAS에서 MAPI 및 OWA에 접속 중인 숫자 확인 (2) | 2015.02.10 |
[Exchange]사서함 별로 크기,항목,로그온등의 정보 확인 (0) | 2015.02.10 |
[Exchange2003]Exmerge를 사용하여 2GB이상 사서함 내보내기 (0) | 2015.02.10 |
[Exchange]Exchange 텔넷 인증 SMTP 테스트 (0) | 2015.02.10 |
댓글