最近,公司内部使用的Exchange 2016的DAG上用来放邮箱数据库文件的一个磁盘空间不足了,想把其中的一些邮箱数据库文件放到新的磁盘上。期间虽然没有出什么问题,但毕竟是线上环境,把相关操作做一下记录。
具体方法如下
- 记下要移动的邮箱数据库的所有副本的任何重播延迟设置或截断延迟设置。通过使用 Get-MailboxDatabase cmdlet 可以获取此信息,如本例中所示。我是没有开,所以显示是0。
1 | Get-MailboxDatabase DB1 | Format-List *lag* |
- 如果为数据库启用循环日志记录,则在继续之前必须先禁用它。通过使用 Set-MailboxDatabase cmdlet 可以禁用邮箱数据库的循环日志记录,如本例中所示。
1
Set-MailboxDatabase DB1 -CircularLoggingEnabled $false
我因为本来就是false,所以这两步不用做,可以用下面的命令来查看1
Get-MailboxDatabase db-wangyong | Format-List
删除要移动的数据库的所有邮箱数据库副本。这个操作可以在网页中的ECP中操作在删除所有副本之后,通过将要从中删除数据库副本的每个服务器中的数据库和事务日志文件移动到另一个位置,保留这些日志文件。由于保留了这些文件,因此,在重新添加数据库副本后,就不需要重新将它们设定为种子。简单说,就是在ECP中删除邮箱数据库副本,然后,把这些副本移动到新的磁盘上。
用下面的命令迁移数据库。这个操作要在Exchange的pwoershell中进行,命令如下:
1
Move-DatabasePath -Identity db-wangyong -EdbFilePath E:\mailbox\DB-wangyong\DB-wangyong.edb -LogFolderPath E:\mailbox\DB-wangyong\
注:用上面的那个命令会把对应的邮箱数据库Umount掉,完成迁移后,再mount上去。期间对应邮箱数据库中的用户将不能收发邮件。
在以前包含移动邮箱数据库被动副本的每个邮箱服务器上创建必要的文件夹结构。例如,如果将数据库移动到了 C:\mountpoints\DB1,则必须在将要承载邮箱数据库副本的每个邮箱服务器上创建此同一路径。这话的意思,就是在有邮箱数据库副本的服务器上,把之前的邮箱数据库副本直接移动(剪切粘贴)到对应的新磁盘路径上面。在这面的例子中,就是把我d:\mailbox\DB-wangyong\ 移动到 E:\mailbox\DB-wangyong\
在ECP中,添加之前删除的副本,因为之前的目录是移动过来的,所以同步会很快。
(可选)通过使用 Set-MailboxDatabase cmdlet 启用循环日志记录。因为我没有打开,在这里就不做记录了
注: 其实,这次发现磁盘空间不足,原因还是因为Exchange的symantec备份停掉了,造成日志文件比邮箱数据库文件还大。因为改域管理员密码后,没有更新symatec服务中用户的密码(也不知道是谁脑子进水了,用域管理员用户权限来安装symatec服务)里面的日志一直没有被清掉。symatec备份一完成,日志就清掉了,空间一下子就有了。
最后,给一下微软官方的链接地址