powermt display dev=allPseudo name=emcpowerdCLARiiON ID=CKM00134401537 [Oracle-HOM]Logical device ID=6006016036E1360096C02A21D2C4E311 [LUN 1]state=alive; policy=CLAROpt; priority=0; queued-IOs=0;Owner: default=SP B, current=SP B Array failover mode: 4========================================================================--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---### HW Path I/O Paths Interf. Mode State Q-IOs Errors======================================================================== 5 iSCSI Initiator over TCP/I sdl SP B5 active alive 0 0 6 iSCSI Initiator over TCP/I sdm SP A5 active alive 0 0Observem que neste caso existem dois canais porem somente o o sdl esta sendo utilizado , por sorte neste caso o SP(storage path) do device sdl e o B e B tambem e o SP atual da LUN mas poderia ocorrer do device estar no SP A e ai estar ignorando completamente o que esta definido na LUN.Isso e mau.O correto nesse caso ,seria o ASMlib utilizar o device emcpowerd e esse sim gerenciaria qual pseudocanal utilizar ou o sdl ou sdm no caso de uma falha ou balanceamento.Para este problema existe solucao, durante a instalacao do asm deve-se alterar dois parametros do arquivos de configuracao oracleasm como mostrado abaixo:[root@node2 ~]# cat /etc/sysconfig/oracleasm## This is a configuration file for automatic loading of the Oracle# Automatic Storage Management library kernel driver. It is generated# By running /etc/init.d/oracleasm configure. Please use that method# to modify this file## ORACLEASM_ENABLED: 'true' means to load the driver on boot.ORACLEASM_ENABLED=true# ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.ORACLEASM_UID=grid# ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.ORACLEASM_GID=asmadmin# ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot.ORACLEASM_SCANBOOT=true# ORACLEASM_SCANORDER: Matching patterns to order disk scanningORACLEASM_SCANORDER=""# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scanORACLEASM_SCANEXCLUDE=""# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size# reported by the underlying disk instead of the physical. The default# is 'false'ORACLEASM_USE_LOGICAL_BLOCK_SIZE=falseDevemos alterar os parametros ORACLEASM_SCANORDER e ORACLEASM_SCANEXCLUDE o primeiro informa para que o ASMlib procure por um tipo especifico de device no caso para cada fornecedor de sotrage existe um valor especifico , no nosso "Case" utilizamos a vnx da emc assim alteramos o valor para emcpower e no segundo parametro o ORACLEASM_SCANEXCLUDE informamos quais devices devem ser ignorados no caso sd dm, vamos com fica abaixo:[root@node2 ~]# cat /etc/sysconfig/oracleasm## This is a configuration file for automatic loading of the Oracle# Automatic Storage Management library kernel driver. It is generated# By running /etc/init.d/oracleasm configure. Please use that method# to modify this file## ORACLEASM_ENABLED: 'true' means to load the driver on boot.ORACLEASM_ENABLED=true# ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.ORACLEASM_UID=grid# ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.ORACLEASM_GID=asmadmin# ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot.ORACLEASM_SCANBOOT=true# ORACLEASM_SCANORDER: Matching patterns to order disk scanningORACLEASM_SCANORDER="emcpower"# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scanORACLEASM_SCANEXCLUDE="sd dm"# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size# reported by the underlying disk instead of the physical. The default# is 'false'ORACLEASM_USE_LOGICAL_BLOCK_SIZE=falseE melhor realizar essa configuracao na criacao do ASM pois caso seja feita posteriormente sera necessario um reboot geral dos servicos de banco, nao da para fazer a quente, vamos precisar parar o banco, o asm etc.. como visto abaixo:[root@node2 ~]# oracleasm exitumount: /dev/oracleasm: device is busyfailedUnable to unmount ASMlib driver filesystemSe seu ambiente for um Oracle RAC , pode-se realizar