ASM下扩展存储对DISKGROUP的影响

 

这段时间因为采购存储,和不少存储厂商进行沟通时,都提到一点:支持存储容量的动态扩展。好比原来上的存储容量为5T划了一个lun,后来因为业务需求,须要扩展到10个T,后加的五个T的容量能够直接加到原来的存储上,原来的lun大小变成了10个T。redis

存储的lun在操做系统上是以磁盘的形式存在的,这样的话至关于磁盘的大小增长了,根据厂商技术的解释,若是使用了文件系统的话,在文件系统里,能够看到lun对应的磁盘变大,可是之前所使用的文件分区大小不变,若是须要使用新增的空间,能够对现有分区进行扩展,或划分新的分区,这一点不难理解。sql

比较疑惑的是,因为我使用的是oracle 11g rac+asm,并且没有使用asmlib,直接asm挂载的裸盘,若是某个lun变大之后,asm能不能识别到新增了空间?磁盘空间的改变,对原来asm的使用会不会有影响?这个问题厂家没能给出一个答覆,因而决定在虚拟机环境作一个测试,来验证一下。数据库

测试环境是在vmware 8 下面,一个已经搭好的双机RAC环境,使用的是11gr2+asm+OEL6.1,在这个环境中我建好了三个磁盘组,ocr、data和fra,这三个磁盘组中ocr用了一块硬盘,data两个,fra一个,都是2g的虚拟盘。实验思路是将fra对应的2g盘手动扩展到2.5g,以后再查看diskgroup中磁盘组容量是否产生变化。服务器

测试步骤以下:oracle

1. 查看主机上fra磁盘组对应磁盘/dev/sdd大小为2g
clip_p_w_picpath001ide

2. 在asmca中查看各磁盘组大小为:
clip_p_w_picpath003测试

3. 在grid用户下使用sqlplus / as sysdba登陆后查看各磁盘组大小:
运行select name,type,total_mb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;clip_p_w_picpath005ui

4. 将虚拟机两个节点停机操作系统

5. 使用vmware下的命令扩展fra对应的虚拟磁盘命令行

a) 进入到vmware安装目录下
cd "C:\Program Files (x86)\VMware\VMware Workstation"

b) 执行管理命令:
C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -x 2.5GB "F:\vhd\erpsharedisk\fra.vmdk"
clip_p_w_picpath007

c) 完成后能够看到fra对应的磁盘文件扩展到2.5G
clip_p_w_picpath009

6. 再启动rac的两个节点,使用fdisk –l 查看对应的磁盘大小
clip_p_w_picpath011

7. 使用asmca查看磁盘组,发现全部磁盘组没法在asmca中查看,暂时还未找到出现该问题的缘由
clip_p_w_picpath013

8. 使用sqlplus登陆查询视图,发现磁盘组空间无变化
clip_p_w_picpath015

9. 此时怀疑是因为磁盘组须要从新mount才能识别新增容量,因而尝试从新mount FRA磁盘组.因为在asmca界面没法对磁盘组作操做,因而改用命令行完成

10. 使用命令先取消FRA磁盘组挂载,发现报权限错误
clip_p_w_picpath017

11. 后来发如今11g环境下,asm须要使用sysasm用户来完成磁盘组管理操做,换sysasm用户进行操做,将FRA磁盘组从新挂载
clip_p_w_picpath019

从新挂载后,发现磁盘组容量并无像咱们想像的变成该磁盘如今的实际大小。由此判断,在此环境中,若是直接扩展Lun的大小来实现数据库可用空间的扩展不能实现,若是须要扩展数据库可用容量,最好是在数据库存储端新增容量后,将新增容量划到一个新的lun中,在服务器上,将新的lun做为一个磁盘mount到须要扩展容量的磁盘组中,采用这样的方式才能很是方便和高效的实现ASM环境下数据库容量的扩展。

相关文章
相关标签/搜索