我个人一直认为如果想把Exchange 的本质就是一个数据库,是微软开发的一个基于ese 的数据库的应用,这也是为什么Exchange 复杂和难于管理的原因。
2007 的存储结构有三个设计目标,分别是:
1. 提供单一服务器更多的用户访问能力,特别是64bit的推出,至少提升300%的用户邮箱能力;
2. 提高可用性,2007的storage group 和 store 的可用性都有很大的提高,参考下表
3. 实现灾备能力,以前只有一个cluster 的概念,起只能起到服务的可靠性,现在多了: lcr,ccr,scc,scr 这些从数据层面提供了更高的保障,后面我会仔细研究这些;
注意: 一个server 最多能管理50个store --即数据库! 这是2007 enterprise 的最大限额!
不要小看这5-》 50 的变化,要知道 数据库的备份很重要,但恢复更重要,记得 2003 时代,mailstore 如果很大的话,对Exchange 管理员 是个灾难,因为恢复要花费更多的时间;现在 Exchange 2007 允许有50个storage group ,每一个storage group 可以创建50 个store,你想想,可以为那些特殊的用户群-如公司的管理层,建立不同的store,对老板们的SLA 可以做到更好,因为这样备份和恢复变得方便很多!
建议 单独的 mail store 不要大于100GB;1个storage group 最后 只有 1个mailstore. 规划数据库容量的时候 按照需求的120% 来创建!
EXCHANGE服务器的存储实际上是由叫ESE的数据库引擎来管理的,这是MS专门为保存非关系型数据而开发的,AD数据库、DHCP、WINS、SRS 都是用这种引擎;
ESE 同时提供一种 “write-ahead” 机制,保证其ACID,参考下图:
同时,2007 的log file 大小从原来的5M 变成现在的1M,更加方便数据复制和恢复!MS 推荐 log file 最好单独存放到raid 1 /raid 10的磁盘上,因为其 Wirte的 性能最好!edb 们 放到 raid 5上!
注意,一个storage group 共享一套log file. 你可以用 eseutil/ml 工具 dump 出log file 的head 部分的 数据。
MS 建议不要采用循环日志的方法,也不要采用手工的方法删除这些日志,应该做好storage group 的备份策略。
这部分内容,对Exchange DBA 来说非常重要,但一般的管理人员,做一些了解即可;
参考: http://sysapp.51cto.com/art/200512/13190.htm 写的还是不错的!
另外: 2003 的 Exifs 即我们常说的 M盘,在2007 中彻底被放弃了,这个M 盘曾经很容易被杀毒软件扫描出问题,从而导致数据库不一致的问题,去掉还是应该的!
还有那个public floder 本来是去掉的,在2007 sp1中又加上了,我还是不看好他的未来,已经被MOSS取代了,大家还是不要研究了。
在 exchange 2007 中 index/searching 有所加强,采用了sql 2005 中的 ms search 3.0 技术!除了 public floder 很多地方都支持,还支持附件的搜索,但我个人用桌面版的 ms search 3.0 和 google desktop search 相比的话,MS Search 找到的东西很多 但垃圾也很多,还需要改进!
2007 的存储结构有三个设计目标,分别是:
1. 提供单一服务器更多的用户访问能力,特别是64bit的推出,至少提升300%的用户邮箱能力;
2. 提高可用性,2007的storage group 和 store 的可用性都有很大的提高,参考下表
3. 实现灾备能力,以前只有一个cluster 的概念,起只能起到服务的可靠性,现在多了: lcr,ccr,scc,scr 这些从数据层面提供了更高的保障,后面我会仔细研究这些;
注意: 一个server 最多能管理50个store --即数据库! 这是2007 enterprise 的最大限额!
不要小看这5-》 50 的变化,要知道 数据库的备份很重要,但恢复更重要,记得 2003 时代,mailstore 如果很大的话,对Exchange 管理员 是个灾难,因为恢复要花费更多的时间;现在 Exchange 2007 允许有50个storage group ,每一个storage group 可以创建50 个store,你想想,可以为那些特殊的用户群-如公司的管理层,建立不同的store,对老板们的SLA 可以做到更好,因为这样备份和恢复变得方便很多!
建议 单独的 mail store 不要大于100GB;1个storage group 最后 只有 1个mailstore. 规划数据库容量的时候 按照需求的120% 来创建!
EXCHANGE服务器的存储实际上是由叫ESE的数据库引擎来管理的,这是MS专门为保存非关系型数据而开发的,AD数据库、DHCP、WINS、SRS 都是用这种引擎;
EXCHANGE 2003 的数据库是由EDB文件、STM文件(非 MAPI访问数据)和LOG文件组成的。2007 中stm 文件消失了!为了提高I/O性能,stm 流写道EDB中了。on demand content conversion 还是需要的 主要被CAS 和 Transport server 出理,mailstore 也处理一些legacy 的 owa 的访问
作为一个数据库系统,ESE有责任提供事务级别的操作的支持,并维护数据库的完整性和一致性。对数据库系统而言,提到事务时,一般用ACID来描述事务的特点。
A--Atomic(原子的):事务必须是全或全无的操作,要么全部成功更新,要么全部不被更新
C--Consistent(一致的):一个成功提交的事务必须使数据库处于一个一致的状态。
I--Isolated(孤立的):所有未提交的更改都必须能够和其他事务孤立。
D--Durable(持久的):当事务一旦提交,所做的更改必须存储到稳定的介质上,防止系统失败导致的数据库不一致。
ESE 作为事物机制,遵循下面 4个设计标准:
1.what happens if there is a crash?
2.reduce the I/O
3.self-tunning
4.24*7
ESE 同时提供一种 “write-ahead” 机制,保证其ACID,参考下图:
同时,2007 的log file 大小从原来的5M 变成现在的1M,更加方便数据复制和恢复!MS 推荐 log file 最好单独存放到raid 1 /raid 10的磁盘上,因为其 Wirte的 性能最好!edb 们 放到 raid 5上!
注意,一个storage group 共享一套log file. 你可以用 eseutil/ml 工具 dump 出log file 的head 部分的 数据。
MS 建议不要采用循环日志的方法,也不要采用手工的方法删除这些日志,应该做好storage group 的备份策略。
这部分内容,对Exchange DBA 来说非常重要,但一般的管理人员,做一些了解即可;
参考: http://sysapp.51cto.com/art/200512/13190.htm 写的还是不错的!
另外: 2003 的 Exifs 即我们常说的 M盘,在2007 中彻底被放弃了,这个M 盘曾经很容易被杀毒软件扫描出问题,从而导致数据库不一致的问题,去掉还是应该的!
还有那个public floder 本来是去掉的,在2007 sp1中又加上了,我还是不看好他的未来,已经被MOSS取代了,大家还是不要研究了。
在 exchange 2007 中 index/searching 有所加强,采用了sql 2005 中的 ms search 3.0 技术!除了 public floder 很多地方都支持,还支持附件的搜索,但我个人用桌面版的 ms search 3.0 和 google desktop search 相比的话,MS Search 找到的东西很多 但垃圾也很多,还需要改进!