Exadata X2-2 db节点系统盘的RAID是如何配置的?

Exadata X2-2 db节点系统盘的RAID是如何配置的?

http://www.dbaleet.org/exadata_x2-2_db_node_raid_configuration/

在前面的如何reimage一文中提到, 在制作db节点的镜像的时候有一个dualboot的参数,我们需要额外将其指定为no,但是当时没有详细说明为什么一定需要指定这个参数,这里进行更深一层次的解释。

在db节点上一个有4个300G的SAS盘,这些都是本地盘,上面安装有操作系统,Exadata, 以及Oracle RAC软件。在MOS 1274318.1 Oracle Sun Database Machine Setup/Configuration Best Practices 中推荐将其中的三块盘做RAID 5, 另外一块盘作为热备(hot spare)。

 

 

For X2-2, there are 4 disk drives in a database server controlled by an LSI 
MegaRAID SAS 9261-8i disk controller. 
The disks are configured RAID-5 with 3 disks in the RAID set and 1 disk as a hot spare.

 

 

如果Oracle推荐这么做,那么直接出厂时就设置成RAID 5不就可以了吗?为什么还需要特别的提到这茬儿? 刚开始确实是这么做的, 但是从Exadata预备支持Solaris开始,出厂默认是双系统,即Linux和Solaris。这个时候变成了前两块盘做的是RAID1, 后两块盘做的是Solaris ZFS RAID 1。

问题就出在这里,用户在Solaris和Linux中二选一,剩余两块盘的加起来600G的空间就浪费了。做完RAID 1以后,操作系统中实际可看到的空间一共只有300G。如果是使用RAID 5加上一块热备盘,则操作系统可用的空间为600G。

我们再回到dualboot这个选项上来。在reimage的时候,这个参数默认是yes,表示不会对原有的raid结构进行重组,例如如果是重做Linux的image,默认不会清理Solaris所使用的磁盘空间。reimage完成以后,仍然是2+2的模式。如果加上dualboot no这个参数,则会清理掉Solaris所使用的空间,reimage完成以后,结构变为3+1了。

如果在reimage的时候忘记加上dualboot参数了,或者Exadata出厂的版本就已经很新不需要reimage了,那怎么回收磁盘空间,并且对默认的raid进行重组呢? Exadata提供了一个清理磁盘空间和重组raid的脚本叫做reclaimdisks, 默认放在/opt/oracle.SupportTools/下。以下以Exadata X-2的Linux平台为例进行磁盘空间回收与结构重组:

1. 使用root用户登录;
2. 进入 /opt/oracle.SupportTools目录;
3. 进行回收前的检查:

./reclaimdisks.sh -check

在没有进行回收操作之前命令的输出结果如下:

[INFO] Valid dual boot configuration found for Linux: RAID1 from 2 disks

4. 开始回收磁盘空间:

./reclaimdisks.sh -free -reclaim

同时可以通过以下命令查看回收的进度:

tail -f /var/log/cellos/reclaimdisks.bg.log

5. 回收完成以后, 再进行检查确认:

./reclaimdisks.sh -check

这时的输出结果应该是:

[INFO] Valid single boot configuration found for Linux: RAID5 from 3 disks and 1 global hot spare disk

这个过程一般在执行onecommand命令之前开始进行,如果再安装完成之后执行,则需要先停止GI。

如果在reimage的时候没有指定dualboot no, 并且也没有进行reclaimdisks操作,那么Exachk会给出一个警告。但是这个影响不大,通常可以忽略。

另外, 上面有注意其热备盘是全局热备盘(global hot spare disk),与此相对应的概念还有专用热备盘(Dedicated hot spare disk),这两者有什么区别呢?以下通过一个图片就可以说明:

可以看出专用热被盘只能用于特定的RAID组,只有制定的RAID组上的磁盘发生故障时, 驱动器的数据才会自动在专用热备盘重建。 而全局热备盘是被多个raid组共享的。早在 11.2.2.3.2版本以前,Exadata DB节点使用的是专用热备盘,而在11.2.2.3.2以后则会使用全局热备盘。这是其中一个小的变化。

到X3-2时代,事情又有了一些新的变化。Exadata 11.2.3.2开始,Exadata不再使用热备盘,如果reimage的时候指定了dualboot no 则会使用四块盘做raid 5, 可用空间上升到900G。如果没有指定dualboot并且没有做reclaimdisks, 则依旧与前面的版本保持一致,为2+2 raid 1模式。

注意升级image本身不会带来raid结构的变化。例如在Exadata 11.2.2.2.2使用的是raid5+专用热备盘,则升级到11.2.2.3.2以后不会自动变为raid5+全局热备盘。在Exadata  11.2.2.4.2使用的是raid 5+全局热备盘,升级到11.2.3.2以后不会自动变为raid 5+没有热备。

另外值得一提的是,热备盘在通常情况下处在Spun Down的状态,主要是现在的磁盘都采用了智能省电技术, 磁盘在不工作或者负载很低的情况下会降低转速。在负载较高的情况下会提高转速。例如热备盘在正常情况下是Spun Down的状态,在rebuild的情况下,则会自动变为Spun Up。

 

以上

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号