ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ASM和multipath使用中的磁盘扫描顺序

ASM和multipath使用中的磁盘扫描顺序

原创 Linux操作系统 作者:jump2009 时间:2011-08-23 18:01:43 0 删除 编辑

ASMLib的原理是这样的:

ASMLib包只是对盘起一个名字,如“ASM_VOL1″,然后把这个名字存入磁盘的内容的头部。下次机器自动启动时,会自动运行/etc/rc.d/init.d/oracleasm,这时会自动扫描硬盘,扫描过程中,是会读前面我们写入名称。

 

ASM不能同时"看到"同一块磁盘两次,如果"看到"两次会产生错误。在典型的多路径配置中,一块多路径磁盘在系统中会在3个地方出现:

1.通过第一条路经访问到该磁盘

2.通过第二条路径访问到该磁盘

3.通过multipath合并以后访问到该磁盘(/dev/mapper目录下的设备)

 

举例来说:

         一台服务器有一个本地磁盘/dev/sda,用来安装系统。另外通过服务器上的双口HBA(2HBA)连接到外部的SAN上,SAN上分配给这台服务器一块vdisk。那么这块vdisk就可以通过两条路径分别被服务器访问到,则系统中就会看到/dev/sdb/dev/sdc两块硬盘,其实这两块硬盘是一块,只不过是通过HBA卡的不同端口访问到。

       如果启用了multipath,那么可以通过/dev/mapper/mpatha这样的形式访问这个vdsik,此时可以通过任意一条路径访问该磁盘,如果其中sdb的路径失效,会自动转到sdc的路径上去,可以实现failover

 

处于DM-Multipath控制下的磁盘,会在/dev目录下的三个地方出现:/dev/mapper/mpathn, /dev/mpath/mpathn和/dev/dm-n.

    • /dev/mapper中的设备在启动过程的早期创建,这些设备是用来正常访问这些多路径设备的,例如创建文件系统,创建LVM等。
      • /dev/mpath为了管理方便创建,可以在一个目录中查看所有的多路径设备,这些设备是udev设备管理器创建的,可能在系统启动的时候不能访问,不要使用这些设备创建文件系统或LVM
        • /dev/dm-n 这些设备是作为multipath内部使用的,永远也不应该使用这些设备进行任何操作。

             

              大部分的软件不关心多路径的具体配置,无论sdb,sdc还是mpatha,只要可以访问到磁盘就行。ASMlib也是如此。因为ASM不能"看到"同一个设备两次,因此ASMlib会从这些路径中选择一条。但是接下来一个问题是:ASM会选择哪条路径呢?在默认情况下,ASMLib会选择第一条被发现的路径,至于哪条路径是第一条则是由Linux操作系统报告的,根据驱动的不同有可能是multipath也有可能是sdbsdcASMLib的扫描规则是使用最先扫描到的盘,后面再扫描到的设备,只要上面的名称与前面相同,就使用前面的设备名,不管再次扫描到的了。而一般情况下,ASMLib都会先扫描到/dev/sdXX盘,而不是/dev/mapper/mpathX的盘,由此会导致数据库没有使用到multipah提供的多路径盘。

           

              系统管理员当然期望ASMLib总是使用multipath设备。这时就需要告诉ASMLib扫描磁盘的顺序。修改的地方是ASMLib的配置文件/etc/sysconfig/oracleasm

           

          在该文件中,有一个参数"ORACLEASM_SCANORDER",这个参数告诉ASMLib扫描硬盘时的顺序,例如:

          ORACLEASM_SCANORDER="mapper/mpath* "

           

          另外还有一个参数"ORACLEASM_SCANEXCLUDE",告诉ASMLib扫描硬盘时忽略哪些磁盘,例如:

          ORACLEASM_SCANEXCLUDE="sdb sdc"

           

          这样ASMLib在启动扫描磁盘时,会忽略其他路径,只会使用multipath合并后的磁盘。

           

          " "号中是一个表达式,"mapper/mpath*"匹配mapper目录下的所有mpatha,mpathb这类的设备。

           

          特别提示!

          做过以上修改以后需要重新启动oracleasm服务。请与DBA协调好,先关闭该节点上的oracle

           

          参考文档:

          http://www.james.labocki.com/?p=155&cpage=1#comment-156

          http://www.alidba.net/index.php/archives/320

          http://www.dell.com/downloads/global/products/pvaul/en/powervault-md32x0-md32x0i-linux-multipathing-solutions-en.pdf

          http://www.areasys.com/pdf/dataon/dns1x00/DM0002.pdf

          http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html-single/DM_Multipath/index.html

          来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18953778/viewspace-705647/,如需转载,请注明出处,否则将追究法律责任。

          上一篇: oracle 分区表
          下一篇: 没有了~
          请登录后发表评论 登录
          全部评论

          注册时间:2009-02-17

          • 博文量
            43
          • 访问量
            78128